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

カスタムロールおよびポリシー使用したアクセス設定

Systems Manager 管理ポリシーを使用しない場合は、次の手順を使用して Systems Manager 用のカスタムインスタンスロールおよびユーザーアカウントを作成して設定します。

重要

既存の インスタンスロールおよびユーザーアカウントを使用する場合、このセクションに記載されているポリシーを、ロールおよびユーザーアカウントにアタッチする必要があります。また、.amazonaws.com が EC2 インスタンスロールの信頼ポリシーに含まれていることを確認する必要があります。詳細については、「タスク 4: 信頼ポリシーを確認する」を参照してください。

タスク 1: Systems Manager マネージドインスタンス用のカスタム IAM ポリシーを作成する

次に示している IAM ポリシーでは、マネージドインスタンスが Systems Manager API とやり取りできるようになります。ロールを作成し、このトピックで次のポリシーをそのロールにアタッチします。

Systems Manager マネージドインスタンスの IAM ポリシーを作成するには

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

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

  3. フィルタフィールドに、AmazonEC2RoleforSSM と入力します。

  4. AmazonEC2RoleforSSM ポリシーを選択します。システムにポリシーの [Policy Document] が表示されます。

  5. ポリシードキュメントのコンテンツをコピーします。

    注記

    ポリシードキュメントは管理ポリシーであるため、IAM コンソールでポリシードキュメントの内容を変更することはできませんが、コピーすることはできます。

  6. ナビゲーションペインで、[Policies] を選択します。

  7. [Create Policy] を選択します。

  8. [Create Your Own Policy] の横の [Select] を選択します。

  9. ポリシー名 (SystemsManagerInstance など) および説明を入力し、先にコピーしたポリシーを [Policy Document] フィールドに貼り付けます.

  10. 必要に応じてポリシーを変更します。

    重要

    この IAM ポリシーの最後のセクションでは、Amazon リソースネーム (ARN) を指定して Amazon S3 バケットへのアクセスを制限できます。たとえば、最後の "Resource": "*" 項目を "Resource": "arn:aws:s3:::AnS3Bucket/* に変更できます。

  11. [Validate Policy] を選択します。ポリシーが有効であることを検証します。エラーが発生した場合は、始めかっこと終わりかっこ { } が含まれていることを確認してください。ポリシーを検証した後で、[Create Policy] を選択します。

タスク 2: カスタム IAM ユーザーポリシーを作成する

IAM ユーザーポリシーにより、[Document] リストでユーザーが表示できる Systems Manager ドキュメントが決まります。ユーザーは、Amazon EC2 コンソールで、または Windows PowerShell 用の AWS CLI または AWS ツールを使用して ListDocuments を呼び出して、このリストを表示できます。このポリシーでは、Systems Manager ドキュメントに対してユーザーが実行できるアクションも制限されます。

注記

ユーザーアカウントを作成し、後でそのアカウントにポリシーをアタッチします。

次の手順の IAM ポリシーでは、ユーザーはインスタンスで任意の Systems Manager アクションを実行できます。、信頼されている管理者のみに、このポリシーを割り当てます。他のすべてのユーザーの場合は、制限付き IAM ポリシーをこのセクションで説明されているとおりに作成するか、AmazonSSMReadOnlyAccess ポリシーを使用します。

Systems Manager 用の IAM ユーザーポリシーを作成するには

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

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

  3. フィルタフィールドに、AmazonSSMFullAccess と入力します。

  4. AmazonSSMFullAccess ポリシーを選択します。システムにポリシーの [Policy Document] が表示されます。

  5. ポリシードキュメントのコンテンツをコピーします。

    注記

    ポリシードキュメントは管理ポリシーであるため、IAM コンソールでポリシードキュメントの内容を変更することはできませんが、コピーすることはできます。

  6. ナビゲーションペインで、[Policies] を選択します。

  7. [Create Policy] を選択します。

  8. [Create Your Own Policy] の横の [Select] を選択します。

  9. ポリシー名 (SystemsManagerUserFull など) および説明を入力し、先にコピーしたポリシーを [Policy Document] フィールドに貼り付けます。

  10. 必要に応じてポリシーを変更します。

  11. [Validate Policy] を選択します。ポリシーが有効であることを検証します。エラーが発生した場合は、始めかっこと終わりかっこ { } が含まれていることを確認してください。ポリシーを検証した後で、[Create Policy] を選択します。

制限付き IAM ユーザーポリシーの作成

制限付き IAM ユーザーポリシーを作成し、さらに Systems Manager へのアクセスを委任します。次の IAM ポリシーの例では、ユーザーに次の操作を許可します。

  • リスト Systems Manager ドキュメントとドキュメントバージョン。

  • ドキュメントに関する詳細の表示。

  • ポリシーに指定されたドキュメントを使用してコマンドを送信します。

    ドキュメント名はこのエントリによって決定します。

    arn:aws:ssm:us-east-1:*:document/name_of_restrictive_document
  • コマンドを 3 つのインスタンスに送信します。

    インスタンスは、2 番目の Resource セクションの次のエントリによって決定されます。

    "arn:aws:ec2:us-east-1:*:instance/i-1234567890abcdef0",
    "arn:aws:ec2:us-east-1:*:instance/i-0598c7d356eba48d7",
    "arn:aws:ec2:us-east-1:*:instance/i-345678abcdef12345",
  • 送信後のコマンドの詳細を表示。

  • 自動による実行を開始および停止します。

  • 自動による実行に関する情報を取得します。

