Cette page explique comment un administrateur Gemini Enterprise peut configurer des autorisations IAM précises au niveau des ressources pour limiter l'accès à des applications et des dépôts de données Gemini Enterprise spécifiques à l'aide de la consoleGoogle Cloud , de la Google Cloud CLI ou de l'API REST.
Si vous n'avez besoin de restreindre l'accès des utilisateurs finaux qu'au niveau de l'application, sans configurer d'autorisations pour le data store ni de rôles personnalisés au niveau du projet, consultez Configurer des contrôles des accès pour les applications.
Présentation
Par défaut, les autorisations IAM accordées au niveau du projet Google Clouds'appliquent à toutes les applications et à tous les dépôts de données Gemini Enterprise du projet. Si votre organisation doit limiter l'accès des utilisateurs à des applications ou des magasins de données spécifiques au sein d'un même projet, vous pouvez utiliser des contrôles d'accès au niveau des ressources.
Les contrôles d'accès au niveau des ressources permettent aux administrateurs :
- Accorder aux utilisateurs l'accès à des applications et des data stores associés spécifiques sans exposer d'autres applications du même projet.
- Déléguez l'administration ou la surveillance en lecture seule d'applications spécifiques sans accorder de droits d'administration généraux à l'échelle du projet.
- Appliquez les limites de données et les règles de conformité de l'organisation.
Fonctionnement des contrôles d'accès
Pour accorder un accès au niveau des ressources, les administrateurs doivent configurer deux liaisons de rôle pour chaque utilisateur ou groupe cible. Les autorisations sont évaluées indépendamment : pour recevoir des réponses d'un data store dans une application, un utilisateur doit disposer d'autorisations à la fois sur l'application cible et sur le data store cible.
| Niveau de liaison de rôle | Type de rôle | Objectif, portée et exemples de rôles |
|---|---|---|
| Au niveau du projet | Rôle personnalisé |
Les rôles personnalisés que vous créez dans ce guide accordent les autorisations requises pour que l'utilisateur puisse s'authentifier ou charger les pages de la fiche de la console dans le projet sans exposer de contenu d'application ou de data store spécifique. Exemples de rôles : |
| Niveau de la ressource | Rôle prédéfini |
Les rôles prédéfinis que vous attribuez à la ressource d'application ou de data store accordent des autorisations opérationnelles, telles que discuter, configurer des paramètres ou afficher des données analytiques, strictement sur cette ressource. Exemples de rôles :
|
Exemple de scénario
Prenons l'exemple d'un projet Google Cloud chez Cymbal nommé cymbal-ai-projectcontenant deux applications et plusieurs data stores :
| Exemple de scénario : restreindre l'accès aux applications et aux datastores | |
|---|---|
| Contexte | Un projet A Google Cloud chez Cymbal nommé cymbal-ai-project
contient deux applications :
|
| Objectif | Accorde à Alex (alex@cymbal.com) l'accès à l'application Cymbal Finance et autorise-le à interroger uniquement le data store General Finance, tout en lui refusant l'accès au data store Confidential Payroll et à l'application Cymbal HR. |
| Configurations requises |
Pour configurer les contrôles d'accès, procédez comme suit :
|
| Résultat | Lorsqu'Alex se connecte, il peut ouvrir l'application Cymbal Finance et interroger le datastore General Finance. Même si le datastore de données de paie confidentielles est associé à la même application, Alex ne peut pas le consulter ni l'interroger. Les tentatives d'accès à l'application Cymbal HR ou d'interrogation du datastore Cymbal HR sont également refusées. |
Le schéma suivant illustre la façon dont les paramètres au niveau du projet et les autorisations IAM indépendantes au niveau des ressources fonctionnent ensemble dans ce scénario :

