このページでは、BeyondCorp Enterprise Policy Remediator を有効にして使用する方法について説明します。
ユーザーが Google Cloud リソースにアクセスしようとしたものの、そのリソースのアクセス ポリシーを遵守していない場合、アクセスは拒否され、一般的な 403 エラー メッセージが表示されます。ポリシー リメディエーターを使用すると、管理者に問い合わせる前に問題を修正するための手順をユーザーに提供できます。具体的な修復アクションはアクセス ポリシーによって異なりますが、画面ロックの有効化、オペレーティング システム(OS)バージョンの更新、会社で許可されているネットワークからアプリへのアクセスなどが該当します。
ポリシー リメディエーターを有効にする
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
次のコマンドを実行して、ポリシー リメディエーター マネージャー API を有効にします。
gcloud services enable policyremediatormanager.googleapis.com
ポリシー リメディエーター マネージャーを呼び出して、組織内のプロジェクトに対してポリシー リメディエーターを有効にします。これにより、サービス エージェントが作成されます。
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 です。
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 管理コンソールでサービス エージェント ロールを割り当てる
Google 管理コンソールにログインします。
[アカウント] > [管理者ロール] に移動し、[新しいロールを作成] をクリックします。
ロールの名前と説明(省略可)を入力し、[続行] をクリックします。
管理コンソールの権限で、[サービス] > [モバイルとデバイス管理] に移動し、[デバイスと設定の管理] 権限を選択します。
[Admin API 権限] で、[グループ] に移動し、[読み取り] 権限を選択します。
[続行] をクリックし、エントリを確認してロールの作成を完了します。
[サービス アカウントの割り当て] に移動し、新しく作成したサービス エージェントのメールアドレスを入力します。
[追加] > [ロールを割り当て] をクリックします。
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 リソースのポリシー リメディエーターを有効にする
この機能を使用するには、BeyondCorp Enterprise ライセンスが必要です。
Identity-Aware Proxy(IAP)ページに移動します。
IAP に移動リソースを選択し、[設定] をクリックします。
[アクセス権の修正] に移動し、[修復アクションを生成] を選択します。
リメディエーター ロールを付与する
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 や修復トークンなど)を含む BeyondCorp Enterprise ページにリダイレクトされます。ユーザーが修復トークンを開く権限がない場合は、修復トークンをコピーして、ヘルプデスクに送信して追加のサポートを受けることができます。
ポリシー属性と関連メッセージ
次の表に、ポリシー リメディエーターでサポートされる属性の一覧を示します。
属性 | デフォルトのメッセージ |
---|---|
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 を使用して接続する必要があるなど)。
- この属性はポリシー リメディエーターではサポートされていません。
- サービス エージェントには修正する権限がありません。