Identity-Aware Proxy(IAP)を使用して、ワークステーション上のアプリケーションへのアクセスを制御します。IAP は一元的な認可レイヤを確立するため、ネットワーク レベルのファイアウォールに依存せずに、アプリケーション レベルでアクセスを管理できます。
ユーザー ID、グループ メンバーシップ、デバイスのセキュリティ、場所、IP アドレスなどのシグナルに基づいてアクセスを制御できます。ユーザーはウェブブラウザと HTTPS を使用してアプリケーションにアクセスし、IT チームはアクセス ポリシーを一元的に定義して適用します。
このドキュメントでは、クラスタ内のワークステーション上のアプリケーションで IAP を有効にする方法について説明します。次の図は、IAP が有効になっているクラスタを示しています。
始める前に
ワークステーションで IAP を有効にするには、クラスタに次のものが必要です。
- カスタム ドメイン: IAP は、カスタム ドメインを使用するワークステーション クラスタでのみサポートされます。
- アプリケーション ロードバランサ: このロードバランサは、Private Service Connect(PSC)エンドポイントを使用してすべての上り(内向き)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.com
EXPRESSION
: Common Expression Language(CEL)で記述された条件式。たとえば、この式を使用してアクセスレベルを指定し、コンテキストアウェア アクセスを構成できます。TITLE
: 条件のタイトル。DESCRIPTION
: 条件の説明(省略可)。Cloud Workstations は、個々のワークステーション リソースに構成された IAM ポリシーに基づいて IAM チェックを実行します。冗長性を回避するには、承認済みのワークステーション ユーザーすべてを含む広範なグループまたはドメイン全体に権限を付与するように IAP ポリシーを構成することを検討してください。このポリシーは主に、コンテキストアウェア アクセスを構成するアクセスレベルを指定するために使用します。
ユーザーへのアクセス権の付与の詳細については、gcloud iap web add-iam-policy-binding をご覧ください。