Gérer l'accès à une instance de notebooks gérés
Ce guide explique comment accorder l'accès à une instance de notebooks gérés 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.
Pour accorder l'accès à une instance de notebooks gérés, définissez 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 page Accorder, modifier et révoquer les accès à des ressources dans la documentation IAM.
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 page Rôles IAM prédéfinis pour les notebooks gérés.
Toutefois, même si vous accordez à un compte principal un accès complet à une instance de notebooks gérés, 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 de notebooks gérés.
Accorder l'accès aux instances de notebooks gérés
Pour autoriser des utilisateurs à accéder à une instance de notebooks gérés spécifique, définissez une stratégie IAM pour l'instance.
Pour accorder un rôle à un compte principal sur une instance de notebooks gérés, utilisez la méthode getIamPolicy
pour récupérer la stratégie actuelle, modifiez les modalités d'accès à cette stratégie, 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 de notebooks gérés.
Méthode HTTP et URL :
GET https://notebooks.googleapis.com/v1/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/v1/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/v1/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 de notebooks gérés.
Méthode HTTP et URL :
POST https://notebooks.googleapis.com/v1/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/v1/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/v1/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 de notebooks gérés, 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 de notebooks gérés.
É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 les notebooks gérés 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.