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.
Vous souhaitez contribuer à ce guide de l'utilisateur ? Choisissez le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page. Vos contributions aideront à améliorer notre guide de l'utilisateur pour tout le monde.
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.
Accorder aux utilisateurs l'accès à Kubernetes avec un appareil externe OIDC provider
Amazon EKS prend en charge l'utilisation OpenID Connect (OIDC) fournisseurs d'identité comme méthode d'authentification des utilisateurs auprès de votre cluster. OIDC les fournisseurs d'identité peuvent être utilisés avec ou comme alternative à AWS Identity and Access Management (IAM). Pour plus d'informations sur l'utilisation d'IAM, consultez Octroi IAM accès des utilisateurs et des rôles à Kubernetes APIs. Après avoir configuré l'authentification auprès de votre cluster, vous pouvez créer Kubernetes roles
et clusterroles
pour attribuer des autorisations aux rôles, puis lier les rôles aux identités en utilisant Kubernetes rolebindings
et clusterrolebindings
. Pour plus d'informations, voir Utilisation de l'autorisation RBAC
-
Vous pouvez en associer un OIDC fournisseur d'identité pour votre cluster.
-
Kubernetes ne fournit pas de OIDC fournisseur d'identité. Vous pouvez utiliser un public existant OIDC fournisseur d'identité, ou vous pouvez gérer 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 OIDC le fournisseur d'identité doit être accessible au public, afin qu'Amazon EKS puisse découvrir les clés de signature. Amazon EKS ne prend pas en charge OIDC fournisseurs d'identité 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 toujours être créé par un principal AWS IAM, plutôt que par un OIDC utilisateur du fournisseur d'identité. Cela est dû au fait que le créateur du cluster interagit avec Amazon EKS APIs, plutôt qu'avec le Kubernetes APIs.
-
OIDC les utilisateurs authentifiés par le fournisseur d'identité 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 depuis un OIDC fournisseur. Vous ne pouvez le faire qu'en vous Vue Kubernetes ressources dans le AWS Management Console connectant AWS Management Console avec un compte AWS Identity and Access Management.
Associer un OIDC fournisseur d'identité
Avant de pouvoir associer un OIDC fournisseur d'identité avec votre cluster, vous avez besoin des informations suivantes auprès 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 à laiss
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, commehttps://server.example.org
ouhttps://example.com
. Cette URL doit pointer vers le niveau sous.well-known/openid-configuration
et doit être accessible publiquement sur Internet. - ID client (également appelé 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
-
Créez un fichier nommé
associate-identity-provider.yaml
avec les contenus suivants. Remplacez lesexample values
par vos propres valeurs. Les valeurs deidentityProviders
cette section sont obtenues à partir de votre OIDC fournisseur d'identité. Des valeurs ne sont requises que pour les paramètresname
,type
,issuerUrl
etclientId
sousidentityProviders
.--- 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 pourgroupsPrefix
ouusernamePrefix
. -
Créez le fournisseur.
eksctl associate identityprovider -f associate-identity-provider.yaml
-
À utiliser
kubectl
pour travailler avec votre cluster et OIDC fournisseur d'identité, voir Utilisation de kubectldans le Kubernetes .
Associer un fournisseur d'identité à l'aide de la AWS console
-
Ouvrez la console Amazon EKS
. -
Sélectionnez votre cluster, puis sélectionnez l'onglet Accès.
-
Dans OIDC Section Fournisseurs d'identité, sélectionnez Fournisseur d'identité associé.
-
À propos de l'associé OIDC Page du fournisseur d'identité, entrez ou sélectionnez les options suivantes, puis sélectionnez 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.
-
Pour l'ID client, entrez le OIDC ID client du fournisseur d'identité (é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écifiezsystem:
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 valeuroidc:
crée des noms de groupe commeoidc:engineering
etoidc:infra
. Ne spécifiezsystem:
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.
-
À utiliser
kubectl
pour travailler avec votre cluster et OIDC fournisseur d'identité, voir Utilisation de kubectldans le Kubernetes .
-
-
-
Exemple de politique IAM
Si vous souhaitez empêcher une OIDC si vous n'êtes pas 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 permet OIDC association du fournisseur d'identité si clientID
c'est kubernetes
et si c'issuerUrl
est le cas
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": "*" } ] }
Partenaire validé OIDC fournisseurs d'identité
Amazon EKS entretient des relations avec un réseau de partenaires qui proposent une assistance en matière de compatibilité OIDC fournisseurs d'identité. Consultez la documentation suivante des partenaires pour savoir comment intégrer le fournisseur d'identité à Amazon EKS.
Partenaire | Produit (langue française non garantie) | Documentation |
---|---|---|
PingIdentity |
Amazon EKS vise à vous offrir un large choix d'options pour couvrir tous les cas d'utilisation. Si vous développez un OIDC fournisseur d'identité compatible qui n'est pas répertorié ici, puis contactez notre équipe partenaire à l'aws-container-partnersadresse @amazon. com