AWS サービスアカウントのアクセスセットアップ

  • リリースバージョン: Zurich
  • 更新日 2025年09月03日
  • 所要時間:9分
  • クラウドディスカバリー および クラウドプロビジョニングとガバナンス では、Amazon Web サービス (AWS) サービスアカウントのリソースにアクセスする必要があります。このようなアクセスを設定するためのさまざまな方法について説明します。

    クラウドディスカバリー および クラウドプロビジョニングとガバナンス は、MID サーバー を通じて AWS サービスアカウントのリソースにアクセスします。初期通信を設定するために、MID サーバーから EC2 インスタンスをAmazonするための受信トラフィックを許可する必要があります。詳細については、「AWS Management Console を使用してセキュリティグループのインバウンドルールを設定」を参照してください。

    AWS 認証情報のタイプ

    AWS サービスアカウントへのアクセスを構成するために使用できる AWS 認証情報には、永続的な認証情報と一時的な認証情報があります。
    永続的
    永続的な認証情報は、ServiceNow AI Platform接続情報と認証情報 モジュールに追加するサービスアカウントに対する実際の AWS 認証情報です。ServiceNow AI Platformで認証情報を管理するのは時間がかかるかもしれませんが、一時的な認証情報の使用に伴う複雑な設定を避けることができます。
    一時

    一時的な認証情報は 、IAM ロールの AWS Security Token Service (AWS STS) によって生成されます。AWS アカウントの IAM ロールを構成すると、MID サーバー はこれらの一時的な認証情報を使用して AWS リソースにアクセスします。デフォルトの IAM ロール、OrganizationAccountAccessRole を使用することも、カスタム IAM ロールを作成することもできます。

    大規模な AWS 組織で IAM ロールを担うほうが、すべての AWS アカウントに永続的な認証情報を大量に使用するよりも便利で、かつ優れたセキュリティを提供できます。一時的な認証情報は、サービスアカウント [cmdb_ci_cloud_service_account] テーブルに、そのサービスアカウントに対して永続的な認証情報が指定されていない場合にのみ、サービスアカウントの代わりに取得されます。

    MID サーバー は、AWS Security Token Service APIAssumeRole アクションを使用して、メンバーアカウントのロールを想定します。この API に渡されるパラメーターによって、AWS リソースへのアクセス時にロールに適用される追加のセキュリティ制限が決定されます。

    デフォルトで、MID サーバー はプライマリアカウントのすべてのメンバーに一時的な認証情報を付与する OrganizationAccountAccessRole を担うように構成されます。このアクションは、メンバーアカウントに永続的な認証情報が存在しない場合に自動的に実行されます。この構成では追加のセキュリティは適用されず、メンバーアカウントのリソースに対するアクセスは制限されません。

    デフォルトで、ServiceNow インスタンスはメンバーアカウントの一時的な認証情報を 60 分間キャッシュします。この間隔により、ディスカバリーのたびに新しい認証情報を生成することなく、水平ディスカバリープロセスを複数回実行できます。認証情報のキャッシュを回避したり、 MID サーバーのプロパティを使用してキャッシュ期間を変更したりすることができます。

    IAM ロールと権限

    デフォルトの AWS OrganizationAccountAccessRole ロールによって提供されるセキュリティを強化するために、メンバーアカウントの一時的な認証情報を受け取るためにMID サーバー引き受けることができるAWSロールをカスタマイズできます。追加の権限を設定してセキュリティを強化し、クラウドリソースを検出するときにメンバーアカウントのロールを引き受ける方法をカスタマイズできます。

    アクセスを許可する方法

    AWS アカウントのアクセスを構成する際に、次のような用語を使用します。
    トラスティングアカウント
    トラスティングアカウントには、永続的な AWS 認証情報がありません。これらのアカウントの IAM ロールが他のアカウントに依存してアクセスするための信頼関係を構成します。
    トラステッドアカウント
    トラステッドアカウントは、トラスティングアカウントによってアクセスに使用されます。ServiceNow UI では、トラステッドアカウントが「アクセサーアカウント」という名称になっています。
    通常、組織内の AWS アカウントへのアクセスを設定するには、次の方法を使用します。
    単一アカウントのアクセス権の設定
    AWS認証情報を使用してアクセサーアカウントを信頼するアカウントのアクセス権の構成
    図 : 1. 任意の AWS アカウントを AWS 認証情報を備えたトラステッドアカウントに依存させる設定

    アクセスのためトラステッド AWS アカウントのユーザーを信頼するようにトラスティング AWS アカウントの IAM ロールを設定
    • 任意のタイプのアカウント (個別 (独立)、管理、またはメンバー) を、 AWS 認証情報を持つトラステッドアカウントに依存してアクセスするように構成します。
    • トラスティングアカウントに属する IAM ロールを、トラステッドアカウントのユーザーを信頼するように設定すると、1 組の AWS 認証情報のみを使用して複数の AWS アカウントにアクセスできるようになります。
    詳細については、「AWS 認証情報を持つトラステッド AWS アカウントに基づく一時的な認証情報を使用したアクセス構成」を参照してください。
    AWS認証情報なしでアクセサーアカウントを信頼するアカウントのアクセス権の設定
    図 : 2. 任意の AWS アカウントを AWS 認証情報のないトラステッドアカウントに依存させる設定

    アクセスのためトラステッド AWS アカウントの IAM ロールを信頼するようにトラスティング AWS アカウントの IAM ロールを設定
    • 任意のタイプのアカウント (個別 (独立)、管理、またはメンバー) を、アクセスのための AWS 認証情報なしでトラステッドアカウントに依存するように構成します。
    • IAM ロールと権限を使用して認証情報を AWS せずにアカウントを構成し、信頼するサービスアカウントにアクセスします。
    • トラスティングアカウントの IAM ロールを設定して、トラステッドアカウントの IAM ロールへのアクセス権を付与します。
    詳細については、「AWS 認証情報を持たないトラステッド AWS アカウントに基づく一時的な認証情報を使用したアクセス構成」を参照してください。
    アクセサーから管理アカウントを介してトラストチェーンを使用して、 AWS メンバーアカウントのアクセス権を設定します。
    図 : 3. アクセスに管理アカウントを使用するメンバーアカウントの設定

    トラスティングメンバーアカウントの IAM ロールを設定して管理アカウントを信頼させる

    クラウドディスカバリー が使用する認証情報の決定方法

    メンバーアカウント信託管理アカウント
    クラウドディスカバリー は次のロジックを使用して、メンバーアカウントの AWS クラウドリソースを検出するために使用する認証情報を決定します。
    1. 永続的な認証情報がクラウドサービスアカウント [cmdb_ci_cloud_service_account] テーブルのメンバーアカウントに対して定義されている場合、ディスカバリー はその認証情報を使用します。クラウドサービスアカウントの [cmdb_ci_cloud_service_account] テーブルには、サービスアカウントのタイプ (管理/メンバー) とその認証情報に関する情報が含まれています。
    2. メンバーアカウントに永続的な認証情報が定義されていない場合、ディスカバリー はメンバーアカウントに関連付けられた特別なパラメーターについてクラウドサービスアカウント AWS 組織想定ロールパラメーター [cloud_service_account_aws_org_assume_role_params] テーブルをチェックします。そのテーブルにパラメーターが存在する場合、ディスカバリー は AWS Security Token Service API AssumeRole アクションでロールとそのパラメーターを指定することによって取得された一時的な認証情報を使用します。
    3. [cloud_service_account_aws_org_assume_role_params] テーブルでメンバーアカウントに特別なパラメーターが関連付けられていない場合、ディスカバリー はそのテーブルで、管理アカウントに関連付けられたパラメーターをチェックします。管理アカウントのロールを定義するパラメーターが存在する場合、ディスカバリー はそのロールで提供される一時的な認証情報を使用します。
    4. 管理アカウントまたはメンバーアカウントのいずれかに対して [cloud_service_account_aws_org_assume_role_params] テーブルに特別なパラメーターが存在しない場合、ディスカバリーOrganizationAccountAccessRole ロールに定義されているデフォルトを使用します。
    メンバーまたは管理アカウント Trusts アクセサーアカウント
    1. 永続的な認証情報がクラウドサービスアカウント [cmdb_ci_cloud_service_account] テーブルでメンバーまたは管理アカウントに対して定義されている場合、 ディスカバリー それらの認証情報を使用します。クラウドサービスアカウントの [cmdb_ci_cloud_service_account] テーブルには、サービスアカウントのタイプ (管理/メンバー) とその認証情報に関する情報が含まれています。
    2. アカウントに永続的な認証情報が定義されていない場合、 ディスカバリー はクラウドサービスアカウントの AWS クロス想定ロールパラメーター [cloud_service_account_aws_cross_assume_role_params] テーブルで、アカウントに関連付けられた特別なパラメーターをチェックします。そのテーブルにパラメーターが存在する場合、ディスカバリー は AWS Security Token Service API AssumeRole アクションでロールとそのパラメーターを指定することによって取得された一時的な認証情報を使用します。