External Secrets
Mit External Secrets im Natron Managed Kubernetes Service integrieren und synchronisieren Sie Secrets sicher aus externen Secret-Management-Systemen in Ihre Cluster. Dieser Leitfaden zeigt Ihnen, wie Sie External Secrets einrichten, um sensible Informationen effizient und sicher zu verwalten.
Übersicht
Der Kubernetes-Operator "External Secrets" verbindet Ihren Cluster mit externen Systemen wie HashiCorp Vault oder AWS Secrets Manager. Sie definieren Kubernetes-Secrets, die der Operator automatisch befüllt und synchron hält.
Einrichtung mit Azure Key Vault
Die folgende Anleitung beschreibt die Integration für On-Premises Kubernetes-Cluster. Für AKS-Cluster empfehlen wir den direkten Weg über Workload Identities.
Key Vault Konfiguration
Melden Sie sich via az login an und wählen Sie die entsprechende Subscription aus.
Erstellen Sie einen Service Principal für den Zugriff:
az ad sp create-for-rbac --name "natr-demo-002-kv-01-sp" --skip-assignmentHinterlegen Sie die ausgegebenen Zugangsdaten (appID als ClientID, password als ClientSecret) in einem Kubernetes Secret:
apiVersion: v1
kind: Secret
metadata:
name: natr-demo-001-kv-01-sp
type: Opaque
stringData:
ClientID: <redacted>
ClientSecret: <redacted>Berechtigungen zuweisen
Weisen Sie dem Service Principal die Rolle Key Vault Secrets User zu.
Ermitteln Sie dazu die Object ID der Enterprise Application des Service Principals im Azure Portal (App Registrations -> App auswählen -> Link zur Enterprise Application -> Object ID).
az role assignment create --assignee <Object ID> --role "Key Vault Secrets User" --scope /subscriptions/<Subcription ID>/resourceGroups/<Resource Group>/providers/Microsoft.KeyVault/vaults/<key vault>SecretStore definieren
Konfigurieren Sie nun die SecretStore CRD für die Nutzung des Service Principals:
apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
name: natr-demo-001-kv-01
spec:
provider:
azurekv:
tenantId: <Tenant ID>
vaultUrl: "https://<key-vault-name>.vault.azure.net"
authType: ServicePrincipal
authSecretRef:
clientId:
name: natr-demo-001-kv-01-sp
key: ClientID
clientSecret:
name: natr-demo-001-kv-01-sp
key: ClientSecret