Identity-Aware Proxy(IAP)を使用して、ワークステーション上のアプリケーションへのアクセスを制御します。IAP は一元的な認可レイヤを確立するため、ネットワーク レベルのファイアウォールに依存せずに、アプリケーション レベルでアクセスを管理できます。
ユーザー ID、グループ メンバーシップ、デバイスのセキュリティ、場所、IP アドレス、その他のシグナルに基づいてアクセスを制御できます。ユーザーはウェブブラウザと HTTPS を使用してアプリケーションにアクセスし、IT チームはアクセス ポリシーを一元的に定義して適用します。
このドキュメントでは、クラスタ内のワークステーション上のアプリケーションで IAP を有効にする方法について説明します。次の図は、IAP が有効になっているクラスタを示しています。
始める前に
ワークステーションで IAP を有効にする前に、クラスタに次のものが必要です。
- カスタム ドメイン: IAP は、カスタム ドメインを使用するワークステーション クラスタでのみサポートされます。
- アプリケーション ロードバランサ: このロードバランサは、Private Service Connect(PSC)エンドポイントを使用してすべての Ingress HTTP トラフィックを処理し、IAP を構成できるようにします。
これらのコンポーネントを設定するには、Cloud Workstations のカスタム ドメインを設定するをご覧ください。
プロキシを有効にする
ワークステーションで IAP を有効にする手順は次のとおりです。
-
次のコマンドを実行して、クラスタのアプリケーション ロードバランサで IAP を有効にします。
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \ --global
次のように置き換えます。
BACKEND_SERVICE_NAME: クラスタのカスタム ドメインの設定時に作成したバックエンド サービスの名前。CLIENT_ID: OAuth 2.0 クライアント ID。CLIENT_SECRET: OAuth 2.0 クライアント シークレット。
IAP を有効にしたアプリケーション ロードバランサの設定の詳細については、ロードバランサで IAP を有効にするをご覧ください。
-
ドメイン内のユーザーにアクセス権を付与します。
gcloud iap web add-iam-policy-binding \ --resource-type=backend-services \ --service=BACKEND_SERVICE_NAME \ --member='PRINCIPAL' \ --role='roles/iap.httpsResourceAccessor' \ --condition="expression=EXPRESSION,title=TITLE,description=DESCRIPTION"
次のように置き換えます。
BACKEND_SERVICE_NAME: バックエンド サービスの名前。PRINCIPAL: アクセス権を付与するプリンシパル。例:group:my-group@example.com、user:test-user@example.com、またはdomain:example.comEXPRESSION: Common Expression Language(CEL)で記述された条件式。たとえば、この式を使用してアクセスレベルを指定し、コンテキストアウェア アクセスを構成できます。TITLE: 条件のタイトル。DESCRIPTION: 条件の説明(省略可)。
Cloud Workstations は、個々のワークステーション リソースに構成された IAM ポリシーに基づいて IAM チェックを実行します。冗長性を回避するには、承認されたすべてのワークステーション ユーザーまたはドメイン全体を含む幅広いグループに権限を付与するように IAP ポリシーを構成することを検討してください。このポリシーは、主にアクセスレベルを指定してコンテキストアウェア アクセスを構成するために使用できます。
ユーザーにアクセス権を付与する方法については、
gcloud iap web add-iam-policy-bindingをご覧ください。