ユーザーが現在アクセスしている (AWS ユーザーアカウントによって決定される) すべてのインスタンスにコマンドを送信するためにこのドキュメントを利用できるユーザー権限を追加するには、Resource セクションで次のエントリを指定し、そのほかのインスタンスエントリを削除します。

"arn:aws:ec2:us-east-1:*:instance/*"

Resource セクションには、Amazon S3 ARN エントリが含まれていることに注意してください。

arn:aws:s3:::bucket_name

次のようにこのエントリをフォーマットすることもできます。

arn:aws:s3:::bucket_name/*

-or-

arn:aws:s3:::bucket_name/key_prefix_name
Copy
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "ssm:ListDocuments", "ssm:ListDocumentsVersions", "ssm:DescribeDocument", "ssm:GetDocument", "ssm:DescribeInstanceInformation", "ssm:DescribeDocumentParameters", "ssm:DescribeInstanceProperties" ], "Effect":"Allow", "Resource":"*" }, { "Action":"ssm:SendCommand", "Effect":"Allow", "Resource": [ "arn:aws:ec2:us-east-1:*:instance/i-1234567890abcdef0", "arn:aws:ec2:us-east-1:*:instance/i-0598c7d356eba48d7", "arn:aws:ec2:us-east-1:*:instance/i-345678abcdef12345", "arn:aws:s3:::bucket_name", "arn:aws:ssm:us-east-1:*:document/name_of_restrictive_document" ] }, { "Action":[ "ssm:CancelCommand", "ssm:ListCommands", "ssm:ListCommandInvocations" ], "Effect":"Allow", "Resource":"*" }, { "Action":"ec2:DescribeInstanceStatus", "Effect":"Allow", "Resource":"*" }, { "Action":"ssm:StartAutomationExecution", "Effect":"Allow", "Resource":[ "arn:aws:ssm:::automation-definition/" ] }, { "Action":"ssm:DescribeAutomationExecutions ", "Effect":"Allow", "Resource":[ "*" ] }, { "Action":[ "ssm:StopAutomationExecution", "ssm:GetAutomationExecution" ], "Effect":"Allow", "Resource":[ "arn:aws:ssm:::automation-execution/" ] } ] }

IAM ユーザーポリシーの作成については、「管理ポリシーとインラインポリシー」を参照してください。

タスク 3: Systems Manager マネージドインスタンス用のロールを作成する

インスタンスロールでは、インスタンスが Systems Manager API とやり取りできるようになります。ロールでは、前に作成した インスタンスポリシーを使用します。

Systems Manager マネージドインスタンス用のロールを作成するには

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

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

  3. [Select role type] ページで、[AWS Service Role] の下にある [Amazon EC2] セクションの [Select] を選択します。

  4. [Attach Policy] ページで、フィルタボックスを使用して、前の手順で作成したポリシーを検索します。ポリシーを選択し、[Next Step] を選択します。

  5. [Set role name and review] ページの [Role name] ボックスに名前を入力し、続いて説明を入力します。

    注記

    ロール名を書き留めます。このロール名は、Systems Manager を使用して管理するインスタンスを新しく作成する際に指定します。

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

タスク 4: 信頼ポリシーを確認する

以下の手順を使用して、インスタンスプロファイルのロールの IAM ポリシーに信頼されたエンティティとして ssm.amazonaws.com が含まれていることを確認します。

信頼ポリシーを確認するには

  1. IAM コンソールのナビゲーションペインで、[Roles] を選択し、作成したサーバーロールを選択します。

  2. [Trust Relationships] を選択します。

  3. [Trusted Entities] の [Edit Trust Relationship] を選択します。

  4. 以下のポリシーをコピーして [Policy Document] フィールドに貼り付け、ポリシーを作成します。

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

タスク 5: ユーザーアカウントを作成する

ユーザーアカウントを使用すると、ユーザーはインスタンスで Systems Manager API を呼び出すことができます。このアカウントでは、前に作成した IAM ユーザーポリシーを使用します。

Systems Manager 用のユーザーアカウントを作成するには

  1. IAM コンソールの [Users] ページで、[Add User] を選択します。

  2. [Set user details] セクションで、ユーザー名 (SystemsManagerUserFullAccess など) を指定します。

  3. [Select AWS access type] セクションで、1 つまたは両方のアクセスオプションを選択します。[AWS Management Console access] を選択する場合、パスワードオプションも選択する必要があります。

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

  5. [Set permissions for] セクションで、[Attach existing policies directly] を選択します。

  6. フィルタフィールドに、先に作成したユーザーポリシーの名前を入力します。

  7. ポリシーの横のチェックボックスをオンにし、[Next:Review] を選択します。

  8. 詳細を確認し、[Create] を選択します。

作成したカスタムインスタンスロールを使用する Amazon EC2 インスタンスを作成します。詳細については、「タスク 3: Systems Manager ロールを使用する Amazon EC2 インスタンスを作成する」を参照してください。