Cette page explique comment Google Cloud gère les autorisations et les rôles IAM (Identity and Access Management) d'AWS pour GKE sur AWS.
GKE sur AWS utilise l'API AWS pour créer des ressources telles que des instances EC2, des groupes d'autoscaling et des équilibreurs de charge pour les composants GKE sur AWS et vos charges de travail. Vous devez fournir à Google Cloud les autorisations IAM AWS pour créer ces ressources.
Comment GKE sur AWS accède à l'API AWS
GKE sur AWS utilise la fédération d'identité dans AWS pour gérer un accès précis à votre compte AWS. Lorsque GKE sur AWS doit effectuer une action pour votre cluster, il demande un jeton de courte durée à AWS. Le rôle API GKE Multi-Cloud utilise ce jeton pour s'authentifier auprès d'AWS.
Agents de service
Pour autoriser Google Cloud à créer, mettre à jour, supprimer et gérer des clusters dans votre compte AWS, GKE sur AWS crée un agent de service. dans votre projet Google Cloud. L'agent de service est un compte de service géré par Google qui utilise le rôle IAM AWS pour l'API GKE multicloud.
Vous devez créer un rôle IAM AWS pour l'agent de service dans chaque projet Google Cloud à partir duquel vous gérez des clusters GKE.
L'agent de service utilise l'adresse e-mail service-PROJECT_NUMBER@gcp-sa-gkemulticloud.iam.gserviceaccount.com
.
Pour plus d'informations sur les autorisations Google Cloud IAM, consultez la page Agent de service Anthos Multi-Cloud.
Autorisations AWS IAM pour GKE sur AWS
Vous pouvez créer des rôles qui utilisent les rôles AWS IAM par défaut ou créer vos propres stratégies AWS IAM personnalisées qui répondent aux exigences de votre organisation.
Utiliser les règles par défaut
Une stratégie AWS IAM est un ensemble d'autorisations. Pour autoriser la création et la gestion de clusters, vous devez d'abord créer des stratégies AWS IAM pour les rôles suivants :
- Rôle d'agent de service de l'API GKE Multi-cloud
- L'API GKE Multi-cloud utilise ce rôle IAM AWS pour gérer les ressources à l'aide des API AWS. Ce rôle est utilisé par un compte de service géré par Google appelé agent de service.
- Rôle IAM AWS du plan de contrôle
- Votre plan de contrôle de cluster utilise ce rôle pour contrôler les pools de nœuds.
- Rôle IAM AWS pour le pool de nœuds
- Le plan de contrôle utilise ce rôle pour créer des VM de pool de nœuds.
Pour utiliser les rôles IAM AWS suggérés pour GKE sur AWS afin de gérer les clusters, consultez la page Créer des rôles AWS IAM.
Créer des stratégies IAM personnalisées
Pour restreindre davantage les autorisations, au lieu d'utiliser des stratégies suggérées, vous pouvez créer des stratégies AWS IAM personnalisées qui autorisent GKE sur AWS. Par exemple, vous pouvez limiter les autorisations aux ressources associées à un tag spécifique ou aux ressources d'un VPC AWS spécifique.
Contrôler les accès avec des tags
Vous pouvez limiter les stratégies AWS IAM pour autoriser les actions uniquement sur un ensemble limité de ressources à l'aide des tags AWS. Tout rôle doté de ce tag dans son champ de condition sera limité à l'exploitation de ressources portant le même tag. Cela vous permet de restreindre les rôles administratifs aux actions effectuées sur les ressources d'un cluster ou d'un pool de nœuds spécifiques.
Pour limiter une stratégie AWS IAM à n'appliquer que les ressources associées à un tag spécifique, incluez la valeur du tag dans le champ Condition
de la stratégie, puis transmettez la valeur du tag lorsque vous créez le cluster et les pools de nœuds. GKE sur AWS applique ce tag lors de la création de ressources.
Pour en savoir plus sur les tags, consultez la page Ajouter des tags aux ressources AWS. Pour en savoir plus sur l'utilisation de tags avec une stratégie AWS, consultez la page Contrôler l'accès aux ressources AWS.
Pour en savoir plus sur la création de ressources de cluster avec un tag particulier, consultez la documentation de référence sur gcloud container aws clusters create
et gcloud container aws node-pools create
.
Pour obtenir la liste des autorisations spécifiques dont GKE sur AWS a besoin pour chaque stratégie, consultez la liste des rôles AWS IAM.