In den Tabellen auf dieser Seite werden alle Berechtigungen aufgeführt, die zum Erstellen der AWS IAM-Standardrollen verwendet werden. Informationen zum Erstellen dieser Richtlinien mit Standardberechtigungen finden Sie unter AWS-IAM-Rollen erstellen.
- Rolle „GKE Multi-Cloud API-Dienst-Agent“
- Die GKE Multi-Cloud API verwendet diese AWS IAM-Rolle, um Ressourcen mit AWS APIs zu verwalten. Diese Rolle wird von einem von Google verwalteten Dienstkonto verwendet, das als Dienst-Agent bezeichnet wird.
- AWS-IAM-Rolle der Steuerungsebene
- Ihre Clustersteuerungsebene verwendet diese Rolle zur Steuerung der Knotenpools.
- AWS-IAM-Rolle für Knotenpool
- Die Steuerungsebene verwendet diese Rolle zum Erstellen von Knotenpool-VMs.
Je nach den Anforderungen Ihrer Organisation können Sie benutzerdefinierte AWS IAM-Richtlinien für GKE on AWS erstellen, um Ihre Cluster zu verwalten. Diese Richtlinien ersetzen die Standardversionen. Anschließend wenden Sie diese Richtlinien auf AWS IAM-Rollen an und geben sie beim Erstellen eines Clusters an.
Weitere Informationen zum Zweck der einzelnen Rollen finden Sie unter AWS IAM-Rollen für GKE on AWS.
Wählen Sie zum Erstellen dieser Richtlinien die Ebene aus, auf die Sie Ihre Ressourcen einschränken möchten. Beispielsweise können Sie eine Richtlinie mit dem Amazon Resource Name (ARN) der VPC auf eine bestimmte AWS-VPC beschränken. Weitere Informationen finden Sie unter Zugriff auf AWS-Ressourcen mithilfe von Richtlinien steuern.
IAM-Richtlinien für GKE Multi-Cloud-Dienst-Agents
Ressourcentyp | ARN | Berechtigung erforderlich | Zweck | Referenz |
---|---|---|---|---|
Sicherheitsgruppe | arn:aws:ec2:*:*:security-group/sg-* |
ec2:DescribeSecurityGroups (Erstellen, aktualisieren, löschen)ec2:CreateSecurityGroup (Erstellen)ec2:CreateTags (Erstellen)ec2:RevokeSecurityGroupEgress (Erstellen)ec2:DeleteSecurityGroup (Löschen) |
Sicherheitsgruppe "Steuerungsebene" | |
Sicherheitsgruppe | Sicherheitsgruppe "Knotenpool" | |||
Sicherheitsgruppenregel | arn:aws:ec2:*:*:security-group-rule/sgr-* |
ec2:AuthorizeSecurityGroupEgress (Erstellen)ec2:RevokeSecurityGroupEgress (Löschen)ec2:CreateTags (Erstellen) |
Sicherheitsgruppenregel für ausgehenden Traffic auf Steuerungsebene | |
Sicherheitsgruppenregel | ec2:AuthorizeSecurityGroupIngress (Erstellen)ec2:RevokeSecurityGroupIngress (Löschen)ec2:CreateTags (Erstellen) |
Sicherheitsgruppenregel für eingehenden Traffic auf Steuerungsebene | ||
Sicherheitsgruppenregel | ec2:AuthorizeSecurityGroupEgress (Erstellen)ec2:RevokeSecurityGroupEgress (Löschen)ec2:CreateTags (Erstellen) |
Sicherheitsgruppenregel für ausgehenden Traffic auf Steuerungsebene | ||
Sicherheitsgruppenregel | ec2:AuthorizeSecurityGroupIngress (Erstellen)ec2:RevokeSecurityGroupIngress (Löschen)ec2:CreateTags (Erstellen) |
Sicherheitsgruppenregel für eingehenden Traffic auf Steuerungsebene | ||
Netzwerk-Load-Balancer | arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* |
elasticloadbalancing:DescribeLoadBalancers (Erstellen, Löschen) elasticloadbalancing:CreateLoadBalancer (Erstellen)ec2:CreateSecurityGroup (Erstellen)ec2:DescribeAccountAttributes (Erstellen)ec2:DescribeInternetGateways (Erstellen)ec2:DescribeSecurityGroups (Erstellen)ec2:DescribeSubnets (Erstellen)ec2:DescribeVpcs (Erstellen)iam:CreateServiceLinkedRole (Erstellen)elasticloadbalancing:DeleteLoadBalancer (Löschen) |
Kubernetes API-Server-Load-Balancer | Elastic Load Balancing API-Berechtigungen |
Zielgruppe | arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* |
elasticloadbalancing:DescribeTargetGroups (Erstellen, aktualisieren, löschen)elasticloadbalancing:DescribeTargetHealth (Erstellen, aktualisieren)elasticloadbalancing:CreateTargetGroup (Erstellen)elasticloadbalancing:ModifyTargetGroupAttributes (Erstellen)ec2:DescribeInternetGateways (Erstellen)ec2:DescribeVpcs (Erstellen)elasticloadbalancing:DeleteTargetGroup (Löschen) |
Zielgruppe für https | Elastic Load Balancing API-Berechtigungen |
Zielgruppe | Zielgruppe für https für Konnectivity-Agent | |||
Listener | arn:aws:elasticloadbalancing:*:*:listener/net/gke-* |
elasticloadbalancing:CreateListener (Erstellen)elasticloadbalancing:DeleteListener (Löschen)
elasticloadbalancing:DescribeListeners (Löschen)elasticloadbalancing:DeleteListener (Löschen) |
Listener für https | |
Listener | Listener für https für Konnectivity-Agent | |||
Volume | arn:aws:ec2:*:*:volume/vol-* |
ec2:CreateVolume (Erstellen)ec2:CreateTags (Erstellen)ec2:DeleteVolume (Löschen) |
etcd-Volumes | |
Netzwerkschnittstelle | arn:aws:ec2:*:*:network-interface/eni-* |
ec2:DescribeNetworkInterfaces Aktualisierenec2:CreateNetworkInterface (Erstellen)ec2:CreateTags (Erstellen)ec2:ModifyNetworkInterfaceAttribute (Aktualisieren)ec2:DeleteNetworkInterface (Löschen) |
etcd-NICs | |
Vorlage starten | arn:aws:ec2:*:*:launch-template/lt-* |
ec2:CreateLaunchTemplate (Erstellen, Aktualisieren)ec2:CreateTags (Erstellen, Aktualisieren)ec2:DeleteLaunchTemplate (Löschen) |
Vorlage für Instanzen der Steuerungsebene starten | |
Vorlage starten | Startvorlage für Knotenpoolinstanzen | |||
Autoscaling-Gruppe | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
autoscaling:DescribeAutoScalingGroups (Erstellen, aktualisieren, löschen)autoscaling:CreateAutoScalingGroup (Erstellen)autoscaling:CreateOrUpdateTags (Aktualisieren)autoscaling:UpdateAutoScalingGroup (Aktualisieren, Löschen)autoscaling:TerminateInstanceInAutoScalingGroup (Aktualisieren)autoscaling:DeleteTags Aktualisieren, (Löschen)autoscaling:DeleteAutoScalingGroup (Löschen)iam:CreateServiceLinkedRole (Erstellen)ec2:RunInstances (Erstellen)iam:PassRole (Erstellen) |
Autoscaling-Gruppen für Steuerungsebeneninstanzen | Erforderliche API-Berechtigungen für Amazon EC2 Auto Scaling |
Autoscaling-Gruppe | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
Autoscaling-Gruppen für Knotenpoolinstanzen | Erforderliche Berechtigungen zum Erstellen einer mit einem Dienst verknüpften Rolle | |
EC2-Schlüsselpaare | ec2:DescribeKeyPairs (Erstellen) |
Achten Sie darauf, dass das EC2-Schlüsselpaar vorhanden ist, das zur Anmeldung bei Clustermaschinen verwendet wird. | ||
Subnetze | ec2:DescribeSubnets (Erstellen) |
Zugriff auf zusätzliche Subnetze in Ihrer VPC | ||
VPC | ec2:DescribeVpcs (Erstellen) |
Informationen zu Ihrer AWS-VPC | ||
Ausgabe der EC2-Konsole | ec2:GetConsoleOutput (Erstellen/aktualisieren) |
Konsolenlogs auf Fehler prüfen | ||
KMS-Schlüssel | For more information on KMS key policies for GKE on AWS
Creating KMS keys with specific permissions
|
IAM-Richtlinie für die Rolle der Steuerungsebene
Zweck | Berechtigung erforderlich | Referenz |
---|---|---|
Cluster Autoscaler | autoscaling:DescribeAutoScalingGroups (Erstellen, aktualisieren)autoscaling:DescribeAutoScalingInstances (Erstellen, aktualisieren)autoscaling:DescribeLaunchConfigurations (Erstellen, aktualisieren)autoscaling:DescribeTags (Erstellen, Aktualisieren)ec2:DescribeInstanceTypes (Erstellen, Aktualisieren)ec2:DescribeLaunchTemplateVersions (Erstellen, Aktualisieren)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 (Erstellen)ec2:DescribeInstances (Erstellen)ec2:DescribeRegions ec2:DescribeRouteTables ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeVolumes ec2:CreateSecurityGroup ec2:CreateTags ec2:CreateVolume ec2:ModifyInstanceAttribute ec2:ModifyVolume ec2:AttachVolume (Erstellen)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 |
Load-Balancer erstellen | 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-cser-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 | Externer Snapshotter in Kubernetes |
GKE on AWS-Knoten-Agent NIC an etcd anhängen |
ec2:AttachNetworkInterface (Erstellen/aktualisieren) |
|
Proxy-Konfiguration aus Secrets Manager lesen | secretsmanager:GetSecretValue (Erstellen/aktualisieren) |
|
Mit KMS-Schlüsseln interagieren | kms:Encrypt (Erstellen, aktualisieren)kms:Decrypt (Erstellen, aktualisieren)kms:CreateGrant (Erstellen, aktualisieren) |
IAM-Richtlinie für die Rolle des Knotenpools
Zweck | Berechtigung erforderlich | Referenz |
---|---|---|
Proxy-Konfiguration aus Secrets Manager lesen | secretsmanager:GetSecretValue (Erstellen/aktualisieren) |
|
KMS-Schlüssel zum Entschlüsseln der Konfiguration von Knotenpools | kms:Decrypt (Erstellen/aktualisieren) |
AWS KMS-Schlüssel erstellen |