Secrets ManagerIntegrations

Secrets Manager Kubernetes Operator

Bitwarden Secrets Manager Kubernetes Operator kommer att tillåta team att integrera Secrets Manager i Kubernetes arbetsflöden säkert och effektivt. Genom att använda operatören, som distribueras med Helm Package Manager, kan hemligheter lagras och hämtas från Secrets Manager.

Bitwarden Secrets Manager Kubernetes Operator

Sm-operatören använder en styrenhet för att synkronisera Bitwarden-hemligheter till Kubernetes-hemligheter. Operatören registrerar den anpassade resursdefinitionen: BitwardenSecret i Kubernetes-klustret. Klustret kommer att lyssna efter det nyregistrerade BitwardenSecret och synkronisera på ett konfigurerbart intervall.

Krav

För att komma igång krävs en aktiv Bitwarden-organisation med Secrets Manager. Dessutom krävs en eller flera åtkomsttokens kopplade till ett maskinkonto.

Ytterligare beroenden

Lägg till förvaret i Helm

Lägg till Bitwarden Secrets Manager-diagramförrådet:

Plain Text
helm repo add bitwarden https://charts.bitwarden.com/

Uppdatera information om lokalt tillgängliga sjökort:

Plain Text
helm repo update

Installation

Skapa en konfigurationsfil

Skapa en anpassad värdefil som används för distribution:

Plain Text
helm show values bitwarden/sm-operator --devel > my-values.yaml

Uppdatera konfigurationsfilen

Leta upp my-values.yaml och fyll i obligatoriska värden. Ett exempel kan finnas i Bitwarden-förvaret. Vi rekommenderar att följande värden justeras för din inställning:

note

To use a different operate image version than the one included with the chart, update:
containers.manager.image.tag.

Uppgradera roderdiagram

När filen values.yaml har konfigurerats, uppgradera versionen till ett nytt diagram genom att köra:

Plain Text
helm upgrade sm-operator bitwarden/sm-operator -i --debug -n sm-operator-system --create-namespace --values my-values.yaml --devel

Detta kommando installerar eller uppgraderar en version med namnet sm-operator, i namnområdet sm-operator-system, med värdena från my-values.yaml.

note

To see information for the helm install or helm upgrade commands, run helm install --help or helm upgrade --help.

Skapa Bitwarden-hemligheter

För att synkronisera hemligheter lagrade i Bitwarden Secrets Manager till Kubernetes-hemligheter måste vi skapa ett BitwardenSecret-objekt.

  1. Skapa en Kubernetes-hemlighet att autentisera med Secrets Manager:

    Plain Text
    kubectl create secret generic bw-auth-token -n <YOUR_NAMESPACE> --from-literal=token="<TOKEN_HERE>"
    warning

    This command is recorded in your shell history. To avoid exposing access token data, consider deploying with an ephemeral pipeline agent.

Distribuera BitwardenSecret

BitwardenSecret-objektet är synkroniseringsinställningen som kommer att användas av operatören för att skapa och synkronisera en Kubernetes-hemlighet. Kubernetes-hemligheten tillhör ett namnområde och kommer att injiceras med data som Secrets Manager-maskinkontot har åtkomst till.

Exempel på BitwardenSecret-distribution med anpassad mappning:

Plain Text
cat <<EOF | kubectl apply -n <YOUR_NAMESPACE> -f - apiVersion: k8s.bitwarden.com/v1 kind: BitwardenSecret metadata: labels: app.kubernetes.io/name: bitwardensecret app.kubernetes.io/instance: bitwardensecret-sample app.kubernetes.io/part-of: sm-operator app.kubernetes.io/managed-by: kustomize app.kubernetes.io/created-by: sm-operator name: bitwardensecret-sample spec: organizationId: "a08a8157-129e-4002-bab4-b118014ca9c7" secretName: bw-sample-secret onlyMappedSecrets: true # default is true map: - bwSecretId: 6c230265-d472-45f7-b763-b11b01023ca6 secretKeyName: container__registry__secret # - bwSecretId: d132a5ed-12bd-49af-9b74-b11b01025d58 # secretKeyName: test__secret__2 authToken: secretName: bw-auth-token secretKey: token EOF

I BitwardenSecret-implementeringsexemplet är det anpassade kartelementet valfritt.

warning

Secrets Manager does not guarantee unique secret names across projects. By default, secrets will be created with the Secrets Manager secret UUID used as the Key.

För att göra genererade hemligheter enklare att använda kan du skapa en karta över Bitwarden Secrets ID:n till Kubernetes hemliga nycklar. Den genererade hemligheten kommer att ersätta Bitwardens hemliga ID:n med det mappade namnet du anger.

Tillgängliga kartinställningar:

Exempel på användningsdiagram

Plain Text
apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment labels: app: my-deployment spec: selector: matchLabels: app: my-deployment template: metadata: labels: app: my-deployment spec: containers: - name: my-deployment image: <some-image> imagePullSecrets: - name: container__registry__secret envFrom: - secretRef: name: bw-sample-secret