デフォルトのホスト管理設定の使用 - AWS Systems Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

デフォルトのホスト管理設定の使用

デフォルトのホスト管理設定では、 AWS Systems Manager は Amazon EC2 インスタンスをマネージドインスタンス として自動的に管理できます。マネージドインスタンスとは、Systems Manager で使用するために設定された EC2 インスタンスです。

Systems Manager を使用してインスタンスを管理することには、次のような利点があります。

  • Session Manager を使用して安全に EC2 インスタンスに接続する。

  • Patch Manager を使用して自動パッチスキャンを実行する。

  • Systems Manager インベントリを使用して、インスタンスに関する詳細情報を表示する。

  • Fleet Manager を使用してインスタンスを追跡、管理する。

  • SSM Agent を自動的に最新の状態に保つ。

Fleet Manager、インベントリ、Patch Manager、Session Manager は、Systems Manager の機能です。

デフォルトのホスト管理設定では、 AWS Identity and Access Management (IAM) インスタンスプロファイルを手動で作成しなくても EC2 インスタンスを管理できます。代わりに、デフォルトのホスト管理設定では、デフォルトの IAM ロールを作成して適用 AWS リージョン し、Systems Manager がアクティブ化されている AWS アカウント および 内のすべてのインスタンスを管理するアクセス許可を持つようにします。

付与されたアクセス許可がユースケースに十分でない場合は、デフォルトのホスト管理設定で作成されたデフォルトの IAM ロールにポリシーを追加することもできます。また、デフォルトの IAM ロールで提供されるすべての機能の一部に対してのみアクセス許可が必要な場合は、独自のカスタムロールとポリシーを作成できます。デフォルトのホスト管理設定で選択した IAM ロールに加えられた変更は、リージョンとアカウントのすべてのマネージド Amazon EC2 インスタンスに適用されます。

デフォルトのホスト管理設定で使用するポリシーの詳細については、「AWS マネージドポリシー: AmazonSSMManagedEC2InstanceDefaultPolicy」を参照してください。

最小特権アクセスの実装

このトピックの手順は、管理者のみが実行することを想定しています。したがって、管理者以外のユーザーがデフォルトのホスト管理設定を設定または変更できないように、最小特権アクセスを実装することをお勧めします。デフォルトのホスト管理設定へのアクセスを制限するポリシーの例を確認するには、このトピックの後半の「デフォルトのホスト管理設定の最小特権ポリシーの例」を参照してください。

重要

デフォルトのホスト管理設定を使用して登録されたインスタンスの登録情報は、 var/lib/amazon/ssmまたは C:\ProgramData\Amazon ディレクトリにローカルに保存されます。これらのディレクトリやファイルを削除すると、インスタンスはデフォルトのホスト管理設定を使用して Systems Manager に接続するために必要な認証情報を取得できなくなります。このような場合は、IAM インスタンスプロファイルを使用してインスタンスに必要なアクセス許可を付与するか、インスタンスを再作成する必要があります。

前提条件

設定をアクティブ化 AWS アカウント する AWS リージョン および でデフォルトのホスト管理設定を使用するには、次の要件を満たす必要があります。

  • 管理対象となるインスタンスには、インスタンスメタデータサービスのバージョン 2 (IMDSv2) を使用する必要があります。

    デフォルトのホスト管理設定は、インスタンスメタデータサービスバージョン 1 をサポートしていません。IMDSv2 への移行の詳細については、「Amazon EC2 Linux インスタンス用ユーザーガイド」の「https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-transition-to-version-2.htmlインスタンスメタデータサービスバージョン 2 の使用への移行」を参照してください。

  • メソッドを使用するには、SSM Agent バージョン 3.2.582.0 以降がインスタンスにインストールされている必要があります。

    インスタンスにインストールされている SSM Agent のバージョンを確認する方法については、「SSM Agent バージョン番号の確認」を参照してください。

    SSM Agent の更新方法については、「SSM Agent の自動更新」を参照してください。

  • このトピックのタスクを実行する管理者は、GetServiceSetting、、ResetServiceSettingおよび UpdateServiceSetting API オペレーションのアクセス許可を持っている必要があります。さらに、AWSSystemsManagerDefaultEC2InstanceManagementRole IAM ロールの iam:PassRole アクセス許可を付与する権限が必要です。上記のアクセス許可を付与するポリシーの例を次に示します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetServiceSetting", "ssm:ResetServiceSetting", "ssm:UpdateServiceSetting" ], "Resource": "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::account-id:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole", "Condition": { "StringEquals": { "iam:PassedToService": [ "ssm.amazonaws.com" ] } } } ] }
  • Systems Manager を使用して管理される Amazon EC2 インスタンスに IAM インスタンスプロファイルがすでにアタッチされている場合は、ssm:UpdateInstanceInformation 操作を実行するためのアクセス許可をすべて削除します。SSM Agent は、デフォルトのホスト管理設定のアクセス許可を使用する前に、インスタンスプロファイルのアクセス許可の使用を試みます。独自の IAM インスタンスプロファイルで ssm:UpdateInstanceInformation オペレーションを許可すると、インスタンスはデフォルトのホスト管理設定のアクセス許可を使用しません。

