

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# `AWSSupport-GrantPermissionsToIAMUser`
<a name="automation-awssupport-grantpermissionstoiamuser"></a>

 **Description** 

 此 Runbook 會將指定的許可授予 IAM 群組 （新群組或現有群組），並將現有的 IAM 使用者新增至該群組。您可以選擇的政策：[Billing](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/job-function/Billing$serviceLevelSummary) 或 [Support](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AWSSupportAccess$serviceLevelSummary)。若要為 IAM 啟用帳單存取，請記得也要啟用 [IAM 使用者和聯合身分使用者對帳單與成本管理頁面的存取](https://docs.aws.amazon.com/console/iam/billing-enable)。

**重要**  
如果您提供現有的 IAM 群組，群組中所有目前的 IAM 使用者都會收到新的許可。

 [執行此自動化 （主控台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-GrantPermissionsToIAMUser) 

**文件類型**

 自動化

**擁有者**

Amazon

**平台**

Linux、macOS、 Windows

**參數**
+ AutomationAssumeRole

  類型：字串

  描述：（選用） 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 的使用者許可。
+ IAMGroupName

  類型：字串

  預設：ExampleSupportAndBillingGroup

   描述：(必要) 可以是新的或現有的群組。必須遵守 [IAM 實體名稱限制](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-names)。
+ IAMUserName

  類型：字串

  預設：ExampleUser

  描述：(必要) 必須是現有的使用者。
+ LambdaAssumeRole

  類型：字串

  描述：(選用) 由 lambda 擔任之角色的 ARN。
+ 許可

  類型：字串

  有效值：SupportFullAccess \$1 BillingFullAccess \$1 SupportAndBillingFullAccess

  預設：SupportAndBillingFullAccess

   描述：（必要） 選擇其中一項： `SupportFullAccess` 授予支援中心的完整存取權。 `BillingFullAccess` 授予帳單儀表板的完整存取權。 `SupportAndBillingFullAccess` 授予支援中心和帳單儀表板的完整存取權。您可以在文件詳細資訊下的政策找到更多資訊。

**必要的 IAM 許可**

`AutomationAssumeRole` 參數需要下列動作才能成功使用 Runbook。

 所需的許可取決於 `AWSSupport-GrantPermissionsToIAMUser` 的執行方式。

 **以目前登入的使用者或角色執行** 

 建議您連接 `AmazonSSMAutomationRole` Amazon 受管政策，以及下列其他許可，以建立要傳遞給 Lambda 的 Lambda 函數和 IAM 角色：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "lambda:InvokeFunction",
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction"
            ],
            "Resource": "arn:aws:lambda:*:111122223333: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** 

 使用者必須擁有 Runbook 上的 **ssm：StartAutomationExecution** 許可，以及傳遞為 **AutomationAssumeRole** **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" : "*"
                        }
                    ]
                }
```

 **文件步驟** 

1.  `aws:createStack` - 執行 CloudFormation 範本以建立 Lambda 函數。

1.  `aws:invokeLambdaFunction` - 執行 Lambda 以設定 IAM 許可。

1.  `aws:deleteStack` - 刪除 CloudFormation 範本。

 **輸出** 

configureIAM.Payload