Vertex AI Workbench へのアクセスを制御する

組織またはプロジェクトの 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 へのアクセス権を付与する手順は次のとおりです。

  1. 組織内の GDCHRestrictedService ポリシータイプを特定します。

  2. ポリシーで aiplatform.gdc.goog API グループと Notebook 種類を見つけます。

  3. aiplatform.gdc.goog API グループと Notebook 種類がポリシーの kinds フィールドの唯一のコンテンツである場合は、GDCHRestrictedService リソースを削除します。

  4. GDCHRestrictedService ポリシーに他の制限付きサービスが含まれている場合は、kinds フィールドから aiplatform.gdc.goog API グループと Notebook 種類を削除し、ポリシーへの変更を保存します。