Contrôler l'accès à Vertex AI Workbench

Vous pouvez accorder et restreindre l'accès à Vertex AI Workbench pour une organisation ou un projet. Pour ce faire, vous définissez une règle d'administration à l'aide du type de règle GDCHRestrictedService, qui vous permet de limiter les services que vous pouvez utiliser sur Google Distributed Cloud (GDC) avec isolation physique. Lorsqu'elle est appliquée, la règle empêche l'utilisation des API auxquelles elle fait référence.

Par exemple, vous pouvez utiliser ce type de règle pour limiter l'utilisation de Vertex AI Workbench à des projets spécifiques. Seuls les projets ou les organisations non restreints peuvent créer ou mettre à jour des notebooks JupyterLab. Vous pouvez également utiliser la règle pour restreindre complètement l'accès au service Vertex AI Workbench, car vous souhaitez effectuer des tests avant d'autoriser vos équipes à l'utiliser.

Cette page explique comment accorder et limiter l'accès à Vertex AI Workbench à l'aide du type de stratégie GDCHRestrictedService. Pour en savoir plus sur les règles d'administration et sur la modification de la règle d'administration GDCHRestrictedService, consultez Configurer des règles d'administration.

Avant de commencer

  • Pour obtenir les autorisations nécessaires pour accorder ou restreindre l'accès à Vertex AI Workbench pour une organisation ou un projet, demandez à l'administrateur IAM de votre organisation de vous accorder le rôle de cluster Administrateur de règles de service restreint GDC (gdchrestrictedservice-policy-admin). Ce rôle n'est pas lié à un espace de noms. Pour en savoir plus sur ce rôle, consultez Préparer les autorisations IAM.

  • Définissez le chemin d'accès au fichier kubeconfig de votre serveur d'API de gestion :

    export KUBECONFIG=MANAGEMENT_API_SERVER_KUBECONFIG
    

Créer des restrictions

Les sections suivantes expliquent comment créer, mettre à jour, supprimer et afficher des restrictions pour des services spécifiques dans les espaces de noms de votre projet.

Créer ou modifier des restrictions

  • Pour créer ou mettre à jour des restrictions pour votre organisation, exécutez la commande suivante :

    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
    

Supprimer une restriction

  • Pour supprimer des restrictions, exécutez la commande suivante :

    kubectl delete GDCHRestrictedService NAME 
    

Décrire une restriction

  • Pour décrire les restrictions, exécutez la commande suivante :

    kubectl describe GDCHRestrictedService NAME 
    

Limiter l'accès à Vertex AI Workbench pour votre organisation

Pour limiter l'accès à Vertex AI Workbench pour votre organisation, modifiez le type de règle GDCHRestrictedService en ajoutant le groupe d'API aiplatform.gdc.goog et le genre Notebook au champ kinds de la règle.

L'exemple suivant montre à quoi ressemble le champ kinds dans le type de règle GDCHRestrictedService lorsque vous limitez l'accès à Vertex AI Workbench pour l'ensemble de votre organisation :

apiVersion: constraints.gatekeeper.sh/v1beta1
kind: GDCHRestrictedService
metadata:
  name: restrict-notebook-for-organization
spec:
  match:
    scope: "Namespaced"
    kinds:
    - apiGroups:
      - "aiplatform.gdc.goog"
      kinds:
      - Notebook

# [...]

Pour restaurer l'accès d'une organisation à Vertex AI Workbench, consultez Accorder l'accès à Vertex AI Workbench pour votre organisation.

Limiter l'accès à Vertex AI Workbench pour un projet

Pour limiter l'accès à Vertex AI Workbench pour un projet, modifiez le type de règle GDCHRestrictedService en ajoutant le groupe d'API aiplatform.gdc.goog et le genre Notebook au champ kinds de la règle pour l'espace de noms du projet.

La différence avec la restriction de l'accès pour une organisation est que vous devez spécifier l'espace de noms que la règle doit affecter. Ajoutez le champ namespaces à la stratégie avec l'espace de noms de votre projet.

L'exemple suivant montre à quoi ressemble le champ kinds dans le type de règle GDCHRestrictedService lorsque vous limitez l'accès à Vertex AI Workbench pour un projet :

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

# [...]

Remplacez PROJECT_NAMESPACE par l'espace de noms du projet dans lequel vous souhaitez restreindre l'accès à Vertex AI Workbench.

Accorder l'accès à Vertex AI Workbench pour votre organisation

Par défaut, les organisations Distributed Cloud ont accès à Vertex AI Workbench. Toutefois, si vous avez restreint l'accès à Vertex AI Workbench pour votre organisation, vous pouvez l'accorder à nouveau.

Pour accorder l'accès à Vertex AI Workbench pour tous les projets de votre organisation, procédez comme suit :

  1. Identifiez le type de stratégie GDCHRestrictedService dans votre organisation.

  2. Recherchez le groupe d'API aiplatform.gdc.goog et le genre Notebook dans la règle.

  3. Si le groupe d'API aiplatform.gdc.goog et le genre Notebook sont les seuls contenus du champ kinds de la règle, supprimez la ressource GDCHRestrictedService.

  4. Si la règle GDCHRestrictedService contient d'autres services restreints, supprimez le groupe d'API aiplatform.gdc.goog et le genre Notebook du champ kinds, puis enregistrez les modifications apportées à la règle.