コンソールと API のアクセス ポリシーでユーザー アクティビティ条件を構成する

このドキュメントでは、コンソールと API のアクセス ポリシーでユーザー アクティビティ条件を構成する方法について説明します。ユーザー アクティビティ条件は、Security Command Center Event Threat Detection の 60 を超えるセキュリティ リスク指標に基づいており、その多くは特定のユーザー アクションによってトリガーされます。

コンソールと API のアクセス ポリシーにユーザー アクティビティに基づくリスク条件を追加することで、組織のセキュリティ ポスチャーを強化し、リスクベースの動的なアクセス制御を実現できます。

これらの条件を使用すると、定義されたリスクのしきい値を超えたときにユーザーに再認証を求めるプロンプトを表示することで、ID ベースの攻撃に大規模に事前に対処し、リスクを軽減できます。たとえば、既知の危険な IP アドレスからシステムにアクセスしようとしたり、通常ログインしない場所からログインしたり、セキュリティ対策を回避しようとする行動を示したりすると、再認証を求められます。

アクセス ポリシーにユーザー アクティビティ条件を追加してセキュリティ ポスチャーを強化する方法について詳しくは、 コンテキストアウェア アクセスによる Identity Threat Detection and Response(ITDR)をご覧ください。

始める前に

この機能を設定する際は、次の点に注意してください。

  • ユーザー アクティビティ条件はプレミアム機能であり、 Security Command Center Premium または Enterprise ライセンスが必要です。

  • ユーザー アクティビティ条件機能は、指定されたグループ内の Google Identity ユーザー アカウントでのみ使用できます。シングル サインオン(SSO)ユーザーとサービス アカウントは、この機能ではサポートされていません。

  • Workforce Identity 連携でユーザー アクティビティ条件を使用することはできません。

  • このドキュメントでは、アプリは、 Google Cloud コンソール、または Cloud Storage バケットや BigQuery からデータを取得するために使用できる Tableau アプリなどの カスタムアプリを指します。

アクセス ポリシーでユーザー アクティビティ条件を構成する

アクセス ポリシーは、次の方法で構成できます。

  • 新しいアクセス ポリシーとアクセスレベルを作成する。
  • アクセスレベルを作成または更新し、そのアクセスレベルをポリシーに追加する。

ユーザー アクティビティ条件を使用して新しいアクセス ポリシーとアクセスレベルを作成する

アクセスレベルとコンソールと API のアクセス ポリシーを作成する手順は次のとおりです。

コンソール

  1. コンソールで、[**コンソールと API のアクセス ポリシー**] ページを開きます。 Google Cloud

    [コンソールと API のアクセス ポリシー] に移動

  2. [組織を選択] プルダウン リストから組織を選択し、[選択] をクリックします。

  3. [アクセス ポリシーを追加] をクリックします。

  4. [アクセス ポリシーを作成] ダイアログで、アクセスを制限するグループを選択します。

  5. [Google Cloud にアクセスするアプリケーションの選択] で、アクセスを制限するアプリを 選択します。アクセス条件は、選択したアプリケーションに適用されます。アプリケーションを選択しない場合、条件はユーザー アクティビティ条件を除くすべてのアプリケーションへのアクセスを制限します。ユーザー アクティビティ条件は、 Google Cloud コンソールにのみ適用されます。

  6. [アクセスレベル] で、既存のドライラン アクセスレベルまたは アクティブなアクセスレベルを選択するか、新しいアクセスレベルを作成できます。

    1. アクセスレベルを作成するには、[新しいアクセスレベルを作成] をクリックします。

    2. [アクセスレベルのタイトル] フィールドに、アクセスレベルのタイトルを入力します。 タイトルは最大 50 文字です。先頭は英字にしてください。その後には、数字、英字、アンダースコア、スペースのみ使用できます。

    3. 条件を指定します プリンシパルがコンソールと API にアクセスできる。

    4. [ユーザー アクティビ 1] の [推奨設定] には、次のすべてのリスクタイプが含まれます。アクセスを判断する際に含めたくないリスクタイプは選択を解除します。

      • 不審なアクション: セキュリティ制限の削除や緩和など、悪意のある可能性があるアクション。
      • ID の評価: グループ メンバーシップの変更やアクティブ化(非休止状態)など、アカウントの設定や状態の変更。
      • 悪意のあるソース: 悪意のあるユーザーに関連付けられた IP アドレスなど、不審なソースからのアクティビティ。
      • アクションの繰り返し: Identity and Access Management(IAM)拒否など、アクセス試行の失敗が多すぎる。
      • 異常な場所: 新しい地理的エリア など、通常とは異なる場所からのアクセス。

      [Risk response] の [Require reauthentication] 設定は、以前に設定したユーザー アクティビティの条件に基づいて、Google が判断したユーザーのリスクしきい値を超えた場合に、ユーザーに再認証を要求することを示します。

    5. 複数の条件を作成した場合は、[Combine condition with] を使用して、アクセスレベルで 1 つの条件のみ(OR )、またはすべての条件(AND )を満たすリクエストが必要かどうかを指定します。

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

  7. [アクセス ポリシーを作成] ページで、次のいずれかを選択します。

    • ドライラン: ポリシーを適用する前に変更をテストします。ドライランから開始し、ポリシーの結果を使用して変更を加え、ポリシーを適用することをおすすめします。
    • 適用: ポリシーの適用を開始します。
    • キャンセル: ポリシーをキャンセルします。