Avant de commencer
- Vérifiez que vous disposez du rôle Administrateur Gemini Enterprise (
roles/discoveryengine.agentspaceAdmin). - Assurez-vous que les utilisateurs qui ont besoin d'un accès restreint ne se voient pas attribuer les rôles Discovery Engine au niveau du projet.
- Créez les rôles personnalisés au niveau du projet requis pour vos personas cibles dans Créer des rôles personnalisés au niveau du projet.
Activer le contrôle des accès aux applications et data store
Avant de pouvoir configurer des autorisations précises sur les applications et les datastores, ou afficher l'onglet Autorisations utilisateur dans la console Google Cloud , activez le contrôle des accès aux applications et data store dans votre projet à l'aide de la console Google Cloud ou de l'API REST :
Console
Pour activer le contrôle des accès aux applications et data store dans la console Google Cloud , procédez comme suit :
Dans la console Google Cloud , accédez à Gemini Enterprise > Paramètres.
Sélectionnez l'onglet Contrôle des accès aux ressources.
Activez l'option Contrôle des accès aux ressources.
Cliquez sur Enregistrer.
Dans la boîte de dialogue Activer le contrôle des accès aux ressources ?, cliquez sur Activer.
REST
Pour activer le contrôle des accès aux applications et data store à l'aide de l'API REST, appelez la méthode projects.patch :
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "x-goog-user-project: PROJECT_ID" \
"https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID?updateMask=customer_provided_config.resource_access_control_config.data_store_access_control_enabled" \
-d '{
"customer_provided_config": {
"resource_access_control_config": {
"data_store_access_control_enabled": true
}
}
}'
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .ENDPOINT_LOCATION: région multiple pour votre requête API. Spécifiez l'une des valeurs suivantes :uspour l'emplacement multirégional USeupour l'emplacement multirégional EUglobalpour l'emplacement mondial
Créer des rôles personnalisés au niveau du projet
Les rôles personnalisés au niveau du projet accordent des autorisations sans exposer toutes les ressources du projet. Vous ne devez créer chaque rôle personnalisé qu'une seule fois par projetGoogle Cloud .
Créer un rôle utilisateur final restreint personnalisé
Le rôle customRestrictedEndUser accorde les autorisations au niveau du projet requises pour que les utilisateurs finaux chargent le point de terminaison d'autorisation Gemini Enterprise et la configuration des outils pour les développeurs (discoveryengine.locations.buildAuthorizationUrl et discoveryengine.devToolsConfigs.get). Il n'accorde pas l'accès pour inspecter ou interroger des applications ou des datastores spécifiques.
Console
Pour créer le rôle personnalisé dans la console Google Cloud :
Dans la console Google Cloud , accédez à la page Rôles.
Sélectionnez votre projet Google Cloud .
Cliquez sur + Créer un rôle personnalisé.
Saisissez les détails du rôle :
- Titre :
Custom Gemini Enterprise Restricted End User - Description :
Base project-level permissions to access Gemini Enterprise apps. - ID du rôle :
customRestrictedEndUser - Étape de lancement du rôle : sélectionnez Disponibilité générale.
- Titre :
Cliquez sur + Ajouter des autorisations.
Filtrez et sélectionnez les autorisations suivantes :
discoveryengine.devToolsConfigs.getdiscoveryengine.locations.buildAuthorizationUrl
Cliquez sur Ajouter.
Cliquez sur Créer.
gcloud
Pour créer le rôle personnalisé à l'aide de la Google Cloud CLI, procédez comme suit :
Exécutez
gcloud iam roles describepour vérifier si le rôle existe dans votre projet :gcloud iam roles describe customRestrictedEndUser --project=PROJECT_IDRemplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .Exécutez
gcloud iam roles createpour créer le rôle :gcloud iam roles create customRestrictedEndUser \ --project=PROJECT_ID \ --title="Custom Gemini Enterprise Restricted End User" \ --description="Base project-level permissions to access Gemini Enterprise apps." \ --stage=GA \ --permissions=discoveryengine.devToolsConfigs.get,discoveryengine.locations.buildAuthorizationUrlRemplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .
REST
Pour créer le rôle personnalisé à l'aide de l'API REST, appelez la méthode roles.create :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"roleId": "customRestrictedEndUser",
"role": {
"title": "Custom Gemini Enterprise Restricted End User",
"description": "Base project-level permissions to access Gemini Enterprise apps.",
"stage": "GA",
"includedPermissions": [
"discoveryengine.devToolsConfigs.get",
"discoveryengine.locations.buildAuthorizationUrl"
]
}
}' \
"https://iam.googleapis.com/v1/projects/PROJECT_ID/roles"
Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.
Créer un rôle d'administrateur restreint personnalisé
Le rôle customRestrictedAdmin accorde les autorisations au niveau du projet requises pour que les administrateurs et les lecteurs délégués puissent afficher les listes de ressources et les barres latérales dans la console Google Cloud sans leur accorder l'accès pour afficher ou modifier le contenu d'applications ou de data store spécifiques. Pour déléguer le contrôle administratif d'une application ou d'un data store spécifiques, attribuez ce rôle personnalisé au niveau du projet, puis attribuez le rôle Administrateur Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) directement à la ressource cible.
Console
Pour créer le rôle personnalisé dans la console Google Cloud :
Dans la console Google Cloud , accédez à la page Rôles.
Sélectionnez votre projet Google Cloud .
Cliquez sur + Créer un rôle.
Saisissez les détails du rôle :
- Titre :
Custom Gemini Enterprise Restricted Admin - Description :
Base project-level permissions to list and view Gemini Enterprise configuration pages. - ID du rôle :
customRestrictedAdmin - Étape de lancement du rôle : sélectionnez Disponibilité générale.
- Titre :
Cliquez sur + Ajouter des autorisations.
Filtrez et sélectionnez les autorisations suivantes :
discoveryengine.aclConfigs.getdiscoveryengine.collections.listdiscoveryengine.dataStores.listdiscoveryengine.devToolsConfigs.getdiscoveryengine.engines.listdiscoveryengine.licenseConfigs.listdiscoveryengine.locations.buildAuthorizationUrldiscoveryengine.locations.getConnectorSourcediscoveryengine.locations.listConnectorSourcesdiscoveryengine.projects.getdiscoveryengine.userStores.listUserLicensesresourcemanager.projects.get
Cliquez sur Ajouter.
Cliquez sur Créer.
gcloud
Pour créer le rôle personnalisé à l'aide de la Google Cloud CLI, procédez comme suit :
Exécutez
gcloud iam roles describepour vérifier si le rôle existe dans votre projet :gcloud iam roles describe customRestrictedAdmin --project=PROJECT_IDRemplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .Exécutez
gcloud iam roles createpour créer le rôle :gcloud iam roles create customRestrictedAdmin \ --project=PROJECT_ID \ --title="Custom Gemini Enterprise Restricted Admin" \ --description="Base project-level permissions to list and view Gemini Enterprise configuration pages." \ --stage=GA \ --permissions=discoveryengine.aclConfigs.get,discoveryengine.collections.list,discoveryengine.dataStores.list,discoveryengine.devToolsConfigs.get,discoveryengine.engines.list,discoveryengine.licenseConfigs.list,discoveryengine.locations.buildAuthorizationUrl,discoveryengine.locations.getConnectorSource,discoveryengine.locations.listConnectorSources,discoveryengine.projects.get,discoveryengine.userStores.listUserLicenses,resourcemanager.projects.getRemplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .
REST
Pour créer le rôle personnalisé à l'aide de l'API REST, appelez la méthode roles.create :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"roleId": "customRestrictedAdmin",
"role": {
"title": "Custom Gemini Enterprise Restricted Admin",
"description": "Base project-level permissions to list and view Gemini Enterprise configuration pages.",
"stage": "GA",
"includedPermissions": [
"discoveryengine.aclConfigs.get",
"discoveryengine.collections.list",
"discoveryengine.dataStores.list",
"discoveryengine.devToolsConfigs.get",
"discoveryengine.engines.list",
"discoveryengine.licenseConfigs.list",
"discoveryengine.locations.buildAuthorizationUrl",
"discoveryengine.locations.getConnectorSource",
"discoveryengine.locations.listConnectorSources",
"discoveryengine.projects.get",
"discoveryengine.userStores.listUserLicenses",
"resourcemanager.projects.get"
]
}
}' \
"https://iam.googleapis.com/v1/projects/PROJECT_ID/roles"
Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.
Mettre à jour un rôle personnalisé existant
Si un rôle personnalisé existe déjà dans votre projet et que vous devez ajouter des autorisations manquantes, mettez à jour le rôle :
Console
Pour modifier un rôle personnalisé dans la console Google Cloud , procédez comme suit :
Dans la console Google Cloud , accédez à la page Rôles.
Sélectionnez le projet Google Cloud dans lequel vous avez créé le rôle personnalisé.
Sélectionnez l'onglet Personnalisé ou filtrez la liste pour trouver votre rôle personnalisé (
customRestrictedEndUseroucustomRestrictedAdmin).Cliquez sur le nom du rôle personnalisé.
Cliquez sur Modifier le rôle.
Cliquez sur + Ajouter des autorisations.
Recherchez et sélectionnez les autorisations que vous souhaitez ajouter, puis cliquez sur Ajouter.
Cliquez sur Enregistrer.
gcloud
Pour mettre à jour un rôle personnalisé existant à l'aide de Google Cloud CLI, exécutez gcloud iam roles update :
Pour le rôle d'utilisateur final restreint, exécutez la commande suivante :
gcloud iam roles update customRestrictedEndUser \ --project=PROJECT_ID \ --add-permissions=discoveryengine.devToolsConfigs.get,discoveryengine.locations.buildAuthorizationUrlRemplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .Pour le rôle d'administrateur limité, exécutez la commande suivante :
gcloud iam roles update customRestrictedAdmin \ --project=PROJECT_ID \ --add-permissions=discoveryengine.locations.buildAuthorizationUrl,discoveryengine.locations.listConnectorSourcesRemplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .
REST
Pour mettre à jour un rôle personnalisé à l'aide de l'API REST, appelez la méthode roles.patch.
Notez que roles.patch remplace la liste includedPermissions. Spécifiez toutes les autorisations que vous souhaitez inclure dans le rôle :
Pour le rôle d'utilisateur final restreint, exécutez la commande suivante :
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "includedPermissions": [ "discoveryengine.devToolsConfigs.get", "discoveryengine.locations.buildAuthorizationUrl" ] }' \ "https://iam.googleapis.com/v1/projects/PROJECT_ID/roles/customRestrictedEndUser?updateMask=includedPermissions"Remplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .Pour le rôle d'administrateur limité, exécutez la commande suivante :
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "includedPermissions": [ "discoveryengine.aclConfigs.get", "discoveryengine.collections.list", "discoveryengine.dataStores.list", "discoveryengine.devToolsConfigs.get", "discoveryengine.engines.list", "discoveryengine.licenseConfigs.list", "discoveryengine.locations.buildAuthorizationUrl", "discoveryengine.locations.getConnectorSource", "discoveryengine.locations.listConnectorSources", "discoveryengine.projects.get", "discoveryengine.userStores.listUserLicenses", "resourcemanager.projects.get" ] }' \ "https://iam.googleapis.com/v1/projects/PROJECT_ID/roles/customRestrictedAdmin?updateMask=includedPermissions"Remplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .
Attribuer un rôle personnalisé au niveau du projet
Attribuez les rôles de projet personnalisés à un utilisateur ou un groupe cible.
Console
Pour attribuer le rôle personnalisé à l'aide de la console Google Cloud , procédez comme suit :
Dans la console Google Cloud , accédez à la page IAM.
Sélectionnez le projet Google Cloud dans lequel vous avez créé le rôle personnalisé.
Cliquez sur Accorder l'accès pour ajouter un compte principal ou en modifier un.
Dans Nouveaux comptes principaux, saisissez l'adresse e-mail de l'utilisateur ou du groupe.
Sélectionnez le rôle personnalisé créé pour votre persona, par exemple l'un des suivants :
- Utilisateur final Gemini Enterprise restreint personnalisé
- Administrateur Gemini Enterprise restreint personnalisé
Cliquez sur Enregistrer.
gcloud
Pour attribuer le rôle personnalisé à l'aide de Google Cloud CLI, exécutez la commande suivante :
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="projects/PROJECT_ID/roles/CUSTOM_ROLE_ID"
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .CUSTOM_ROLE_ID: ID du rôle personnalisé que vous souhaitez attribuer :customRestrictedEndUseroucustomRestrictedAdmin.USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe.
REST
Pour attribuer le rôle personnalisé à l'aide de l'API Cloud Resource Manager, procédez comme suit à l'aide d'un schéma lire-modifier-écrire :
Obtenez la stratégie IAM actuelle à l'aide de la méthode
getIamPolicypour récupérer la stratégie actuelle et sonetag:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"Remplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .Définissez la stratégie IAM mise à jour à l'aide de la méthode
setIamPolicyavec la charge utile de votre stratégie mise à jour :curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "projects/PROJECT_ID/roles/CUSTOM_ROLE_ID", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"Remplacez les éléments suivants :
ETAG: valeuretagobtenue en réponse lorsque vous avez utilisé la méthodegetIamPolicy.EXISTING_ROLEetEXISTING_USER_EMAIL: liaisons de rôle et de principal existantes renvoyées par la méthodegetIamPolicyque vous souhaitez conserver.PROJECT_ID: ID de votre projet Google Cloud.CUSTOM_ROLE_ID: ID du rôle personnalisé au niveau du projet que vous souhaitez attribuer. Spécifiez l'une des options suivantes :customRestrictedEndUser: accorde aux utilisateurs finaux les autorisations de projet nécessaires pour s'authentifier et accéder aux applications.customRestrictedAdmin: accorde aux administrateurs les autorisations de projet nécessaires pour afficher les listes de ressources dans la console Google Cloud .
USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe.
Configurer les autorisations de l'application
Accordez des autorisations au niveau des ressources sur la ressource d'application cible à l'aide de la consoleGoogle Cloud ou de l'API REST.
Si vous souhaitez attribuer un rôle personnalisé au lieu d'un rôle prédéfini dans la règle IAM au niveau de l'application, assurez-vous que le rôle personnalisé inclut toutes les autorisations du rôle prédéfini correspondant, telles que Utilisateur Gemini Enterprise (roles/discoveryengine.agentspaceUser) ou Administrateur Gemini Enterprise (roles/discoveryengine.agentspaceAdmin).
Console
Pour configurer les autorisations d'application dans la console Google Cloud , procédez comme suit :
Dans la console Google Cloud , accédez à la page Gemini Enterprise > Applications.
Sélectionnez votre application cible.
Cliquez sur Autorisations utilisateur, puis sur Ajouter un utilisateur.
Sélectionnez le rôle de l'utilisateur ou du groupe :
- Utilisateur : attribue le rôle Utilisateur Gemini Enterprise (
roles/discoveryengine.agentspaceUser). - Administrateur : attribue le rôle Administrateur Gemini Enterprise (
roles/discoveryengine.agentspaceAdmin). - Lecteur : attribue le rôle Lecteur Gemini Enterprise (
roles/discoveryengine.agentspaceViewer).
- Utilisateur : attribue le rôle Utilisateur Gemini Enterprise (
Cliquez sur Enregistrer.
REST
Pour configurer les autorisations d'application à l'aide de l'API REST, procédez comme suit en utilisant un schéma lire-modifier-écrire :
Obtenez la stratégie IAM actuelle à l'aide de la méthode
getIamPolicypour récupérer la stratégie actuelle et sonetag:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:getIamPolicy"Remplacez les éléments suivants :
PROJECT_ID: l'ID du projet.ENDPOINT_LOCATION: région multiple pour votre requête API. Spécifiez l'une des valeurs suivantes :uspour l'emplacement multirégional USeupour l'emplacement multirégional EUglobalpour l'emplacement mondial
LOCATION: emplacement multirégional de votre data store :global,usoueu.APP_ID: ID de l'application que vous souhaitez configurer.
Définissez la stratégie IAM mise à jour à l'aide de la méthode
setIamPolicyavec la charge utile de votre stratégie mise à jour :curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "PREDEFINED_ROLE", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID:setIamPolicy"Remplacez les éléments suivants :
ETAG: valeuretagobtenue en réponse lorsque vous avez utilisé la méthodegetIamPolicy.EXISTING_ROLEetEXISTING_USER_EMAIL: liaisons de rôle et de principal existantes renvoyées par la méthodegetIamPolicyque vous souhaitez conserver.USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe (par exemple,alex@example.com).- Pour accorder l'accès, ajoutez les adresses e-mail des utilisateurs au tableau
members, chacune précédée deuser:. Évitez les espaces superflus avant ou après l'adresse e-mail. - Pour révoquer l'accès, supprimez l'adresse e-mail de l'utilisateur du tableau
members.
- Pour accorder l'accès, ajoutez les adresses e-mail des utilisateurs au tableau
PREDEFINED_ROLE: rôle prédéfini que vous souhaitez attribuer à l'application. Par exemple, Utilisateur Gemini Enterprise (roles/discoveryengine.agentspaceUser) pour les utilisateurs finaux, Administrateur Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) pour les administrateurs ou Lecteur Gemini Enterprise (roles/discoveryengine.agentspaceViewer) pour les lecteurs. Pour en savoir plus, consultez Rôles prédéfinis.PROJECT_ID: ID de votre projetGoogle Cloud .ENDPOINT_LOCATION: région multiple pour votre requête API. Spécifiez l'une des valeurs suivantes :uspour l'emplacement multirégional USeupour l'emplacement multirégional EUglobalpour l'emplacement mondial
LOCATION: emplacement multirégional de votre data store :global,usoueu.APP_ID: ID de l'application que vous souhaitez configurer.
Configurer les autorisations du data store
Pour configurer les autorisations d'accès aux données, accordez des autorisations au niveau des ressources sur le data store cible à l'aide de la console Google Cloud ou de l'API REST. Les utilisateurs finaux ne peuvent se connecter aux data stores et les interroger que s'ils ont reçu explicitement les autorisations nécessaires.
Si vous souhaitez attribuer un rôle personnalisé au lieu d'un rôle prédéfini dans le règlement IAM du data store, assurez-vous que le rôle personnalisé inclut toutes les autorisations du rôle prédéfini correspondant, telles que Utilisateur Gemini Enterprise (roles/discoveryengine.agentspaceUser) ou Administrateur Gemini Enterprise (roles/discoveryengine.agentspaceAdmin).
Pour les connecteurs tiers qui appliquent les autorisations d'accès aux documents des utilisateurs finaux, l'accès des utilisateurs finaux aux documents individuels continue d'être régi par les listes de contrôle des accès (LCA) synchronisées à partir du système source (l'octroi d'un accès IAM ne contourne pas les LCA sources).
Pour trouver des datastores, des collections et des ID d'entité, consultez Obtenir des data store et les entités.
Console
Pour configurer les autorisations du data store dans la console Google Cloud , procédez comme suit. Les autorisations attribuées à un data store dans la console Google Cloud se propagent automatiquement à toutes les entités enfants sous-jacentes :
Dans la console Google Cloud , accédez à la page Gemini Enterprise > Datastores.
Cliquez sur le nom de votre data store.
Cliquez sur Autorisations utilisateur > Ajouter un utilisateur.
Sélectionnez le rôle de l'utilisateur ou du groupe :
- Utilisateur : attribue le rôle Utilisateur Gemini Enterprise (
roles/discoveryengine.agentspaceUser). - Administrateur : attribue le rôle Administrateur Gemini Enterprise (
roles/discoveryengine.agentspaceAdmin). - Lecteur : attribue le rôle Lecteur Gemini Enterprise (
roles/discoveryengine.agentspaceViewer).
- Utilisateur : attribue le rôle Utilisateur Gemini Enterprise (
Cliquez sur Enregistrer.
REST
Pour configurer les autorisations du data store à l'aide de l'API REST, développez la section correspondant à la configuration de votre data store :
Data stores avec des entités
Utilisez cette option pour les connecteurs tiers qui contiennent plusieurs types d'entités, comme Jira, Salesforce, Confluence ou SharePoint Online. Lorsque vous utilisez l'API REST, les autorisations ne sont pas automatiquement propagées de la collection de connecteurs parents aux entités enfants. Vous devez accorder les mêmes autorisations sur la ressource de collection parente et sur tous les magasins de données d'entités sous-jacents (ne configurez pas les autorisations pour un sous-ensemble d'entités uniquement).
Suivez ces étapes pour configurer les autorisations pour les data stores avec des entités :
-
Obtenez la stratégie IAM actuelle pour la collection de connecteurs de données :
Appelez
getIamPolicypour récupérer la stratégie actuelle et sonetag:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID:getIamPolicy"
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .ENDPOINT_LOCATION: région multiple pour votre requête API. Spécifiez l'une des valeurs suivantes :uspour l'emplacement multirégional USeupour l'emplacement multirégional EUglobalpour l'emplacement mondial
LOCATION: emplacement multirégional de votre data store :global,usoueu.COLLECTION_ID: ID de la collection du connecteur de données. Pour en savoir plus, consultez Obtenir des informations data store et une entité.
-
Définissez la stratégie IAM mise à jour sur la collection de connecteurs de données :
Appelez
setIamPolicyen incluantetaget la liaison de rôle :curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "PREDEFINED_ROLE", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/COLLECTION_ID:setIamPolicy"
Remplacez les éléments suivants :
ETAG: valeuretagobtenue en réponse lorsque vous avez utilisé la méthodegetIamPolicyà l'étape 1.EXISTING_ROLEetEXISTING_USER_EMAIL: liaisons de rôle et de compte principal existantes renvoyées par la méthodegetIamPolicyque vous souhaitez conserver.USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe.PREDEFINED_ROLE: rôle prédéfini que vous souhaitez attribuer à la collection. Par exemple, Utilisateur Gemini Enterprise (roles/discoveryengine.agentspaceUser) pour les utilisateurs finaux, Administrateur Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) pour les administrateurs ou Lecteur Gemini Enterprise (roles/discoveryengine.agentspaceViewer) pour les lecteurs. Pour en savoir plus, consultez Rôles prédéfinis.PROJECT_ID: ID de votre projet Google Cloud .ENDPOINT_LOCATION: région multiple pour votre requête API. Spécifiez l'une des valeurs suivantes :uspour l'emplacement multirégional USeupour l'emplacement multirégional EUglobalpour l'emplacement mondial
LOCATION: emplacement multirégional de votre data store :global,usoueu.COLLECTION_ID: ID de la collection du connecteur de données.
-
Obtenez la stratégie IAM actuelle pour un data store d'entités :
Dans Gemini Enterprise, les datastores d'entités enfants se trouvent sous
default_collectionet sont précédés de l'ID de la collection de connecteurs. AppelezgetIamPolicysur le data store d'entités sousdefault_collection:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ENTITY_ID:getIamPolicy"
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .ENDPOINT_LOCATION: région multiple pour votre requête API. Spécifiez l'une des valeurs suivantes :uspour l'emplacement multirégional USeupour l'emplacement multirégional EUglobalpour l'emplacement mondial
LOCATION: emplacement multirégional de votre data store :global,usoueu.DATA_STORE_ENTITY_ID: ID du data store d'entités (par exemple,DataConnector3_entityA). Pour en savoir plus, consultez Obtenir des informations data store et les entités.
-
Définissez la stratégie IAM mise à jour sur le data store d'entités :
Appelez
setIamPolicysur le data store d'entités, y comprisetag:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "PREDEFINED_ROLE", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ENTITY_ID:setIamPolicy"
Remplacez les éléments suivants :
ETAG: valeuretagque vous avez obtenue en réponse lorsque vous avez utilisé la méthodegetIamPolicyà l'étape 3.EXISTING_ROLEetEXISTING_USER_EMAIL: liaisons de rôle et de compte principal existantes renvoyées par la méthodegetIamPolicyque vous souhaitez conserver.USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe.PREDEFINED_ROLE: rôle prédéfini que vous souhaitez attribuer au data store d'entités. Par exemple, Utilisateur Gemini Enterprise (roles/discoveryengine.agentspaceUser) pour les utilisateurs finaux, Administrateur Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) pour les administrateurs ou Lecteur Gemini Enterprise (roles/discoveryengine.agentspaceViewer) pour les lecteurs. Pour en savoir plus, consultez Rôles prédéfinis.PROJECT_ID: ID de votre projet Google Cloud .ENDPOINT_LOCATION: région multiple pour votre requête API. Spécifiez l'une des valeurs suivantes :uspour l'emplacement multirégional USeupour l'emplacement multirégional EUglobalpour l'emplacement mondial
LOCATION: emplacement multirégional de votre data store :global,usoueu.DATA_STORE_ENTITY_ID: ID du data store d'entités.
Répétez les étapes 3 et 4 pour chaque data store d'entité sous le connecteur de données. Si vous configurez ultérieurement le connecteur pour synchroniser des types d'entités supplémentaires, configurez des stratégies IAM sur chaque data store d'entités nouvellement créé.
Data stores sans entités
Utilisez cette option pour les magasins de données autonomes, tels que Cloud Storage ou BigQuery, ou les sources de données qui ne contiennent pas d'entités. Définissez les autorisations directement sur la ressource de data store unique sous default_collection.
Suivez ces étapes pour configurer les autorisations pour les data stores sans entités :
-
Obtenez la stratégie IAM actuelle pour le data store :
Appelez
getIamPolicypour récupérer la stratégie actuelle et sonetag:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:getIamPolicy"
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .ENDPOINT_LOCATION: région multiple pour votre requête API. Spécifiez l'une des valeurs suivantes :uspour l'emplacement multirégional USeupour l'emplacement multirégional EUglobalpour l'emplacement mondial
LOCATION: emplacement multirégional de votre data store :global,usoueu.DATA_STORE_ID: ID du data store. Pour en savoir plus, consultez Obtenir des informations data store et une entité.
-
Définissez la stratégie IAM mise à jour sur le data store :
Appelez
setIamPolicyen incluantetaget la liaison de rôle :curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "PREDEFINED_ROLE", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://ENDPOINT_LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID:setIamPolicy"
Remplacez les éléments suivants :
ETAG: valeuretagobtenue en réponse lorsque vous avez utilisé la méthodegetIamPolicyà l'étape 1.EXISTING_ROLEetEXISTING_USER_EMAIL: liaisons de rôle et de compte principal existantes renvoyées par la méthodegetIamPolicyque vous souhaitez conserver.USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe.PREDEFINED_ROLE: rôle prédéfini que vous souhaitez attribuer au data store. Par exemple, Utilisateur Gemini Enterprise (roles/discoveryengine.agentspaceUser) pour les utilisateurs finaux, Administrateur Gemini Enterprise (roles/discoveryengine.agentspaceAdmin) pour les administrateurs ou Lecteur Gemini Enterprise (roles/discoveryengine.agentspaceViewer) pour les lecteurs. Pour en savoir plus, consultez Rôles prédéfinis.PROJECT_ID: ID de votre projet Google Cloud .ENDPOINT_LOCATION: région multiple pour votre requête API. Spécifiez l'une des valeurs suivantes :uspour l'emplacement multirégional USeupour l'emplacement multirégional EUglobalpour l'emplacement mondial
LOCATION: emplacement multirégional de votre data store :global,usoueu.DATA_STORE_ID: ID du data store.
Accorder l'accès aux fonctionnalités de Gemini Notebook Enterprise et aux outils pour les développeurs d'IA
Les utilisateurs disposant d'un accès restreint auxquels le rôle customRestrictedEndUser est attribué au niveau du projet perdent l'accès à des fonctionnalités telles que les outils de développement de l'IA et Gemini Notebook Enterprise, car leur rôle de projet ne contient que des autorisations de base.
Si vous attribuez le rôle complet Utilisateur Gemini Enterprise (roles/discoveryengine.agentspaceUser) au niveau du projet, l'isolation est remplacée et tous les datastores et applications du projet sont exposés. À la place, les administrateurs peuvent attribuer des rôles spécifiques aux fonctionnalités au niveau du projet.
Accorder l'accès à Gemini Notebook Enterprise
Attribuez le rôle Utilisateur de Cloud NotebookLM (roles/discoveryengine.notebookLmUser) pour permettre aux utilisateurs restreints de créer et d'utiliser des notebooks sans exposer les applications ni les dépôts de données :
Console
Pour accorder l'accès à l'aide de la console Google Cloud :
Dans la console Google Cloud , accédez à la page IAM.
Sélectionnez votre projet Google Cloud .
Recherchez l'utilisateur ou le groupe dans la liste des autorisations, puis cliquez sur Modifier le compte principal. Vous pouvez également cliquer sur Accorder l'accès pour ajouter un utilisateur.
Dans la section Attribuer des rôles, cliquez sur Ajouter un autre rôle.
Dans le champ Sélectionner un rôle, recherchez et sélectionnez Utilisateur Cloud NotebookLM (
roles/discoveryengine.notebookLmUser).Cliquez sur Enregistrer.
gcloud
Pour accorder l'accès à l'aide de Google Cloud CLI, exécutez la commande suivante :
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/discoveryengine.notebookLmUser"
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe.
REST
Pour accorder l'accès à l'aide de l'API REST, mettez à jour la stratégie IAM du projet à l'aide de la méthode setIamPolicy :
Obtenez la stratégie IAM actuelle à l'aide de la méthode
getIamPolicypour récupérer la stratégie actuelle et sonetag:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"Remplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .Définissez la stratégie IAM mise à jour à l'aide de la méthode
setIamPolicyavec le rôleroles/discoveryengine.notebookLmUser:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "roles/discoveryengine.notebookLmUser", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"Remplacez les éléments suivants :
ETAG: valeuretagde la réponsegetIamPolicy.EXISTING_ROLEetEXISTING_USER_EMAIL: liaisons de rôle et de principal existantes renvoyées par la méthodegetIamPolicyque vous souhaitez conserver.PROJECT_ID: ID de votre projet Google Cloud.USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe.
Accorder l'accès aux outils IA pour les développeurs
Attribuez les rôles Utilisateur de Gemini for Google Cloud (roles/cloudaicompanion.user) et Rôle utilisateur pour l'API Business AI Code (roles/businessaicode.user) pour activer les outils de développement de l'IA sans exposer les applications ni les dépôts de données Gemini Enterprise :
Console
Pour accorder l'accès à l'aide de la console Google Cloud :
Dans la console Google Cloud , accédez à la page IAM.
Sélectionnez votre projet Google Cloud .
Recherchez l'utilisateur ou le groupe dans la liste des autorisations, puis cliquez sur Modifier le compte principal. Vous pouvez également cliquer sur Accorder l'accès pour ajouter un utilisateur.
Dans la section Attribuer des rôles, attribuez chacun des rôles suivants :
- Utilisateur Gemini pour Google Cloud (
roles/cloudaicompanion.user) - Rôle utilisateur pour l'API Business AI Code (
roles/businessaicode.user)
- Utilisateur Gemini pour Google Cloud (
Cliquez sur Enregistrer.
gcloud
Pour accorder l'accès à l'aide de Google Cloud CLI, exécutez les commandes suivantes :
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/cloudaicompanion.user"
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:USER_EMAIL" \
--role="roles/businessaicode.user"
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google Cloud .USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe.
REST
Pour accorder l'accès à l'aide de l'API REST, mettez à jour la stratégie IAM du projet à l'aide de la méthode setIamPolicy :
Obtenez la stratégie IAM actuelle à l'aide de la méthode
getIamPolicypour récupérer la stratégie actuelle et sonetag:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy"Remplacez
PROJECT_IDpar l'ID de votre projetGoogle Cloud .Définissez la stratégie IAM mise à jour à l'aide de la méthode
setIamPolicyavec les rôlesroles/cloudaicompanion.useretroles/businessaicode.user:curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "policy": { "etag": "ETAG", "bindings": [ { "role": "EXISTING_ROLE", "members": [ "user:EXISTING_USER_EMAIL" ] }, { "role": "roles/cloudaicompanion.user", "members": [ "user:USER_EMAIL" ] }, { "role": "roles/businessaicode.user", "members": [ "user:USER_EMAIL" ] } ] } }' \ "https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy"Remplacez les éléments suivants :
ETAG: valeuretagde la réponsegetIamPolicy.EXISTING_ROLEetEXISTING_USER_EMAIL: liaisons de rôle et de principal existantes renvoyées par la méthodegetIamPolicyque vous souhaitez conserver.PROJECT_ID: ID de votre projet Google Cloud.USER_EMAIL: adresse e-mail de l'utilisateur ou du groupe.
Étape suivante
Si vous souhaitez supprimer une application avec une stratégie IAM, vous pouvez supprimer les utilisateurs de la stratégie avant de supprimer l'application. Pour en savoir plus, consultez Bonnes pratiques pour supprimer une application avec une stratégie IAM.