Les tableaux de cette page répertorient toutes les autorisations utilisées pour créer les rôles IAM AWS par défaut. Pour créer ces stratégies avec les autorisations par défaut, consultez la page Créer des rôles IAM AWS.
- Rôle d'agent de service de l'API multicloud GKE
- L'API GKE Multi-Cloud utilise ce rôle AWS IAM pour gérer les ressources à l'aide des API AWS. Ce rôle est utilisé par un 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.
En fonction des exigences de votre organisation, vous pouvez choisir de créer des stratégies IAM AWS personnalisées pour GKE sur AWS afin de gérer vos clusters. Ces stratégies remplaceront les versions par défaut. Vous appliquez ensuite ces stratégies aux rôles IAM AWS et vous les fournissez lorsque vous créez un cluster.
Pour en savoir plus sur l'objectif de chaque rôle, consultez la page Rôles AWS IAM pour GKE sur AWS.
Pour créer ces stratégies, choisissez le niveau auquel vous souhaitez restreindre vos ressources. Par exemple, vous pouvez limiter une stratégie à un VPC AWS particulier à l'aide du nom ARN (Amazon Resource Name) du VPC. Pour en savoir plus, consultez la page Contrôler l'accès aux ressources AWS à l'aide de stratégies.
Stratégies IAM pour les agents de service multicloud GKE
Type de ressource | ARN | Autorisation requise | Objectif | Reference |
---|---|---|---|---|
Groupe de sécurité | arn:aws:ec2:*:*:security-group/sg-* |
ec2:DescribeSecurityGroups (Créer, mettre à jour, supprimer)ec2:CreateSecurityGroup (Créer)ec2:CreateTags (Créer)ec2:RevokeSecurityGroupEgress (Créer)ec2:DeleteSecurityGroup (supprimer) |
Groupe de sécurité du plan de contrôle | |
Groupe de sécurité | Groupe de sécurité du pool de nœuds | |||
Règle du groupe de sécurité | arn:aws:ec2:*:*:security-group-rule/sgr-* |
ec2:AuthorizeSecurityGroupEgress (Créer)ec2:RevokeSecurityGroupEgress (Supprimer)ec2:CreateTags (Créer) |
Règle du groupe de sécurité de sortie du plan de contrôle | |
Règle du groupe de sécurité | ec2:AuthorizeSecurityGroupIngress (Créer)ec2:RevokeSecurityGroupIngress (Supprimer)ec2:CreateTags (Créer) |
Règle du groupe de sécurité d'entrée du plan de contrôle | ||
Règle du groupe de sécurité | ec2:AuthorizeSecurityGroupEgress (Créer)ec2:RevokeSecurityGroupEgress (Supprimer)ec2:CreateTags (Créer) |
Règle du groupe de sécurité de sortie du plan de contrôle | ||
Règle du groupe de sécurité | ec2:AuthorizeSecurityGroupIngress (Créer)ec2:RevokeSecurityGroupIngress (Supprimer)ec2:CreateTags (Créer) |
Règle du groupe de sécurité d'entrée du plan de contrôle | ||
Équilibreur de charge réseau | arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* |
elasticloadbalancing:DescribeLoadBalancers (Créer, supprimer) elasticloadbalancing:CreateLoadBalancer (Créer)ec2:CreateSecurityGroup (Créer)ec2:DescribeAccountAttributes (Créer) )ec2:DescribeInternetGateways (Créer)ec2:DescribeSecurityGroups (Créer)ec2:DescribeSubnets (Créer)ec2:DescribeVpcs (Créer)iam:CreateServiceLinkedRole (Créer)elasticloadbalancing:DeleteLoadBalancer (Supprimer) |
Équilibreur de charge du serveur d'API Kubernetes | Autorisations de l'API Elastic Load Balancing |
Groupe cible | arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* |
elasticloadbalancing:DescribeTargetGroups (Créer, Mettre à jour, Supprimer)elasticloadbalancing:DescribeTargetHealth (Créer, Mettre à jour)elasticloadbalancing:CreateTargetGroup (Créer)elasticloadbalancing:ModifyTargetGroupAttributes (Créer)ec2:DescribeInternetGateways (Créer)ec2:DescribeVpcs (Créer)elasticloadbalancing:DeleteTargetGroup (Supprimer) |
Groupe cible pour HTTPS | Autorisations de l'API Elastic Load Balancing |
Groupe cible | Groupe cible pour https pour l'agent konnectivity | |||
Écouteur | arn:aws:elasticloadbalancing:*:*:listener/net/gke-* |
elasticloadbalancing:CreateListener (Créer)elasticloadbalancing:DeleteListener (Supprimer) elasticloadbalancing:DescribeListeners (Supprimer)elasticloadbalancing:DeleteListener (Supprimer) |
Écouteur pour HTTPS | |
Écouteur | Écouteur pour https pour l'agent konnectivity | |||
Volume | arn:aws:ec2:*:*:volume/vol-* |
ec2:CreateVolume (Créer)ec2:CreateTags (Créer)ec2:DeleteVolume (Supprimer) |
Volumes etcd | |
Interface réseau | arn:aws:ec2:*:*:network-interface/eni-* |
ec2:DescribeNetworkInterfaces Mise à jourec2:CreateNetworkInterface (Créer)ec2:CreateTags (Créer)ec2:ModifyNetworkInterfaceAttribute (Mettre à jour)ec2:DeleteNetworkInterface (Supprimer) |
Cartes d'interface réseau etcd | |
Modèle de lancement | arn:aws:ec2:*:*:launch-template/lt-* |
ec2:CreateLaunchTemplate (Créer, Mettre à jour)ec2:CreateTags (Créer, Mettre à jour)ec2:DeleteLaunchTemplate (Supprimer) |
Modèle de lancement pour les instances de plan de contrôle | |
Modèle de lancement | Modèle de lancement pour les instances de pool de nœuds | |||
Groupe Auto Scaling | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
autoscaling:DescribeAutoScalingGroups (Créer, Mettre à jour, Supprimer)autoscaling:CreateAutoScalingGroup (Créer)autoscaling:CreateOrUpdateTags (Mettre à jour)autoscaling:UpdateAutoScalingGroup (Mettre à jour, supprimer)autoscaling:TerminateInstanceInAutoScalingGroup (Mettre à jour)autoscaling:DeleteTags Mettre à jour, (Supprimer)autoscaling:DeleteAutoScalingGroup (Supprimer)iam:CreateServiceLinkedRole (Créer)ec2:RunInstances (Créer)iam:PassRole (Create) |
Groupes d'autoscaling pour les instances de plan de contrôle | Autorisations d'API requises pour Amazon EC2 Auto Scaling |
Groupe Auto Scaling | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
Groupes d'autoscaling pour les instances de pool de nœuds | Autorisations requises pour créer un rôle lié au service | |
Paires de clés EC2 | ec2:DescribeKeyPairs (Créer) |
S'assurer que la paire de clés EC2 utilisée pour la connexion aux machines de cluster existe | ||
Sous-réseaux | ec2:DescribeSubnets (Créer) |
Accès à des sous-réseaux supplémentaires de votre VPC | ||
VPC | ec2:DescribeVpcs (Créer) |
Informations sur votre VPC AWS | ||
Sortie de la console EC2 | ec2:GetConsoleOutput (Créer/Mettre à jour) |
Rechercher les erreurs dans les journaux de la console | ||
Clé KMS | For more information on KMS key policies for GKE on AWS
Creating KMS keys with specific permissions
|
Stratégie IAM pour le rôle du plan de contrôle
Objectif | Autorisation requise | Reference |
---|---|---|
Autoscaler de cluster | autoscaling:DescribeAutoScalingGroups (Créer, Mettre à jour)autoscaling:DescribeAutoScalingInstances (Créer, Mettre à jour)autoscaling:DescribeLaunchConfigurations (Créer, Mettre à jour)autoscaling:DescribeTags (Créer, Mettre à jour)ec2:DescribeInstanceTypes (Créer, Mettre à jour)ec2:DescribeLaunchTemplateVersions (Créer, Mettre à jour)autoscaling:SetDesiredCapacity autoscaling:TerminateInstanceInAutoScalingGroup |
https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md |
cloud-provider-aws | autoscaling:DescribeAutoScalingGroups autoscaling:DescribeLaunchConfigurations autoscaling:DescribeTags (Créer)ec2:DescribeInstances (Créer)ec2:DescribeRegions ec2:DescribeRouteTables ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeVolumes ec2:CreateSecurityGroup ec2:CreateTags ec2:CreateVolume ec2:ModifyInstanceAttribute ec2:ModifyVolume ec2:AttachVolume (Créer)ec2:AuthorizeSecurityGroupIngress ec2:CreateRoute ec2:DeleteRoute ec2:DeleteSecurityGroup ec2:DeleteVolume ec2:DetachVolume ec2:RevokeSecurityGroupIngress ec2:DescribeVpcs elasticloadbalancing:AddTags elasticloadbalancing:AttachLoadBalancerToSubnets elasticloadbalancing:ApplySecurityGroupsToLoadBalancer elasticloadbalancing:CreateLoadBalancer elasticloadbalancing:CreateLoadBalancerPolicy elasticloadbalancing:CreateLoadBalancerListeners elasticloadbalancing:ConfigureHealthCheck elasticloadbalancing:DeleteLoadBalancer elasticloadbalancing:DeleteLoadBalancerListeners elasticloadbalancing:DescribeLoadBalancers elasticloadbalancing:DescribeLoadBalancerAttributes elasticloadbalancing:DetachLoadBalancerFromSubnets elasticloadbalancing:DeregisterInstancesFromLoadBalancer elasticloadbalancing:ModifyLoadBalancerAttributes elasticloadbalancing:RegisterInstancesWithLoadBalancer elasticloadbalancing:SetLoadBalancerPoliciesForBackendServer elasticloadbalancing:AddTags elasticloadbalancing:CreateListener elasticloadbalancing:CreateTargetGroup elasticloadbalancing:DeleteListener elasticloadbalancing:DeleteTargetGroup elasticloadbalancing:DescribeListeners elasticloadbalancing:DescribeLoadBalancerPolicies elasticloadbalancing:DescribeTargetGroups elasticloadbalancing:DescribeTargetHealth elasticloadbalancing:ModifyListener elasticloadbalancing:ModifyTargetGroup elasticloadbalancing:RegisterTargets elasticloadbalancing:DeregisterTargets elasticloadbalancing:SetLoadBalancerPoliciesOfListener iam:CreateServiceLinkedRole kms:DescribeKey |
https://github.com/kubernetes/cloud-provider-aws/blob/master/docs/prerequisites.md |
Créer des équilibreurs de charge | elasticloadbalancing:CreateLoadBalancer ec2:DescribeAccountAttributes ec2:DescribeInternetGateways ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeVpcs |
https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/elb-api-permissions.html |
aws-ebs-csi-driver | ec2:DescribeVolumesModifications ec2:DescribeAvailabilityZones |
https://github.com/kubernetes-sigs/aws-ebs-csi-driver/tree/master/docs#set-up-driver-permission |
gke-aws-controller-manager | ec2:DescribeDhcpOptions ec2:DescribeInstances ec2:DescribeVpcs |
|
elasticloadbalancing:ModifyTargetGroupAttributes |
||
ec2:DescribeSnapshots ec2:CreateSnapshot ec2:DeleteSnapshot |
Créateur d'instantanés CSI | Créateur d'instantanés externe Kubernetes |
Agent de nœud GKE sur AWS Associer la carte d'interface réseau à etcd |
ec2:AttachNetworkInterface (Créer/Mettre à jour) |
|
Lire la configuration du proxy depuis Secret Manager | secretsmanager:GetSecretValue (Créer/Mettre à jour) |
|
Interagir avec les clés KMS | kms:Encrypt (Créer, Mettre à jour)kms:Decrypt (Créer, Mettre à jour)kms:CreateGrant (Créer, Mettre à jour) |
Stratégie IAM pour le rôle du pool de nœuds
Usage | Autorisation requise | Reference |
---|---|---|
Lire la configuration du proxy depuis Secret Manager | secretsmanager:GetSecretValue (Créer/Mettre à jour) |
|
Clé KMS pour déchiffrer le chiffrement de la configuration du pool de nœuds | kms:Decrypt (Créer/Mettre à jour) |
Créez une clé AWS KMS |