This is an automated email from the ASF dual-hosted git repository. yaqian pushed a commit to branch kylin4_on_cloud in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/kylin4_on_cloud by this push: new 06d5c2c Add permission policy (#1839) 06d5c2c is described below commit 06d5c2c930d4497c3d24fae823a697126db8a4a2 Author: Yaqian Zhang <598593...@qq.com> AuthorDate: Wed Mar 30 15:33:53 2022 +0800 Add permission policy (#1839) --- images/add_policy_to_user.png | Bin 0 -> 170700 bytes images/check_user_permission.png | Bin 92931 -> 210813 bytes images/create_permission_policy.png | Bin 0 -> 176685 bytes images/create_user.png | Bin 0 -> 265688 bytes images/policy_json.png | Bin 0 -> 98867 bytes images/review_create_policy.png | Bin 0 -> 308829 bytes readme/prerequisites.md | 158 +++++++++++++++++++++++++++++++++++- 7 files changed, 154 insertions(+), 4 deletions(-) diff --git a/images/add_policy_to_user.png b/images/add_policy_to_user.png new file mode 100644 index 0000000..04c0a5b Binary files /dev/null and b/images/add_policy_to_user.png differ diff --git a/images/check_user_permission.png b/images/check_user_permission.png index ddff924..cac2d46 100644 Binary files a/images/check_user_permission.png and b/images/check_user_permission.png differ diff --git a/images/create_permission_policy.png b/images/create_permission_policy.png new file mode 100644 index 0000000..6442c1a Binary files /dev/null and b/images/create_permission_policy.png differ diff --git a/images/create_user.png b/images/create_user.png new file mode 100644 index 0000000..1d5ac49 Binary files /dev/null and b/images/create_user.png differ diff --git a/images/policy_json.png b/images/policy_json.png new file mode 100644 index 0000000..91c8328 Binary files /dev/null and b/images/policy_json.png differ diff --git a/images/review_create_policy.png b/images/review_create_policy.png new file mode 100644 index 0000000..9bb83f0 Binary files /dev/null and b/images/review_create_policy.png differ diff --git a/readme/prerequisites.md b/readme/prerequisites.md index 400f62d..67cb549 100644 --- a/readme/prerequisites.md +++ b/readme/prerequisites.md @@ -1,12 +1,14 @@ ## Prerequisites -### I. Check user permission +### I. Create `user` and add permission -Login AWS account and check whether the current user has sufficient permissions in AWS IAM service: +#### 1. Create a `user` in AWS IAM service - + -If the current user lacks some permissions listed below, you need to add the permissions to ensure that the current user can carry out subsequent operations smoothly: +#### 2. Add permission for user + +Users need the following permissions to ensure that subsequent operations can proceed smoothly: | Services | Access level | Resources | Request condition | | ------------------- | ------------------------------------------------------ | ------------- | ----------------- | @@ -19,6 +21,154 @@ If the current user lacks some permissions listed below, you need to add the per | **STS** | **Limited**: Write | All Resources | None | | **Systems Manager** | **Limited**: Write | All Resources | None | +##### How to add the required permissions for user? + +###### 1. Create a permission policy in AWS IAM services: + + + +###### 2. Choose `JSON`: + + + +###### 3. Paste the following content to "statement": + +```json +{ + "Sid": "VisualEditor0", + "Effect": "Allow", + "Action": [ + "s3:ListAccessPointsForObjectLambda", + "ec2:AuthorizeSecurityGroupIngress", + "ec2:DescribeInstances", + "ec2:AttachInternetGateway", + "iam:PutRolePolicy", + "rds:CreateDBSubnetGroup", + "iam:AddRoleToInstanceProfile", + "rds:ModifyDBParameterGroup", + "cloudformation:DescribeStackEvents", + "ec2:CreateRoute", + "ec2:CreateInternetGateway", + "cloudformation:UpdateStack", + "ec2:DescribeKeyPairs", + "cloudformation:ListStackResources", + "iam:GetRole", + "ec2:CreateTags", + "ec2:ModifyNetworkInterfaceAttribute", + "elasticloadbalancing:CreateTargetGroup", + "ec2:RunInstances", + "cloudwatch:GetMetricStatistics", + "ec2:CreateVpcEndpointServiceConfiguration", + "ec2:CreateNetworkInterface", + "cloudformation:GetStackPolicy", + "elasticloadbalancing:AddTags", + "cloudformation:DeleteStack", + "ec2:CreateSubnet", + "ec2:DescribeSubnets", + "iam:GetRolePolicy", + "elasticloadbalancing:ModifyLoadBalancerAttributes", + "cloudformation:ValidateTemplate", + "iam:CreateInstanceProfile", + "ec2:CreateNatGateway", + "ec2:CreateVpc", + "sns:ListTopics", + "s3:ListBucket", + "cloudformation:CreateStackInstances", + "iam:ListInstanceProfilesForRole", + "iam:PassRole", + "ec2:DescribeAvailabilityZones", + "s3:PutBucketTagging", + "rds:CreateDBInstance", + "sts:DecodeAuthorizationMessage", + "rds:DescribeDBInstances", + "rds:AddTagsToResource", + "s3:ListBucketMultipartUploads", + "elasticloadbalancing:CreateLoadBalancer", + "ec2:AttachVpnGateway", + "iam:ListRoles", + "elasticloadbalancing:SetSubnets", + "ec2:DescribeSecurityGroups", + "iam:CreatePolicy", + "iam:CreateServiceLinkedRole", + "s3:ListAllMyBuckets", + "ec2:DescribeVpcs", + "elasticloadbalancing:DescribeTargetGroups", + "elasticloadbalancing:RegisterTargets", + "iam:CreateRole", + "s3:CreateBucket", + "rds:DescribeEngineDefaultParameters", + "cloudformation:DescribeStackResource", + "ec2:AssociateVpcCidrBlock", + "ec2:AssociateRouteTable", + "ec2:DescribeInternetGateways", + "elasticloadbalancing:DescribeLoadBalancers", + "elasticloadbalancing:CreateRule", + "ec2:DescribeAccountAttributes", + "ec2:DescribeRouteTables", + "rds:CreateDBParameterGroup", + "cloudformation:DescribeStackInstance", + "s3:ListJobs", + "ec2:CreateRouteTable", + "cloudformation:DescribeStackResources", + "rds:DescribeDBSecurityGroups", + "rds:StartDBInstance", + "cloudformation:DescribeStacks", + "s3:ListMultipartUploadParts", + "elasticloadbalancing:DescribeLoadBalancerAttributes", + "cloudformation:GetTemplate", + "ec2:AssociateSubnetCidrBlock", + "ec2:DescribeInstanceTypes", + "rds:DescribeOrderableDBInstanceOptions", + "ec2:DescribeVpcEndpoints", + "ec2:DescribeAddresses", + "rds:DescribeDBSubnetGroups", + "ec2:DescribeInstanceAttribute", + "s3:ListBucketVersions", + "rds:DescribeDBParameterGroups", + "elasticloadbalancing:CreateListener", + "ec2:DescribeNetworkInterfaces", + "elasticloadbalancing:DescribeListeners", + "ec2:CreateSecurityGroup", + "ec2:ModifyVpcAttribute", + "rds:DescribeDBParameters", + "ec2:AuthorizeSecurityGroupEgress", + "cloudformation:ListStacks", + "s3:PutBucketPublicAccessBlock", + "iam:GetInstanceProfile", + "s3:ListAccessPoints", + "ec2:DescribeNatGateways", + "s3:ListMultiRegionAccessPoints", + "ec2:AllocateAddress", + "cloudformation:GetTemplateSummary", + "s3:ListStorageLensConfigurations", + "cloudformation:CreateStack", + "ec2:CreateVpcEndpoint", + "elasticloadbalancing:DescribeTargetHealth", + "elasticloadbalancing:SetSecurityGroups", + "ec2:AttachNetworkInterface" + ], + "Resource": "*" + }, + { + "Sid": "VisualEditor1", + "Effect": "Allow", + "Action": "servicequotas:GetServiceQuota", + "Resource": "*" + } +``` + +If there is a problem with the `JSON` here, you can manually add permissions in `Visual editor` according to the contents of the required permission list. + +###### 4. Review and create policy + + + +###### 5. Add the permission policy you just created to your user: + + + + + ### II. Create key pair and Access Key<a name="keypair"></a> > Note: