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. ナビゲーションペインで [Roles] (ロール) を選択してから、[Create role] (ロールを作成する) を選択します。

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

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

    2. [Use cases for other AWS のサービス] (その他の 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] (ロールの作成) を選択します。[Roles] (ロール) ページが再度表示されます。

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

  13. [Roles] ページで作成したロールを選択して、[Summary] ページを開きます。

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

iam:PassRole ポリシーを IAM インスタンスプロファイルまたは IAM サービスロールにアタッチするには、次の手順を使用します。(Systems Manager サービスは、IAM インスタンスプロファイルを使用して EC2 インスタンスと通信します。 オンプレミスインスタンスまたは仮想マシン (VM)、あるいはハイブリッドインスタンスの場合、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. [Permissions] (許可) タブを選択します。

  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:::DOC-EXAMPLE-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 へのユーザーアクセスを設定する

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

Change Manager を使用するようにユーザーアカウントを設定するには、以下の手順を使用します。選択したユーザーアカウントには、Change Manager を設定して実行するアクセス許可が付与されます。新規ユーザーアカウントの作成が必要な場合は、IAM ユーザーガイドの「AWS アカウント アカウント内での IAM ユーザーの作成」を参照してください。

ユーザーアクセスを設定し、iam:PassRole ポリシーをユーザーアカウントにアタッチするには

  1. IAM のナビゲーションペインで、[ユーザー] を選択し、設定するユーザーアカウントを選択します。

  2. [Permissions] (アクセス許可) タブのポリシーリストで、AmazonSSMFullAccess ポリシー、または Systems Manager にアクセスするアカウントアクセス許可を提供する同等のポリシーのいずれかがリストされていることを確認します。

  3. [Add inline policy] (インラインポリシーの追加) を選択します。

  4. [Create policy] (ポリシーの作成) ページの [Visual editor] (ビジュアルエディタ) タブで、[Choose a service] (サービスの選択) を選択します。

  5. [AWS Services] (AWS のサービス) で、[IAM] を選択します。

  6. [Actions] (アクション) で、[Filter actions] (フィルターアクション) プロンプトに PassRole と入力し、[PassRole] を選択します。

  7. [Resources] (リソース) セクションを展開し、[Add ARN] (ARN の追加) を選択して、タスク 2: Change Manager のロールの継承を作成する の最後でコピーした Change Manager の継承ロールの ARN を貼り付け、[Add] (追加) をクリックします。

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

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

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