メニュー
Amazon EC2 Systems Manager
ユーザーガイド

メンテナンスウィンドウへのアクセスの制御

次の方法のいずれかを使用して、セキュリティロールとアクセス権限を設定し、メンテナンスウィンドウへのアクセスを制御します。

AWS コンソールを使用してメンテナンスウィンドウへのアクセスを制御する

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

Systems Manager 用の IAM ロールを作成する

以下の手順を使用して、Systems Manager がお客様に代わってメンテナンスウィンドウのタスクを実行できるためのロールを作成します。

メンテナンスウィンドウの IAM ロールを作成するには

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

  2. ナビゲーションペインで [Roles] を選択し、続いて [Create New Role] を選択します。

  3. [Step 1: Select Role Type] で、[Amazon EC2] を選択します。これは管理ポリシーであるため、システムは [Step 2: Establish Trust] をスキップします。

  4. [ステップ 3: ポリシーのアタッチ] で、[AmazonSSMMaintenanceWindowRole] を選択し、続いて [Next Step] を選択します。

  5. [Step 4: Set role name and review] で、このロールをメンテナンスウィンドウロールとして識別する名前を入力します。

  6. [Create Role] を選択します。システムでは、[Roles] ページが返されます。

  7. 作成したロールを見つけ、ダブルクリックします。

  8. [Trust Relationships] タブを選択し、[Edit Trust Relationship] を選択します。

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

    Copy
    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":[ "ec2.amazonaws.com", "ssm.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }
  10. [Update Trust Policy] を選択します。

  11. ロール名と [Role ARN] をコピーするか書き留めます。この情報は、メンテナンスウィンドウを作成するときに指定します。

IAM ユーザーアカウントに IAM PassRole ポリシーを割り当てる

メンテナンスウィンドウにタスクを登録する場合、前の手順で作成したロールを指定します。このロールによってサービスがお客様に代わってタスクを実行します。タスクを登録するには、IAM PassRole ポリシーを IAM ユーザーアカウントに割り当てる必要があります。次の手順のポリシーで、メンテナンスウィンドウに登録したタスクに必要となる最低限のアクセス権限を設定します。

IAM ユーザーアカウントに IAM PassRole ポリシーを割り当てる方法

  1. IAM コンソールのナビゲーションペインで、[Users] を選択し、更新するユーザーアカウントを選択します。

  2. ポリシーのリストで AmazonSSMFullAccess ポリシーが表示されるか、または Systems Manager API に対するアクセス権限を IAM ユーザーに与える互換性のポリシーがあるかどうかを確認します。

  3. [Add inline policy] を選択します。

  4. [Set Permissions] ページで、[Custom Generator] を選択し、次に [Select] をクリックします。

  5. [Effect] が [Allow] に設定されていることを確認します。

  6. [AWS サービス] から [AWS Identity and Access Management] を選択します。

  7. [Actions] で、[PassRole] を選択します。

  8. [Amazon Resource Name (ARN)] フィールドに、前の手順で作成したロール ARN を貼り付けます。

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

  10. [Review Policy] ページで、[Apply Policy] を選択します。

AWS CLI を使用してメンテナンスウィンドウへのアクセスを制御する

次の手順で、AWS CLI を使用したメンテナンスウィンドウに IAM ロールを作成します。

メンテナンスウィンドウの IAM ロールを作成するには

  1. 次のトラストポリシーをテキストファイルに貼り付けます。ファイルを次の名前と拡張子で保存します。mw-role-trust-policy.json

    Copy
    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "ssm.amazonaws.com", "ec2.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }
  2. AWS CLI を開いて次のコマンドを実行し、mw-task-role という名前のメンテナンスウィンドウロールを作成します。このコマンドでは、前の手順で作成したポリシーをこのロールに割り当てます。

    Copy
    aws iam create-role --role-name mw-task-role --assume-role-policy-document file://mw-role-trust-policy.json

    以下のような情報が返されます。

    {
       "Role":{
          "AssumeRolePolicyDocument":{
             "Version":"2012-10-17",
             "Statement":[
                {
                   "Action":"sts:AssumeRole",
                   "Effect":"Allow",
                   "Principal":{
                      "Service":[
                         "ssm.amazonaws.com",
                         "ec2.amazonaws.com"
                      ]
                   }
                }
             ]
          },
          "RoleId":"AROAIIZKPBKS2LEXAMPLE",
          "CreateDate":"2017-04-04T03:40:17.373Z",
          "RoleName":"mw-task-role",
          "Path":"/",
          "Arn":"arn:aws:iam::123456789012:role/mw-task-role"
       }
    }

    注記

    RoleNameArn を書きとめておきます。これをメンテナンスウィンドウを作成するときに指定します。

  3. 次のコマンドを実行して、AmazonSSMMaintenanceWindowRole 管理ポリシーを手順 2 で作成したロールにアタッチします。

    Copy
    aws iam attach-role-policy --role-name mw-task-role --policy-arn arn:aws:iam::aws:policy/service-role/AmazonSSMMaintenanceWindowRole

AWS CLI を使用して IAM PassRole ポリシーを IAM ユーザーアカウントに割り当てる