gcloud

  1. custom-level-spec.yaml YAML ファイルを作成します。

    expression: "noRiskSignals(userRisk, [RiskType.IDENTITY_REPUTATION, RiskType.MALICIOUS_SOURCE])"
    
    
  2. 次のコマンドを実行します。

    gcloud access-context-manager levels create risk_based_access_level\
      --title=TITLE \
      --custom-level-spec=YAML_FILE \
      --description="A risk-based access level" \
      --policy=POLICY_NAME
    

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

    • TITLE: アクセスレベルの説明タイトル。
    • YAML_FILE: カスタム アクセスレベル仕様の YAML ファイル(custom-level-spec.yaml など)。
    • POLICY_NAME: Access Context Manager ポリシーの名前。
  3. アクセスレベルをポリシーにバインドします。

アクセスレベルを作成または更新してポリシーに追加する

ポリシーにユーザー アクティビティ条件を含めるには、新しいアクセスレベルを作成するか、既存のアクセスレベルを更新して、そのアクセスレベルをポリシーに追加します。

コンソール

  1. アクセスレベルの作成または更新時にユーザー アクティビティ条件を追加するには、 次のドキュメントの手順に沿って操作し、 [User Activity]を指定します。

  2. ユーザー アクティビティを含むアクセスレベルを既存のポリシーに追加するには、 アクセス ポリシーを更新 してアクセスレベルを追加します。

gcloud

  1. ユーザー アクティビティ条件を使用してアクセスレベルを作成します。

    gcloud access-context-manager levels create risk_based_access_level \
      --title=TITLE \
      --custom-level-spec=risk_level.yaml \
      --description="A risk-based access level" \
      --policy=POLICY_NAME
    

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

    • TITLE: アクセスレベルの説明タイトル(NoAtypicalLocationRisk など)。
    • risk_level.yaml: 前の手順で作成した YAML ファイルのパス。
    • POLICY_NAME: アクセスレベルを追加する Access Context Manager ポリシーの名前。

    risk_level.yaml YAML ファイルの例:

    expression: "noRiskSignals(userRisk, [RiskType.ATYPICAL_LOCATION, RiskType.BAD_NETWORK_SIGNALS])"
    

    この式は、ユーザーのリスクに異常な場所や不良なネットワーク信号が含まれていない場合に、アクセスレベルが付与されることを指定します。

  2. アクセスレベルをスコープとグループにバインドします。

    gcloud access-context-manager cloud-bindings create \
    --group-key=GROUP_KEY \
    --organization=ORGANIZATION_ID \
    --binding-file=BINDING_YAML
    

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

    • GROUP_KEY: Google グループのメールアドレスまたは ID。
    • ORGANIZATION_ID: 組織の ID。
    • BINDING_YAML: YAML 構成ファイル。

    YAML ファイルの例:

    scopedAccessSettings:
     - scope:
         clientScope:
           restrictedClientApplication:
             name: Cloud Console
       activeSettings:
         accessLevels:
         - accessPolicies/123/accessLevels/access_level_1
       dryRunSettings:
         accessLevels:
         - accessPolicies/123/accessLevels/dry_run_access_level_1
    

ユーザー アクティビティ条件を含むアクセスレベルをアクセス ポリシーに追加する

リスクベースのアクセスレベルを既存のポリシーに追加するには、 アクセス ポリシーを更新 してアクセスレベルを追加します。