Change Manager のロールとアクセス許可の設定 - AWS Systems Manager

Change Manager のロールとアクセス許可の設定

デフォルトでは、Change Manager にはリソースでアクションを実行するアクセス許可がありません。AWS Identity and Access Management (IAM) サービスロールまたはロールの継承を使用してアクセスを許可する必要があります。このロールでは、ユーザーに代わって Change Manager が承認済み変更リクエストで指定された Runbook ワークフローを安全に実行できます。このロールは、Change Manager に対して AWS Security Token Service (AWS STS) AssumeRole 信頼を付与します。

これらのアクセス許可を組織内の複数のユーザーの代理として行動するために 1 つのロールに提供すれば、該当するユーザーは、そのアクセス許可の配列を自分で取得する必要がなくなります アクセス許可で許可されるアクションは、承認済みの操作のみに制限されます。

アカウントまたは組織のユーザーは、変更リクエストを作成するときに、このロールの継承を選択して変更オペレーションを実行できます。

Change Manager の新しいロールの継承を作成するか、必要なアクセス許可で既存のロールを更新できます。

Change Manager のサービスロールを作成する必要がある場合、次のタスクを完了します。

タスク 1: Change Manager のロールの継承ポリシーを作成する

以下の手順を使用して、Change Manager ロールの継承にアタッチするポリシーを作成します。

Change Manager のロールの継承ポリシーを作成するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、Policies を選択し、Create Policy を選択します。

  3. [ポリシーの作成] ページで [JSON] タブをクリックし、デフォルトのコンテンツを次のように置き換えます。これは次のステップで実際の Change Manager オペレーションで変更します。

    注記

    複数のアカウントとAWS リージョンを持つ組織ではなく、1 つの AWS アカウントで使用するポリシーを作成する場合、最初のステートメントブロックを省略できます。Change Manager を使用する単一のアカウントの場合、iam:PassRole アクセス許可は必要ありません。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::delegated-admin-account-id:role/AWS-SystemsManager-job-functionAdministrationRole", "Condition": { "StringEquals": { "iam:PassedToService": "ssm.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:DescribeDocument", "ssm:GetDocument", "ssm:StartChangeRequestExecution" ], "Resource": [ "arn:aws:ssm:region:account-id:automation-definition/template-name:$DEFAULT", "arn:aws:ssm:region::document/template-name" ] }, { "Effect": "Allow", "Action": [ "ssm:ListOpsItemEvents", "ssm:GetOpsItem", "ssm:ListDocuments", "ssm:DescribeOpsItems" ], "Resource": "*" } ] }
  4. iam:PassRole アクションに対して、Resource 値を更新して Runbook ワークフローを開始するアクセス許可を付与する組織に対して定義されているすべてのジョブ関数の ARN を含めます。

  5. regionaccount-idtemplate-namedelegated-admin-account-id、および job-function プレスホルダーを実際の Change Manager オペレーションの値で置き換えてください。

  6. 2 番目の Resource ステートメントでリストを更新して、アクセス許可を付与するすべての変更テンプレートを含めます。"Resource": "*" を指定して組織のすべての変更テンプレートにアクセス許可を付与することもできます。

  7. [Next: Tags] (次へ: タグ) を選択します。

  8. (オプション) 1 つ以上のタグキーと値のペアを追加して、このポリシーのアクセスを整理、追跡、または制御します。

  9. [次へ: レビュー] を選択します。

  10. [Review policy] (ポリシーの確認) ページの [Name] (名前) ボックスに MyChangeManagerAssumeRole などの名前を入力し、説明を入力します。

  11. [ポリシーの作成] を選択し、「タスク 2: Change Manager のロールの継承を作成する」に進みます。

タスク 2: Change Manager のロールの継承を作成する

以下の手順を使用して、Change Manager の Change Manager のロールの継承 (サービスロールの一種) を作成します

Change Manager のロールの継承ポリシーを作成するには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで ロール を選択してから、ロールを作成する を選択します。

  3. [Select trusted entity] (信頼できるエンティティを選択) で、次のように選択します。

    1. [Trusted entity type] (信頼できるエンティティタイプ) で、[AWS service] ( のサービス) を選択します。

    2. [その他の AWS のサービス のユースケース] で、[Systems Manager] を選択します

    3. 以下のイメージに示されている、[Systems Manager] を選択します。

      ユースケースとして選択した Systems Manager のオプションを示すスクリーンショット。
  4. [Next] を選択します。

  5. [アタッチされたアクセス許可ポリシー] ページで、タスク 1: Change Manager のロールの継承ポリシーを作成する で作成したロールの継承 (MyChangeManagerAssumeRole など) を検索します。

  6. ロールの継承ポリシー名の横にあるチェックボックスを選択し、[次へ: タグ] を選択します。

  7. [Role name] (ロール名) に、新しいインスタンスプロファイルの名前 (MyChangeManagerAssumeRole など) を入力します。

  8. (オプション) [Description] (説明) で、このインスタンスロールの説明を更新します。

  9. (オプション) 1 つ以上のタグキーと値のペアを追加して、このロールのアクセスを整理、追跡、または制御します。

  10. [次へ: レビュー] を選択します。

  11. (オプション) [Tags] (タグ) で、1 つ以上のタグキーと値のペアを追加し、このロールのアクセスを整理、追跡、制御して、[Create role] (ロールの作成) を選択します。ロールページが再度表示されます。

  12. [ロールの作成] を選択します。ロールページが再度表示されます。

  13. ロール ページで作成したロールを選択して、概要 ページを開きます。

タスク 3: iam:PassRole ポリシーを他のロールにアタッチする

