בטבלאות שבדף הזה מפורטות כל ההרשאות שמשמשות ליצירת תפקידי ברירת המחדל של AWS IAM. כדי ליצור את כללי המדיניות האלה עם הרשאות ברירת מחדל, אפשר לעיין במאמר יצירת תפקידי AWS IAM.
- תפקיד סוכן שירות של GKE Multi-Cloud API
- ממשק GKE Multi-Cloud API משתמש בתפקיד הזה ב-AWS IAM כדי לנהל משאבים באמצעות ממשקי AWS API. התפקיד הזה משמש חשבון שירות בניהול Google שנקרא סוכן שירות.
- תפקיד IAM ב-AWS במישור הבקרה
- רמת הבקרה של האשכול משתמשת בתפקיד הזה כדי לשלוט במאגרי הצמתים.
- תפקיד IAM ב-AWS של מאגר הצמתים
- רמת הבקרה משתמשת בתפקיד הזה כדי ליצור מכונות וירטואליות של מאגר הצמתים.
בהתאם לדרישות הארגון, אתם יכולים ליצור מדיניות מותאמת אישית של AWS IAM ל-GKE ב-AWS כדי לנהל את האשכולות. המדיניות הזו תחליף את גרסאות ברירת המחדל. לאחר מכן, אתם מחילים את המדיניות הזו על תפקידי IAM ב-AWS ומספקים אותה כשאתם יוצרים אשכול.
מידע נוסף על המטרה של כל תפקיד זמין במאמר תפקידים ב-AWS IAM ל-GKE ב-AWS.
כדי ליצור את כללי המדיניות האלה, בוחרים את הרמה שבה רוצים להגביל את המשאבים. לדוגמה, אפשר להגביל מדיניות ל-AWS VPC מסוים באמצעות שם המשאב של Amazon (ARN) של ה-VPC. מידע נוסף זמין במאמר שליטה בגישה למשאבי AWS באמצעות מדיניות.
מדיניות IAM לסוכני שירות של GKE Multi-Cloud
| Resource Type | ARN | נדרשת הרשאה | מטרה | חומרי עזר |
|---|---|---|---|---|
| בקבוצת אבטחה | arn:aws:ec2:*:*:security-group/sg-* |
ec2:DescribeSecurityGroups (יצירה, עדכון, מחיקה)ec2:CreateSecurityGroup (יצירה)ec2:CreateTags (יצירה)ec2:RevokeSecurityGroupEgress (יצירה)ec2:DeleteSecurityGroup (מחיקה) |
קבוצת אבטחה של מישור הבקרה | |
| בקבוצת אבטחה | קבוצת אבטחה של מאגר צמתים | |||
| כלל בקבוצת אבטחה | arn:aws:ec2:*:*:security-group-rule/sgr-* |
ec2:AuthorizeSecurityGroupEgress (יצירה)ec2:RevokeSecurityGroupEgress (מחיקה)ec2:CreateTags (יצירה) |
כלל בקבוצת אבטחה ליציאה ממישור הבקרה | |
| כלל בקבוצת אבטחה | ec2:AuthorizeSecurityGroupIngress (יצירה)ec2:RevokeSecurityGroupIngress (מחיקה)ec2:CreateTags (יצירה) |
כלל בקבוצת אבטחה של תעבורת נכנס במישור הבקרה | ||
| כלל בקבוצת אבטחה | ec2:AuthorizeSecurityGroupEgress (יצירה)ec2:RevokeSecurityGroupEgress (מחיקה)ec2:CreateTags (יצירה) |
כלל בקבוצת אבטחה ליציאה ממישור הבקרה | ||
| כלל בקבוצת אבטחה | ec2:AuthorizeSecurityGroupIngress (יצירה)ec2:RevokeSecurityGroupIngress (מחיקה)ec2:CreateTags (יצירה) |
כלל בקבוצת אבטחה של תעבורת נכנס במישור הבקרה | ||
| מאזן עומסי רשת | arn:aws:elasticloadbalancing:*:*:loadbalancer/net/gke-* |
elasticloadbalancing:DescribeLoadBalancers (יצירה, מחיקה) elasticloadbalancing:CreateLoadBalancer (יצירה)ec2:CreateSecurityGroup (יצירה)ec2:DescribeAccountAttributes (יצירה)ec2:DescribeInternetGateways (יצירה)ec2:DescribeSecurityGroups (יצירה)ec2:DescribeSubnets (יצירה)ec2:DescribeVpcs (יצירה)iam:CreateServiceLinkedRole (יצירה)elasticloadbalancing:DeleteLoadBalancer (מחיקה) |
מאזן עומסים של שרת ה-API של Kubernetes | הרשאות Elastic Load Balancing API |
| קבוצת יעד | arn:aws:elasticloadbalancing:*:*:targetgroup/gke-* |
elasticloadbalancing:DescribeTargetGroups (יצירה, עדכון, מחיקה)elasticloadbalancing:DescribeTargetHealth (יצירה, עדכון)elasticloadbalancing:CreateTargetGroup (יצירה)elasticloadbalancing:ModifyTargetGroupAttributes (יצירה)ec2:DescribeInternetGateways (יצירה)ec2:DescribeVpcs (יצירה)elasticloadbalancing:DeleteTargetGroup (מחיקה) |
קבוצת היעד ל-HTTPS | הרשאות Elastic Load Balancing API |
| קבוצת יעד | קבוצת היעד של https עבור סוכן הקישוריות | |||
| Listener | arn:aws:elasticloadbalancing:*:*:listener/net/gke-* |
elasticloadbalancing:CreateListener (יצירה)elasticloadbalancing:DeleteListener (מחיקה)
elasticloadbalancing:DescribeListeners (מחיקה)elasticloadbalancing:DeleteListener (מחיקה) |
Listener ל-https | |
| Listener | Listener for https for konnectivity agent | |||
| עוצמת הקול | arn:aws:ec2:*:*:volume/vol-* |
ec2:CreateVolume (יצירה) ec2:CreateTags (יצירה) ec2:DeleteVolume (מחיקה) |
כרכי etcd | |
| ממשק רשת | arn:aws:ec2:*:*:network-interface/eni-* |
ec2:DescribeNetworkInterfaces עדכוןec2:CreateNetworkInterface (יצירה)ec2:CreateTags (יצירה)ec2:ModifyNetworkInterfaceAttribute (עדכון)ec2:DeleteNetworkInterface (מחיקה) |
etcd NICs | |
| תבנית השקה | arn:aws:ec2:*:*:launch-template/lt-* |
ec2:CreateLaunchTemplate (יצירה, עדכון) ec2:CreateTags (יצירה, עדכון) ec2:DeleteLaunchTemplate (מחיקה) |
תבנית להפעלת מופעים של מישור הבקרה | |
| תבנית השקה | תבנית השקה למופעים של מאגר צמתים | |||
| קבוצה להתאמה אוטומטית לעומס | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
autoscaling:DescribeAutoScalingGroups (יצירה, עדכון, מחיקה)autoscaling:CreateAutoScalingGroup (יצירה)autoscaling:CreateOrUpdateTags (עדכון)autoscaling:UpdateAutoScalingGroup (עדכון, מחיקה)autoscaling:TerminateInstanceInAutoScalingGroup (עדכון)autoscaling:DeleteTags עדכון, (מחיקה)autoscaling:DeleteAutoScalingGroup (מחיקה)iam:CreateServiceLinkedRole (יצירה)ec2:RunInstances (יצירה)iam:PassRole (יצירה) |
קבוצות של התאמה אוטומטית של קנה מידה למופעים של מישור הבקרה | הרשאות ה-API הנדרשות ל-Amazon EC2 Auto Scaling |
| קבוצה להתאמה אוטומטית לעומס | arn:aws:autoscaling:*:*:autoScalingGroup:*: |
קבוצות של התאמה אוטומטית של גודל (autoscaling) עבור מופעים של מאגר צמתים | אילו הרשאות צריך כדי ליצור תפקיד שמקושר לשירות | |
| זוגות מפתחות של EC2 | ec2:DescribeKeyPairs (יצירה) |
כדי לוודא שזוג מפתחות EC2 שמשמש לכניסה למכונות באשכול קיים. | ||
| תת-רשתות | ec2:DescribeSubnets (יצירה) |
גישה לרשתות משנה נוספות ב-VPC | ||
| VPC | ec2:DescribeVpcs (יצירה) |
מידע על AWS VPC | ||
| פלט של מסוף EC2 | ec2:GetConsoleOutput (יצירה, עדכון) |
בדיקת יומני המסוף לאיתור שגיאות | ||
| מפתח KMS | For more information on KMS key policies for GKE on AWS
Creating KMS keys with specific permissions
|
מדיניות IAM לתפקיד במישור הבקרה
| מטרה | נדרשת הרשאה | חומרי עזר |
|---|---|---|
| התאמה אוטומטית לעומס (autoscaling) באשכול | 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 (יצירה)ec2:DescribeInstances (יצירה)ec2:DescribeRegionsec2:DescribeRouteTablesec2:DescribeSecurityGroupsec2:DescribeSubnetsec2:DescribeVolumesec2:CreateSecurityGroupec2:CreateTagsec2:CreateVolumeec2:ModifyInstanceAttributeec2:ModifyVolumeec2:AttachVolume (יצירה)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 |
| יצירת מאזני עומסים | 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 | Kubernetes external snapshotter |
| סוכן הצומת של GKE ב-AWS צירוף כרטיס רשת ל-etcd |
ec2:AttachNetworkInterface (יצירה, עדכון) |
|
| קריאת הגדרת ה-Proxy מ-Secrets Manager | secretsmanager:GetSecretValue (יצירה, עדכון) |
|
| אינטראקציה עם מפתחות KMS | kms:Encrypt (יצירה, עדכון)kms:Decrypt (יצירה, עדכון)kms:CreateGrant (יצירה, עדכון) |
מדיניות IAM לתפקיד של מאגר צמתים
| מטרה | נדרשת הרשאה | חומרי עזר |
|---|---|---|
| קריאת הגדרות ה-Proxy מ-Secrets Manager | secretsmanager:GetSecretValue (יצירה, עדכון) |
|
| מפתח KMS לפענוח הצפנת ההגדרה של מאגר הצמתים | kms:Decrypt (יצירה, עדכון) |
יצירת מפתח AWS KMS |