SDK を使用して Security Command Center にアクセスする

Security Command Center クライアント ライブラリを使用して、サービス アカウントを作成し、アカウントを使用できるように設定します。

始める前に

このガイドを完了するには、次の準備が必要です。

  • サービス アカウント管理者の IAM ロール。Security Command Center の IAM ロールの詳細については、アクセス制御をご覧ください。
  • サービス アカウントの秘密鍵を保管できる既存のディレクトリ パス。このパスは、Cloud Shell 環境のコンテキスト(/home/myuser/mykeys/ など)内にあります。
  • Security Command Center の有効化レベル: プロジェクト レベルまたは組織レベル。有効化レベルに応じて、SDK アクセスの設定に使用するコマンドの一部が異なります。有効化レベルを確認するには、Security Command Center の有効化レベルを確認するをご覧ください。

Security Command Center へのアクセス

プログラムで Security Command Center にアクセスするには、Cloud Shell を使用してクライアント ライブラリを取得し、サービス アカウントを認証します。

環境変数を設定する

  1. Google Cloud コンソールに移動します。
    Google Cloud コンソールに移動
  2. Cloud Shell をアクティブにする」をクリックします。
  3. 次のコマンドを実行して、環境変数を設定します。

    1. 組織名を設定します。

      export ORG_ID=ORGANIZATION_ID
      

      ORGANIZATION_ID は組織の ID に置き換えます。

    2. プロジェクト ID を設定します。

      export PROJECT_ID=CLOUD_SCC_ENABLED_PROJECT_ID
      

      CLOUD_SCC_ENABLED_PROJECT_ID は、Security Command Center がプロジェクト レベルで有効になっているプロジェクト、またはスキャンが有効になっているプロジェクトの ID に置き換えます。

    3. 新しいサービス アカウントに使用するカスタム ID を設定します(scc-sa など)。サービス アカウント名は 6~30 文字で、先頭は英字にします。すべて英小文字、数字とハイフンで指定してください。

      export SERVICE_ACCOUNT=CUSTOM_ID
      

      CUSTOM_ID は、任意の ID に置き換えます。

    4. サービス アカウント キーを保存するパスを設定します(export KEY_LOCATION=/home/$USER/mykeys/$SERVICE_ACCOUNT.jsonなど)。

      export KEY_LOCATION=FULL_PATH
      # This is used by client libraries to find the key
      export GOOGLE_APPLICATION_CREDENTIALS=$KEY_LOCATION
      

サービス アカウントの設定

Security Command Center にプログラムでアクセスするには、クライアントで使用するサービス アカウントの秘密鍵が必要です。

また、サービス アカウントに securitycenter.admin IAM ロールを付与する必要があります。サービス アカウントに必要なアクセスレベルに応じて、プロジェクト、フォルダ、または組織レベルでロールを付与できます。

  1. プロジェクト ID に関連付けられたサービス アカウントを作成します。

    gcloud iam service-accounts create $SERVICE_ACCOUNT  \
    --display-name "Service Account for USER"  \
    --project $PROJECT_ID
    

    USER は、サービス アカウントを使用する個人またはエンティティのユーザー名に置き換えます。

  2. サービス アカウントに関連付ける鍵を作成します。サービス アカウントの存続中は、この鍵が使用されます。この鍵は、KEY_LOCATION に割り当てたパスに永続的に保存されます。

    gcloud iam service-accounts keys create $KEY_LOCATION  \
    --iam-account $SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com
    
  3. Security Command Center の有効化レベルに応じて、サービス アカウントに組織またはプロジェクトの securitycenter.admin ロールを付与します。

    • 組織レベルで有効にしている場合:

      gcloud organizations add-iam-policy-binding $ORG_ID \
      --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com" \
      --role='roles/securitycenter.admin'
      
    • プロジェクト レベルで有効にしている:

      gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com" \
      --role='roles/securitycenter.admin'
      

Security Command Center のクライアント ライブラリのインストール

Python

Security Command Center の Python ライブラリを依存関係としてプロジェクトに含めるには、次の手順を行います。

  1. 省略可: Python ライブラリをインストールする前に、Virtualenv を使用して、隔離された Python 環境を作成することをおすすめします。

    virtualenv onboarding_example
    source onboarding_example/bin/activate
    
  2. Python ライブラリのインストールを管理するために、pip をインストールします。

  3. 次のコマンドを実行して、Python ライブラリをインストールします。

    pip install google-cloud-securitycenter
    

Java

Security Command Center の Java ライブラリを依存関係としてプロジェクトに含めるには、Maven リポジトリからアーティファクトを選択します。

Go

Go ライブラリをダウンロードするには、次のコマンドを実行します。

go get cloud.google.com/go/securitycenter/apiv1

Node.js

Node.js ライブラリをインストールするには、次のコマンドを実行します。

npm install --save @google-cloud/security-center

次のステップ

SDK の使用

Security Command Center がサポートするすべての機能のガイドを確認する。

SDK リファレンス

SDK リファレンス全体を確認する。