Aiutaci 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à.
È possibile assegnare una o più policy di accesso alle voci di accesso di tipo STANDARD
. Amazon EKS concede automaticamente agli altri tipi di voci di accesso le autorizzazioni necessarie per funzionare correttamente nel cluster. Le policy di accesso di Amazon EKS includono le autorizzazioni Kubernetes, non le autorizzazioni IAM. Prima di associare una politica di accesso a una voce di accesso, assicurati di conoscere le autorizzazioni Kubernetes incluse in ogni politica di accesso. Per ulteriori informazioni, consulta Rivedi le autorizzazioni dei criteri di accesso. Se nessuna delle politiche di accesso soddisfa i tuoi requisiti, non associare una politica di accesso a una voce di accesso. Specificate invece uno o più nomi di gruppo per la voce di accesso e create e gestite oggetti di controllo degli accessi basati sui ruoli di Kubernetes. Per ulteriori informazioni, consulta Creare voci di accesso.
-
Una voce di accesso esistente. Per crearne uno, consulta Creare voci di accesso.
-
Un ruolo o un utente di AWS Identity and Access Management con le seguenti autorizzazioni:
ListAccessEntries
DescribeAccessEntry
,UpdateAccessEntry
,,ListAccessPolicies
AssociateAccessPolicy
, eDisassociateAccessPolicy
. Per ulteriori informazioni, consulta Actions defined by Amazon Elastic Kubernetes Service nel Service Authorization Reference.
Prima di associare policy di accesso a voci di accesso, considera i seguenti requisiti:
-
È possibile associare più policy di accesso a ciascuna voce di accesso, ma è possibile associare ogni policy a una voce di accesso solo una volta. Se associ più policy di accesso, il principale IAM della voce di accesso dispone di tutte le autorizzazioni incluse in tutte le policy di accesso associate.
-
Puoi definire una policy di accesso a tutte le risorse di un cluster o specificando il nome di uno o più namespace Kubernetes. È possibile utilizzare caratteri jolly per il nome di un spazio dei nomi. Ad esempio, se si desidera applicare una policy di accesso a tutti gli spazi dei nomi che iniziano con
dev-
, è possibile specificaredev-*
come nome dello spazio dei nomi. È necessario assicurarsi che gli spazi dei nomi siano presenti sul cluster e che quanto digitato corrisponda esattamente al nome reale dello spazio dei nomi sul cluster. Amazon EKS non conferma l'ortografia o l'esistenza dei namespace nel cluster. -
È possibile modificare l'ambito di accesso per una policy di accesso dopo averla associata a una voce di accesso. Se hai definito l'ambito della politica di accesso ai namespace Kubernetes, puoi aggiungere e rimuovere i namespace per l'associazione, se necessario.
-
Se associ una policy di accesso a una voce di accesso in cui sono specificati anche i nomi dei gruppi, il principale IAM dispone di tutte le autorizzazioni in tutte le policy di accesso associate. Dispone inoltre di tutte le autorizzazioni in qualsiasi Kubernetes
Role
oClusterRole
oggetto specificato in qualsiasi Kubernetes e degli oggetti che specificano i nomi dei gruppi.Role
RoleBinding
-
Se esegui il
kubectl auth can-i --list
comando, non vedrai alcuna autorizzazione Kubernetes assegnata dalle politiche di accesso associata a una voce di accesso per il principale IAM che stai utilizzando quando esegui il comando. Il comando mostra le autorizzazioni Kubernetes solo se le hai concesse in KubernetesRole
o negliClusterRole
oggetti che hai associato ai nomi di gruppo o al nome utente che hai specificato per una voce di accesso. -
Se impersoni un utente o un gruppo Kubernetes quando interagisci con oggetti Kubernetes sul tuo cluster, ad esempio utilizzando il comando with or, stai forzando l'uso dell'autorizzazione RBAC di Kubernetes.
kubectl
--as
username
--as-group
Di conseguenza, il principale IAM non dispone di autorizzazioni assegnate da alcuna policy di accesso associata alla voce di accesso. Le uniche autorizzazioni Kubernetes di cui dispone l'utente o il gruppo che il principale IAM sta impersonando sono le autorizzazioni Kubernetes che hai concesso loro in Kubernetesgroup-name
Role
oClusterRole
gli oggetti che hai associato ai nomi di gruppo o al nome utente. Affinché il tuo responsabile IAM disponga delle autorizzazioni nelle politiche di accesso associate, non impersonare un utente o un gruppo Kubernetes. Il responsabile IAM disporrà comunque anche delle autorizzazioni che gli hai concesso in KubernetesRole
oClusterRole
degli oggetti che hai associato ai nomi di gruppo o al nome utente che hai specificato per la voce di accesso. Per ulteriori informazioni, consulta Impersonificazione degli utentinella documentazione di Kubernetes.
È possibile associare una politica di accesso a una voce di accesso utilizzando AWS Management Console o la AWS CLI.
AWS Management Console
-
Aprire la Console Amazon EKS
. -
Scegli il nome del cluster con una voce di accesso da associare a una policy di accesso.
-
Scegli la scheda Accesso.
-
Se il tipo di voce di accesso è Standard, puoi associare o dissociare le policy di accesso di Amazon EKS. Se il tipo di immissione di accesso è diverso da Standard, questa opzione non è disponibile.
-
Scegli Associa policy di accesso.
-
Per Nome della policy, seleziona la policy con le autorizzazioni che desideri assegnare al principale IAM. Per visualizzare i permessi inclusi in ciascuna policy, consulta Rivedi le autorizzazioni dei criteri di accesso.
-
Per Ambito di accesso, scegli un ambito di accesso. Se scegli Cluster, le autorizzazioni nella politica di accesso vengono concesse al responsabile IAM per le risorse in tutti i namespace Kubernetes. Se scegli lo spazio dei nomi Kubernetes, puoi scegliere Aggiungi nuovo spazio dei nomi. Nel campo Namespace che appare, puoi inserire il nome di uno spazio dei nomi Kubernetes sul tuo cluster. Se desideri che il principale IAM disponga delle autorizzazioni su più spazi dei nomi, puoi inserirne più di uno.
-
Scegli Aggiungi policy di accesso.
AWS CLI
-
Versione
2.12.3
o successiva o versione1.27.160
o successiva dell'interfaccia a riga di AWS comando (AWS CLI) installata e configurata sul dispositivo o. AWS CloudShell Per verificare la versione attuale, usaaws --version | cut -d / -f2 | cut -d ' ' -f1
. I gestori di pacchetti comeyum
Homebrew per macOS sono spesso diverse versioni dell'ultima versione della CLI AWS .apt-get
Per installare la versione più recente, consulta Installazione e configurazione rapida con aws configure nella Guida per l'utente dell'interfaccia a riga di AWS comando. La versione AWS CLI installata in AWS CloudShell potrebbe anche contenere diverse versioni precedenti alla versione più recente. Per aggiornarlo, consulta Installazione della AWS CLI nella tua home directory nella Guida per l' AWS CloudShell utente. -
Visualizza le policy di accesso disponibili.
aws eks list-access-policies --output table
Di seguito viene riportato un output di esempio:
--------------------------------------------------------------------------------------------------------- | ListAccessPolicies | +-------------------------------------------------------------------------------------------------------+ || accessPolicies || |+---------------------------------------------------------------------+-------------------------------+| || arn | name || |+---------------------------------------------------------------------+-------------------------------+| || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSAdminPolicy | AmazonEKSAdminPolicy || || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy | AmazonEKSClusterAdminPolicy || || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSEditPolicy | AmazonEKSEditPolicy || || {arn-aws}eks::aws:cluster-access-policy/AmazonEKSViewPolicy | AmazonEKSViewPolicy || |+---------------------------------------------------------------------+-------------------------------+|
Per visualizzare i permessi inclusi in ciascuna policy, consulta Rivedi le autorizzazioni dei criteri di accesso.
-
Visualizza le tue voci di accesso esistenti. Sostituisci
my-cluster
con il nome del cluster.aws eks list-access-entries --cluster-name my-cluster
Di seguito viene riportato un output di esempio:
{ "accessEntries": [ "arn:aws: iam::111122223333:role/my-role", "arn:aws: iam::111122223333:user/my-user" ] }
-
Associa una policy di accesso a una voce di accesso. L'esempio seguente associa la policy di accesso
AmazonEKSViewPolicy
a una voce di accesso. Ogni volta che il ruolomy-role
IAM tenta di accedere agli oggetti Kubernetes sul cluster, Amazon EKS autorizzerà il ruolo a utilizzare le autorizzazioni contenute nella policy per accedere agli oggetti Kubernetes solo nei namespace e Kubernetes.my-namespace1
my-namespace2
Sostituiscilomy-cluster
con il nome del cluster,111122223333
con l'ID AWS dell'account emy-role
con il nome del ruolo IAM per cui desideri che Amazon EKS autorizzi l'accesso agli oggetti del cluster Kubernetes.aws eks associate-access-policy --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role \ --access-scope type=namespace,namespaces=my-namespace1,my-namespace2 --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy
Se desideri che il principale IAM disponga delle autorizzazioni a livello di cluster, sostituisci
type=namespace,namespaces=
conmy-namespace1
,my-namespace2
type=cluster
. Se desideri associare più policy di accesso alla voce di accesso, esegui il comando più volte, ogni volta con una policy di accesso unica. Ogni policy di accesso associata ha il proprio ambito.Nota
Se in seguito desideri modificare l'ambito di una policy di accesso associata, esegui nuovamente il comando precedente con il nuovo ambito. Ad esempio, se desideri rimuovere
my-namespace2
, esegui nuovamente il comando utilizzando only.type=namespace,namespaces=
Se desideri modificare l'ambito damy-namespace1
namespace
acluster
, esegui nuovamente il comando utilizzandotype=cluster
, removetype=namespace,namespaces=
.my-namespace1
,my-namespace2
-
Determina quali policy di accesso sono associate a una voce di accesso.
aws eks list-associated-access-policies --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role
Di seguito viene riportato un output di esempio:
{ "clusterName": "my-cluster", "principalArn": "arn:aws: iam::111122223333", "associatedAccessPolicies": [ { "policyArn": "arn:aws: eks::aws:cluster-access-policy/AmazonEKSViewPolicy", "accessScope": { "type": "cluster", "namespaces": [] }, "associatedAt": "2023-04-17T15:25:21.675000-04:00", "modifiedAt": "2023-04-17T15:25:21.675000-04:00" }, { "policyArn": "arn:aws: eks::aws:cluster-access-policy/AmazonEKSAdminPolicy", "accessScope": { "type": "namespace", "namespaces": [ "my-namespace1", "my-namespace2" ] }, "associatedAt": "2023-04-17T15:02:06.511000-04:00", "modifiedAt": "2023-04-17T15:02:06.511000-04:00" } ] }
Nell'esempio precedente, il principale IAM per questa voce di accesso dispone delle autorizzazioni di visualizzazione su tutti i namespace del cluster e delle autorizzazioni di amministratore per due namespace Kubernetes.
-
Dissociazione di una policy di accesso da una voce di accesso. In questo esempio, la policy
AmazonEKSAdminPolicy
è dissociata da una voce di accesso. Tuttavia, il principale IAM mantiene le autorizzazioni nella politica di accesso per gli oggetti neimy-namespace2
namespace and, poiché tale politica diAmazonEKSViewPolicy
accesso non è dissociata dallamy-namespace1
voce di accesso.aws eks disassociate-access-policy --cluster-name my-cluster --principal-arn arn:aws: iam::111122223333:role/my-role \ --policy-arn arn:aws: eks::aws:cluster-access-policy/AmazonEKSAdminPolicy
Per elencare le politiche di accesso disponibili, vedere. Rivedi le autorizzazioni dei criteri di accesso