メンテナンスウィンドウへのアクセスの制御 (コンソール) - AWS Systems Manager

メンテナンスウィンドウへのアクセスの制御 (コンソール)

以下の手順では、AWS Systems Manager コンソールを使用して、メンテナンスウィンドウに必要なロールとアクセス許可を作成する方法を説明します。

タスク 1: (オプション) メンテナンスウィンドウのカスタムサービスロールを作成する (コンソール)

以下の手順を使用して、Systems Manager がユーザーに代わってタスクを実行するための メンテナンスウィンドウ 機能のカスタムサービスロールを作成します。

重要

A custom service role is not required if you choose to use a Systems Manager service-linked role to let maintenance windows run tasks on your behalf instead. If you do not have a Systems Manager service-linked role in your account, you can create it when you create or update a maintenance window task using the Systems Manager console. For more information, see the following topics:

カスタムサービスロールを作成するには (コンソール)

  1. Open the IAM console at https://console.aws.amazon.com/iam/.

  2. ナビゲーションペインで [ロール]、[ロールの作成] の順に選択します。

  3. 以下の選択を行います。

    1. [Select type of trusted entity (信頼されたエンティティのタイプを選択)] エリア: [AWS のサービス]

    2. [このロールを使用するサービスを選択] エリア: [Systems Manager]

  4. [Next: Permissions (次へ: アクセス許可)] を選択します。

  5. ポリシーのリストで、[AmazonSSMMaintenanceWindowRole] の横にあるボックスを選択し、[次へ: タグ] を選択します。

  6. (オプション) 1 つ以上のタグ/値ペアを追加して、このロールのアクセスを整理、追跡、または制御し、[次へ: 確認] を選択します。

  7. [ロール名] に、このロールを メンテナンスウィンドウ ロールとして識別する名前を入力します (「my-maintenance-window-role」など)。

  8. (オプション) デフォルトのロールの説明を変更して、このロールの目的を反映させます。例: Performs maintenance window tasks on your behalf

  9. [Create role (ロールの作成)] を選択します。システムでは、[Roles] ページが返されます。

  10. 作成したロールの名前を選択します。

  11. [Trust relationships] タブを選択し、続いて [Edit trust relationship] を選択します。

  12. [ポリシードキュメント] フィールドに次のポリシーが表示されていることを確認します。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  13. [Update Trust Policy] を選択し、[Summary] ページのロール名と [Role ARN] の値をコピーまたはメモします。この情報は、メンテナンスウィンドウを作成するときに指定します。

  14. (オプション) Amazon SNS を使用してコマンドのステータスに関する通知を送信するようにメンテナンスウィンドウを設定する場合は、Run Command コマンドタスクで実行する際に、以下の操作を行います。

    1. [Permissions] タブを選択します。

    2. [Add inline policy] を選択し、次に [JSON] タブを選択します

    3. [Policy Document] に、次の内容を貼り付けます。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "sns-access-role-arn" } ] }

      sns-access-role-arn を、メンテナンスウィンドウに関する Amazon Simple Notification Service (Amazon SNS) 通知の送信に使用する既存の IAM ロールの ARN (形式: arn:aws:iam::account-id:role/role-name.) に置き換えます (例: arn:aws:iam::123456789012:role/my-sns-access-role)。SNS 通知の送信に使用する IAM ロールの作成に関する情報など、Systems Manager の Amazon SNS 通知設定の詳細については、「Amazon SNS 通知を使用した Systems Manager ステータス変更のモニタリング」を参照してください。

      注記

      この ARN は、Systems Manager コンソールで [Register run command task (run command タスクの登録)] ページの [IAM ロール] リストから選択します。詳細については、メンテナンスウィンドウにタスクを割り当てる (コンソール) を参照してください。Systems Manager API で、この ARN を SendCommand リクエストの ServiceRoleArn の値として入力します。

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

    5. [名前] に、Amazon SNS 通知の送信を許可するポリシーとして、これを識別する名前を入力します。

  15. [Create policy] を選択します。

タスク 2: IAM ユーザーまたはグループに IAM PassRole ポリシーを割り当てる (コンソール)

