AWS Systems Manager
ユーザーガイド

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

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

注記

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

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

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

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

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

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

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

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": "ssm.amazonaws.com"}, "Action": "sts:AssumeRole" } }
  2. 以下のように New-IAMRole を使用して、サービスロールを作成します。この例では、SSMServiceRole という名前のロールが作成されます。別の名前を選択することもできます。

    New-IAMRole -RoleName SSMServiceRole -AssumeRolePolicyDocument (Get-Content -raw SSMService-Trust.json)
  3. 以下のように、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 エージェント がアクセスできるようにします。account-id および my-bucket-policy-name を AWS アカウント ID およびバケット名に置き換えます。

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

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

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

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

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

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

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

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": "ssm.amazonaws.com"}, "Action": "sts:AssumeRole" } }
  2. サービスロールを作成するには、create-role コマンドを使用します。この例では、SSMServiceRole という名前のロールが作成されます。別の名前を選択することもできます。

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

    注記

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

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

    aws iam attach-role-policy --role-name SSMServiceRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore

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

    aws iam attach-role-policy --role-name SSMServiceRole --policy-arn arn:aws:iam::account-id:policy/my-bucket-policy-name

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

    aws iam attach-role-policy --role-name SSMServiceRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMDirectoryServiceAccess

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

    aws iam attach-role-policy --role-name SSMServiceRole --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy

注記

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

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