サードパーティの ID プロバイダを構成する
このガイドは、サードパーティの ID プロバイダ(IdP)を使用して Google SecOps でワークフォース(ユーザーとグループ)を認証する Google Security Operations 管理者を対象としています。このプロセスは、Google Cloud Workforce Identity 連携を活用することで実現できます。
Workforce Identity 連携は、Security Assertion Markup Language(SAML 2.0)または OpenID Connect(OIDC)を使用する任意の IdP(Okta、Microsoft Entra ID、Microsoft Active Directory Federation Services(AD FS)など)をサポートしています。
このドキュメントでは、Workforce Identity 連携を使用して SAML ベースの IdP による認証を設定する手順の概要について説明します。
- 必要なリソースを計画する。Workforce Identity プールとプロバイダの詳細を決定し、Google SecOps の機能へのアクセス権を構成するために必要なユーザー属性とグループを特定します。
- サードパーティの IdP アプリケーションを構成します。Workforce Identity 連携と Google SecOps と統合する IdP SAML アプリケーションを作成します。
- Workforce Identity 連携を構成します。Workforce Identity プールとプロバイダを構成し、IdP グループとユーザーに Google Cloud Identity and Access Management(IAM)ロールを付与します。
- 新しく作成したプロバイダを使用してシングル サインオン(SSO)を構成します。
これらの手順を完了すると、ID プロバイダを使用して Google SecOps にログインし、IAM を使用した機能ロールベース アクセス制御(RBAC)でユーザー アクセスを管理できます。
一般的なユースケース
Google SecOps では、さまざまなユースケースで SSO ブローカーとして Workforce Identity 連携を使用する必要があります。
厳格なセキュリティ標準に準拠する
- 目標: システムとクラウド アクセスに関する厳格な規制基準を満たす。
- 価値: SSO を安全にブローカーすることで、FedRAMP High(またはそれ以上)のコンプライアンス要件への準拠を支援します。
エンタープライズ アクセス制御を管理する
- 目標: 組織全体で機能とデータアクセスを一元的に制御します。
- 値: IAM を使用して、Google SecOps でエンタープライズ レベルの RBAC を有効にします。
API のプログラムによるアクセスを自動化する
- 目的: Chronicle API と安全にやり取りするためのセルフサービス メソッドを提供します。
- 価値: 顧客が認証情報をプログラムで管理できるようにすることで、手動の管理オーバーヘッドを削減します。
主な用語
- Workforce プール: 組織レベルで定義され、Workforce に Google SecOps へのアクセス権を付与するグローバルに一意の Google Cloud リソース。
- Workforce プロバイダ: 単一の外部 IdP の構成の詳細を保存する Workforce Identity プールのサブ リソース。
- 属性マッピング: IdP から提供されたアサーション属性を Common Expression Language(CEL)を使用して Google Cloud 属性に変換するプロセス。
- Assertion Consumer Service(ACS)URL: SAML アプリケーションを構成して Google SecOps と通信するために使用される特定の URL(プロバイダによってはシングル サインオン URL と呼ばれることもあります)。
- エンティティ ID: Google SecOps などの特定のアプリケーションまたはサービスを識別し、IdP 内で SAML アプリケーションを構成するグローバルに一意の識別子 URL。
プロセスの概要
Google SecOps は、サービス プロバイダを起点とする(SP を起点とする)SAML SSO をサポートしています。これにより、ユーザーは直接 Google SecOps に移動できます。Google SecOps は、IAM Workforce Identity 連携を通じて、サードパーティの IdP に対してリクエストを発行します。
IdP がユーザー ID を認証すると、ユーザーは認証アサーションとともに Google SecOps に戻ります。 Google Cloud Workforce Identity 連携は、認証フローの仲介役として機能します。
Google SecOps、IAM Workforce Identity 連携、IdP 間の通信
大まかな通信は次のとおりです。
- ユーザーが Google SecOps に移動します。
- Google SecOps は、 Google CloudWorkforce Identity プールで IdP 情報を検索します。
- リクエストが IdP に送信されます。
- SAML アサーションは、 Google Cloud Workforce Identity プールに送信されます。
- 認証に成功すると、Google SecOps は、Workforce Identity プールで Workforce プロバイダを構成したときに定義された SAML 属性のみを受け取ります。
Google SecOps 管理者は、ID プロバイダでグループを作成し、アサーションでグループ メンバーシップ情報を渡すように SAML アプリケーションを構成してから、ユーザーとグループを Google SecOps の IAM の事前定義ロールに関連付けます。
始める前に
- Cloud Shell、
gcloudコマンド、 Google Cloud コンソールに精通している必要があります。 - Google SecOps 用に Google Cloud プロジェクトを構成することで、Google SecOps にバインドされるプロジェクトを設定します。
- Google Cloud Workforce Identity 連携を確認します。
- このドキュメントの手順を実施するための権限を付与されていることを確認してください。オンボーディング プロセスの各フェーズに必要な権限については、必要なロールをご覧ください。
実装を計画する
このセクションでは、このドキュメントの手順を実行する前に決める事項と定義する情報について説明します。
Workforce Identity プールとワーカー プロバイダを定義する
IdP を介した認証を設定するには、認証フローの仲介役として Workforce Identity 連携を構成する必要があります。Workforce Identity 連携を構成する前に、次のGoogle Cloud リソースを定義します。
- Workforce プール: Workforce Identity プールを使用すると、従業員などの人材に Google SecOps へのアクセス権を付与できます。
- Workforce プロバイダ: 1 つの IdP に関する詳細を保存する Workforce Identity プールのサブリソース。
単一の顧客サブドメインで識別される Workforce Identity プール、Workforce プロバイダ、Google SecOps インスタンスの関係は次のとおりです。
- Workforce Identity プールは組織レベルで定義されます。
- 各 Google SecOps インスタンスには、Workforce Identity プールが構成され、関連付けられています。
- 1 つの Workforce Identity プールに複数の Workforce プロバイダを設定できます。
各 Workforce プロバイダは、サードパーティの IdP を Workforce Identity プールと統合します。
Workforce Identity プールは Google SecOps 専用である必要があります。Google SecOps 用に作成されたプールを他の目的で使用することはできません。
Google SecOps にバインドされたプロジェクトを含む同じGoogle Cloud 組織に Workforce Identity プールが必要です。
Workforce プールとワーカー プロバイダのキー ID の値を定義する際のガイドラインは次のとおりです。
- Workforce Identity プール ID(
WORKFORCE_POOL_ID): Workforce Identity プールの範囲または目的を示す値を定義します。値は次の要件を満たす必要があります。- グローバルに一意でなければなりません。
- 使用できるのは、小文字の [a-z]、数字 [0-9]、ダッシュ [-] のみです。
- 先頭は小文字の [a-z] にする必要があります。
- 末尾は小文字の [a-z] または数字 [0-9] にする必要があります。
- 長さは 4~61 文字にできます。
- Workforce Identity プールの表示名(
WORKFORCE_POOL_DISPLAY_NAME): Workforce プールのわかりやすい名前を定義します。 - Workforce Identity プールの説明(
WORKFORCE_POOL_DESCRIPTION): Workforce プールの詳細な説明を定義します。 - Workforce プロバイダ ID(
WORKFORCE_PROVIDER_ID): それが表す IdP を示す値を定義します。値は次の要件を満たす必要があります。- 使用できるのは、小文字の [a-z]、数字 [0-9]、ダッシュ [-] のみです。
- 長さは 4~32 文字にできます。
- Workforce プロバイダの表示名(
WORKFORCE_PROVIDER_DISPLAY_NAME): Workforce プロバイダには、わかりやすい名前を定義します。32 文字未満で指定してください。 - Workforce プロバイダの説明(
WORKFORCE_PROVIDER_DESCRIPTION): Workforce プロバイダの詳細な説明を定義します。
IdP でユーザー属性とグループを定義する
IdP で SAML アプリケーションを作成する前に、Google SecOps の機能へのアクセスを構成するために必要なユーザー属性とグループを特定します。一般的なユーザー属性には次のものがあります。
- 件名
- メール
- 名
- 姓
- 表示名
このプロセスの次のフェーズでは、ユーザー グループと属性に関する情報が必要です。
SAML アプリケーションを構成するときに、計画時に定義したグループを作成します。アサーションでグループ メンバーシップを渡すように IdP SAML アプリケーションを構成します。
Workforce プロバイダを作成するときに、アサーション属性とグループを Google Cloud 属性にマッピングします。この情報は、ユーザーの ID の一部としてアサーション クレームで送信されます。
IdP アプリケーションを構成する
このセクションでは、 Google Cloud Workforce Identity 連携と Google SecOps と統合するために IdP SAML アプリケーションで必要な特定の構成のみについて説明します。詳細な手順については、IdP のドキュメントをご覧ください。
IdP でグループを作成します(まだ作成していない場合)。
効果的な手法として、Google SecOps インスタンスへのアクセスを管理するには、個々のユーザー アカウントではなくグループを使用します。Google は、デフォルトの Google SecOps ロールに直接対応するグループを IdP に作成することをおすすめします。
次の例をご覧ください。
Google SecOps のロール IdP グループ(推奨) Chronicle API 管理者 chronicle_secops_admins Chronicle API 編集者 chronicle_secops_editor Chronicle API 閲覧者 chronicle_secops_viewer IdP で新しい SAML アプリケーションを作成します。
次のようにアプリケーションを構成します。
Assertion Consumer Service(ACS)URL を指定します。これは、サービス プロバイダによってはシングル サインオン URL とも呼ばれます。
https://auth.backstory.chronicle.security/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID次のように置き換えます。
WORKFORCE_POOL_ID: Workforce Identity プールに定義した識別子。WORKFORCE_PROVIDER_ID: Workforce プロバイダに定義した識別子。
値の説明については、Workforce Identity プールとワーカー プロバイダを定義するをご覧ください。
次のエンティティ ID(SP エンティティ ID とも呼ばれます)を指定します。
https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_IDIdP で名前 ID を構成して、SAML レスポンスで
NameIDフィールドが返されるようにします。これは、組織ポリシーをサポートする値(メールアドレスやユーザー名など)に設定できます。この値の構成については、IdP のドキュメントをご覧ください。この要件の詳細については、Workforce Identity 連携のトラブルシューティングをご覧ください。
IdP からアプリケーション統合にユーザー情報を渡すことができる属性ステートメントを追加します。属性は、IdP の実装を計画したときに定義しました。
たとえば、次の表に、Okta、Microsoft AD FS、Entra ID などの一般的に使用される IdP で追加できるユーザー属性ステートメントを示します。
属性名 Okta 値(式) AD FS / Entra ID(ソース属性) subjectuser.emailuser.mailまたはuser.userprincipalnameemailaddressuser.emailuser.mailfirst_nameuser.firstNameuser.givennamelast_nameuser.lastNameuser.surnamedisplay_nameuser.displayNameuser.displaynameOkta IdP アプリケーションを構成する場合は、属性を追加するときに形式として [Unspecified] を選択してください。Microsoft AD FS または Entra ID を IdP として使用する場合は、名前空間を空白のままにします。
必要に応じて、IdP アプリケーションに
groupsなどのグループ属性を追加します。IdP 内のアプリケーションに適切なグループとユーザーを割り当てます。
これらのグループとユーザーには、Google SecOps へのアクセス権が付与されます。
アプリケーション メタデータ XML ファイルをダウンロードします。
次のセクションでは、Workforce ID プロバイダを構成するときにこのメタデータ ファイルを使用します。Google Cloud CLI を使用する場合は、Cloud Shell を使用して、このファイルをローカル システムから Google Cloud ホーム ディレクトリにアップロードする必要があります。
Workforce Identity 連携を構成する
このセクションでは、前のセクションで作成した IdP SAML アプリケーションを使用して Workforce Identity 連携を構成するために必要な具体的な手順のみ説明します。Workforce Identity プールの管理の詳細については、Workforce Identity プール プロバイダを管理するをご覧ください。
課金プロジェクトと割り当てプロジェクトを設定する
Google SecOps にバインドされたプロジェクトに対する必要な権限を持つユーザーとして、 Google Cloud コンソールを開きます。このユーザーはすでに特定または作成してあります。始める前にをご覧ください。
Cloud Shell セッションを開始する
gcloud CLI を使用して実行されるオペレーションに課金され、割り当てられる Google Cloud プロジェクトを設定します。次の
gcloudコマンドを例として使用します。gcloud config set billing/quota_project PROJECT_IDPROJECT_IDは、Google SecOps 用に Google Cloud プロジェクトを構成するで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID に置き換えます。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。割り当ての詳細については、次のドキュメントをご覧ください。
エラーが発生した場合は、割り当てエラーのトラブルシューティングをご覧ください。
Workforce Identity プールを作成して構成する
Workforce Identity プールを構成すると、外部 ID プロバイダ(IdP)と統合するか、Google Workspace または Cloud Identity と統合できます。
コンソール
Workforce Identity プールを作成するには、次の操作を行います。
Google Cloud コンソールで、[Workforce Identity プール] ページに移動します。
Workforce Identity プールの組織を選択します。Workforce Identity プールは、組織内のすべてのプロジェクトとフォルダで使用できます。
[プールを作成] をクリックして、次の操作を行います。
[名前] フィールドに、プールの表示名を入力します。プール ID は、入力した名前から自動的に取得され、[名前] フィールドの下に表示されます。プール ID を更新するには、プール ID の横にある [編集] をクリックします。
省略可: [説明] にプールの説明を入力します。
[次へ] をクリックします。
Workforce Identity プールのセッション継続時間は、デフォルトで 1 時間に設定されます。この継続時間は、 Google Cloud アクセス トークン、Google Cloud Workforce Identity 連携コンソール、gcloud CLI ログイン セッションの有効期間を決定します。プールを更新して、15 分~ 12 時間のカスタム セッション継続時間を設定できます。
gcloud
Workforce Identity プールを作成します。
次の
gcloudコマンドを例として使用します。gcloud iam workforce-pools create WORKFORCE_POOL_ID\ --location="global" \ --organization=ORGANIZATION_ID \ --description="WORKFORCE_POOL_DESCRIPTION" \ --display-name="WORKFORCE_POOL_DISPLAY_NAME" \ --session-duration=SESSION_DURATION次のように置き換えます。
WORKFORCE_POOL_ID: Workforce Identity プール ID に定義した値。ORGANIZATION_ID: 数値の組織 IDWORKFORCE_POOL_DESCRIPTION: Workforce Identity プールの説明(省略可)。WORKFORCE_POOL_DISPLAY_NAME: Workforce Identity プールのわかりやすい名前(省略可)。SESSION_DURATION: セッション継続時間の省略可能な値。sを付加した数値で表します(例:3600s)。この期間は、 Google Cloudアクセス トークン、Google Cloud Workforce Identity 連携コンソール、gcloud CLI ログイン セッションの有効期間を決定します。プールを更新して、15 分~ 12 時間のカスタム セッション継続時間を設定できます。
Google Workspace または Cloud Identity を使用して Google SecOps にログインするには、コマンドに
--allowed-services domain=backstory.chronicle.securityフラグと--disable-programmatic-signinフラグを追加します。gcloud iam workforce-pools create WORKFORCE_POOL_ID\ --location="global" \ --organization="ORGANIZATION_ID" \ --description="WORKFORCE_POOL_DESCRIPTION" \ --display-name="WORKFORCE_POOL_DISPLAY_NAME" \ --session-duration=SESSION_DURATION \ --allowed-services domain=backstory.chronicle.security \ --disable-programmatic-signinこのコマンドは、 Google Cloudへのログインをサポートしていない Workforce Identity プールを作成します。ログイン機能を有効にするには、シナリオごとに適切なフラグを使用する必要があります。
Chronicle API を有効にするよう求められたら、「
Yes」と入力します。
Workforce Identity プール プロバイダを作成する
Workforce Identity プール プロバイダは、Google Cloud 組織と IdP との関係を記述します。
コンソール
Workforce Identity プール プロバイダを構成する手順は次のとおりです。
Google Cloud コンソールで、[Workforce Identity プール] ページに移動します。
[Workforce Identity プール] テーブルで、プロバイダを作成するプールを選択します。
[プロバイダ] セクションで [ プロバイダを追加] をクリックします。
[プロバイダ ベンダーを選択] で、IdP を選択します。
IdP がリストにない場合は、[汎用 ID プロバイダ] を選択します。
[認証プロトコルを選択する] で、[SAML] を選択します。
[プロバイダの作成] セクションで、次の操作を行います。
[名前] にプロバイダの名前を入力します。
省略可: [説明] にプロバイダの説明を入力します。
[IdP メタデータ ファイル(XML)] で、このガイドの前半で生成したメタデータ XML ファイルを選択します。
[プロバイダを有効にする] がオンになっていることを確認します。
[続行] をクリックします。
[Share your provider information] セクションで、URL をコピーします。 IdP で、最初の URL をエンティティ ID として構成します。これにより、IdP でアプリケーションが識別されます。 もう一方の URL をリダイレクト URI として構成します。これにより、ログイン後のアサーション トークンの送信先が IdP に通知されます。
[続行] をクリックします。
[プロバイダの構成] セクションで、次の操作を行います。
[属性のマッピング] で、それぞれのボックスにマッピングを入力します。次に例を示します。
Google X(X は数字) SAML X(X は数字) google.subjectassertion.subjectgoogle.groupsassertion.attributes.groupsgoogle.display_nameassertion.attributes.display_name[0]attribute.first_nameassertion.attributes.first_name[0]attribute.last_nameassertion.attributes.last_name[0]attribute.user_emailassertion.attributes.emailaddress[0]省略可: IdP として Microsoft Entra ID を選択した場合は、次の操作によってグループ数を増加できます。
- [追加属性を使用する] を選択します。
- [追加属性の発行元 URI] フィールドに、発行元 URL を入力します。
- [追加属性のクライアント ID] フィールドに、クライアント ID を入力します。
- [追加属性のクライアント シークレット] フィールドに、クライアント シークレットを入力します。
- [追加属性のタイプ] リストで、追加属性の属性タイプを選択します。
- [追加属性フィルタ] フィールドに、グループの Microsoft Graph API をクエリするときに使用されるフィルタ式を入力します。
省略可: 属性条件を追加するには、[条件を追加] をクリックし、属性条件を表す CEL 式を入力します。たとえば、
ipaddr属性を特定の IP 範囲に制限するには、条件assertion.attributes.ipaddr.startsWith('98.11.12.')を設定します。この例の条件により、98.11.12.で始まる IP アドレスを持つユーザーだけが、この Workforce プロバイダを使用してログインできます。詳細な監査ロギングを有効にするには、[詳細なロギング] で [属性値の監査ロギングを有効にする] 切り替えボタンをクリックします。
プロバイダを作成するには、[送信] をクリックします。
gcloud
Workforce Identity プール プロバイダを構成する手順は次のとおりです。
[More] > をクリックして、SAML アプリケーション メタデータ ファイルを Cloud Shell のホーム ディレクトリにアップロードします。ファイルをアップロードできるのはホーム ディレクトリに限られます。Cloud Shell とローカル ワークステーションの間でファイルを転送するその他のオプションについては、Cloud Shell からファイルとフォルダをアップロードおよびダウンロードするをご覧ください。
Cloud Shell で SAML アプリケーション メタデータ XML ファイルをアップロードしたディレクトリ パスをメモします。このパスは次のステップで必要になります。
Workforce Identity プール プロバイダを作成し、IdP の詳細を指定します。
次の
gcloudコマンドを例として使用します。gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \ --workforce-pool="WORKFORCE_POOL_ID" \ --location="global" \ --display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \ --description="WORKFORCE_PROVIDER_DESCRIPTION" \ --idp-metadata-path=PATH_TO_METADATA_XML \ --attribute-mapping="ATTRIBUTE_MAPPINGS"値の説明については、実装を計画するをご覧ください。
次のように置き換えます。
WORKFORCE_PROVIDER_ID: Workforce プロバイダ ID に定義した値。WORKFORCE_POOL_ID: Workforce Identity プール ID に定義した値。WORKFORCE_PROVIDER_DISPLAY_NAME: Workforce プロバイダのわかりやすい名前(省略可)。32 文字未満で指定してください。WORKFORCE_PROVIDER_DESCRIPTION: Workforce プロバイダの説明(省略可)。PATH_TO_METADATA_XML: Cloud Shell を使用してアップロードしたアプリケーション メタデータ XML ファイルの Cloud Shell ディレクトリの場所(例:/path/to/sso_metadata.xml)。ATTRIBUTE_MAPPINGS: アサーション属性を Google Cloud 属性にマッピングする方法の定義。これらのマッピングの解釈には、Common Expression Language が使用されます。次に例を示します。google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.groups
前の例では、次の属性がマッピングされています。
assertion.subjectはgoogle.subjectにマッピング。これは最小要件です。assertion.attributes.name[0]はgoogle.display_nameにマッピング。assertion.attributes.groupsをgoogle.groups属性に渡します。
Google Security Operations(Google Security Operations SIEM と Google SecOps SOAR を含む)に対してこの構成を行う場合は、Google SecOps SOAR で必要な次の属性もマッピングする必要があります。
attribute.first_nameattribute.last_nameattribute.user_emailgoogle.groupsgoogle.display_name
したがって、完全なマッピングは次のようになります。
google.subject=assertion.subject,google.groups=assertion.attributes.groups,attribute.first_name=assertion.attributes.first_name[0],attribute.last_name=assertion.attributes.last_name[0],attribute.user_email=assertion.attributes.emailaddress[0],google.display_name=assertion.attributes.display_name[0]詳細については、Google SecOps SOAR のユーザーのプロビジョニングとマッピングをご覧ください。
デフォルトでは、Google SecOps は、大文字と小文字を区別しないアサーション属性名(
_assertion.attributes.groups_、_assertion.attributes.idpGroup_、_assertion.attributes.memberOf_)からグループ情報を読み取ります。アサーションでグループ メンバー情報を渡すように SAML アプリケーションを構成する場合は、グループ属性名を
_group_、_idpGroup_、または_memberOf_に設定します。コマンドの例では、
assertion.attributes.groupsをassertion.attributes.idpGroupまたはassertion.attributes.memberOfに置き換えることができます。これは、アサーションでグループ メンバー情報を含む IdP SAML アプリケーションで構成したグループ属性の名前を表します。次の例では、複数のグループを
google.groups属性にマッピングしています。google.groups="(has(assertion.attributes.idpGroup) ? assertion.attributes.idpGroup : []) + (has(assertion.attributes.groups) ? assertion.attributes.groups : []) + (has(assertion.attributes.memberof) ? assertion.attributes.memberof : [])"次の例では、特殊文字を含むグループ
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/groupをgoogle.groupsにマッピングしています。google.groups="assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group']"属性のマッピングの詳細については、属性のマッピングをご覧ください。
Google SecOps へのログインを有効にするためのロールを付与する
次の手順では、Workforce Identity プールのグループとユーザーが Google SecOps にログインできるように IAM を使用して特定のロールを付与する方法について説明します。先ほど作成した Google SecOps にバインドされた Google Cloud プロジェクトを使用して構成を行います。
コンソール
Google Cloud コンソールで、[IAM] ページに移動します。
Google SecOps にバインドされた Google Cloud プロジェクトを選択します。
[プリンシパル別に表示] タブで、[ アクセスを許可] をクリックします。
[プリンシパルの追加] セクションの [新しいプリンシパル] フィールドに、プリンシパル ID を入力します。
次に例を示します。
以前に作成した Workforce Identity プールと Workforce プロバイダを使用して管理されるすべての ID を追加するには、次のように入力します。
principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID特定のグループをプリンシパルとして追加するには、次のように入力します。
principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID
次のように置き換えます。
WORKFORCE_POOL_ID: Workforce Identity プール ID に定義した値。GROUP_ID: マッピングされたgoogle.groupsクレーム内のグループ。このグループは IdP で作成する必要があります。
[ロールを割り当てる] セクションで、Chronicle API 閲覧者(
roles/chronicle.viewer)などの該当する Chronicle API ロールを選択または検索します。[保存] をクリックします。
ロールを付与するプリンシパルごとに手順 3 ~ 5 を繰り返します。
gcloud
Google SecOps アプリケーションへのアクセス権を付与するユーザーまたはグループに Chronicle API 閲覧者(
roles/chronicle.viewer)ロールを付与します。- 次の例では、前に作成した Workforce Identity プールと Workforce プロバイダを使用して管理される ID に Chronicle API 閲覧者のロールを付与します。
gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/chronicle.viewer \ --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/*"次のように置き換えます。
PROJECT_ID: Google SecOps 用に Google Cloud プロジェクトを構成するで構成した Google SecOps にバインドされたプロジェクトのプロジェクト ID。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。WORKFORCE_POOL_ID: Workforce Identity プール ID に定義した値。特定のグループに Chronicle API 閲覧者のロールを付与するには、次のコマンドを実行します。
gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/chronicle.viewer \ --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"GROUP_ID: マッピングされたgoogle.groupsクレーム内のグループ。このグループは IdP で作成する必要があります。組織の要件を満たすように追加の IAM ポリシーを構成します。
必須: 認証を完了してユーザーが Google SecOps プラットフォームにアクセスできるようにするには、Google SecOps の SOAR 側からユーザー アクセスを構成する必要があります。詳細については、Google SecOps プラットフォームでユーザーをマッピングするをご覧ください。
前の手順を繰り返して、他のロールを付与します。
Google SecOps インスタンスへの SSO を構成する
サードパーティ IdP を Google SecOps と統合する最後のタスクは、SSO の構成です。この手順を完了すると、ユーザーは IdP 認証情報を使用して Google SecOps にログインできるようになります。
SSO を構成する手順は次のとおりです。
- Google Cloud コンソールで、[セキュリティ>Google SecOps] ページに移動します。
- [シングル サインオン] タブをクリックし、[Workforce Identity 連携] を選択します。
- 使用可能なプロバイダのリストから、Workforce Identity プール プロバイダを作成するで作成した Workforce Identity 連携プロバイダを選択します。
- [保存] をクリックします。
Workforce Identity 連携の構成を管理する
このセクションでは、プロバイダの設定を更新し、ユーザーのアクセスレベルが正しく構成されていることを確認する方法について説明します。
Google SecOps の機能アクセス制御を確認または構成する
google.groups 属性にマッピングされた属性またはグループを使用して Workforce Identity 連携を構成した場合、この情報は Google SecOps に渡され、Google SecOps 機能に RBAC を構成できます。
Google SecOps インスタンスに既存の RBAC 構成がある場合は、元の構成が想定どおりに動作することを確認します。
アクセス制御を構成していない場合は、IAM を使用して機能アクセス制御を構成するで、機能へのアクセスを制御する方法をご覧ください。
Workforce Identity 連携の構成を変更する
Workforce Identity プールまたは Workforce プロバイダを更新する必要がある場合は、構成の更新について Workforce Identity プール プロバイダを管理するをご覧ください。
SAML 従業員プール プロバイダの作成の鍵管理セクションで、IdP 署名鍵を更新してから、最新のアプリケーション メタデータ XML ファイルで Workforce プロバイダ構成を更新する方法について説明しています。
コンソール
特定の Workforce プールを更新するには:
[Workforce Identity プール] ページに移動します。
テーブルでプールを選択します。
プールのパラメータを更新します。
[プールを保存] をクリックします。
プロバイダを更新するには:
[Workforce Identity プール] ページに移動します。
テーブルで、プロバイダを更新するプールを選択します。
[プロバイダ] テーブルで、 [編集] をクリックします。
プロバイダの詳細を更新します。
更新したプロバイダの詳細を保存するには、[保存] をクリックします。
gcloud
以下に、Workforce プロバイダの構成を更新する gcloud コマンドの例を示します。
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location="global" \
--display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \
--description="WORKFORCE_PROVIDER_DESCRIPTION" \
--idp-metadata-path=PATH_TO_METADATA_XML \
--attribute-mapping="ATTRIBUTE_MAPPINGS"
以下を置き換えます。
WORKFORCE_PROVIDER_ID: Workforce プロバイダ ID に定義した値。WORKFORCE_POOL_ID: Workforce Identity プール ID に定義した値。WORKFORCE_PROVIDER_DISPLAY_NAME: Workforce プロバイダのわかりやすい名前。値は 32 文字未満で指定してください。WORKFORCE_PROVIDER_DESCRIPTION: Workforce プロバイダの説明。PATH_TO_METADATA_XML: 更新されたアプリケーション メタデータ XML ファイルの場所(例:/path/to/sso_metadata_updated.xml)。ATTRIBUTE_MAPPINGS: Google Cloud 属性にマッピングされたアサーション属性。次に例を示します。
google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.memberOf
構成に関する問題のトラブルシューティング
このプロセスでエラーが発生した場合は、Workforce Identity 連携のトラブルシューティングで一般的な問題の解決方法を確認してください。次のセクションでは、このドキュメントの手順で操作する際に発生する一般的な問題について説明します。
それでも問題が解決しない場合は、Google SecOps 担当者に連絡して、Chrome ネットワーク ログファイルをお知らせください。
コマンドが見つかりません
Workforce Identity プール プロバイダを作成し、IdP の詳細を指定すると、次のエラーが発生します。
Error: bash: --attribute-mapping=google.subject=assertion.subject,
google.display_name=assertion.attributes.name[0],
google.groups=assertion.attributes.groups: command not found
PATH_TO_METADATA_XML が、SAML アプリケーション メタデータ XML ファイルを Cloud Shell のホーム ディレクトリにアップロードした場所であることを確認します。
The caller does not have permission
コマンド gcloud projects add-iam-policy-binding を実行してユーザーまたはグループにロールを付与すると、次のエラーが発生します。
ERROR: (gcloud.organizations.add-iam-policy-binding) User [ ] does not have
permission to access organizations instance [538073083963:getIamPolicy]
(or it may not exist): The caller does not have permission
必要な権限があることを確認します。詳細については、必要なロールをご覧ください。
検証の失敗: リクエストにセッション ID がありません
認証を試みると、ブラウザに次のエラーが表示されます。
Verification failure: missing session ID in request
ACS とエンティティ ID のベース URL が正しいことを確認します。詳細については、IdP アプリケーションを構成するをご覧ください。
次のステップ
このドキュメントの手順を完了したら、以下のことを行います。
監査ロギングをまだ設定していない場合は、Google SecOps 監査ロギングを有効にして続行してください。
Google Security Operations を構成する場合は、Google Security Operations でユーザーのプロビジョニング、認証、マッピングを行うの追加手順を行います。
機能アクセスを構成するには、IAM を使用した機能アクセス制御を構成すると IAM での Google SecOps の権限の追加手順を行います。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。