ステップ 3: CodeDeploy ユーザーのアクセス許可を制限する - AWS CodeDeploy

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

ステップ 3: CodeDeploy ユーザーのアクセス許可を制限する

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

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

開始する前に
アクセス権限セットを作成するには

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

  1. AWS Management Console にサインインし、AWS IAM Identity Center コンソールを https://console.aws.amazon.com/singlesignon/ で開きます。

  2. ナビゲーションペインで [アクセス許可セット] を選択し、[アクセス許可セットの作成] を選択します。

  3. [カスタム許可セット] を選択します。

  4. [Next] (次へ) をクリックします。

  5. [インラインポリシー] を選択します。

  6. サンプルコードを削除します。

  7. 以下のポリシーを追加します。

    { "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::account-ID:role/CodeDeployServiceRole" } ] }

    このポリシーで、arn:aws:iam::account-ID:role/CodeDeployServiceRoleステップ 2: のサービスロールを作成する CodeDeploy で作成した CodeDeploy サービスロールの ARN 値を置換します。ARN 値は、IAM コンソールのサービスロールの詳細ページにあります。

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

    このドキュメントに記載されている AWS CloudFormation テンプレートを使用して、CodeDeploy と互換性がある Amazon EC2 インスタンスを起動できます。AWS CloudFormation テンプレートを使用して、アプリケーション、デプロイグループ、またはデプロイ設定を作成するには、次のように CodeDeploy 管理ユーザーのアクセス許可ポリシーに cloudformation:* 許可を追加することによって、AWS CloudFormation および AWS CloudFormation が依存している AWS サービスとアクションへのアクセス許可を提供する必要があります。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ ... "cloudformation:*" ], "Resource": "*" } ] }
  8. [Next] (次へ) をクリックします。

  9. アクセス許可セット名」に、次のように入力します。

    CodeDeployUserPermissionSet
  10. [Next] (次へ) をクリックします。

  11. [確認と作成] ページで情報を確認し、[グループの作成] を選択します。

許可セットを CodeDeploy 管理ユーザーに割り当てるには
  1. ナビゲーションペインで AWS アカウント を選択し、現在サインインしている AWS アカウント の横にあるチェックボックスをオンにします。

  2. [ユーザーまたはグループの割り当て] ボタンを選択します。

  3. [ユーザー] タブを選択します。

  4. CodeDeploy 管理ユーザーの横にあるチェックボックスをオンにします。

  5. [Next] (次へ) をクリックします。

  6. [CodeDeployUserPermissionSet] のチェックボックスをオンにします。

  7. [Next] (次へ) をクリックします。

  8. 情報を確認し、[送信] を選択します。

    これで、CodeDeploy 管理ユーザーと CodeDeployUserPermissionSet を AWS アカウント に割り当てて、それらをバインドできました。

CodeDeploy 管理ユーザーとしてサインアウトしてサインインし直すには
  1. サインアウトする前に、AWS アクセスポータル URL と、CodeDeploy 管理ユーザーのユーザー名とワンタイムパスワードがあることを確認します。

    注記

    この情報がない場合は、IAM Identity Center の CodeDeploy 管理ユーザー詳細ページに移動し、[パスワードをリセットする]、[ワンタイムパスワードの生成 [...]] を選択して、もう一度 [パスワードをリセットする] と、画面に情報が表示されます。

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

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

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

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

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

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

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