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. [このロールを使用するサービスを選択] エリア: [EC2]

    3. [ユースケースの選択] エリア: [EC2]

  4. [Next: Permissions] を選択します。

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

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

  7. オプション: デフォルトのロールの説明を変更して、このロールの目的を反映させます。たとえば、「ユーザーに代わってメンテナンスウィンドウのタスクを実行する」などと入力します。

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

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

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

  11. 現在のポリシーを削除し、以下のポリシーをコピーして [Policy Document] フィールドに張り付けます。

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":[ "ssm.amazonaws.com", "ec2.amazonaws.com", "sns.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }

    注記

    "sns.amazonaws.com" が必要になるのは、 Run Command で実行されるメンテナンスウィンドウタスクに関する通知を Amazon SNS で送信する予定がある場合のみです。詳細については、以下のステップ 13 を参照してください。

  12. [Update Trust Policy] を選択し、[Summary] ページのロール名と [Role ARN] の値をコピーまたはメモします。この情報は、メンテナンスウィンドウを作成するときに指定します。

  13. 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 通知の送信に必要な既存の IAM ロールの ARN を arn:aws:iam::account-id:role/role-name. という形式で示します (例: arn:aws:iam::111222333444:role/my-sns-access-role)。SNS 通知の送信に使用する IAM ロールの作成に関する情報など、Systems Manager の Amazon SNS 通知設定の詳細については、「AWS Systems Manager の Amazon SNS 通知の設定」を参照してください。

      注記

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

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

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

  14. [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] を選択します。

  5. [ポリシーの作成] ページの [Visual edtior (ビジュアルエディタ)] タブで、[サービスの選択] エリアの [IAM] を選択します。

  6. [アクション] エリアで、[PassRole] を選択します。

    ヒント

    [PassRole] をすばやく検索するには、フィルタボックスに passr と入力します。

  7. [リソース] 行を選択し、[Add ARN] (ARN の追加) を選択します。

  8. [Specify ARN for role (ロールの ARN の指定)] で、前の手順で作成したロール ARN を貼り付け、[変更の保存] を選択します。

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

  10. [ポリシーの確認] ページで、この PassRole ポリシーを識別するための名前を [名前] ボックスに入力し、[ポリシーの作成] を選択します。

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

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

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

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

  4. [インラインポリシー] エリアで、以下のいずれかの操作を行います。

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

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

  5. [ポリシージェネレーター]、[選択] の順に選択します。

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

    1. [効果]: [許可]

    2. [AWS のサービス]: [Identity and Access Management]

    3. [アクション]: [PassRole]

    4. Amazon リソースネーム (ARN):「タスク 1: (オプション) メンテナンスウィンドウ 用にカスタムサービスロールを作成する (コンソール)」で作成したメンテナンスウィンドウロールの ARN を入力します。

  7. [Add Statement]、[Next Step] の順に選択します。

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