Le tabelle in questa pagina elencano tutte le autorizzazioni utilizzate per creare i ruoli AWS IAM predefiniti. Per creare questi criteri con le autorizzazioni predefinite, consulta Creazione di ruoli IAM AWS.
- Ruolo dell'agente di servizio API GKE Multi-cloud
- L'API GKE Multi-Cloud utilizza questo ruolo AWS IAM per gestire le risorse utilizzando le API AWS. Questo ruolo viene utilizzato da un account di servizio gestito da Google noto come agente di servizio.
- Ruolo AWS IAM del control plane
- Il control plane del cluster utilizza questo ruolo per controllare i node pool.
- Ruolo AWS IAM del node pool
- Il control plane utilizza questo ruolo per creare le VM del pool di nodi.
A seconda dei requisiti della tua organizzazione, puoi scegliere di creare policy AWS IAM personalizzate per GKE su AWS per gestire i tuoi cluster. Queste norme sostituiranno le versioni predefinite. Quindi, applichi queste policy ai ruoli AWS IAM e le fornisci quando crei un cluster.
Per saperne di più sullo scopo di ogni ruolo, consulta Ruoli IAM di AWS per GKE su AWS.
Per creare queste policy, scegli il livello in cui vuoi limitare le risorse. Ad esempio, puoi limitare un criterio a un VPC AWS specifico utilizzando l'Amazon Resource Name (ARN) del VPC. Per maggiori informazioni, consulta Controllare l'accesso alle risorse AWS utilizzando le policy.
Criteri 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 (Crea, Aggiorna, Elimina)ec2:CreateSecurityGroup (Crea)ec2:CreateTags (Crea)ec2:RevokeSecurityGroupEgress (Crea)ec2:DeleteSecurityGroup (Elimina) |
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 (Crea)ec2:RevokeSecurityGroupEgress (Elimina)ec2:CreateTags (Crea) |
Regola del gruppo di sicurezza in uscita del control plane | |
Regola del gruppo di sicurezza | ec2:AuthorizeSecurityGroupIngress (Crea)ec2:RevokeSecurityGroupIngress (Elimina)ec2:CreateTags (Crea) |
Regola del gruppo di sicurezza in entrata del control plane | ||
Regola del gruppo di sicurezza | ec2:AuthorizeSecurityGroupEgress (Crea)ec2:RevokeSecurityGroupEgress (Elimina)ec2:CreateTags (Crea) |
Regola del gruppo di sicurezza in uscita del control plane | ||
Regola del gruppo di sicurezza | ec2:AuthorizeSecurityGroupIngress (Crea)ec2:RevokeSecurityGroupIngress (Elimina)ec2:CreateTags (Crea) |
Regola del gruppo di sicurezza in entrata del control plane | ||
Bilanciatore del carico di rete | arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* |
elasticloadbalancing:DescribeLoadBalancers (Crea, Elimina) elasticloadbalancing:CreateLoadBalancer (Crea)ec2:CreateSecurityGroup (Crea)ec2:DescribeAccountAttributes (Crea)ec2:DescribeInternetGateways (Crea)ec2:DescribeSecurityGroups (Crea)ec2:DescribeSubnets (Crea)ec2:DescribeVpcs (Crea)iam:CreateServiceLinkedRole (Crea)elasticloadbalancing:DeleteLoadBalancer (Elimina) |
Bilanciatore del carico del server API Kubernetes | Autorizzazioni API Elastic Load Balancing |
Gruppo target | arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* |
elasticloadbalancing:DescribeTargetGroups (Crea, Aggiorna, Elimina)elasticloadbalancing:DescribeTargetHealth (Crea, Aggiorna)elasticloadbalancing:CreateTargetGroup (Crea)elasticloadbalancing:ModifyTargetGroupAttributes (Crea)ec2:DescribeInternetGateways (Crea)ec2:DescribeVpcs (Crea)elasticloadbalancing:DeleteTargetGroup (Elimina) |
Gruppo target per HTTPS | Autorizzazioni API Elastic Load Balancing |
Gruppo target | Gruppo di destinazione per https per l'agente di connettività | |||
Listener | arn:aws:elasticloadbalancing:*:*:listener/net/gke-* |
elasticloadbalancing:CreateListener (Crea)elasticloadbalancing:DeleteListener (Elimina)
elasticloadbalancing:DescribeListeners (Elimina)elasticloadbalancing:DeleteListener (Elimina) |
Listener per https | |
Listener | Listener per https per l'agente di connettività | |||
Volume | arn:aws:ec2:*:*:volume/vol-* |
ec2:CreateVolume (Crea)ec2:CreateTags (Crea)ec2:DeleteVolume (Elimina) |
Volumi etcd | |
Interfaccia di rete | arn:aws:ec2:*:*:network-interface/eni-* |
ec2:DescribeNetworkInterfaces Aggiornaec2:CreateNetworkInterface (Crea)ec2:CreateTags (Crea)ec2:ModifyNetworkInterfaceAttribute (Aggiorna)ec2:DeleteNetworkInterface (Elimina) |
NIC etcd | |
Modello di lancio | arn:aws:ec2:*:*:launch-template/lt-* |
ec2:CreateLaunchTemplate (Crea, Aggiorna)ec2:CreateTags (Crea, Aggiorna)ec2:DeleteLaunchTemplate (Elimina) |
Modello di avvio per le istanze del control plane | |
Modello di lancio | Modello di avvio per le istanze del pool di nodi | |||
Gruppo di scalabilità automatica | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
autoscaling:DescribeAutoScalingGroups (Crea, Aggiorna, Elimina)autoscaling:CreateAutoScalingGroup (Crea)autoscaling:CreateOrUpdateTags (Aggiorna)autoscaling:UpdateAutoScalingGroup (Aggiorna, Elimina)autoscaling:TerminateInstanceInAutoScalingGroup (Aggiorna)autoscaling:DeleteTags Aggiorna, (Elimina)autoscaling:DeleteAutoScalingGroup (Elimina)iam:CreateServiceLinkedRole (Crea)ec2:RunInstances (Crea)iam:PassRole (Crea) |
gruppi di scalabilità automatica per le istanze del control plane | Autorizzazioni API richieste per Amazon EC2 Auto Scaling |
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 (Crea) |
Per assicurarti che esista la coppia di chiavi EC2 utilizzata per accedere alle macchine del cluster. | ||
Subnet | ec2:DescribeSubnets (Crea) |
Accesso a subnet aggiuntive nel tuo VPC | ||
VPC | ec2:DescribeVpcs (Crea) |
Informazioni sul tuo VPC AWS | ||
Output della console EC2 | ec2:GetConsoleOutput (crea, aggiorna) |
Controllare i log della console per individuare eventuali 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 del cluster | autoscaling:DescribeAutoScalingGroups (Crea, Aggiorna)autoscaling:DescribeAutoScalingInstances (Crea, Aggiorna)autoscaling:DescribeLaunchConfigurations (Crea, Aggiorna)autoscaling:DescribeTags (Crea, Aggiorna)ec2:DescribeInstanceTypes (Crea, Aggiorna)ec2:DescribeLaunchTemplateVersions (Crea, Aggiorna)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 (Crea)ec2:DescribeInstances (Crea)ec2:DescribeRegions ec2:DescribeRouteTables ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeVolumes ec2:CreateSecurityGroup ec2:CreateTags ec2:CreateVolume ec2:ModifyInstanceAttribute ec2:ModifyVolume ec2:AttachVolume (Crea)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 |
crea bilanciatori del carico | 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 |
CSI snapshotter | Kubernetes external snapshotter |
Agente del nodo GKE su AWS Collega la NIC a etcd |
ec2:AttachNetworkInterface (crea, aggiorna) |
|
Leggi la configurazione proxy da Secrets Manager | secretsmanager:GetSecretValue (crea, aggiorna) |
|
Interagire con le chiavi KMS | kms:Encrypt (crea, aggiorna)kms:Decrypt (crea, aggiorna)kms:CreateGrant (crea, aggiorna) |
Policy IAM per il ruolo pool di nodi
Finalità | Autorizzazione richiesta | Riferimento |
---|---|---|
Leggi la configurazione proxy da Secret Manager | secretsmanager:GetSecretValue (crea, aggiorna) |
|
Chiave KMS per decriptare la crittografia della configurazione pool di nodi | kms:Decrypt (crea, aggiorna) |
Crea una chiave KMS AWS |