Aidez à améliorer cette page
Pour contribuer à ce guide de l’utilisateur, cliquez sur le lien Modifier cette page sur GitHub qui se trouve dans le volet droit de chaque page.
Fonctionnement d'Amazon EKS avec IAM
Avant d'utiliser IAM pour gérer l'accès à Amazon EKS, vous devez comprendre quelles sont les fonctionnalités IAM qui peuvent être utilisées dans cette situation. Pour obtenir une vue d'ensemble de la façon dont Amazon EKS et d'autres services AWS fonctionnent avec IAM, consultez Services AWS qui fonctionnent avec IAM dans le Guide de l'utilisateur IAM.
Rubriques
Politiques basées sur l'identité Amazon EKS
Avec les politiques IAM basées sur l'identité, vous pouvez spécifier des actions et ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Amazon EKS est compatible avec des actions, des ressources et des clés de condition spécifiques. Pour en savoir plus sur tous les éléments que vous utilisez dans une politique JSON, consultez Références des éléments de politique JSON IAM dans le Guide de l'utilisateur IAM.
Actions
Les administrateurs peuvent utiliser les politiques JSON AWS pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.
L’élément Action d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Les actions de politique possèdent généralement le même nom que l’opération d’API AWS associée. Il existe certaines exceptions, telles que les actions d’autorisation uniquement qui ne correspondent à aucune opération API. Certaines opérations nécessitent également plusieurs actions dans une politique. Ces actions supplémentaires sont nommées actions dépendantes.
Intégration d'actions dans une politique afin d'accorder l'autorisation d'exécuter les opérations associées.
Les actions de politique dans Amazon EKS utilisent le préfixe suivant avant l'action : eks:. Par exemple, pour accorder à une personne l'autorisation d'obtenir des informations descriptives sur un cluster Amazon EKS, incluez l'action DescribeCluster dans sa politique. Les déclarations de politique doivent inclure un élément Action ou NotAction.
Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules comme suit :
"Action": ["eks:action1", "eks:action2"]
Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques (*). Par exemple, pour spécifier toutes les actions qui commencent par le mot Describe, incluez l’action suivante :
"Action": "eks:Describe*"
Pour afficher la liste des actions Amazon EKS, consultez la rubrique Actions définies par Amazon Elastic Kubernetes Service de la Référence de l'autorisation de service.
Ressources
Les administrateurs peuvent utiliser les politiques JSON AWS pour spécifier qui a accès à quoi. C’est-à-dire, quel principal peut effectuer des actions sur quelles ressources et dans quelles conditions.
L’élément de politique JSON Resource indique le ou les objets auxquels l’action s’applique. Les instructions doivent inclure un élément Resource ou NotResource. Il est recommandé de définir une ressource à l’aide de son Amazon Resource Name (ARN). Vous pouvez le faire pour des actions qui prennent en charge un type de ressource spécifique, connu sous la dénomination autorisations de niveau ressource.
Pour les actions qui ne prennent pas en charge les autorisations au niveau des ressources, telles que les opérations de listage, utilisez un caractère générique (*) pour indiquer que la déclaration s’applique à toutes les ressources.
"Resource": "*"
La ressource de cluster Amazon EKS intègre l'ARN suivant.
arn:aws:eks:region-code:account-id:cluster/cluster-name
Pour plus d'informations sur le format des ARN, consultez Amazon resource names (ARN) et espaces de noms du service AWS.
Par exemple, pour spécifier le cluster avec le nom mon-cluster dans votre instruction, utilisez l'ARN suivant :
"Resource": "arn:aws:eks:region-code:111122223333:cluster/my-cluster"
Pour spécifier tous les clusters appartenant à un compte et à une région AWS spécifiques, utilisez le caractère générique (*) :
"Resource": "arn:aws:eks:region-code:111122223333:cluster/*"
Certaines actions Amazon EKS, telles que celles permettant de créer des ressources, ne peuvent pas être effectuées sur une ressource spécifique. Dans ces cas-là, vous devez utiliser le caractère générique (*).
"Resource": "*"
Pour afficher la liste des types de ressources Amazon EKS et leurs ARN, consultez la rubrique Ressources définies par Amazon Elastic Kubernetes Service de la Référence de l'autorisation de service. Pour connaître les actions avec lesquelles vous pouvez spécifier l'ARN de chaque ressource, consultez la rubrique Actions définies par Amazon Elastic Kubernetes Service.
Clés de condition
Amazon EKS définit son propre ensemble de clés de condition et est également compatible avec l'utilisation de certaines clés de condition globales. Pour afficher toutes les clés de condition globales AWS, consultez Clés de contexte de condition globale AWS dans le Guide de l'utilisateur IAM.
Vous pouvez définir des clés de condition lors de l'association d'un fournisseur OpenID Connect à votre cluster. Pour de plus amples informations, consultez Exemple de politique IAM.
Toutes les actions Amazon EC2 prennent en charge les clés de condition aws:RequestedRegion et ec2:Region. Pour plus d’informations, consultez Exemple : restriction de l’accès à une région AWS spécifique.
Pour obtenir la liste des clés de condition Amazon EKS, consultez la rubrique Conditions définies par Amazon Elastic Kubernetes Service de la Référence de l'autorisation de service. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, consultez la rubrique Actions définies par Amazon Elastic Kubernetes Service.
Exemples
Pour voir des exemples de politiques Amazon EKS basées sur l'identité, consultez Exemples de politiques basées sur l'identité d'Amazon EKS.
Lorsque vous créez un cluster Amazon EKS, le principal IAM qui crée le cluster se voit automatiquement accorder des autorisations system:masters dans la configuration du contrôle d’accès basé sur les rôles (RBAC) du cluster dans le plan de contrôle Amazon EKS. Ce principal n’apparaît dans aucune configuration visible. Souvenez-vous donc du principal qui a créé le cluster à l’origine. Pour accorder à d’autres principaux IAM la possibilité d’interagir avec votre cluster, modifiez le aws-auth ConfigMap dans Kubernetes et créez un rolebinding ou clusterrolebinding Kubernetes associé au nom d’un group que vous spécifiez dans le aws-auth ConfigMap.
Pour plus d'informations sur l'utilisation du ConfigMap, consultez Autoriser les utilisateurs et les rôles IAM à accéder aux API Kubernetes.
Politiques basées sur les ressources Amazon EKS
Amazon EKS ne prend pas en charge les politiques basées sur les ressources.
Autorisation basée sur des identifications Amazon EKS
Vous pouvez attacher des identifications aux ressources Amazon EKS ou transmettre des identifications dans une demande à Amazon EKS. Pour contrôler l'accès basé sur des identifications, vous devez fournir les informations d'identifications dans l'élément de condition d'une politique utilisant les clés de condition aws:ResourceTag/, key-name
aws:RequestTag/ ou key-name
aws:TagKeys. Pour plus d'informations sur l'étiquetage des ressources Amazon EKS, consultez Organiser les ressources Amazon EKS à l’aide de balises. Pour plus d'informations sur les actions dans lesquelles vous pouvez utiliser des balises avec des clés de condition, consultez Actions définies par Amazon EKS dans Référence de l'autorisation de service.
Rôles IAM Amazon EKS
Un rôle IAM est une entité au sein de votre compte AWS qui dispose d'autorisations spécifiques.
Utilisation d'informations d'identification temporaires avec Amazon EKS
Vous pouvez utiliser des informations d’identification temporaires pour vous connecter à l’aide de la fédération, endosser un rôle IAM ou encore pour endosser un rôle intercompte. Vous obtenez des informations d'identification de sécurité temporaires en appelant des opérations d'API AWS STS telles que AssumeRole ou GetFederationToken.
Amazon EKS est compatible avec l'utilisation des informations d'identification temporaires.
Rôles liés à un service
Les rôles liés à un service permettent aux services AWS d’accéder à des ressources dans d’autres services pour effectuer une action en votre nom. Les rôles liés à un service s’affichent dans votre compte IAM et sont la propriété du service. Un administrateur peut afficher les autorisations des rôles liés à un service, mais ne peut pas les modifier.
Amazon EKS prend en charge les rôles liés à un service. Pour plus d'informations sur la création ou la gestion des rôles liés à un service Amazon EKS, consultez Utilisation des rôles liés à un service pour Amazon EKS.
Rôles de service
Cette fonction permet à un service d’endosser une fonction du service en votre nom. Ce rôle autorise le service à accéder à des ressources d’autres services pour effectuer une action en votre nom. Les rôles de service s’affichent dans votre compte IAM et sont la propriété du compte. Cela signifie qu’un administrateur IAM peut modifier les autorisations associées à ce rôle. Toutefois, une telle action peut perturber le bon fonctionnement du service.
Amazon EKS prend en charge les rôles de service. Pour plus d’informations, consultez Rôle IAM de cluster Amazon EKS et Rôle IAM de nœud Amazon EKS.
Choix d'un rôle IAM dans Amazon EKS
Lorsque vous créez une ressource de cluster dans Amazon EKS, vous devez choisir un rôle pour permettre à Amazon EKS d'accéder à plusieurs autres ressources AWS en votre nom. Si vous avez déjà créé un rôle de service, Amazon EKS vous propose une liste de rôles parmi lesquels choisir. Il est important de choisir un rôle auquel les politiques gérées par Amazon EKS sont attachées. Pour plus d'informations, consultez Recherche d'un rôle de cluster existant et Recherche d'un rôle de nœud existant.