Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Accorder aux utilisateurs l'accès à Kubernetes avec un fournisseur OIDC externe

Mode de mise au point
Accorder aux utilisateurs l'accès à Kubernetes avec un fournisseur OIDC externe - Amazon EKS

Aidez à améliorer cette page

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Aidez à améliorer cette page

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Amazon EKS prend en charge l'utilisation des fournisseurs d'identité OpenID Connect (OIDC) comme méthode d'authentification des utilisateurs de votre cluster. Les fournisseurs d'identité OIDC peuvent être utilisés avec ou comme alternative à AWS Identity and Access Management (IAM). Pour plus d'informations sur l'utilisation d'IAM, consultez Accorder aux utilisateurs et aux rôles IAM l'accès à Kubernetes APIs. Après avoir configuré l'authentification dans votre cluster, vous pouvez créer des roles et des clusterroles Kubernetes pour attribuer des autorisations aux rôles, puis lier les rôles aux identités à l'aide de liaisons rolebindings et clusterrolebindings Kubernetes. Pour plus d'informations, consultez Utilisation de l'autorisation RBAC dans la documentation Kubernetes.

  • Vous pouvez associer un fournisseur d'identité OIDC à votre cluster.

  • Kubernetes ne fournit pas de fournisseur d'identité OIDC. Vous pouvez utiliser un fournisseur d'identité OIDC public existant ou vous exécuter votre propre fournisseur d'identité. Pour obtenir la liste des fournisseurs certifiés, consultez Certification OpenID sur le site OpenID.

  • L'URL de l'émetteur du fournisseur d'identité OIDC doit être accessible publiquement, afin qu'Amazon EKS puisse découvrir les clés de signature. Amazon EKS ne prend pas en charge les fournisseurs d'identité OIDC dotés de certificats auto-signés.

  • Vous ne pouvez pas désactiver l'authentification IAM sur votre cluster, car elle est toujours requise pour joindre des nœuds à un cluster.

  • Un cluster Amazon EKS doit cependant être créé par un principal IAM AWS plutôt que par un utilisateur de fournisseur d'identité OIDC. Cela est dû au fait que le créateur du cluster interagit avec Amazon EKS APIs plutôt qu'avec APIs Kubernetes.

  • Les utilisateurs authentifiés par le fournisseur d'identité OIDC sont répertoriés dans le journal d'audit du cluster si les CloudWatch journaux sont activés pour le plan de contrôle. Pour de plus amples informations, veuillez consulter Activer ou désactiver les journaux du plan de contrôle.

  • Vous ne pouvez pas vous connecter au AWS Management Console avec un compte auprès d'un fournisseur OIDC. Vous ne pouvez le faire qu'en vous Consultez les ressources Kubernetes dans AWS Management Console connectant AWS Management Console à l'aide d'un compte AWS Identity and Access Management.

Associer un fournisseur d'identité OIDC

Pour pouvoir associer un fournisseur d'identité OIDC à votre cluster, vous devez obtenir les informations suivantes de votre fournisseur :

URL de l'émetteur

L'URL du fournisseur d'identité OIDC qui permet au serveur d'API de découvrir les clés de signature publiques pour vérifier les jetons. L'URL doit commencer par https:// et doit correspondre à la iss réclamation contenue dans les jetons d'identification OIDC du fournisseur. Conformément à la norme OIDC, les composants du chemin sont autorisés, mais pas les paramètres de requête. Généralement, l'URL se compose uniquement d'un nom d'hôte, comme https://server.example.org ou https://example.com . Cette URL doit pointer vers le niveau sous .well-known/openid-configuration et doit être accessible publiquement sur Internet.

