Contribuisci a migliorare questa pagina
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à.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
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à.
Configurare le autorizzazioni ACK
ACK richiede le autorizzazioni IAM per creare e gestire AWS risorse per tuo conto. Questo argomento spiega come IAM collabora con ACK e fornisce indicazioni sulla configurazione delle autorizzazioni per diversi casi d'uso.
Come funziona IAM con ACK
ACK utilizza i ruoli IAM per autenticarsi con le tue risorse AWS ed eseguire azioni sulle tue risorse. Esistono due modi per fornire le autorizzazioni a ACK:
Ruolo di capacità: il ruolo IAM fornito durante la creazione della funzionalità ACK. Questo ruolo viene utilizzato di default per tutte le operazioni ACK.
Selettori di ruolo IAM: ruoli IAM aggiuntivi che possono essere mappati su namespace o risorse specifici. Questi ruoli hanno la precedenza sul ruolo di capacità per le risorse che rientrano nel loro ambito.
Quando ACK deve creare o gestire una risorsa, determina quale ruolo IAM utilizzare:
-
Controlla se un IAMRole selettore corrisponde allo spazio dei nomi della risorsa
-
Se viene trovata una corrispondenza, assumi quel ruolo IAM
-
Altrimenti, usa il ruolo Capability
Questo approccio consente una gestione flessibile delle autorizzazioni, da semplici configurazioni a ruolo singolo a configurazioni complesse con più account e più team.
Guida introduttiva: configurazione semplice delle autorizzazioni
Per casi di sviluppo, test o semplici casi d'uso, puoi aggiungere tutte le autorizzazioni di servizio necessarie direttamente al Capability Role.
Questo approccio funziona bene quando:
-
Stai iniziando con ACK
-
Tutte le risorse si trovano nello stesso AWS account
-
Un unico team gestisce tutte le risorse ACK
-
Ti fidi che tutti gli utenti ACK abbiano le stesse autorizzazioni
Best practice di produzione: IAM Role Selectors
Per gli ambienti di produzione, utilizza IAM Role Selectors per implementare l'accesso con privilegi minimi e l'isolamento a livello di namespace.
Quando si utilizza IAM Role Selectors, il Capability Role necessita solo dell'autorizzazione per assumere i ruoli specifici del servizio. sts:AssumeRole Non è necessario aggiungere alcuna autorizzazione di AWS servizio (come S3 o RDS) al Capability Role stesso: tali autorizzazioni vengono concesse ai singoli ruoli IAM assunti dal Capability Role.
Scelta tra modelli di autorizzazione:
Utilizza le autorizzazioni dirette (aggiungendo le autorizzazioni di servizio al ruolo Capability) quando:
-
Stai iniziando e desideri la configurazione più semplice
-
Tutte le risorse si trovano nello stesso account del cluster
-
Hai requisiti di autorizzazione amministrativi a livello di cluster
-
Tutti i team possono condividere le stesse autorizzazioni
Usa IAM Role Selectors quando:
-
Gestione delle risorse su più account AWS
-
Team o namespace diversi richiedono autorizzazioni diverse
-
È necessario un controllo granulare degli accessi per namespace
-
Vuoi seguire le pratiche di sicurezza con privilegi minimi
Puoi iniziare con autorizzazioni dirette e migrare a IAM Role Selectors in un secondo momento, man mano che le tue esigenze crescono.
Perché utilizzare IAM Role Selectors in produzione:
-
Privilegio minimo: ogni namespace ottiene solo le autorizzazioni di cui ha bisogno
-
Isolamento del team: il team A non può utilizzare accidentalmente le autorizzazioni del team B
-
Controllo più semplice: mappatura chiara di quale namespace utilizza quale ruolo
-
Supporto per più account: necessario per la gestione delle risorse in più account
-
Separazione delle preoccupazioni: servizi o ambienti diversi utilizzano ruoli diversi
Configurazione di base di IAM Role Selector
Fase 1: Creare un ruolo IAM specifico per il servizio
Crea un ruolo IAM con autorizzazioni per servizi specifici: AWS
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:*" ], "Resource": "*" } ] }
Configura la policy di fiducia per consentire al Capability Role di assumerla:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ACKCapabilityRole" }, "Action": "sts:AssumeRole" } ] }
Fase 2: concedere AssumeRole l'autorizzazione a Capability Role
Aggiungi l'autorizzazione al ruolo di capacità per assumere il ruolo specifico del servizio:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/ACK-S3-Role" } ] }
Fase 3: Creare un selettore IAMRole
Mappa il ruolo IAM su un namespace:
apiVersion: services.k8s.aws/v1alpha1 kind: IAMRoleSelector metadata: name: s3-namespace-config spec: arn: arn:aws:iam::111122223333:role/ACK-S3-Role namespaceSelector: names: - s3-resources
Fase 4: Creare risorse nello spazio dei nomi mappato
Le risorse nello spazio dei s3-resources nomi utilizzano automaticamente il ruolo specificato:
apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: my-bucket namespace: s3-resources spec: name: my-production-bucket
Gestione di più account
Usa IAM Role Selectors per gestire le risorse su più AWS account.
Fase 1: Creare un ruolo IAM per più account
Nell'account di destinazione (444455556666), crea un ruolo che si fidi del ruolo di capacità dell'account di origine:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ACKCapabilityRole" }, "Action": "sts:AssumeRole" } ] }
Assegna autorizzazioni specifiche del servizio a questo ruolo.
Passaggio 2: concedere l'autorizzazione AssumeRole
Nell'account di origine (111122223333), consenti al ruolo Capability di assumere il ruolo dell'account di destinazione:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::444455556666:role/ACKTargetAccountRole" } ] }
Fase 3: Creare un selettore IAMRole
Mappa il ruolo tra account diversi su un namespace:
apiVersion: services.k8s.aws/v1alpha1 kind: IAMRoleSelector metadata: name: production-account-config spec: arn: arn:aws:iam::444455556666:role/ACKTargetAccountRole namespaceSelector: names: - production
Fase 4: Creare risorse
Le risorse nel production namespace vengono create nell'account di destinazione:
apiVersion: s3.services.k8s.aws/v1alpha1 kind: Bucket metadata: name: my-bucket namespace: production spec: name: my-cross-account-bucket
Modelli avanzati di IAM Role Selector
Fasi successive
-
Concetti ACK- Comprendi i concetti e il ciclo di vita delle risorse di ACK
-
Concetti ACK- Scopri le politiche di adozione ed eliminazione delle risorse
-
Considerazioni sulla sicurezza per EKS Capabilities- Comprendi le migliori pratiche di sicurezza per quanto riguarda le funzionalità