本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-GrantPermissionsToIAMUser
描述
此运行手册将指定的权限授予 IAM 组(新建组或现有组),并将现有的 IAM 用户添加到此组。您可以选择的策略:账单
重要
如果提供的是现有 IAM 组,则此组中的所有当前 IAM 用户都将收到新权限。
文档类型
自动化
所有者
Amazon
平台
Linux,macOS, Windows
参数
-
AutomationAssumeRole
类型:字符串
描述:(可选)允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称(ARN)。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。
-
IAMGroup名称
类型:字符串
默认: ExampleSupportAndBillingGroup
描述:(必需)可以是新组或现有组。必须符合 IAM 实体名称限制。
-
IAMUser名称
类型:字符串
默认: ExampleUser
描述:(必需)必须是现有用户。
-
LambdaAssumeRole
类型:字符串
描述:(可选)Lambda担任的角色的 ARN。
-
权限
类型:字符串
有效值: SupportFullAccess | BillingFullAccess | SupportAndBillingFullAccess
默认: SupportAndBillingFullAccess
描述:(必需)选择以下值之一:
SupportFullAccess
授予支持中心的完全访问权限。BillingFullAccess
授予“账单”控制面板的完全访问权限。SupportAndBillingFullAccess
授予支持中心和“账单”控制面板的完全访问权限。有关策略的更多信息,请参阅文档详细信息。
所需的 IAM 权限
AutomationAssumeRole
参数需要执行以下操作才能成功使用运行手册。
所需的权限取决于 AWSSupport-GrantPermissionsToIAMUser
的运行方式。
以当前登录的用户或角色运行
建议附加 AmazonSSMAutomationRole
Amazon 托管策略以及以下额外权限,以便创建 Lambda 函数和将 IAM 角色传递给 Lambda:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "lambda:InvokeFunction", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource": "arn:aws:lambda:*:ACCOUNTID:function:AWSSupport-*", "Effect": "Allow" }, { "Effect" : "Allow", "Action" : [ "iam:CreateGroup", "iam:AddUserToGroup", "iam:ListAttachedGroupPolicies", "iam:GetGroup", "iam:GetUser" ], "Resource" : [ "arn:aws:iam::*:user/*", "arn:aws:iam::*:group/*" ] }, { "Effect" : "Allow", "Action" : [ "iam:AttachGroupPolicy" ], "Resource": "*", "Condition": { "ArnEquals": { "iam:PolicyArn": [ "arn:aws:iam::aws:policy/job-function/Billing", "arn:aws:iam::aws:policy/AWSSupportAccess" ] } } }, { "Effect" : "Allow", "Action" : [ "iam:ListAccountAliases", "iam:GetAccountSummary" ], "Resource" : "*" } ] }
使用 AutomationAssumeRole 和 LambdaAssumeRole
用户在运行手册上必须具有 ssm: StartAutomationExecution 权限,对作为AutomationAssumeRole和传递的 IAM 角色必须具有 iam: PassRole 权限。LambdaAssumeRole以下是每个 IAM 角色所需的权限:
AutomationAssumeRole { "Version": "2012-10-17", "Statement": [ { "Action": [ "lambda:InvokeFunction", "lambda:CreateFunction", "lambda:DeleteFunction", "lambda:GetFunction" ], "Resource": "arn:aws:lambda:*:ACCOUNTID:function:AWSSupport-*", "Effect": "Allow" } ] }
LambdaAssumeRole { "Version": "2012-10-17", "Statement": [ { "Effect" : "Allow", "Action" : [ "iam:CreateGroup", "iam:AddUserToGroup", "iam:ListAttachedGroupPolicies", "iam:GetGroup", "iam:GetUser" ], "Resource" : [ "arn:aws:iam::*:user/*", "arn:aws:iam::*:group/*" ] }, { "Effect" : "Allow", "Action" : [ "iam:AttachGroupPolicy" ], "Resource": "*", "Condition": { "ArnEquals": { "iam:PolicyArn": [ "arn:aws:iam::aws:policy/job-function/Billing", "arn:aws:iam::aws:policy/AWSSupportAccess" ] } } }, { "Effect" : "Allow", "Action" : [ "iam:ListAccountAliases", "iam:GetAccountSummary" ], "Resource" : "*" } ] }
文档步骤
-
aws:createStack
-运行 AWS CloudFormation 模板创建 Lambda 函数。 -
aws:invokeLambdaFunction
- 运行 Lambda 以设置 IAM 权限。 -
aws:deleteStack
-删除 CloudFormation 模板。
输出
configureIAM.Payload