

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

# 步驟 3：限制 CodeDeploy 使用者的許可
<a name="getting-started-policy"></a>

基於安全考量，建議您將您在 中建立的管理使用者許可限制[步驟 1：設定](getting-started-setting-up.md)為在 CodeDeploy 中建立和管理部署所需的許可。

使用下列一系列程序來限制 CodeDeploy 管理使用者的許可。

**開始之前**
+ 請確定您已依照 中的指示，在 IAM Identity Center 中建立 CodeDeploy 管理使用者[步驟 1：設定](getting-started-setting-up.md)。

**建立許可集合**

您稍後會將此許可集指派給 CodeDeploy 管理使用者。

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/singlesignon/](https://console.aws.amazon.com/singlesignon/) 開啟 AWS IAM Identity Center 主控台。

1. 在導覽窗格中，選擇**許可集**，然後選擇**建立許可集**。

1. 選擇**自訂許可集**。

1. 選擇**下一步**。

1. 選擇**內嵌政策**。

1. 移除範例程式碼。

1. 新增下列政策代碼：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CodeDeployAccessPolicy",
               "Effect": "Allow",
               "Action": [
                   "autoscaling:*",
                   "codedeploy:*",
                   "ec2:*",
                   "lambda:*",
                   "ecs:*",
                   "elasticloadbalancing:*",
                   "iam:AddRoleToInstanceProfile",
                   "iam:AttachRolePolicy",
                   "iam:CreateInstanceProfile",
                   "iam:CreateRole",
                   "iam:DeleteInstanceProfile",
                   "iam:DeleteRole",
                   "iam:DeleteRolePolicy",
                   "iam:GetInstanceProfile",
                   "iam:GetRole",
                   "iam:GetRolePolicy",
                   "iam:ListInstanceProfilesForRole",
                   "iam:ListRolePolicies",
                   "iam:ListRoles",
                   "iam:PutRolePolicy",
                   "iam:RemoveRoleFromInstanceProfile",
                   "s3:*",
                   "ssm:*"
               ],
               "Resource": "*"
           },
           {
               "Sid": "CodeDeployRolePolicy",
               "Effect": "Allow",
               "Action": [
                   "iam:PassRole"
               ],
               "Resource": "arn:aws:iam::111122223333:role/CodeDeployServiceRole"
           }
       ]
   }
   ```

------

   在此政策中，將 *arn：aws：iam：：account-ID：role/CodeDeployServiceRole* 取代為您在 中建立的 CodeDeploy 服務角色的 ARN 值[步驟 2：建立 CodeDeploy 的服務角色](getting-started-create-service-role.md)。您可以在 IAM 主控台的服務角色詳細資訊頁面中找到 ARN 值。

   上述政策可讓您將應用程式部署至 AWS Lambda 運算平台、EC2/現場部署運算平台和 Amazon ECS 運算平台。

   您可以使用本文件中提供的 CloudFormation 範本來啟動與 CodeDeploy 相容的 Amazon EC2 執行個體。若要使用 CloudFormation 範本建立應用程式、部署群組或部署組態，您必須將 `cloudformation:*` 許可新增至 CodeDeploy 管理使用者的許可政策，以提供對 的存取權 CloudFormation，以及 CloudFormation 依賴 AWS 的服務和動作，如下所示：

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "cloudformation:*"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 選擇**下一步**。

1. 在**許可集名稱**中，輸入：

   ```
   CodeDeployUserPermissionSet
   ```

1. 選擇**下一步**。

1. 在**檢閱和建立**頁面上，檢閱資訊，然後選擇**建立**。

**將許可集指派給 CodeDeploy 管理使用者**

1. 在導覽窗格中，選擇 **AWS 帳戶**，然後選取 AWS 帳戶 您目前登入之 旁的核取方塊。

1. 選擇**指派使用者或群組**按鈕。

1. 選擇**使用者**索引標籤。

1. 選取 CodeDeploy 管理使用者旁的核取方塊。

1. 選擇**下一步**。

1. 選取 旁的核取方塊`CodeDeployUserPermissionSet`。

1. 選擇**下一步**。

1. 檢閱資訊，然後選擇**提交**。

   您現在已將 CodeDeploy 管理使用者 和 `CodeDeployUserPermissionSet` 指派給您的 AWS 帳戶，並將其繫結在一起。

**以 CodeDeploy 管理使用者身分登出並重新登入**

1. 登出之前，請確定您擁有 AWS 存取入口網站 URL 以及 CodeDeploy 管理使用者的使用者名稱和一次性密碼。
**注意**  
如果您沒有此資訊，請前往 IAM Identity Center 中的 CodeDeploy 管理使用者詳細資訊頁面，選擇**重設密碼**、**產生一次性密碼 【...】** 和再次**重設密碼**，以在畫面上顯示資訊。

1. 登出 AWS。

1. 將 AWS 存取入口網站 URL 貼到瀏覽器的地址列。

1. 以 CodeDeploy 管理使用者身分登入。

   畫面上會出現一個**AWS 帳戶**方塊。

1. 選擇 **AWS 帳戶**，然後選擇 AWS 帳戶 您指派 CodeDeploy 管理使用者和許可集的 名稱。

1. 在 旁`CodeDeployUserPermissionSet`，選擇 **管理主控台**。

    AWS 管理主控台 隨即出現。您現在以具有有限許可的 CodeDeploy 管理使用者身分登入。您現在可以以此使用者身分執行 CodeDeploy 相關操作，以及*僅*執行 CodeDeploy 相關操作。