Gérer l'accès à une instance
Ce guide explique comment accorder l'accès à une instance Vertex AI Workbench spécifique. Pour gérer l'accès aux ressources Vertex AI, consultez la page Vertex AI sur le contrôle des accès.
Vous accordez l'accès à une instance Vertex AI Workbench en définissant une stratégie IAM (Identity and Access Management) sur l'instance. Cette stratégie associe un ou plusieurs comptes principaux, tels qu'un utilisateur ou un compte de service, à un ou plusieurs rôles. Chaque rôle contient une liste d'autorisations permettant au compte principal d'interagir avec l'instance.
Vous pouvez accorder l'accès à une instance plutôt qu'à une ressource parente (telle qu'un projet, un dossier ou une organisation), afin d'appliquer le principe du moindre privilège.
Si vous accordez l'accès à une ressource parente (par exemple à un projet), vous accordez implicitement l'accès à toutes ses ressources enfants (par exemple, à toutes les instances de ce projet). Pour limiter l'accès aux ressources, définissez les stratégies IAM sur les ressources de niveau inférieur lorsque cela est possible, plutôt qu'au niveau du projet ou à un niveau supérieur.
Pour obtenir des informations générales sur la manière d'accorder, de modifier et de révoquer l'accès à des ressources non liées à Vertex AI Workbench (par exemple, pour accorder l'accès à un projet Google Cloud), consultez la documentation IAM pour Gérer l'accès aux projets, aux dossiers et aux organisations.
Limites d'accès
L'accès à une instance peut inclure un large éventail de fonctionnalités, en fonction du rôle que vous attribuez au compte principal. Vous pouvez par exemple autoriser un compte principal à démarrer, arrêter, mettre à jour et surveiller l'état d'une instance. Pour obtenir la liste complète des autorisations IAM disponibles, consultez la section Rôles IAM prédéfinis pour Vertex AI Workbench.
Toutefois, même si vous accordez à un compte principal un accès complet à une instance Vertex AI Workbench, vous ne pouvez pas utiliser l'interface JupyterLab de l'instance. Pour accorder l'accès à l'interface JupyterLab, consultez la section Gérer l'accès à l'interface JupyterLab d'une instance.
Accorder l'accès aux instances Vertex AI Workbench
Pour autoriser les utilisateurs à accéder à une instance Vertex AI Workbench spécifique, définissez une stratégie IAM pour l'instance.
gcloud
Pour accorder un rôle à un compte principal sur une instance Vertex AI Workbench, utilisez la commande get-iam-policy
pour récupérer la stratégie actuelle, modifiez les modalités d'accès définies au sein de celle-ci, puis utilisez la commande set-iam-policy
pour mettre à jour la stratégie sur l'instance.
Récupérer la stratégie actuelle
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- INSTANCE_NAME : nom de votre instance
- PROJECT_ID : ID de votre projet Google Cloud.
- ZONE : zone où se trouve votre instance.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud workbench instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE
Windows (PowerShell)
gcloud workbench instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE
Windows (cmd.exe)
gcloud workbench instances get-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE
{ "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 }
Modifier la stratégie
Modifiez la stratégie à l'aide d'un éditeur de texte pour ajouter ou supprimer des comptes principaux et les rôles qui leur sont associés. Par exemple, pour accorder le rôle
notebooks.admin
àeve@example.com
, ajoutez la nouvelle liaison suivante à la stratégie dans la section"bindings"
:{ "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] }
La stratégie ressemble à ceci après l'ajout de la nouvelle liaison :
{ "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] }, { "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 }
Enregistrez la stratégie mise à jour dans un fichier nommé
request.json
.
Mettre à jour la stratégie sur l'instance
Dans le corps de la requête, indiquez la stratégie IAM mise à jour lors de l'étape précédente, imbriquée dans une section "policy"
.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- INSTANCE_NAME : nom de votre instance
- PROJECT_ID : ID de votre projet Google Cloud.
- ZONE : zone où se trouve votre instance.
Enregistrez le code suivant dans un fichier nommé request.json
:
{ "policy": { "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] }, { "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 } }
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud workbench instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json
Windows (PowerShell)
gcloud workbench instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json
Windows (cmd.exe)
gcloud workbench instances set-iam-policy INSTANCE_NAME --project=PROJECT_ID --location=ZONE request.json --format=json
Accorder l'accès à l'interface JupyterLab
En accordant à un compte principal l'accès à une instance Vertex AI Workbench, vous ne lui permettez pas pour autant d'utiliser l'interface JupyterLab de cette instance. Pour accorder l'accès à l'interface JupyterLab, consultez la section Gérer l'accès à l'interface JupyterLab d'une instance Vertex AI Workbench.
API
Pour accorder un rôle à un compte principal sur une instance Vertex AI Workbench, utilisez la méthode getIamPolicy
pour récupérer la stratégie actuelle, modifiez les modalités d'accès définies au sein de celle-ci, puis utilisez la méthode setIamPolicy
pour mettre à jour la stratégie sur l'instance.
Récupérer la stratégie actuelle
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- INSTANCE_NAME : nom de votre instance
Méthode HTTP et URL :
GET https://notebooks.googleapis.com/v2/INSTANCE_NAME:getIamPolicy
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://notebooks.googleapis.com/v2/INSTANCE_NAME:getIamPolicy"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://notebooks.googleapis.com/v2/INSTANCE_NAME:getIamPolicy" | Select-Object -Expand Content
{ "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 }
Modifier la stratégie
Modifiez la stratégie à l'aide d'un éditeur de texte pour ajouter ou supprimer des comptes principaux et les rôles qui leur sont associés. Par exemple, pour accorder le rôle notebooks.admin
à eve@example.com, ajoutez la nouvelle liaison suivante à la stratégie dans la section "bindings"
:
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
La stratégie ressemble à ceci après l'ajout de la nouvelle liaison :
{
"bindings": [
{
"role": "roles/notebooks.viewer",
"members": [
"user:email@example.com"
]
},
{
"role": "roles/notebooks.admin",
"members": [
"user:eve@example.com"
]
}
],
"etag": "BwWWja0YfJA=",
"version": 3
}
Mettre à jour la stratégie sur l'instance
Dans le corps de la requête, indiquez la stratégie IAM mise à jour lors de l'étape précédente, imbriquée dans une section "policy"
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- INSTANCE_NAME : nom de votre instance
Méthode HTTP et URL :
POST https://notebooks.googleapis.com/v2/INSTANCE_NAME:setIamPolicy
Corps JSON de la requête :
{ "policy": { "bindings": [ { "role": "roles/notebooks.viewer", "members": [ "user:email@example.com" ] }, { "role": "roles/notebooks.admin", "members": [ "user:eve@example.com" ] } ], "etag": "BwWWja0YfJA=", "version": 3 } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://notebooks.googleapis.com/v2/INSTANCE_NAME:setIamPolicy"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://notebooks.googleapis.com/v2/INSTANCE_NAME:setIamPolicy" | Select-Object -Expand Content
Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.
Accorder l'accès à l'interface JupyterLab
En accordant à un compte principal l'accès à une instance Vertex AI Workbench, vous ne lui permettez pas pour autant d'utiliser l'interface JupyterLab de cette instance. Pour accorder l'accès à l'interface JupyterLab, consultez la section Gérer l'accès à l'interface JupyterLab d'une instance.
Étapes suivantes
Pour en savoir plus sur Identity and Access Management (IAM) et sur la manière dont les rôles IAM peuvent permettre d'accorder et de restreindre l'accès, consultez la documentation IAM.
Découvrez les rôles IAM disponibles pour Vertex AI Workbench.
Découvrez comment créer et gérer des rôles personnalisés.
Pour savoir comment accorder l'accès à d'autres ressources Google, consultez la page Gérer l'accès aux autres ressources.