デフォルトのホスト管理設定のアクティブ化

デフォルトのホスト管理設定は、Fleet Managerコンソールから、または AWS Command Line Interface または を使用してアクティブ化できます AWS Tools for Windows PowerShell。

デフォルトのホスト管理設定は、この設定で管理したい Amazon EC2 インスタンスがあるリージョンごとに 1 つずつオンにする必要があります。

デフォルトのホスト管理設定を有効にした後、次の手順のステップ 5 で選択したロールの認証情報をインスタンスが使用するまでに最大 30 分かかる場合があります。

デフォルトのホスト管理設定を有効化するには (コンソール)
  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

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

    -または-

    AWS Systems Manager ホームページが最初に開いたら、メニューアイコン (      The menu icon   ) を選択してナビゲーションペインを開き、ナビゲーションペインFleet Managerで を選択します。

  3. [アカウント管理]、[デフォルトのホスト管理設定を構成] を選択します。

  4. [デフォルトのホスト管理設定を有効にする] をオンにします。

  5. インスタンスの Systems Manager 機能を有効にするために使用される AWS Identity and Access Management (IAM) ロールを選択します。デフォルトのホスト管理設定で提供されるデフォルトのロールを使用することをお勧めします。このロールには、Systems Manager を使用して Amazon EC2 インスタンスを管理するために必要となる最小限のアクセス許可のセットが含まれています。カスタムロールを使用する場合は、ロールの信頼ポリシーで Systems Manager を信頼できるエンティティとして許可する必要があります。

  6. [設定] をクリックして、セットアップを完了します。

