Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Usa AWS Secrets e Configuration Provider CSI con Pod Identity per Amazon EKS
L'integrazione di AWS Secrets and Configuration Provider con Pod Identity Agent per Amazon Elastic Kubernetes Service offre maggiore sicurezza, configurazione semplificata e prestazioni migliorate per le applicazioni in esecuzione su Amazon EKS. Pod Identity semplifica l'autenticazione IAM per Amazon EKS durante il recupero di segreti da Secrets Manager o parametri da AWS Systems Manager Parameter Store.
Amazon EKS Pod Identity semplifica il processo di configurazione delle autorizzazioni IAM per le applicazioni Kubernetes consentendo quest'azione direttamente tramite le interfacce Amazon EKS, riducendo il numero di passaggi ed eliminando la necessità di passare da Amazon EKS ai servizi IAM. Pod Identity consente l'uso di un singolo ruolo IAM su più cluster senza aggiornare le policy di attendibilità e supporta i tag delle sessioni di ruolo per un controllo degli accessi più granulare. Questo approccio non solo semplifica la gestione delle policy consentendo il riutilizzo delle politiche di autorizzazione tra i ruoli, ma migliora anche la sicurezza abilitando l'accesso alle risorse in base ai AWS tag corrispondenti.
Come funziona
-
Pod Identity assegna un ruolo IAM al pod.
-
ASCP utilizza questo ruolo per l'autenticazione con. Servizi AWS
-
Se autorizzato, ASCP recupera i segreti richiesti e li rende disponibili al Pod.
Per ulteriori informazioni, consulta Scopri come funziona Amazon EKS Pod Identity nella Guida per l'utente di Amazon EKS.
Prerequisiti
Importante
Pod Identity è supportato solo per Amazon EKS nel cloud. Non è supportato per Amazon EKS Anywhere
-
Cluster Amazon EKS (versione 1.24 o successiva)
-
Accesso AWS CLI e cluster Amazon EKS tramite
kubectl -
Accesso a due Account AWS (per l'accesso su più account)
Installazione dell'agente Amazon EKS Pod Identity
Per utilizzare Pod Identity con il tuo cluster, devi installare il componente aggiuntivo dell'agente Amazon EKS Pod Identity.
Installare l'agente Pod Identity
-
Installa il componente aggiuntivo Pod Identity Agent sul tuo cluster:
eksctl create addon \ --name eks-pod-identity-agent \ --clusterclusterName\ --regionregion
Configura ASCP con Pod Identity
-
Crea una politica di autorizzazioni che conceda
secretsmanager:GetSecretValueesecretsmanager:DescribeSecretautorizzi i segreti a cui il Pod deve accedere. Per un esempio di policy, consulta Esempio: autorizzazione a leggere e descrivere singoli segreti. -
Crea un ruolo IAM che può essere assunto dal servizio principale Amazon EKS per Pod Identity:
Allega la policy IAM al ruolo:
aws iam attach-role-policy \ --role-nameMY_ROLE\ --policy-arnPOLICY_ARN -
Crea un'associazione Pod Identity. Per un esempio, consulta Crea un'associazione Pod Identity nella Guida per l'utente Amazon EKS
-
Crea il
SecretProviderClassfile che specifica quali segreti montare nel Pod:kubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleSecretProviderClass-PodIdentity.yamlLa differenza fondamentale in
SecretProviderClasstra IRSA e Pod Identity è il parametrousePodIdentityfacoltativo. Si tratta di un campo facoltativo che determina l'approccio di autenticazione. Quando non è specificato, per impostazione predefinita utilizzare i ruoli IAM per gli account di servizio (IRSA).-
Per utilizzare EKS Pod Identity, utilizza uno qualsiasi di questi valori:
"true", "True", "TRUE", "t", "T". -
Per utilizzare in modo esplicito IRSA, imposta uno qualsiasi di questi valori:
"false", "False", "FALSE", "f", or "F".
-
-
Implementa il Pod che monta i segreti sotto:
/mnt/secrets-storekubectl apply -f https://raw.githubusercontent.com/aws/secrets-store-csi-driver-provider-aws/main/examples/ExampleDeployment-PodIdentity.yaml -
Se utilizzi un cluster Amazon EKS privato, assicurati che il VPC in cui si trova il cluster abbia un AWS STS endpoint. Per informazioni sulla creazione di un endpoint, consulta Endpoint VPC di interfaccia nella Guida per l'utente AWS Identity and Access Management .
Verifica il montaggio del segreto
Per verificare che il segreto sia montato correttamente, esegui il seguente comando:
kubectl exec -it $(kubectl get pods | awk '/pod-identity-deployment/{print $1}' | head -1) -- cat /mnt/secrets-store/MySecret
Per configurare Amazon EKS Pod Identity per l'accesso ai segreti in Secrets Manager
-
Crea una politica di autorizzazioni che conceda
secretsmanager:GetSecretValueesecretsmanager:DescribeSecretautorizzi i segreti a cui il Pod deve accedere. Per un esempio di policy, consulta Esempio: autorizzazione a leggere e descrivere singoli segreti. -
Crea un segreto in Secrets Manager, se non ne hai già uno.
Risoluzione dei problemi
È possibile visualizzare la maggior parte degli errori descrivendo l'implementazione del pod.
Per visualizzare i messaggi di errore per il container
-
È possibile ottenere un elenco di nomi di pod con il comando seguente. Se non si sta utilizzando il namespace predefinito, utilizzare
-n.NAMESPACEkubectl get pods -
Per descrivere il Pod, nel comando seguente,
PODIDusa l'ID Pod dei Pod che hai trovato nel passaggio precedente. Se non si sta utilizzando lo spazio dei nomi predefinito, utilizzare-n.NAMESPACEkubectl describe pod/PODID
Come visualizzare gli errori per l'ASCP
-
Per trovare maggiori informazioni nei log del provider, nel comando seguente,
PODIDusa l'ID del Pod csi-secrets-store-provider-aws.kubectl -n kube-system get pods kubectl -n kube-system logs pod/PODID