組織またはプロジェクトの Vertex AI Workbench へのアクセス権を付与または制限できます。これを行うには、GDCHRestrictedService ポリシータイプを使用して組織のポリシーを定義します。これにより、Google Distributed Cloud(GDC)エアギャップで使用できるサービスを制限できます。適用すると、ポリシーは参照する API の使用を防止します。
たとえば、このポリシータイプを使用すると、Vertex AI Workbench の使用を特定のプロジェクトに制限できます。JupyterLab ノートブックを作成または更新できるのは、制限されていない組織またはプロジェクトのみです。また、チームが Vertex AI Workbench サービスを使用する前にテストを実行する必要があるため、このポリシーを使用して Vertex AI Workbench サービスへのアクセスを完全に制限することもできます。
このページでは、GDCHRestrictedService ポリシータイプを使用して Vertex AI Workbench へのアクセスを許可および制限する方法について説明します。組織のポリシーと GDCHRestrictedService 組織のポリシーを編集する方法については、組織のポリシーを構成するをご覧ください。
始める前に
組織またはプロジェクトの Vertex AI Workbench へのアクセス権を付与または制限するために必要な権限を取得するには、IAM 組織管理者に GDC 制限付きサービス ポリシー管理者(
gdchrestrictedservice-policy-admin)クラスタロールを付与するよう依頼してください。このロールは Namespace にバインドされていません。このロールの詳細については、IAM 権限を準備するをご覧ください。Management API サーバーの kubeconfig へのパスを定義します。
export KUBECONFIG=MANAGEMENT_API_SERVER_KUBECONFIG
制限を作成する
以降のセクションでは、プロジェクトの名前空間内の特定のサービスに対する制限を作成、更新、削除、表示する方法について説明します。
制限を作成または更新する
組織の制限を作成または更新するには、次のコマンドを実行します。
kubectl --kubeconfig=${KUBECONFIG} apply -f - <<EOF apiVersion: constraints.gatekeeper.sh/v1beta1 kind: GDCHRestrictedService metadata: name: NAME spec: match: scope: "Namespaced" namespaces: PROJECT_NAMESPACE kinds: - apiGroups: - "aiplatform.gdc.goog" kinds: - Notebook EOF
制限を削除する
制限を削除するには、次のコマンドを実行します。
kubectl delete GDCHRestrictedService NAME
制限を記述する
制限の説明を取得するには、次のコマンドを実行します。
kubectl describe GDCHRestrictedService NAME
組織の Vertex AI Workbench へのアクセスを制限する
組織の Vertex AI Workbench へのアクセスを制限するには、aiplatform.gdc.goog API グループと Notebook 種類をポリシーの kinds フィールドに追加して、GDCHRestrictedService ポリシータイプを編集します。
次の例は、組織全体で Vertex AI Workbench へのアクセスを制限する場合に、GDCHRestrictedService ポリシータイプで kinds フィールドがどのように表示されるかを示しています。
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: GDCHRestrictedService
metadata:
name: restrict-notebook-for-organization
spec:
match:
scope: "Namespaced"
kinds:
- apiGroups:
- "aiplatform.gdc.goog"
kinds:
- Notebook
[...]
組織の Vertex AI Workbench へのアクセスを復元するには、組織に Vertex AI Workbench へのアクセス権を付与するをご覧ください。
プロジェクトの Vertex AI Workbench へのアクセスを制限する
プロジェクトの Vertex AI Workbench へのアクセスを制限するには、プロジェクトの名前空間のポリシーの kinds フィールドに aiplatform.gdc.goog API グループと Notebook 種類を追加して、GDCHRestrictedService ポリシータイプを編集します。
組織のアクセスを制限する場合との違いは、ポリシーが影響する名前空間を指定する必要があることです。プロジェクトの名前空間を含む namespaces フィールドをポリシーに追加します。
次の例は、プロジェクトの Vertex AI Workbench へのアクセスを制限する場合に、GDCHRestrictedService ポリシータイプの kinds フィールドがどのように表示されるかを示しています。
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: GDCHRestrictedService
metadata:
name: restrict-notebook-for-organization
spec:
match:
scope: "Namespaced"
namespaces: [PROJECT_NAMESPACE]
kinds:
- apiGroups:
- "aiplatform.gdc.goog"
kinds:
- Notebook
[...]
PROJECT_NAMESPACE は、Vertex AI Workbench へのアクセスを制限するプロジェクトの名前空間に置き換えます。
組織に Vertex AI Workbench へのアクセス権を付与する
デフォルトでは、Distributed Cloud 組織は Vertex AI Workbench にアクセスできます。ただし、組織の Vertex AI Workbench へのアクセスを制限した場合は、アクセス権を再度付与できます。
組織内のすべてのプロジェクトに Vertex AI Workbench へのアクセス権を付与する手順は次のとおりです。
組織内の
GDCHRestrictedServiceポリシータイプを特定します。ポリシーで
aiplatform.gdc.googAPI グループとNotebook種類を見つけます。aiplatform.gdc.googAPI グループとNotebook種類がポリシーのkindsフィールドの唯一のコンテンツである場合は、GDCHRestrictedServiceリソースを削除します。GDCHRestrictedServiceポリシーに他の制限付きサービスが含まれている場合は、kindsフィールドからaiplatform.gdc.googAPI グループとNotebook種類を削除し、ポリシーへの変更を保存します。