Le tabelle in questa pagina elencano tutte le autorizzazioni utilizzate per creare i ruoli IAM AWS predefiniti. Per creare queste policy con le autorizzazioni predefinite, consulta Creare ruoli IAM AWS.
- Ruolo dell'agente di servizio dell'API GKE Multi-Cloud
- L'API GKE Multi-Cloud utilizza questo ruolo IAM AWS per gestire le risorse utilizzando le API AWS. Questo ruolo viene utilizzato da un account di servizio gestito da Google noto come a agente di servizio.
- Ruolo IAM AWS del control plane
- Il control plane del cluster utilizza questo ruolo per controllare i node pool.
- Ruolo IAM AWS del node pool
- Il control plane utilizza questo ruolo per creare VM pool di nodi.
A seconda dei requisiti della tua organizzazione, puoi scegliere di creare policy IAM AWS personalizzate per GKE su AWS per gestire i cluster. Queste policy sostituiranno le versioni predefinite. Applica queste policy ai ruoli IAM AWS e forniscile quando crei un cluster.
Per saperne di più sullo scopo di ogni ruolo, consulta Ruoli IAM AWS per GKE su AWS.
Per creare queste policy, scegli il livello a cui vuoi limitare le risorse. Ad esempio, puoi limitare una policy a un VPC AWS specifico utilizzando l'Amazon Resource Name (ARN) del VPC. Per saperne di più, consulta Controllare l'accesso alle risorse AWS utilizzando le policy.
Policy IAM per gli agenti di servizio GKE Multi-Cloud
| Tipo di risorsa | ARN | Autorizzazione richiesta | Finalità | Riferimento |
|---|---|---|---|---|
| Gruppo di sicurezza | arn:aws:ec2:*:*:security-group/sg-* |
ec2:DescribeSecurityGroups (Create, Update, Delete)ec2:CreateSecurityGroup (Create)ec2:CreateTags (Create)ec2:RevokeSecurityGroupEgress (Create)ec2:DeleteSecurityGroup (Delete) |
Gruppo di sicurezza del control plane | |
| Gruppo di sicurezza | Gruppo di sicurezza del node pool | |||
| Regola del gruppo di sicurezza | arn:aws:ec2:*:*:security-group-rule/sgr-* |
ec2:AuthorizeSecurityGroupEgress (Create)ec2:RevokeSecurityGroupEgress (Delete)ec2:CreateTags (Create) |
Regola del gruppo di sicurezza in uscita del control plane | |
| Regola del gruppo di sicurezza | ec2:AuthorizeSecurityGroupIngress (Create)ec2:RevokeSecurityGroupIngress (Delete)ec2:CreateTags (Create) |
Regola del gruppo di sicurezza in entrata del control plane | ||
| Regola del gruppo di sicurezza | ec2:AuthorizeSecurityGroupEgress (Create)ec2:RevokeSecurityGroupEgress (Delete)ec2:CreateTags (Create) |
Regola del gruppo di sicurezza in uscita del control plane | ||
| Regola del gruppo di sicurezza | ec2:AuthorizeSecurityGroupIngress (Create)ec2:RevokeSecurityGroupIngress (Delete)ec2:CreateTags (Create) |
Regola del gruppo di sicurezza in entrata del control plane | ||
| Bilanciatore del carico di rete | arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* |
elasticloadbalancing:DescribeLoadBalancers (Create, Delete) elasticloadbalancing:CreateLoadBalancer (Create)ec2:CreateSecurityGroup (Create)ec2:DescribeAccountAttributes (Create)ec2:DescribeInternetGateways (Create)ec2:DescribeSecurityGroups (Create)ec2:DescribeSubnets (Create)ec2:DescribeVpcs (Create)iam:CreateServiceLinkedRole (Create)elasticloadbalancing:DeleteLoadBalancer (Delete) |
Bilanciatore del carico dell'api-server di Kubernetes | Autorizzazioni API Elastic Load Balancing |
| Gruppo target | arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* |
elasticloadbalancing:DescribeTargetGroups (Create, Update, Delete)elasticloadbalancing:DescribeTargetHealth (Create, Update)elasticloadbalancing:CreateTargetGroup (Create)elasticloadbalancing:ModifyTargetGroupAttributes (Create)ec2:DescribeInternetGateways (Create)ec2:DescribeVpcs (Create)elasticloadbalancing:DeleteTargetGroup (Delete) |
Gruppo target per https | Autorizzazioni API Elastic Load Balancing |
| Gruppo target | Gruppo target per https per l'agente Konnectivity | |||
| Listener | arn:aws:elasticloadbalancing:*:*:listener/net/gke-* |
elasticloadbalancing:CreateListener (Create)elasticloadbalancing:DeleteListener (Delete)
elasticloadbalancing:DescribeListeners (Delete)elasticloadbalancing:DeleteListener (Delete) |
Listener per https | |
| Listener | Listener per https per l'agente Konnectivity | |||
| Volume | arn:aws:ec2:*:*:volume/vol-* |
ec2:CreateVolume (Create)ec2:CreateTags (Create)ec2:DeleteVolume (Delete) |
Volumi etcd | |
| Interfaccia di rete | arn:aws:ec2:*:*:network-interface/eni-* |
ec2:DescribeNetworkInterfaces Updateec2:CreateNetworkInterface (Create)ec2:CreateTags (Create)ec2:ModifyNetworkInterfaceAttribute (Update)ec2:DeleteNetworkInterface (Delete) |
NIC etcd | |
| Modello di avvio | arn:aws:ec2:*:*:launch-template/lt-* |
ec2:CreateLaunchTemplate (Create, Update)ec2:CreateTags (Create, Update)ec2:DeleteLaunchTemplate (Delete) |
Modello di avvio per le istanze del control plane | |
| Modello di avvio | Modello di avvio per le istanze del pool di nodi | |||
| Gruppo di scalabilità automatica | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
autoscaling:DescribeAutoScalingGroups (Create, Update, Delete)autoscaling:CreateAutoScalingGroup (Create)autoscaling:CreateOrUpdateTags (Update)autoscaling:UpdateAutoScalingGroup (Update, Delete)autoscaling:TerminateInstanceInAutoScalingGroup (Update)autoscaling:DeleteTags Update, (Delete)autoscaling:DeleteAutoScalingGroup (Delete)iam:CreateServiceLinkedRole (Create)ec2:RunInstances (Create)iam:PassRole (Create) |
Gruppi di scalabilità automatica per le istanze del control plane | Autorizzazioni API richieste per la scalabilità automatica di Amazon EC2 |
| Gruppo di scalabilità automatica | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
Gruppi di scalabilità automatica per le istanze del pool di nodi | Autorizzazioni richieste per creare un ruolo collegato al servizio | |
| Coppie di chiavi EC2 | ec2:DescribeKeyPairs (Create) |
Per assicurarsi che la coppia di chiavi EC2 utilizzata per accedere alle macchine del cluster esista. | ||
| Subnet | ec2:DescribeSubnets (Create) |
Accesso a subnet aggiuntive nel VPC | ||
| VPC | ec2:DescribeVpcs (Create) |
Informazioni sul VPC AWS | ||
| Output della console EC2 | ec2:GetConsoleOutput (Create, Update) |
Controlla i log della console per verificare la presenza di errori | ||
| Chiave KMS | For more information on KMS key policies for GKE on AWS
Creating KMS keys with specific permissions
|
Policy IAM per il ruolo del control plane
| Finalità | Autorizzazione richiesta | Riferimento |
|---|---|---|
| Gestore della scalabilità automatica dei cluster | autoscaling:DescribeAutoScalingGroups (Create, Update)autoscaling:DescribeAutoScalingInstances (Create, Update)autoscaling:DescribeLaunchConfigurations (Create, Update)autoscaling:DescribeTags (Create, Update)ec2:DescribeInstanceTypes (Create, Update)ec2:DescribeLaunchTemplateVersions (Create, Update)autoscaling:SetDesiredCapacityautoscaling:TerminateInstanceInAutoScalingGroup |
https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md |
| cloud-provider-aws | autoscaling:DescribeAutoScalingGroupsautoscaling:DescribeLaunchConfigurationsautoscaling:DescribeTags (Create)ec2:DescribeInstances (Create)ec2:DescribeRegionsec2:DescribeRouteTablesec2:DescribeSecurityGroupsec2:DescribeSubnetsec2:DescribeVolumesec2:CreateSecurityGroupec2:CreateTagsec2:CreateVolumeec2:ModifyInstanceAttributeec2:ModifyVolumeec2:AttachVolume (Create)ec2:AuthorizeSecurityGroupIngressec2:CreateRouteec2:DeleteRouteec2:DeleteSecurityGroupec2:DeleteVolumeec2:DetachVolumeec2:RevokeSecurityGroupIngressec2:DescribeVpcselasticloadbalancing:AddTagselasticloadbalancing:AttachLoadBalancerToSubnetselasticloadbalancing:ApplySecurityGroupsToLoadBalancerelasticloadbalancing:CreateLoadBalancerelasticloadbalancing:CreateLoadBalancerPolicyelasticloadbalancing:CreateLoadBalancerListenerselasticloadbalancing:ConfigureHealthCheckelasticloadbalancing:DeleteLoadBalancerelasticloadbalancing:DeleteLoadBalancerListenerselasticloadbalancing:DescribeLoadBalancerselasticloadbalancing:DescribeLoadBalancerAttributeselasticloadbalancing:DetachLoadBalancerFromSubnetselasticloadbalancing:DeregisterInstancesFromLoadBalancerelasticloadbalancing:ModifyLoadBalancerAttributeselasticloadbalancing:RegisterInstancesWithLoadBalancerelasticloadbalancing:SetLoadBalancerPoliciesForBackendServerelasticloadbalancing:AddTagselasticloadbalancing:CreateListenerelasticloadbalancing:CreateTargetGroupelasticloadbalancing:DeleteListenerelasticloadbalancing:DeleteTargetGroupelasticloadbalancing:DescribeListenerselasticloadbalancing:DescribeLoadBalancerPolicieselasticloadbalancing:DescribeTargetGroupselasticloadbalancing:DescribeTargetHealthelasticloadbalancing:ModifyListenerelasticloadbalancing:ModifyTargetGroupelasticloadbalancing:RegisterTargetselasticloadbalancing:DeregisterTargetselasticloadbalancing:SetLoadBalancerPoliciesOfListeneriam:CreateServiceLinkedRolekms:DescribeKey |
https://github.com/kubernetes/cloud-provider-aws/blob/master/docs/prerequisites.md |
| Crea bilanciatori del carico | elasticloadbalancing:CreateLoadBalancerec2:DescribeAccountAttributesec2:DescribeInternetGatewaysec2:DescribeSecurityGroupsec2:DescribeSubnetsec2: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:DescribeDhcpOptionsec2:DescribeInstancesec2:DescribeVpcs |
|
elasticloadbalancing:ModifyTargetGroupAttributes |
||
ec2:DescribeSnapshotsec2:CreateSnapshotec2:DeleteSnapshot |
Snapshotter CSI | Snapshotter esterno di Kubernetes |
| Agente dei nodi GKE su AWS Collega la NIC a etcd |
ec2:AttachNetworkInterface (Create, Update) |
|
| Leggi la configurazione del proxy da Secrets Manager | secretsmanager:GetSecretValue (Create, Update) |
|
| Interagisci con le chiavi KMS | kms:Encrypt (Create, Update)kms:Decrypt (Create, Update)kms:CreateGrant (Create, Update) |
Policy IAM per il ruolo pool di nodi
| Finalità | Autorizzazione richiesta | Riferimento |
|---|---|---|
| Leggi la configurazione del proxy da Secrets Manager | secretsmanager:GetSecretValue (Create, Update) |
|
| Chiave KMS per decriptare la crittografia della configurazione pool di nodi | kms:Decrypt (Create, Update) |
Crea una chiave KMS AWS |