スクリプトを実行するための前提条件

  • リリースバージョン: Washingtondc
  • 更新日 2026年01月10日
  • 読む7読むのに数分
  • スクリプトを実行する前に、前提条件を満たしてください AWS

    重要:
    で利用可能な AWS のサービスグラフコネクタスクリプトがダウンロードされていることを確認します。「スクリプトのダウンロードAWS」を参照してください。
    後でスクリプトを実行する際に AWS 使用する次の詳細を決定します。

    IAM ロールを決定するServiceNow

    環境から AWS 構成アイテム (CI) をフェッチするために、メンバーアカウントで読み取り専用操作を実行する ID およびアクセス管理 (IAM) ロールを決定します。

    デフォルトでは、 CreateSnowOrganizationAccountAccessRoleInMemberAccount.yml スクリプトは SnowOrganizationAccountAccessRole IAM ロールを作成します。スクリプトによって作成されたデフォルト名を使用することも、新しい IAM ロールを作成することもできます。ただし、入力パラメータとして必要な場合は、スクリプト間で同じ IAM ロールを入力する必要があります。「設定に必要なスクリプトの実行 AWS」を参照してください。

    IAM ユーザー名を決定するServiceNow

    メンバーアカウントで IAM ロールを引き ServiceNow 受ける IAM ユーザーの名前を決定します。

    デフォルトでは、 CreateServiceNowUser.yml スクリプトによって NOWSGCUser IAM ユーザーが作成されます。スクリプトによって作成されたデフォルト名を使用することも、新しい IAM ユーザーを作成することもできます。ただし、入力パラメータとして必要な場合は、スクリプト間で同じ IAM ユーザー名を入力する必要があります。「設定に必要なスクリプトの実行 AWS」を参照してください。

    詳細検出用の S3 バケットの定義

    IAM ロールの読み取りおよび削除権限を持つ S3 バケットをセットアップして、データのインポートAWS時に SendCommand API 応答を保存およびServiceNow削除します。

    始める前に

    必要なロール:アプリケーション管理者

    このタスクについて

    アプリケーションの S3 バケット AWS のサービスグラフコネクタ を作成し、 ServiceNow IAM ロール が組織内のこのバケットにアクセスできるようにします。
    注:
    S3 バケットは、EC2 インスタンスで詳細検出を実行する場合にのみ使用します。

    手順

    1. アカウントリージョンに AWS S3 バケットを作成します。
      ドキュメントサイトの「バケット AWSの作成」を参照してください。
      注:
      S3 バケットには、次のアクセス許可設定が必要です。
      表 : 1. S3 バケットのアクセス許可とその設定
      権限 設定
      アクセス バケットとオブジェクトが非公開
      S3 パブリックアクセスのブロック S3 バケットとオブジェクトへのパブリックアクセスをブロックする

      詳細については、ドキュメントサイトの「S3 パブリックアクセス AWSのブロック」を参照してください。

    2. バケットポリシーを追加します。

      ドキュメントサイトの「バケットポリシー AWS」を参照してください。

      ステップ 1 で作成した S3 バケットにアクセスするには、そのバケットポリシーで、マネージド EC2 インスタンスにアタッチされた IAM インスタンスプロファイルロールを許可する必要があります。バケットポリシーを作成するか、バケットアクセスコントロールリスト (ACL) で AWS メンバーアカウントに アクセス権を付与できます。メンバーアカウントには EC2 インスタンスが含まれている必要があります。
      注:
      バケット ACL にメンバーアカウントを追加すると、 AWS メンバー アカウントのすべてのユーザーとロールが S3 バケットにアクセスできるようになります。
      バケットポリシーを追加するときは、次のサンプルコードを参照してください。
      {
          "Version": "2012-10-17",
          "Id": "S3PolicyforServiceNowIAMrole",
          "Statement": [
              {
                  "Sid": "EC2S3Access",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::AWS-ACCOUNT:role/INSTANCE-PROFILE-ROLE-NAME"
                  },
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:PutObjectAcl"
                  ],
                  "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
              }
          ]
      }
      ここで
      • SOURCE-AWS-ACCOUNT は、EC2 インスタンスを含むメンバーアカウントの AWS アカウント ID です。
      • INSTANCE-PROFILE-ROLE-NAME は、EC2 インスタンスにアタッチされている IAM インスタンスプロファイルです。

        デフォルトでは、 AmazonSSMForInstancesRoleSetup.yml スクリプトは AmazonSSMForInstancesRole IAM インスタンスプロファイルロールを作成し、そのロールを AmazonSSMManagedInstanceCore バケットポリシーにアタッチします。「設定に必要なスクリプトの実行 AWS」を参照してください。

      • DOC-EXAMPLE-BUCKET は S3 バケット名です。
      次のバケットポリシーの例では、効果、プリンシパル、アクション、およびリソースの要素を示しています。このポリシーは、ID 123456789000、s3:GetObject、s3:PutObject、および s3:PutObjectAcl S3 アクセス許可を持つアカウントの IAM インスタンスプロファイルロールである AmazonSSMRoleForInstances を myS3Bucket バケットに許可します。
      {
          "Version": "2012-10-17",
          "Id": "S3PolicyforServiceNowIAMrole",
          "Statement": [
              {
                  "Sid": "EC2S3Access",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": [
                          "arn:aws:iam::123456789000:role/AmazonSSMRoleForInstances",
                          "arn:aws:iam::123456789001:role/AmazonSSMRoleForInstances",
                          "arn:aws:iam::123456789002:role/AmazonSSMRoleForInstances",
                          "arn:aws:iam::123456789003:role/AmazonSSMRoleForInstances",
                          "arn:aws:iam::123456789004:role/AmazonSSMRoleForInstances"
                      ]
                  },
                  "Action": [
                      "s3:GetObject",
                      "s3:PutObject",
                      "s3:PutObjectAcl"
                  ],
                  "Resource": "arn:aws:s3:::myS3Bucket/*"
              }
          ]
      }
    3. IAM アクセス許可を EC2 インスタンスのインスタンスプロファイルロールにアタッチして、ステップ 1 で作成した S3 バケットに SendCommand API レスポンスを発行します。
      ドキュメントサイトの「インスタンスプロファイルの使用」および「インスタンスAWSへの IAM ロールのアタッチ」を参照してください。
      マネージド EC2 インスタンスにアタッチされた IAM インスタンスプロファイルロールには、次のサンプルポリシーに示すように、S3 バケットへのアクセスを許可するために、s3:GetObject、s3:PutObject、および s3:PutObjectAcl S3 アクセス許可が必要です。
      {
          "Version": "2012-10-17",
          "Statement": [
              {
              "Sid": "PublishTerminalOutputToS3",
                  "Effect": "Allow",
                  "Action": [
                      "s3:PutObject",
                      "s3:GetObject",
                      "s3:PutObjectAcl"
                  ],
                  "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
              }
          ]
      }
      ここで、DOC-EXAMPLE-BUCKET は S3 バケット名です。
      注:
      バケット名の下にファイルを作成できるように、バケット名の末尾にサフィックス /* を追加してください。