

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ステップ 3: CodeDeploy ユーザーのアクセス許可を制限する
<a name="getting-started-policy"></a>

セキュリティ上の理由から、[ステップ 1: セットアップ](getting-started-setting-up.md) で作成した管理ユーザーのアクセス許可を、CodeDeploy でのデプロイの作成と管理に必要なアクセス許可のみに制限することをお勧めします。

以下の一連の手順を使用して、CodeDeploy 管理ユーザーのアクセス許可を制限します。

**[開始する前に]**
+ [ステップ 1: セットアップ](getting-started-setting-up.md) の手順に従って IAM Identity Center で CodeDeploy 管理ユーザーを作成したことを確認します。

**アクセス権限セットを作成するには**

このアクセス許可セットは後で CodeDeploy 管理ユーザーに割り当てます。

1. にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/singlesignon/](https://console.aws.amazon.com/singlesignon/) で AWS IAM アイデンティティセンター コンソールを開きます。

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* を [ステップ 2: CodeDeployのサービスのロールを作成する](getting-started-create-service-role.md) で作成した CodeDeploy サービスロールの ARN 値を置換します。ARN 値は、IAM コンソールのサービスロールの詳細ページにあります。

   前述のポリシーにより AWS Lambda コンピューティングプラットフォーム、EC2/オンプレミスコンピューティングプラットフォーム、および Amazon ECS コンピューティングプラットフォームにアプリケーションをデプロイできます。

   このドキュメントで提供されている CloudFormation テンプレートを使用して、CodeDeploy と互換性のある Amazon EC2 インスタンスを起動できます。 CloudFormation テンプレートを使用してアプリケーション、デプロイグループ、またはデプロイ設定を作成するには、次のように CodeDeploy 管理ユーザーのアクセス許可ポリシーに `cloudformation:*` アクセス許可を追加して、 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. サインアウトする前に、CodeDeploy 管理ユーザーの AWS アクセスポータル URL とユーザー名、ワンタイムパスワードがあることを確認してください。
**注記**  
この情報がない場合は、IAM Identity Center の CodeDeploy 管理ユーザー詳細ページに移動し、[**パスワードをリセットする**]、[**ワンタイムパスワードの生成 [...]**] を選択して、もう一度 [**パスワードをリセットする**] と、画面に情報が表示されます。

1. からサインアウトします AWS。

1.  AWS アクセスポータル URL をブラウザのアドレスバーに貼り付けます。

1. CodeDeploy 管理ユーザーとしてサインインする。

   画面に **AWS アカウント** ボックスが表示されます。

1. **AWS アカウント** を選択し、CodeDeploy 管理ユーザーと許可セットを割り当てた AWS アカウント の名前を選択します。

1. `CodeDeployUserPermissionSet` の横にある [**管理コンソール**] を選択します。

    AWS マネジメントコンソール が表示されます。これで、制限付きのアクセス許可を持つ CodeDeploy 管理ユーザーとしてサインインしました。このユーザーとして CodeDeploy 関連の操作*のみ*を実行できるようになりました。