ポリシー リメディエーターを使用したアクセス拒否の修正

このページでは、Chrome Enterprise Premium ポリシー リメディエーターを有効にして使用する方法について説明します。

ユーザーが Google Cloud リソースにアクセスしようとしたが、リソースのアクセス ポリシーに準拠していない場合、アクセスは拒否され、一般的な 403 エラー メッセージが表示されます。ポリシー リメディエーターを使用すると、管理者に問い合わせる前に問題を修正するための手順をユーザーに提供できます。具体的な修復アクションはアクセス ポリシーによって異なりますが、画面ロックの有効化、オペレーティング システム(OS)バージョンの更新、会社で許可されているネットワークからアプリへのアクセスなどが該当します。

ポリシー リメディエーターを有効にする

  1. Google Cloud CLI で次のコマンドを実行して、組織管理者に組織レベルの roles/policyremediatormanager.policyRemediatorAdmin ロールを付与します。

    gcloud organizations add-iam-policy-binding 'organizations/ORGANIZATION_ID' \
        --member PRINCIPAL \
        --role roles/policyremediatormanager.policyRemediatorAdmin
    

    以下を置き換えます。

    • ORGANIZATION_ID: Google Cloud 組織 ID。
    • PRINCIPAL: プリンシパルまたはメンバーの識別子。通常、PRINCIPAL_TYPE:ID の形式で指定します。例: user:my-user@example.com
  2. 次のコマンドを実行して、ポリシー リメディエーター マネージャー API を有効にします。

    gcloud services enable policyremediatormanager.googleapis.com
    
  3. ポリシー リメディエーター マネージャーを呼び出して、組織内のプロジェクトに対してポリシー リメディエーターを有効にします。これにより、サービス エージェントが作成されます。

    curl -X POST \
    "https://policyremediatormanager.googleapis.com/v1alpha/organizations/ORGANIZATION_ID/locations/global/remediatorService:enable"  \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --header 'X-Goog-User-Project:PROJECT_ID'
    

    以下を置き換えます。

    • ORGANIZATION_ID: Google Cloud 組織 ID。
    • ACCESS_TOKEN: 次のコマンドを使用してアクセス トークンを生成します。
      gcloud auth print-access-token
      
    • PROJECT_ID: Google Cloud プロジェクト ID。

    サービス エージェントの詳細を含むレスポンスの例を次に示します。

    {
    "name": "organizations/ORGANIZATION_ID/locations/global/operations/",
    "metadata": {
      "@type":
    "type.googleapis.com/google.cloud.policyremediatormanager.remediatorservicemanager.v1alph
    a.OperationMetadata",
       "createTime": "",
       "target": "organizations/ORGANIZATION_ID/locations/global/remediatorService",
       "verb": "update",
       "requestedCancellation": false,
       "apiVersion": "v1alpha"
     },
     "done": false
    }
    

    ここで、ORGANIZATION_ID は Google Cloud の組織 ID です。

  4. Google Cloud CLI で次のコマンドを実行して、作成したサービス エージェントにアクセスします。

    curl -X GET \
    "https://policyremediatormanager.googleapis.com/v1alpha/organizations/ORGANIZATION_ID/locations/global/remediatorService" \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --header 'X-Goog-User-Project:PROJECT_ID'
    

    以下を置き換えます。

    • ORGANIZATION_ID: Google Cloud 組織 ID。
    • ACCESS_TOKEN: 次のコマンドを使用してアクセス トークンを生成します。
      gcloud auth print-access-token
      
    • PROJECT_ID: Google Cloud プロジェクト ID。

    次の形式でサービス エージェント メールが送信されます。

    {
    "name": "organizations/ORGANIZATION_ID/locations/global/remediatorService",
    "state": "ENABLED",
    "serviceAccountEmail": "service-org-ORGANIZATION_ID@gcp-sa-v1-remediator.iam.gserviceaccount.com"
    }
    

    ここで、ORGANIZATION_ID は Google Cloud の組織 ID です。