メンテナンスウィンドウにタスクを登録する場合、前の手順で作成したロールを指定します。このロールによってサービスがお客様に代わってタスクを実行します。タスクを登録するには、IAM PassRole ポリシーを IAM ユーザーアカウントに割り当てる必要があります。次の手順のポリシーで、メンテナンスウィンドウに登録したタスクに必要となる最低限のアクセス権限を設定します。

IAM ユーザーアカウントに IAM PassRole ポリシーを割り当てる方法

  1. 次の IAM ポリシーをコピーしてテキストエディタに貼り付け、.json というファイル拡張子で保存します。

    Copy
    { "Version":"2012-10-17", "Statement":[ { "Sid":"Stmt1491345526000", "Effect":"Allow", "Action":[ "iam:GetRole", "iam:PassRole", "ssm:RegisterTaskWithMaintenanceWindow" ], "Resource":[ "*" ] } ] }
  2. AWS CLI を開きます。

  3. 次のコマンドを実行します。user-name では、メンテナンスウィンドウにタスクを割り当てる IAM ユーザーを指定します。policy-document では、ステップ 1 で保存したファイルのパスを指定します。

    Copy
    aws iam put-user-policy --user-name name of user --policy-name a name for the policy --policy-document path to document, for example: file://C:\Temp\passrole.json

    注記

    Amazon EC2 コンソールを使ってのメンテナンスウィンドウのタスクを登録する場合、ユーザーアカウントに AmazonSSMReadOnlyAccess ポリシーを割り当てる必要があります。次のコマンドを実行して、アカウントにこのポリシーを割り当てます。

    Copy
    aws iam attach-user-policy --policy-arn arn:aws:iam::aws:policy/AmazonSSMReadOnlyAccess --user-name IAM account name
  4. このポリシーがユーザーに割り当てられたことを確認するには、次のコマンドを実行します。

    Copy
    aws iam list-user-policies --user-name name of user

Tools for Windows PowerShell を使用してメンテナンスウィンドウへのアクセスを制御する

次の手順で、Tools for Windows PowerShell を使用したメンテナンスウィンドウに IAM ロールを作成します。

メンテナンスウィンドウの IAM ロールを作成するには

  1. 次のトラストポリシーをテキストファイルに貼り付けます。ファイルを次の名前と拡張子で保存します。mw-role-trust-policy.json

    Copy
    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "ssm.amazonaws.com", "ec2.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }
  2. Tools for Windows PowerShell を開き、次のコマンドを実行して mw-task-role という名前のロールを作成します。このロールは、前のステップで作成したポリシーを使用します。

    Copy
    New-IAMRole -RoleName "mw-task-role" -AssumeRolePolicyDocument (Get-Content -raw .\mw-role-trust-policy.json)

    以下のような情報が返されます。

    Arn : arn:aws:iam::123456789012:role/mw-task-role
    AssumeRolePolicyDocument : ExampleDoc12345678
    CreateDate : 4/4/2017 11:24:43
    Path : /
    RoleId : AROAIIZKPBKS2LEXAMPLE
    RoleName : mw-task-role
  3. 次のコマンドを実行して、前のステップで作成したロールに AmazonSSMMaintenanceWindowRole 管理ポリシーをアタッチします。

    Copy
    Register-IAMRolePolicy -RoleName mw-task-role -PolicyArn arn:aws:iam::aws:policy/service-role/AmazonSSMMaintenanceWindowRole

Tools for Windows PowerShell を使用して IAM PassRole ポリシーを IAM ユーザーアカウントに割り当てる

メンテナンスウィンドウにタスクを登録する場合、前の手順で作成したロールを指定します。このロールによってサービスがお客様に代わってタスクを実行します。タスクを登録するには、IAM PassRole ポリシーを IAM ユーザーアカウントに割り当てる必要があります。次の手順のポリシーで、メンテナンスウィンドウに登録したタスクに必要となる最低限のアクセス権限を設定します。

IAM ユーザーアカウントに IAM PassRole ポリシーを割り当てる方法

  1. 次の IAM ポリシーをコピーしてテキストエディタに貼り付け、.json というファイル拡張子で保存します。

    Copy
    { "Version":"2012-10-17", "Statement":[ { "Sid":"Stmt1491345526000", "Effect":"Allow", "Action":[ "iam:GetRole", "iam:PassRole", "ssm:RegisterTaskWithMaintenanceWindow" ], "Resource":[ "*" ] } ] }
  2. Tools for Windows PowerShell を開きます。

  3. 次のコマンドを実行します。user-name では、メンテナンスウィンドウにタスクを割り当てる IAM ユーザーを指定します。policy-document では、ステップ 1 で保存したファイルのパスを指定します。

    Copy
    Write-IAMUserPolicy -UserName name of IAM user -PolicyDocument (Get-Content -raw path to document, for example: C:\temp\passrole-policy.json) -PolicyName a name for the policy

    注記

    Amazon EC2 コンソールを使ってのメンテナンスウィンドウのタスクを登録する場合、ユーザーアカウントに AmazonSSMReadOnlyAccess ポリシーを割り当てる必要があります。次のコマンドを実行して、アカウントにこのポリシーを割り当てます。

    Copy
    Register-IAMUserPolicy -UserName IAM account name -PolicyArn arn:aws:iam::aws:policy/AmazonSSMReadOnlyAccess
  4. このポリシーがユーザーに割り当てられたことを確認するには、次のコマンドを実行します。

    Copy
    Get-IAMUserPolicies -UserName name of user