デフォルトのホスト管理設定を有効化するには (コマンドライン)
  1. ローカルマシンで、次の信頼関係ポリシーを含む JSON ファイルを作成します。

    { "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "Service":"ssm.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
  2. AWS CLI または Tools for Windows を開き、ローカルマシンのオペレーティングシステムのタイプに応じて次のいずれかのコマンド PowerShell を実行して、アカウントにサービスロールを作成します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

    Linux & macOS
    aws iam create-role \ --role-name AWSSystemsManagerDefaultEC2InstanceManagementRole \ --path /service-role/ \ --assume-role-policy-document file://trust-policy.json
    Windows
    aws iam create-role ^ --role-name AWSSystemsManagerDefaultEC2InstanceManagementRole ^ --path /service-role/ ^ --assume-role-policy-document file://trust-policy.json
    PowerShell
    New-IAMRole ` -RoleName "AWSSystemsManagerDefaultEC2InstanceManagementRole" ` -Path "/service-role/" ` -AssumeRolePolicyDocument "file://trust-policy.json"
  3. 次のコマンドを実行して、新たに作成したロールに AmazonSSMManagedEC2InstanceDefaultPolicy マネージドポリシーをアタッチします。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

    Linux & macOS
    aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedEC2InstanceDefaultPolicy \ --role-name AWSSystemsManagerDefaultEC2InstanceManagementRole
    Windows
    aws iam attach-role-policy ^ --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedEC2InstanceDefaultPolicy ^ --role-name AWSSystemsManagerDefaultEC2InstanceManagementRole
    PowerShell
    Register-IAMRolePolicy ` -PolicyArn "arn:aws:iam::aws:policy/AmazonSSMManagedEC2InstanceDefaultPolicy" ` -RoleName "AWSSystemsManagerDefaultEC2InstanceManagementRole"
  4. AWS CLI または Tools for Windows を開き PowerShell 、次のコマンドを実行します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

    Linux & macOS
    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role \ --setting-value service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole
    Windows
    aws ssm update-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role ^ --setting-value service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole
    PowerShell
    Update-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role" ` -SettingValue "service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole"

    コマンドが成功した場合、出力はありません。

  5. 次のコマンドを実行して、現在の AWS アカウント および のデフォルトのホスト管理設定の現在のサービス設定を表示します AWS リージョン。

    Linux & macOS
    aws ssm get-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
    Windows
    aws ssm get-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
    PowerShell
    Get-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role"

    このコマンドによって以下のような情報が返されます。

    {
        "ServiceSetting": {
            "SettingId": "/ssm/managed-instance/default-ec2-instance-management-role",
            "SettingValue": "service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole",
            "LastModifiedDate": "2022-11-28T08:21:03.576000-08:00",
            "LastModifiedUser": "System",
            "ARN": "arn:aws:ssm:us-east-2:-123456789012:servicesetting/ssm/managed-instance/default-ec2-instance-management-role",
            "Status": "Custom"
        }
    }

デフォルトのホスト管理設定の非アクティブ化

デフォルトのホスト管理設定は、Fleet Managerコンソールから、または AWS Command Line Interface または を使用して非アクティブ化できます AWS Tools for Windows PowerShell。

デフォルトのホスト管理設定は、この設定で管理する必要がなくなった各リージョンで 1 Amazon EC2つずつオフにする必要があります。あるリージョンで無効化しても、すべてのリージョンで無効化されるわけではありません。

デフォルトのホスト管理設定を無効化し、Amazon EC2 インスタンスに Systems Manager へのアクセスを許可するためのインスタンスプロファイルを添付していない場合、それらのインスタンスは Systems Manager によって管理されなくなります。

デフォルトのホスト管理設定を無効化するには (コンソール)
  1. https://console.aws.amazon.com/systems-manager/ で AWS Systems Manager コンソールを開きます。

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

    -または-

    AWS Systems Manager ホームページが最初に開いたら、メニューアイコン (      The menu icon   ) を選択してナビゲーションペインを開き、ナビゲーションペインFleet Managerで を選択します。

  3. [アカウント管理]、[デフォルトのホスト管理設定] を選択します。

  4. [デフォルトのホスト管理設定を有効にする] をオフにします。

  5. [設定] をクリックして、デフォルトのホスト管理設定を無効にします。

デフォルトのホスト管理設定を無効化するには (コマンドライン)
  • AWS CLI または Tools for Windows を開き PowerShell 、次のコマンドを実行します。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

    Linux & macOS
    aws ssm reset-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
    Windows
    aws ssm reset-service-setting ^ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role
    PowerShell
    Reset-SSMServiceSetting ` -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role"

デフォルトのホスト管理設定の最小特権ポリシーの例

以下のサンプルポリシーは、組織のメンバーが組織のアカウントで、デフォルトのホスト管理設定を変更できないようにする方法を示しています。

AWS Organizationsのサービスコントロールポリシー

次のポリシーは、 の管理者以外のメンバーがデフォルトのホスト管理設定 AWS Organizations を更新できないようにする方法を示しています。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":[ "ssm:UpdateServiceSetting", "ssm:ResetServiceSetting" ], "Resource":"arn:aws:ssm:*:*:servicesetting/ssm/managed-instance/default-ec2-instance-management-role", "Condition":{ "StringNotEqualsIgnoreCase":{ "aws:PrincipalTag/job-function":[ "administrator" ] } } }, { "Effect":"Deny", "Action":[ "iam:PassRole" ], "Resource":"arn:aws:iam::*:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole", "Condition":{ "StringEquals":{ "iam:PassedToService":"ssm.amazonaws.com" }, "StringNotEqualsIgnoreCase":{ "aws:PrincipalTag/job-function":[ "administrator" ] } } }, { "Effect":"Deny", "Resource":"arn:aws:iam::*:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole", "Action":[ "iam:AttachRolePolicy", "iam:DeleteRole" ], "Condition":{ "StringNotEqualsIgnoreCase":{ "aws:PrincipalTag/job-function":[ "administrator" ] } } } ] }

IAM プリンシパルのポリシー

次のポリシーは、 の IAM グループ、ロール、またはユーザーがデフォルトのホスト管理設定 AWS Organizations を更新できないようにする方法を示しています。各リソースプレースホルダーの例をユーザー自身の情報に置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "ssm:UpdateServiceSetting", "ssm:ResetServiceSetting" ], "Resource": "arn:aws:ssm:region:account-id:servicesetting/ssm/managed-instance/default-ec2-instance-management-role" }, { "Effect": "Deny", "Action": [ "iam:AttachRolePolicy", "iam:DeleteRole", "iam:PassRole" ], "Resource": "arn:aws:iam::account-id:role/service-role/AWSSystemsManagerDefaultEC2InstanceManagementRole" } ] }