サードパーティの 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 による認証を設定する手順の概要について説明します。

  1. 必要なリソースを計画する。Workforce Identity プールとプロバイダの詳細を決定し、Google SecOps の機能へのアクセス権を構成するために必要なユーザー属性とグループを特定します。
  2. サードパーティの IdP アプリケーションを構成します。Workforce Identity 連携と Google SecOps と統合する IdP SAML アプリケーションを作成します。
  3. Workforce Identity 連携を構成します。Workforce Identity プールとプロバイダを構成し、IdP グループとユーザーに Google Cloud Identity and Access Management(IAM)ロールを付与します。
  4. 新しく作成したプロバイダを使用してシングル サインオン(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、 Google Cloud IAM Workforce Identity 連携、IdP 間の通信

Google SecOps、IAM Workforce Identity 連携、IdP 間の通信

大まかな通信は次のとおりです。

  1. ユーザーが Google SecOps に移動します。
  2. Google SecOps は、 Google CloudWorkforce Identity プールで IdP 情報を検索します。
  3. リクエストが IdP に送信されます。
  4. SAML アサーションは、 Google Cloud Workforce Identity プールに送信されます。
  5. 認証に成功すると、Google SecOps は、Workforce Identity プールで Workforce プロバイダを構成したときに定義された SAML 属性のみを受け取ります。

Google SecOps 管理者は、ID プロバイダでグループを作成し、アサーションでグループ メンバーシップ情報を渡すように SAML アプリケーションを構成してから、ユーザーとグループを Google SecOps の IAM の事前定義ロールに関連付けます。

始める前に

実装を計画する

このセクションでは、このドキュメントの手順を実行する前に決める事項と定義する情報について説明します。

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 のドキュメントをご覧ください。

  1. 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
  2. IdP で新しい SAML アプリケーションを作成します。

  3. 次のようにアプリケーションを構成します。

    1. 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 プールとワーカー プロバイダを定義するをご覧ください。

    2. 次のエンティティ ID(SP エンティティ ID とも呼ばれます)を指定します。

      https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
      
    3. IdP で名前 ID を構成して、SAML レスポンスで NameID フィールドが返されるようにします。

      これは、組織ポリシーをサポートする値(メールアドレスやユーザー名など)に設定できます。この値の構成については、IdP のドキュメントをご覧ください。この要件の詳細については、Workforce Identity 連携のトラブルシューティングをご覧ください。

  4. IdP からアプリケーション統合にユーザー情報を渡すことができる属性ステートメントを追加します。属性は、IdP の実装を計画したときに定義しました。

    たとえば、次の表に、Okta、Microsoft AD FS、Entra ID などの一般的に使用される IdP で追加できるユーザー属性ステートメントを示します。

    属性名 Okta 値(式) AD FS / Entra ID(ソース属性)
    subject user.email user.mail または user.userprincipalname
    emailaddress user.email user.mail
    first_name user.firstName user.givenname
    last_name user.lastName user.surname
    display_name user.displayName user.displayname

    Okta IdP アプリケーションを構成する場合は、属性を追加するときに形式として [Unspecified] を選択してください。Microsoft AD FS または Entra ID を IdP として使用する場合は、名前空間を空白のままにします。

    必要に応じて、IdP アプリケーションに groups などのグループ属性を追加します。

  5. IdP 内のアプリケーションに適切なグループとユーザーを割り当てます。

    これらのグループとユーザーには、Google SecOps へのアクセス権が付与されます。

  6. アプリケーション メタデータ XML ファイルをダウンロードします。

    次のセクションでは、Workforce ID プロバイダを構成するときにこのメタデータ ファイルを使用します。Google Cloud CLI を使用する場合は、Cloud Shell を使用して、このファイルをローカル システムから Google Cloud ホーム ディレクトリにアップロードする必要があります。

Workforce Identity 連携を構成する

このセクションでは、前のセクションで作成した IdP SAML アプリケーションを使用して Workforce Identity 連携を構成するために必要な具体的な手順のみ説明します。Workforce Identity プールの管理の詳細については、Workforce Identity プール プロバイダを管理するをご覧ください。

課金プロジェクトと割り当てプロジェクトを設定する

  1. Google SecOps にバインドされたプロジェクトに対する必要な権限を持つユーザーとして、 Google Cloud コンソールを開きます。このユーザーはすでに特定または作成してあります。始める前にをご覧ください。

  2. Cloud Shell セッションを開始する

  3. gcloud CLI を使用して実行されるオペレーションに課金され、割り当てられる Google Cloud プロジェクトを設定します。次の gcloud コマンドを例として使用します。

    gcloud config set billing/quota_project PROJECT_ID
    

    PROJECT_ID は、Google SecOps 用に Google Cloud プロジェクトを構成するで作成した Google SecOps にバインドされたプロジェクトのプロジェクト ID に置き換えます。プロジェクトを識別するフィールドの説明については、プロジェクトの作成と管理をご覧ください。

    割り当ての詳細については、次のドキュメントをご覧ください。

    エラーが発生した場合は、割り当てエラーのトラブルシューティングをご覧ください。

Workforce Identity プールを作成して構成する

Workforce Identity プールを構成すると、外部 ID プロバイダ(IdP)と統合するか、Google Workspace または Cloud Identity と統合できます。

コンソール

Workforce Identity プールを作成するには、次の操作を行います。

  1. Google Cloud コンソールで、[Workforce Identity プール] ページに移動します。

    [Workforce Identity プール] に移動

  2. Workforce Identity プールの組織を選択します。Workforce Identity プールは、組織内のすべてのプロジェクトとフォルダで使用できます。

  3. [プールを作成] をクリックして、次の操作を行います。

    1. [名前] フィールドに、プールの表示名を入力します。プール ID は、入力した名前から自動的に取得され、[名前] フィールドの下に表示されます。プール ID を更新するには、プール ID の横にある [編集] をクリックします。

    2. 省略可: [説明] にプールの説明を入力します。

  4. [次へ] をクリックします。

Workforce Identity プールのセッション継続時間は、デフォルトで 1 時間に設定されます。この継続時間は、 Google Cloud アクセス トークン、Google Cloud Workforce Identity 連携コンソール、gcloud CLI ログイン セッションの有効期間を決定します。プールを更新して、15 分~ 12 時間のカスタム セッション継続時間を設定できます。

gcloud

  1. 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: 数値の組織 ID
    • WORKFORCE_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 プールを作成します。ログイン機能を有効にするには、シナリオごとに適切なフラグを使用する必要があります。

  2. Chronicle API を有効にするよう求められたら、「Yes」と入力します。

Workforce Identity プール プロバイダを作成する

Workforce Identity プール プロバイダは、Google Cloud 組織と IdP との関係を記述します。

コンソール

Workforce Identity プール プロバイダを構成する手順は次のとおりです。

  1. Google Cloud コンソールで、[Workforce Identity プール] ページに移動します。

    [Workforce Identity プール] に移動

  2. [Workforce Identity プール] テーブルで、プロバイダを作成するプールを選択します。

  3. [プロバイダ] セクションで [ プロバイダを追加] をクリックします。

  4. [プロバイダ ベンダーを選択] で、IdP を選択します。

    IdP がリストにない場合は、[汎用 ID プロバイダ] を選択します。

  5. [認証プロトコルを選択する] で、[SAML] を選択します。

  6. [プロバイダの作成] セクションで、次の操作を行います。

    1. [名前] にプロバイダの名前を入力します。

    2. 省略可: [説明] にプロバイダの説明を入力します。

    3. [IdP メタデータ ファイル(XML)] で、このガイドの前半で生成したメタデータ XML ファイルを選択します。

    4. [プロバイダを有効にする] がオンになっていることを確認します。

    5. [続行] をクリックします。

  7. [Share your provider information] セクションで、URL をコピーします。 IdP で、最初の URL をエンティティ ID として構成します。これにより、IdP でアプリケーションが識別されます。 もう一方の URL をリダイレクト URI として構成します。これにより、ログイン後のアサーション トークンの送信先が IdP に通知されます。

  8. [続行] をクリックします。

  9. [プロバイダの構成] セクションで、次の操作を行います。

    1. [属性のマッピング] で、それぞれのボックスにマッピングを入力します。次に例を示します。

      Google X(X は数字) SAML X(X は数字)
      google.subject assertion.subject
      google.groups assertion.attributes.groups
      google.display_name assertion.attributes.display_name[0]
      attribute.first_name assertion.attributes.first_name[0]
      attribute.last_name assertion.attributes.last_name[0]
      attribute.user_email assertion.attributes.emailaddress[0]
    2. 省略可: IdP として Microsoft Entra ID を選択した場合は、次の操作によってグループ数を増加できます。

      1. [追加属性を使用する] を選択します。
      2. [追加属性の発行元 URI] フィールドに、発行元 URL を入力します。
      3. [追加属性のクライアント ID] フィールドに、クライアント ID を入力します。
      4. [追加属性のクライアント シークレット] フィールドに、クライアント シークレットを入力します。
      5. [追加属性のタイプ] リストで、追加属性の属性タイプを選択します。
      6. [追加属性フィルタ] フィールドに、グループの Microsoft Graph API をクエリするときに使用されるフィルタ式を入力します。
    3. 省略可: 属性条件を追加するには、[条件を追加] をクリックし、属性条件を表す CEL 式を入力します。たとえば、ipaddr 属性を特定の IP 範囲に制限するには、条件 assertion.attributes.ipaddr.startsWith('98.11.12.') を設定します。この例の条件により、98.11.12. で始まる IP アドレスを持つユーザーだけが、この Workforce プロバイダを使用してログインできます。

    4. 詳細な監査ロギングを有効にするには、[詳細なロギング] で [属性値の監査ロギングを有効にする] 切り替えボタンをクリックします。

  10. プロバイダを作成するには、[送信] をクリックします。

gcloud

Workforce Identity プール プロバイダを構成する手順は次のとおりです。

  1. [More] > をクリックして、SAML アプリケーション メタデータ ファイルを Cloud Shell のホーム ディレクトリにアップロードします。ファイルをアップロードできるのはホーム ディレクトリに限られます。Cloud Shell とローカル ワークステーションの間でファイルを転送するその他のオプションについては、Cloud Shell からファイルとフォルダをアップロードおよびダウンロードするをご覧ください。

  2. Cloud Shell で SAML アプリケーション メタデータ XML ファイルをアップロードしたディレクトリ パスをメモします。このパスは次のステップで必要になります。

  3. 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.subjectgoogle.subject にマッピング。これは最小要件です。
    • assertion.attributes.name[0]google.display_name にマッピング。
    • assertion.attributes.groupsgoogle.groups 属性に渡します。

    Google Security Operations(Google Security Operations SIEM と Google SecOps SOAR を含む)に対してこの構成を行う場合は、Google SecOps SOAR で必要な次の属性もマッピングする必要があります。

    • attribute.first_name
    • attribute.last_name
    • attribute.user_email
    • google.groups
    • google.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.groupsassertion.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/groupgoogle.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 プロジェクトを使用して構成を行います。

コンソール

  1. Google Cloud コンソールで、[IAM] ページに移動します。

    [IAM] に移動

  2. Google SecOps にバインドされた Google Cloud プロジェクトを選択します。

  3. [プリンシパル別に表示] タブで、[ アクセスを許可] をクリックします。

  4. [プリンシパルの追加] セクションの [新しいプリンシパル] フィールドに、プリンシパル 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 で作成する必要があります。
  5. [ロールを割り当てる] セクションで、Chronicle API 閲覧者(roles/chronicle.viewerなどの該当する Chronicle API ロールを選択または検索します。

  6. [保存] をクリックします。

  7. ロールを付与するプリンシパルごとに手順 3 ~ 5 を繰り返します。

gcloud

  1. 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/*"
    

    次のように置き換えます。

    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 で作成する必要があります。

  2. 組織の要件を満たすように追加の IAM ポリシーを構成します。

  3. 必須: 認証を完了してユーザーが Google SecOps プラットフォームにアクセスできるようにするには、Google SecOps の SOAR 側からユーザー アクセスを構成する必要があります。詳細については、Google SecOps プラットフォームでユーザーをマッピングするをご覧ください。

前の手順を繰り返して、他のロールを付与します。

Google SecOps インスタンスへの SSO を構成する

サードパーティ IdP を Google SecOps と統合する最後のタスクは、SSO の構成です。この手順を完了すると、ユーザーは IdP 認証情報を使用して Google SecOps にログインできるようになります。

SSO を構成する手順は次のとおりです。

  1. Google Cloud コンソールで、[セキュリティ>Google SecOps] ページに移動します。
  2. [シングル サインオン] タブをクリックし、[Workforce Identity 連携] を選択します。
  3. 使用可能なプロバイダのリストから、Workforce Identity プール プロバイダを作成するで作成した Workforce Identity 連携プロバイダを選択します。
  4. [保存] をクリックします。

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 プールを更新するには:

  1. [Workforce Identity プール] ページに移動します。

    [Workforce Identity プール] に移動

  2. テーブルでプールを選択します。

  3. プールのパラメータを更新します。

  4. [プールを保存] をクリックします。

プロバイダを更新するには:

  1. [Workforce Identity プール] ページに移動します。

    [Workforce Identity プール] に移動

  2. テーブルで、プロバイダを更新するプールを選択します。

  3. [プロバイダ] テーブルで、 [編集] をクリックします。

  4. プロバイダの詳細を更新します。

  5. 更新したプロバイダの詳細を保存するには、[保存] をクリックします。

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 のプロフェッショナルから回答を得ることができます。