iam:PassRole ポリシーを IAM インスタンスプロファイルまたは IAM サービスロールにアタッチするには、次の手順を使用します。(Systems Manager サービスは IAM インスタンスプロファイルを使用して EC2 インスタンスと通信します。ハイブリッドおよびマルチクラウド環境の非 EC2 マネージドノードでは、代わりに IAM サービスロールが使用されます。)

iam:PassRole ポリシーをアタッチすることにより、Change Manager サービスは、Runbook ワークフローを実行するときに他のサービスまたは Systems Manager 機能にロールの継承アクセス許可を渡すことができます。

iam:PassRole ポリシーを IAM インスタンスプロファイルまたはサービスロールにアタッチするには
  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [Roles] (ロール) を選択します。

  3. 前のステップで作成した Change Manager のロールの継承 (MyChangeManagerAssumeRole など) を検索し、その名前を選択します。

  4. ロールの継承の [Summary] (サマリー) ページで [Permissions] (アクセス許可) タブを選択します。

  5. [Add permissions, Create inline policy] (アクセス許可の追加、インラインポリシーの作成) を選択します。

  6. [ポリシーの作成] ページの [Visual editor] (ビジュアルエディタ) タブを選択します。

  7. [サービス]、[IAM] の順に選択します。

  8. [Filter actions (フィルタアクション)] テキストボックスに「PassRole」と入力し、[PassRole] オプションを選択します。

  9. [リソース] を展開します。[Specific] (固有) が選択されていることを確認し、[Add ARN] (ARN の追加) を選択します。

  10. [ロールの ARN を指定する] フィールドに、ロールの継承アクセス許可を渡す IAM インスタンスプロファイルロールまたは IAM サービスロールの ARN を入力します。システムによって、[アカウント] と [Role name with path (ロール名とパス)] フィールドが入力されます。

  11. [Add] (追加) をクリックします。

  12. [ポリシーの確認] を選択します。

  13. [Name] (名前) に、このポリシーを識別する名前を入力し、[Create policy] (ポリシーの作成) を選択します。

タスク 4: 他の AWS のサービスを呼び出すためにロールの継承をインラインポリシーに追加する

Change Manager のロールの継承を使用して変更リクエストが他の AWS のサービスを呼び出すとき、ロールの継承は、該当するサービスを呼び出すアクセス許可で設定されている必要があります。この要件は、変更リクエストで使用される AWS-ConfigureS3BucketLoggingAWS-CreateDynamoDBBackupAWS-RestartEC2Instance ランブックなど、すべての AWS オートメーションランブック (AWS-* runbooks) に適用されます。この要件は、他のサービスを呼び出すアクションを使用して他の AWS のサービスを呼び出すように作成したカスタムランブックにも適用されます。たとえば、aws:executeAwsApiaws:CreateStack、または aws:copyImage などのアクションを使用する場合は、それらのサービスを呼び出すためのアクセス許可を持つサービスロールを設定する必要があります。ロールに IAM インラインポリシーを追加することで、他の AWS のサービスへのアクセス許可を有効にできます。

インラインポリシーをロールの継承に追加して、他の AWS のサービス (IAM コンソール) を呼び出すには
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで Roles (ロール) を選択します。

  3. リストで、更新するロールの継承の名前 (MyChangeManagerAssumeRole など) を選択します。

  4. [アクセス許可] タブを選択します。

  5. [Add permissions, Create inline policy] (アクセス許可の追加、インラインポリシーの作成) を選択します。

  6. [JSON] タブを選択します。

  7. 呼び出す AWS のサービスの JSON ポリシードキュメントを入力します。JSON ポリシードキュメントの 2 つの例を以下に示します。

    Amazon S3 PutObject および GetObject の例

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

    Amazon EC2 CreateSnapshot および DescribeSnapShots の例

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"ec2:CreateSnapshot", "Resource":"*" }, { "Effect":"Allow", "Action":"ec2:DescribeSnapshots", "Resource":"*" } ] }

    IAM ポリシー言語の詳細については、IAM ユーザーガイドの「IAM JSON ポリシーリファレンス」を参照してください。

  8. 完了したら、[ポリシーの確認] を選択します。構文エラーがある場合は、Policy Validator (ポリシー検証) によってレポートされます。

  9. [Name] (名前) に、作成するポリシーを識別する名前を入力します。ポリシーの [Summary] (概要) を参照して、ポリシーによって付与された許可を確認します。次に [ポリシーの作成] を選択して作業を保存します。

  10. インラインポリシーを作成した後は、自動的にロールに埋め込まれます。

タスク 5: Change Manager へのユーザーアクセスを設定する

ユーザー、グループ、ロールに管理者権限が割り当てられている場合は、Change Manager にアクセスできます。管理者権限がない場合は、管理者が AmazonSSMFullAccess マネージドポリシー (または同等のアクセス許可を付与するポリシー) を ユーザー、グループ、ロールに割り当てる必要があります。

Change Manager を使用するようにユーザーを設定するには、次の手順を使用します。選択したユーザーには、Change Manager を設定して実行するアクセス許可が付与されます。

組織で使用している アイデンティティアプリケーションに応じて、ユーザーアクセスを設定するために使用できる 3 つのオプションのいずれかを選択できます。ユーザーアクセスを設定するときに、以下を割り当て、または追加します。

  1. Systems Manager へのアクセスを許可する AmazonSSMFullAccess ポリシーまたは同等のポリシーを割り当てます。

  2. iam:PassRole ポリシーを割り当てます。

  3. タスク 2: Change Manager のロールの継承を作成する の最後にコピーしたロールを継承する Change Manager の ARN を追加します。

アクセス権限を付与するには、ユーザー、グループ、またはロールにアクセス許可を追加します。

これで Change Manager に必要なロールの設定が完了しました。これで Change Manager オペレーションで Change Manager のロールの継承 ARN を使用できるようになりました。