Google 管理コンソールでサービス エージェント ロールを割り当てる

  1. Google 管理コンソールにログインします。

    Google 管理コンソールに移動

  2. [アカウント] > [管理者ロール] に移動し、[新しいロールを作成] をクリックします。

    • ロールの名前と説明(省略可)を入力し、[続行] をクリックします。

    • [管理コンソール権限] で、[サービス] > [モバイルとデバイスの管理] に移動し、[デバイスと設定の管理] 権限を選択します。

    • [管理 API の権限] で [グループ] に移動し、[読み取り] 権限を選択します。

    • [続行] をクリックし、入力内容を確認して、ロールの作成を完了します。

    • [サービス アカウントの割り当て] に移動し、新しく作成したサービス エージェントのメールアドレスを入力します。

    • [追加] > [ロールを割り当て] をクリックします。

  3. Google Cloud CLI で次のコマンドを実行して、組織レベルでサービス エージェント(policyremediator.serviceAgent)ロールをサービス エージェントに付与します。これにより、サービス エージェントに、組織の Identity and Access Management などのアクセス ポリシーを読み取る権限が付与されます。

    gcloud organizations add-iam-policy-binding 'organizations/' \
       --member='serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-v1-remediator.iam.gserviceaccount.com' \
       --role='roles/policyremediator.serviceAgent'
    

    ORGANIZATION_ID は、 Google Cloud 組織 ID に置き換えます。

IAP リソースでポリシー リメディエーターを有効にする

この機能を使用するには、Chrome Enterprise Premium ライセンスが必要です。

  1. [Identity-Aware Proxy(IAP)] ページに移動します。
    IAP に移動

  2. リソースを選択し、[設定] をクリックします。

  3. [アクセスの修復] に移動し、[修復アクションを生成する] を選択します。

リメディエーター ロールを付与する

IAP リソースへの拒否されたアクセスを修正する権限をユーザーに付与するには、Google Cloud CLI で次のコマンドを実行します。

gcloud iap web add-iam-policy-binding \
    --member='PRINCIPAL' \
    --role='roles/iap.remediatorUser'

PRINCIPAL は、プリンシパルまたはメンバーの識別子に置き換えます。通常、PRINCIPAL_TYPE:ID の形式です。例: user:my-user@example.com

詳細については、gcloud iap web add-iam-policy-binding をご覧ください。

プロジェクト レベルで IAP リソースへのアクセスを修正する権限をユーザーに付与するには、Google Cloud CLI で次のコマンドを実行します。

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member PRINCIPAL \
    --role roles/iap.remediatorUser

以下を置き換えます。

  • PROJECT_ID: Google Cloud プロジェクト ID。
  • PRINCIPAL: プリンシパルまたはメンバーの識別子。通常、PRINCIPAL_TYPE:ID の形式で指定します。例: user:my-user@example.com

ヘルプデスクで修正する

エンドユーザーのアクセスが拒否されると、トラブルシューティングの URL や修正トークンなどのトラブルシューティング情報が記載された [Chrome Enterprise Premium] ページにリダイレクトされます。ユーザーに修復トークンを開く権限がない場合は、修復トークンをコピーしてヘルプデスクに送信し、追加のサポートを依頼できます。

ポリシー属性と関連するメッセージ

次の表に、ポリシー リメディエーターでサポートされている属性を示します。

属性 デフォルトのメッセージ
ip_address 会社で許可されていないネットワーク
からアプリにアクセスしています。
region_code 会社で許可されているリージョン
からこのアプリにアクセスします。
is_secured_with_screenlock デバイスで画面ロック パスワードを設定してください。
デバイスで画面ロック パスワードをオフにします。
verified_chrome_os 検証済みの [OS タイプ] があるデバイスを使用します。
検証済みの [OS タイプ] がないデバイスを使用します。
is_admin_approved_device 組織の管理者によって承認されているデバイスを使用します。
組織の管理者によって承認されていないデバイスを使用します。
is_corp_owned_device 組織が所有していないデバイスを使用します。
組織が所有していないデバイスを使用します。
encryption_status 暗号化されたデバイスを使用します。
暗号化されていないデバイスを使用します。
os_type [OS タイプ] のデバイスに切り替えます。
[OS タイプ] のデバイスはこのアプリにアクセスできません。
os_version [バージョン] 以上の OS バージョンに更新します。
OS を [バージョン] より前のバージョンにダウングレードします。

トラブルシューティング

次のいずれかが発生すると、ポリシー リメディエーターは修復を生成できません。

  • リソースに矛盾するポリシーがある(ユーザーが Windows と macOS を使用して接続する必要があるなど)。
  • この属性はポリシー リメディエーターではサポートされていません。
  • サービス エージェントに修正する権限がありません。