ID client (également connu sous le nom d'audience)

L'ID de l'application cliente qui envoie les demandes d'authentification au fournisseur d'identité OIDC.

Vous pouvez associer un fournisseur d'identité à l'aide de eksctl ou de la AWS Management Console.

Associer un fournisseur d'identité à l'aide de eksctl

  1. Créez un fichier nommé associate-identity-provider.yaml avec les contenus suivants. Remplacez les example values par vos propres valeurs. Les valeurs de la section identityProviders sont obtenues de votre fournisseur d'identité OIDC. Des valeurs ne sont requises que pour les paramètres name, type, issuerUrl et clientId sous 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
    Important

    Ne spécifiez system: aucune partie de cette chaîne pour groupsPrefix ouusernamePrefix.

  2. Créez le fournisseur.

    eksctl associate identityprovider -f associate-identity-provider.yaml
  3. À utiliser kubectl pour travailler avec votre cluster et votre fournisseur d'identité OIDC, consultez la section Utilisation de kubectl dans la documentation de Kubernetes.

Associer un fournisseur d'identité à l'aide de la AWS console

  1. Ouvrez la console Amazon EKS.

  2. Sélectionnez votre cluster, puis sélectionnez l'onglet Accès.

  3. Dans la section Fournisseurs d'identité OIDC, sélectionnez* Fournisseur d'identité associé*.

  4. Sur la page Associate OIDC Identity Provider (Associer un fournisseur d'identité OIDC), saisissez ou sélectionnez les options suivantes, puis sélectionnez Associate (Associer).

    • Dans Nom, saisissez un nom unique pour le fournisseur.

    • Pour URL de l'émetteur, saisissez l'URL de votre fournisseur. Cette URL doit être accessible via Internet.

    • Dans le champ ID client, entrez l'ID client du fournisseur d'identité OIDC (également appelé audience).

    • Pour Nom d'utilisateur, saisissez la revendication à utiliser comme nom d'utilisateur.

    • Pour la réclamation de groupe, entrez la réclamation à utiliser en tant que groupe d'utilisateurs.

    • (Facultatif) Sélectionnez Options avancées, puis saisissez ou sélectionnez les informations suivantes :

      • Nom d'utilisateur : saisissez un préfixe à ajouter aux revendications de nom d'utilisateur. Le préfixe est ajouté aux revendications de nom d'utilisateur pour éviter les conflits avec les noms existants. Si vous ne fournissez aucune valeur et que le nom d'utilisateur est une valeur autre que email, le préfixe correspond par défaut à la valeur URL de l'émetteur. Vous pouvez utiliser la valeur - pour désactiver toutes les préfixes. Ne spécifiez system: aucune partie de cette chaîne.

      • Préfixe de groupes : saisissez un préfixe à ajouter aux revendications de groupes. Le préfixe est ajouté aux revendications de groupe pour éviter les conflits avec des noms existants (tels que system: groups). Par exemple, la valeur oidc: crée des noms de groupe comme oidc:engineering et oidc:infra. Ne spécifiez system: aucune partie de cette chaîne.

      • Revendications requises : sélectionnez Ajouter une revendication et saisissez une ou plusieurs paires de valeurs clés qui décrivent les revendications requises dans le jeton d'ID de client. Les paires décrivent les demandes requises dans le jeton d'identification. Si elle est définie, la présence de chaque revendication est vérifiée dans le jeton d'ID avec une valeur correspondante.

        1. À utiliser kubectl pour travailler avec votre cluster et votre fournisseur d'identité OIDC, consultez la section Utilisation de kubectl dans la documentation de Kubernetes.

Exemple de politique IAM

Si vous voulez empêcher un fournisseur d'identité OIDC d'être associé à un cluster, créez et associez la politique IAM suivante aux comptes IAM de vos administrateurs Amazon EKS. Pour plus d'informations, consultez les sections Création de politiques IAM et ajout d'autorisations d'identité IAM dans le guide de l'utilisateur IAM et Actions dans la référence d'autorisation de service.

{ "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": "*" } ] }

L'exemple de politique suivant autorise l'association de fournisseur d'identité OIDC si clientID est kubernetes et issuerUrl est 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": "*" } ] }

Sur cette page

Rubrique précédente :

aws-auth ConfigMap
ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.