When you register a task with a maintenance window, you specify either a custom service role or a Systems Manager service-linked role to run the actual task operations. This is the role that the service assumes when it runs tasks on your behalf. Before that, to register the task itself, you must assign the IAM PassRole policy to an IAM user account or an IAM group. This allows the IAM user or IAM group to specify, as part of registering those tasks with the maintenance window, the role that should be used when running tasks. For information, see Granting a User Permissions to Pass a Role to an AWS Service in the IAM User Guide.

iam:Passrole アクセス許可を個別のユーザーまたはグループに割り当てるかどうかに応じて、以下のいずれかの手順を使用して、メンテナンスウィンドウによるタスクの登録に最低限必要なアクセス許可を付与します。

IAM ユーザーアカウントに IAM PassRole ポリシーを割り当てるには (コンソール)

  1. Open the IAM console at https://console.aws.amazon.com/iam/.

  2. [ユーザー] を選択し、更新するユーザーアカウントの名前を選択します。

  3. [アクセス権限] タブのポリシーリストで、AmazonSSMFullAccess ポリシーが表示されていること、または Systems Manager API を呼び出す権限を IAM ユーザーに付与する同等のポリシーがあることを確認します。アクセス許可を追加します (まだ含まれていない場合)。詳細については、IAM User Guide の「IAM ポリシー (コンソール) の追加と削除」を参照してください。

  4. [Add inline policy] を選択し、次に [JSON] タブを選択します

  5. [Policy Document] に、次の内容を貼り付けます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "custom-role-arn" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/" } ] }

    custom-role-arn を、arn:aws:iam::123456789012:role/my-maintenance-window-role など前に作成したカスタムメンテナンスウィンドウロールの ARN に置き換えます。

    2 つの iam:ListRoles アクセス許可の account-id を AWS アカウントの ID に置き換えます。リソース arn:aws:iam::account-id:role/ に対してこのアクセス許可を追加すると、ユーザーはメンテナンスウィンドウタスクを作成するときに、コンソールでカスタマーロールを表示および選択できます。arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/ に対してこのアクセス許可を追加すると、ユーザーはメンテナンスウィンドウタスクを作成するときに、コンソールで Systems Manager サービスにリンクされたロールを選択できます。

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

  7. [ポリシーの確認] ページで、この PassRole ポリシーを識別するための名前を [名前] ボックスに入力し (my-iam-passrole-policy など)、[ポリシーの作成] を選択します。

IAM グループに IAM PassRole ポリシーを割り当てるには (コンソール)

  1. Open the IAM console at https://console.aws.amazon.com/iam/.

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

  3. グループのリストで、iam:PassRole アクセス許可を割り当てる先のグループの名前を選択します。

  4. [アクセス許可] タブの [インラインポリシー] セクションで、次のいずれかの操作を行います。

    • 追加済みのインラインポリシーがない場合は、[ここをクリックしてください] を選択します。

    • 1 つ以上のインラインポリシーが追加済みである場合は、[グループポリシーの作成] を選択します。

  5. [カスタムポリシー] を選択し、[選択] を選択します。

  6. [ポリシー名] に、グループのメンテナンスウィンドウの PassRole ポリシーとして識別する名前を入力します (my-group-iam-passrole-policy など)。

  7. [Policy Document] に、次の内容を貼り付けます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "custom-role-arn" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/" }, { "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/" } ] }

    custom-role-arn を、arn:aws:iam::123456789012:role/my-maintenance-window-role など前に作成したカスタムメンテナンスウィンドウロールの ARN に置き換えます。

    2 つの iam:ListRoles アクセス許可の account-id を AWS アカウントの ID に置き換えます。リソース arn:aws:iam::account-id:role/ に対してこのアクセス許可を追加すると、グループ内のユーザーは、メンテナンスウィンドウタスクを作成するときに、コンソールでカスタマーロールを表示および選択できます。arn:aws:iam::account-id:role/aws-service-role/ssm.amazonaws.com/ に対してこのアクセス許可を追加すると、グループ内のユーザーは、メンテナンスウィンドウタスクを作成するときに、コンソールで Systems Manager サービスにリンクされたロールを選択できます。

  8. [Apply Policy (ポリシーの適用)] を選択します。