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à.
Vuoi contribuire a questa guida per l'utente? Scegli il GitHub link Modifica questa pagina che si trova nel riquadro destro di ogni pagina. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.
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à.
Concedi agli utenti l'accesso a Kubernetes con un dispositivo esterno OIDC provider
Amazon EKS supporta l'utilizzo OpenID Connect (OIDC) provider di identità come metodo per autenticare gli utenti nel cluster. OIDC i provider di identità possono essere utilizzati con o in alternativa a AWS Identity and Access Management (IAM). Per ulteriori informazioni sull'utilizzo di IAM, consultare Grant IAM accesso a Kubernetes per utenti e ruoli APIs. Dopo aver configurato l'autenticazione sul cluster, puoi creare Kubernetes roles
e clusterroles
assegnare le autorizzazioni ai ruoli, quindi associare i ruoli alle identità utilizzando Kubernetes rolebindings
e clusterrolebindings
. Per ulteriori informazioni, vedere Utilizzo
-
È possibile associarne una OIDC provider di identità al tuo cluster.
-
Kubernetes non fornisce un OIDC fornitore di identità. È possibile utilizzare un pubblico esistente OIDC provider di identità oppure puoi gestire il tuo provider di identità. Per un elenco dei provider certificati, consultare OpenID Certification
sul sito OpenID. -
L'URL dell'emittente di OIDC il provider di identità deve essere accessibile al pubblico, in modo che Amazon EKS possa scoprire le chiavi di firma. Amazon EKS non supporta OIDC provider di identità con certificati autofirmati.
-
Non puoi disabilitare l'autenticazione IAM sul tuo cluster, perché è ancora necessaria per unire i nodi a un cluster.
-
Un cluster Amazon EKS deve comunque essere creato da un principale AWS IAM, anziché da un OIDC utente del provider di identità. Questo perché il creatore del cluster interagisce con Amazon EKS APIs, anziché con Kubernetes APIs.
-
OIDC gli utenti autenticati dal provider di identità vengono elencati nel registro di controllo del cluster se CloudWatch i log sono attivati per il piano di controllo. Per ulteriori informazioni, consulta Abilitare o disabilitare i log del piano di controllo.
-
Non è possibile accedere a con un account di AWS Management Console un OIDC fornitore. È possibile solo Vista Kubernetes risorse nel AWS Management Console accedendo AWS Management Console con un account AWS Identity and Access Management.
Associare un OIDC gestore dell'identità digitale
Prima di poter associare un OIDC provider di identità al cluster, è necessario che il provider fornisca le seguenti informazioni:
- URL dell'emittente
-
L'URL del provider di identità OIDC che consente al server API di individuare le chiavi di firma pubbliche per la verifica dei token. L'URL deve iniziare con
https://
e deve corrispondere aliss
claim contenuto nei token ID OIDC del provider. In conformità con lo standard OIDC, i componenti del percorso sono consentiti, ma i parametri di query non lo sono. In genere l'URL è costituito solo da un nome host, comehttps://server.example.org
ohttps://example.com
. Questo URL dovrebbe puntare al livello sottostante.well-known/openid-configuration
e dovrà essere accessibile pubblicamente tramite Internet. - Client ID (noto anche come audience)
-
L'ID per l'applicazione client che effettua richieste di autenticazione al provider di identità OIDC.
È possibile associare un provider di identità utilizzando eksctl
o il AWS Management Console.
Associa un provider di identità utilizzando eksctl
-
Crea un file denominato
associate-identity-provider.yaml
con i seguenti contenuti. Sostituisci iexample values
con i valori in tuo possesso. I valori nellaidentityProviders
sezione sono ottenuti dal OIDC fornitore di identità. I valori sono obbligatori solo per ilname
,type
,issuerUrl
, eclientId
impostazioni inidentityProviders
.--- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: your-region-code identityProviders: - name: my-provider type: oidc issuerUrl: https://example.com clientId: kubernetes usernameClaim: email usernamePrefix: my-username-prefix groupsClaim: my-claim groupsPrefix: my-groups-prefix requiredClaims: string: string tags: env: dev
Importante
Non specificare
system:
, né alcuna parte di quella stringa, pergroupsPrefix
ousernamePrefix
. -
Creare il provider.
eksctl associate identityprovider -f associate-identity-provider.yaml
-
Da usare
kubectl
per lavorare con il tuo cluster e OIDC provider di identità, vedi Usare kubectlnel Kubernetes documentazione.
Associa un provider di identità utilizzando la console AWS
-
Aprire la Console Amazon EKS
. -
Seleziona il tuo cluster, quindi seleziona la scheda Accesso.
-
Nella OIDC Nella sezione Provider di identità, seleziona Associate Identity Provider.
-
Nella sezione Associate OIDC Nella pagina Identity Provider, inserisci o seleziona le seguenti opzioni, quindi seleziona Associa.
-
In Nome, inserire un nome univoco per il provider.
-
Per URL dell'emittente, inserire l'URL per il provider. Questo URL deve essere accessibile in Internet.
-
Per Client ID, inserisci OIDC ID client del provider di identità (noto anche come audience).
-
Per Richiesta Nome Utente, inserire la richiesta da utilizzare come nome utente.
-
Per l'attestazione Groups, inserisci l'attestazione da utilizzare come gruppo dell'utente.
-
(Opzionale) Selezionare Opzioni avanzate, inserire o selezionare le seguenti informazioni.
-
Prefisso Nome utente: inserire un prefisso da anteporre alle richieste del nome utente. Il prefisso viene anteposto alle richieste di nome utente per evitare conflitti con i nomi esistenti. Se non si fornisce un valore e il nome utente è un valore diverso da
email
, il prefisso viene impostato per impostazione predefinita sul valore per URL dell'emittente. È possibile utilizzare il valore-
per disabilitare tutti i prefissi. Non specificaresystem:
alcuna parte di quella stringa. -
Prefisso Gruppi: inserire un prefisso da anteporre alle richieste di gruppo. Il prefisso viene anteposto alle richieste di gruppo per evitare conflitti con i nomi esistenti (ad esempio
system: groups
). Ad esempio, il valoreoidc:
crea nomi di gruppo comeoidc:engineering
eoidc:infra
. Non specificatesystem:
alcuna parte di quella stringa. -
Richieste necessarie: selezionare Aggiungi richiesta e inserire una o più coppie di valori chiave che descrivono le richieste necessarie nel token ID client. Le coppie descrivono le affermazioni obbligatorie nel token ID. Se impostato, ogni richiesta viene verificata per essere presente nel token ID con un valore corrispondente.
-
Da usare
kubectl
per lavorare con il tuo cluster e OIDC provider di identità, vedi Usare kubectlnel Kubernetes documentazione.
-
-
-
Policy IAM di esempio
Se vuoi prevenire un OIDC dall'associazione del provider di identità a un cluster, crea e associa la seguente policy IAM agli account IAM dei tuoi amministratori Amazon EKS. Per ulteriori informazioni, consulta Creazione di politiche IAM e Aggiunta delle autorizzazioni di identità IAM nella Guida per l'utente IAM e Actions in the Service Authorization Reference.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "denyOIDC", "Effect": "Deny", "Action": [ "eks:AssociateIdentityProviderConfig" ], "Resource": "arn:aws: eks:us-west-2.amazonaws.com:111122223333:cluster/*" }, { "Sid": "eksAdmin", "Effect": "Allow", "Action": [ "eks:*" ], "Resource": "*" } ] }
La seguente politica di esempio consente OIDC associazione di provider di identità se clientID
is kubernetes
e issuerUrl
is
https://cognito-idp.us-west-2amazonaws.com/*
.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCognitoOnly", "Effect": "Deny", "Action": "eks:AssociateIdentityProviderConfig", "Resource": "arn:aws: eks:us-west-2:111122223333:cluster/my-instance", "Condition": { "StringNotLikeIfExists": { "eks:issuerUrl": "https://cognito-idp.us-west-2.amazonaws.com/*" } } }, { "Sid": "DenyOtherClients", "Effect": "Deny", "Action": "eks:AssociateIdentityProviderConfig", "Resource": "arn:aws: eks:us-west-2:111122223333:cluster/my-instance", "Condition": { "StringNotEquals": { "eks:clientId": "kubernetes" } } }, { "Sid": "AllowOthers", "Effect": "Allow", "Action": "eks:*", "Resource": "*" } ] }
Partner convalidato OIDC fornitori di identità
Amazon EKS intrattiene relazioni con una rete di partner che offrono supporto per la compatibilità OIDC fornitori di identità. Per informazioni dettagliate su come integrare il provider di identità con Amazon EKS, consulta la documentazione dei partner riportata di seguito.
Partner | Product | Documentazione |
---|---|---|
PingIdentity |
Amazon EKS mira a dare all'utente una vasta gamma di opzioni per coprire tutti i casi d'uso. Se sviluppi un file supportato commercialmente OIDC provider di identità compatibile che non è elencato qui, contatta il nostro team partner all'indirizzo aws-container-partners@amazon. com