Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Concedi agli utenti l'accesso a Kubernetes con un provider OIDC esterno

Modalità Focus
Concedi agli utenti l'accesso a Kubernetes con un provider OIDC esterno - Amazon EKS

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à.

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à.

Amazon EKS supporta l'utilizzo di provider di identità OpenID Connect (OIDC) come metodo per autenticare gli utenti nel cluster. I provider di identità OIDC possono essere utilizzati con o in alternativa a AWS Identity and Access Management (IAM). Per ulteriori informazioni sull'utilizzo di IAM, consultare Concedi agli utenti e ai ruoli IAM l'accesso a Kubernetes APIs. Dopo aver configurato l'autenticazione per il cluster, è possibile creare roles e clusterroles Kubernetes per assegnare autorizzazioni ai ruoli e quindi associare i ruoli alle identità utilizzando rolebindings e clusterrolebindings Kubernetes. Per ulteriori informazioni, consulta Utilizzo dell'autorizzazione RBAC nella documentazione di Kubernetes.

  • È possibile associare un provider di identità OIDC al cluster.

  • Kubernetes non fornisce un provider di identità OIDC. È possibile utilizzare un provider di identità OIDC pubblico esistente oppure eseguire il proprio provider di identità. Per un elenco dei provider certificati, consultare OpenID Certification sul sito OpenID.

  • L'URL dell'emittente del provider di identità OIDC deve essere accessibile pubblicamente, in modo che Amazon EKS possa individuare le chiavi di firma. Amazon EKS non supporta i provider di identità OIDC con certificati autofirmati.

  • Non puoi disabilitare l'autenticazione IAM sul tuo cluster, perché è ancora necessaria per unire i nodi a un cluster.

  • Diversamente da un utente di provider di identità, un cluster Amazon EKS deve ancora essere creato da un principale IAM AWS . Questo perché il creatore del cluster interagisce con Amazon EKS APIs, anziché con APIs Kubernetes.

  • Gli utenti autenticati dal provider di identità OIDC vengono elencati nel registro di controllo del cluster se i log sono attivati per il piano di controllo. CloudWatch Per ulteriori informazioni, consulta Abilita o disabilita i log del piano di controllo.

  • Non è possibile accedere a AWS Management Console con un account di un provider OIDC. È possibile solo Visualizza le risorse Kubernetes nel AWS Management Console accedendo AWS Management Console con un account AWS Identity and Access Management.

Associazione di un provider di identità OIDC

Prima di associare un provider di identità OIDC al cluster, è necessario ottenere dal provider 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 al iss 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, come https://server.example.org o https://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

  1. Crea un file denominato associate-identity-provider.yaml con i seguenti contenuti. Sostituisci i example values con i valori in tuo possesso. I valori nella sezione identityProviders vengono ottenuti dal provider di identità OIDC. I valori sono obbligatori solo per il name, type, issuerUrl, e clientId impostazioni in identityProviders.

    --- 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 specificaresystem:, né alcuna parte di quella stringa, per groupsPrefix o. usernamePrefix

  2. Creare il provider.

    eksctl associate identityprovider -f associate-identity-provider.yaml
  3. Per utilizzarlo kubectl per lavorare con il cluster e il provider di identità OIDC, consulta Using kubectl nella documentazione di Kubernetes.

Associa un provider di identità utilizzando la console AWS

  1. Aprire la Console Amazon EKS.

  2. Seleziona il tuo cluster, quindi seleziona la scheda Accesso.

  3. Nella sezione OIDC Identity Provider*, seleziona* Associate Identity Provider*.

  4. Nella pagina Associate provider di identità OIDC, inserire o selezionare le seguenti opzioni e quindi selezionare 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 l'ID client del provider di identità OIDC (noto anche come audience).

    • Per Richiesta Nome Utente, inserire la richiesta da utilizzare come nome utente.

    • Per l'attestazione Gruppi, 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 specificare system: 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 valore oidc: crea nomi di gruppo come oidc:engineering e oidc:infra. Non specificate system: 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 richieste nel token ID. Se impostato, ogni richiesta viene verificata per essere presente nel token ID con un valore corrispondente.

        1. Per utilizzarlo kubectl per lavorare con il cluster e il provider di identità OIDC, consulta Using kubectl nella documentazione di Kubernetes.

Policy IAM di esempio

Se si desidera impedire che un provider di identità OIDC venga associato a un cluster, creare e associare le seguenti policy IAM agli account IAM degli amministratori Amazon EKS. Per ulteriori informazioni, consulta Creazione delle policy IAM e Aggiunta delle autorizzazioni di identità IAM nella Guida per l'utente IAM e Actionsin 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 policy di esempio consente l'associazione del provider di identità OIDC se il clientID è kubernetes e la issuerUrl è 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": "*" } ] }

In questa pagina

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.