ステップ 2: ハイブリッド環境に IAM サービスロールを作成する - AWS Systems Manager

ステップ 2: ハイブリッド環境に IAM サービスロールを作成する

ハイブリッド環境のサーバーおよび仮想マシン (VM) が AWS Systems Manager サービスと通信するには、AWS Identity and Access Management (IAM) ロールが必要です。ロールは、Systems Manager サービスに AWS Security Token Service (AWS STS) AssumeRole の信頼を付与します。 ごとにハイブリッド環境のサービスロールを作成する必要がありますAWS アカウント

注記

ハイブリッドマシンで Systems Manager を使用する会社または組織のユーザーには、Systems Manager API を呼び出すための IAM のアクセス許可を付与する必要があります。詳細については、「Systems Manager の管理者以外の IAM ユーザーとグループを作成する」を参照してください。

S3 バケットのポリシーの要件

次のいずれかのケースに当てはまる場合は、この手順を実行する前に Amazon Simple Storage Service (Amazon S3) バケット用のカスタム IAM アクセス許可ポリシーを作成する必要があります。

  • ケース 1: VPC エンドポイントを使用して、サポートされている AWS のサービス、および AWS PrivateLink を搭載した VPC エンドポイントサービスに VPC をプライベート接続しています。

  • ケース 2: Run Command コマンドや Session Manager セッションの出力を Amazon S3 バケットに保存するなど、Systems Manager オペレーションの一環として作成する Amazon S3 バケットを使用します。先に進む前に、「インスタンスプロファイル用のカスタム S3 バケットポリシーを作成する」の手順に従います。そのトピックの S3 バケットポリシーに関する情報は、サービスロールにも適用されます。

    注記

    オンプレミスのファイアウォールを使用していてPatch Managerを使用する場合は、そのファイアウォールでパッチベースラインのエンドポイントの arn:aws:s3:::patch-baseline-snapshot-region/* へのアクセスを許可する必要もあります。

    リージョンは、米国東部 (オハイオ) リージョンの us-east-2 のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている region 値の一覧については、アマゾン ウェブ サービスの全般リファレンスの「Systems Manager サービスエンドポイント」にある Region 列を参照してください。

AWS CLI

ハイブリッド環境に IAM サービスロールを作成するには (AWS CLI)

  1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

    詳細については、「AWS コマンドラインツールのインストールまたはアップグレード」を参照してください。

  2. ローカルマシンで以下の信頼ポリシーを使用して、SSMService-Trust.json のような名前でテキストファイルを作成します。ファイル保存時に、必ずファイル拡張子 (.json) を付けます。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  3. AWS CLI を開き、JSON ファイルを作成したディレクトリで create-role コマンドを実行してサービスロールを作成します。この例では、SSMServiceRole という名前のロールが作成されます。別の名前を選択することもできます。

    Linux & macOSWindows
    Linux & macOS
    aws iam create-role \ --role-name SSMServiceRole \ --assume-role-policy-document file://SSMService-Trust.json
    Windows
    aws iam create-role ^ --role-name SSMServiceRole ^ --assume-role-policy-document file://SSMService-Trust.json
  4. 以下のように attach-role-policy を実行して、先ほど作成したサービスロールでセッショントークンを作成できるようにします。セッショントークンは、Systems Manager を使用してコマンドを実行するためのアクセス許可をマネージドインスタンスに付与します。

    注記

    ハイブリッド環境のマネージドインスタンスのサービスプロファイルに追加するポリシーは、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのインスタンスプロファイルの作成に使用されるものと同じポリシーです。以下のコマンドで使用する AWS ポリシーの詳細については、「Systems Manager の IAM インスタンスプロファイルを作成する」を参照してください。

    (必須) 次のコマンドを使用して、マネージドインスタンスで AWS Systems Manager サービスの主要機能を使用できるようにします。

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    サービスロールのカスタム S3 バケットポリシーを作成した場合は、次のコマンドを実行して、ポリシーで指定したバケットに AWS Systems Manager Agent (SSM Agent) がアクセスできるようにします。account-id および my-bucket-policy-name を AWS アカウント ID およびバケット名に置き換えます。

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::account-id:policy/my-bucket-policy-name
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::account-id:policy/my-bucket-policy-name

    (オプション) 次のコマンドを実行して、マネージドインスタンスによるドメインへの結合リクエストに対して、代わりに SSM Agent が AWS Directory Service にアクセスできるようにします。インスタンスを Microsoft AD ディレクトリに結合する場合にのみ、インスタンスプロファイルにこのポリシーが必要です。

    Linux & macOSWindows
    Linux & macOS
    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess
    Windows
    aws iam attach-role-policy ^ --role-name SSMServiceRole ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (オプション) 次のコマンドを実行して、CloudWatch エージェントがマネージドインスタンスで実行できるようにします。このコマンドでは、インスタンスの情報を読み込み、CloudWatch に書き込むことができます。サービスプロファイルには、Amazon EventBridge や Amazon CloudWatch Logs などのサービスを利用する場合にのみ、このポリシーが必要です。

    aws iam attach-role-policy \ --role-name SSMServiceRole \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
Tools for PowerShell

ハイブリッド環境に IAM サービスロールを作成するには (AWS Tools for Windows PowerShell)

  1. まだ AWS Tools for PowerShell をインストールして設定していない場合は、インストールして設定します。

    詳細については、「AWS コマンドラインツールのインストールまたはアップグレード」を参照してください。

  2. ローカルマシンで以下の信頼ポリシーを使用して、SSMService-Trust.json のような名前でテキストファイルを作成します。ファイル保存時に、必ずファイル拡張子 (.json) を付けます。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole" } }
  3. PowerShell を管理モードで開き、JSON ファイルを作成したディレクトリで以下のように New-IAMRole を実行してサービスロールを作成します。この例では、SSMServiceRole という名前のロールが作成されます。別の名前を選択することもできます。

    New-IAMRole ` -RoleName SSMServiceRole ` -AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust.json)
  4. 以下のように、Register-IAMRolePolicy を使用して、作成したサービスロールでセッショントークンを作成できます。セッショントークンは、Systems Manager を使用してコマンドを実行するためのアクセス許可をマネージドインスタンスに付与します。

    注記

    ハイブリッド環境のマネージドインスタンスのサービスプロファイルに追加するポリシーは、EC2 インスタンスのインスタンスプロファイルの作成に使用されるものと同じポリシーです。以下のコマンドで使用する AWS ポリシーの詳細については、「Systems Manager の IAM インスタンスプロファイルを作成する」を参照してください。

    (必須) 次のコマンドを使用して、マネージドインスタンスで AWS Systems Manager サービスの主要機能を使用できるようにします。

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

    サービスロールのカスタム S3 バケットポリシーを作成した場合は、次のコマンドを実行し、ポリシーで指定したバケットに SSM Agent がアクセスできるようにします。account-id および my-bucket-policy-name を AWS アカウント ID およびバケット名に置き換えます。

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::account-id:policy/my-bucket-policy-name

    (オプション) 次のコマンドを実行して、マネージドインスタンスによるドメインへの結合リクエストに対して、代わりに SSM Agent が AWS Directory Service にアクセスできるようにします。インスタンスを Microsoft AD ディレクトリに結合する場合にのみ、インスタンスプロファイルにこのポリシーが必要です。

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

    (オプション) 次のコマンドを実行して、CloudWatch エージェントがマネージドインスタンスで実行できるようにします。このコマンドでは、インスタンスの情報を読み込み、CloudWatch に書き込むことができます。サービスプロファイルには、Amazon EventBridge や Amazon CloudWatch Logs などのサービスを利用する場合にのみ、このポリシーが必要です。

    Register-IAMRolePolicy ` -RoleName SSMServiceRole ` -PolicyArn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
注記

ハイブリッドマシンで Systems Manager を使用する会社または組織のユーザーには、SSM API を呼び出すための IAM のアクセス許可を付与する必要があります。詳細については、「ユーザーを作成してアクセス許可を割り当てる」を参照してください。

ステップ 3: オンプレミスサーバーおよび VM に TLS 証明書をインストールする」に進んでください。