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 を使用してクライアント ライブラリを取得し、サービス アカウントを認証します。
環境変数を設定する
- Google Cloud コンソールに移動します。
Google Cloud コンソールに移動 - 「Cloud Shell をアクティブにする」をクリックします。
次のコマンドを実行して、環境変数を設定します。
組織名を設定します。
export ORG_ID=ORGANIZATION_ID
ORGANIZATION_ID
は組織の ID に置き換えます。プロジェクト ID を設定します。
export PROJECT_ID=CLOUD_SCC_ENABLED_PROJECT_ID
CLOUD_SCC_ENABLED_PROJECT_ID
は、Security Command Center がプロジェクト レベルで有効になっているプロジェクト、またはスキャンが有効になっているプロジェクトの ID に置き換えます。新しいサービス アカウントに使用するカスタム ID を設定します(
scc-sa
など)。サービス アカウント名は 6~30 文字で、先頭は英字にします。すべて英小文字、数字とハイフンで指定してください。export SERVICE_ACCOUNT=CUSTOM_ID
CUSTOM_ID
は、任意の ID に置き換えます。サービス アカウント キーを保存するパスを設定します(
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 ロールを付与する必要があります。サービス アカウントに必要なアクセスレベルに応じて、プロジェクト、フォルダ、または組織レベルでロールを付与できます。
プロジェクト ID に関連付けられたサービス アカウントを作成します。
gcloud iam service-accounts create $SERVICE_ACCOUNT \ --display-name "Service Account for USER" \ --project $PROJECT_ID
USER
は、サービス アカウントを使用する個人またはエンティティのユーザー名に置き換えます。サービス アカウントに関連付ける鍵を作成します。サービス アカウントの存続中は、この鍵が使用されます。この鍵は、
KEY_LOCATION
に割り当てたパスに永続的に保存されます。gcloud iam service-accounts keys create $KEY_LOCATION \ --iam-account $SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com
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 ライブラリを依存関係としてプロジェクトに含めるには、次の手順を行います。
省略可: Python ライブラリをインストールする前に、Virtualenv を使用して、隔離された Python 環境を作成することをおすすめします。
virtualenv onboarding_example source onboarding_example/bin/activate
Python ライブラリのインストールを管理するために、pip をインストールします。
次のコマンドを実行して、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 リファレンス全体を確認する。