組織またはプロジェクトに対して Vertex AI Workbench へのアクセス権を付与したり、制限したりできます。これを行うには、GDCHRestrictedService ポリシータイプを使用して組織のポリシーを定義します。これにより、Google Distributed Cloud(GDC)エアギャップで使用できるサービスを制限できます。このポリシーが適用されると、参照されている API の使用が禁止されます。
たとえば、このポリシータイプを使用して、Vertex AI Workbench の使用を特定のプロジェクトに制限できます。JupyterLab ノートブックを作成または更新できるのは、制限のない組織またはプロジェクトのみです。また、チームが使用する前にテストを実行するため、このポリシーを使用して Vertex AI Workbench サービスへのアクセスを完全に制限することもできます。
このページでは、GDCHRestrictedService ポリシータイプを使用して Vertex AI Workbench へのアクセス権を付与および制限する方法について説明します。組織のポリシーと GDCHRestrictedService 組織のポリシーを編集する方法の詳細については、組織のポリシーを構成するをご覧ください。
始める前に
組織またはプロジェクトに対する Vertex AI Workbench へのアクセス権を付与または制限するために必要な権限を取得するには、組織の IAM 管理者に GDC 制限付きサービス ポリシー管理者(
gdchrestrictedservice-policy-admin)クラスタロールを付与するよう依頼します。このロールは Namespace にバインドされていません。このロールの詳細については、IAM 権限を準備するをご覧ください。管理 API サーバーの kubeconfig のパスを定義します。
export KUBECONFIG=MANAGEMENT_API_SERVER_KUBECONFIG
制限を作成する
以降のセクションでは、プロジェクト Namespace 内の特定のサービスの制限を作成、更新、削除、表示する方法について説明します。
制限を作成または更新する
組織の制限を作成または更新するには、次のコマンドを実行します。
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 へのアクセスを制限するには、GDCHRestrictedService ポリシータイプを編集して、aiplatform.gdc.goog API グループと Notebook 種類をポリシーの kinds フィールドに追加します。
次の例は、組織全体で 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 へのアクセスを制限するには、プロジェクト Namespace のポリシーの kinds フィールドに aiplatform.gdc.goog API グループと Notebook 種類を追加して、GDCHRestrictedService ポリシータイプを編集します。
組織のアクセスを制限する場合との違いは、ポリシーが影響する名前空間を指定する必要があることです。プロジェクトの Namespace を使用して、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 へのアクセスを制限するプロジェクトの Namespace に置き換えます。
組織の 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種類を削除し、ポリシーの変更を保存します。