Cette page explique comment un administrateur Gemini Enterprise peut utiliser l'API pour gérer le contrôle des accès précis pour des applications Gemini Enterprise individuelles.
Par défaut, les autorisations IAM sont souvent gérées au niveau du projet. L'IAM au niveau de l'application permet un contrôle plus précis, ce qui permet aux administrateurs de :
- limiter l'accès des utilisateurs à des applications spécifiques au sein du même Google Cloud projet ;
- aligner les autorisations sur les besoins organisationnels et les silos de données pour vos déploiements Gemini Enterprise.
Prenons l'exemple d'une organisation disposant d'une application RH et d'une application à l'échelle de l'entreprise. Un membre de l'équipe RH disposant d'autorisations au niveau du projet peut accéder aux deux applications. En revanche, à l'aide d'une stratégie IAM au niveau de l'application, vous pouvez accorder à un membre de l'équipe commerciale l'accès à l'application à l'échelle de l'entreprise uniquement, l'empêchant ainsi d'accéder à l'application RH.

Avant de commencer
Vérifiez que vous disposez du rôle d'administrateur Gemini Enterprise.
Vérifiez que tous les utilisateurs Gemini Enterprise disposant d'une licence valide disposent du rôle d'utilisateur limité Gemini Enterprise.
Passer d'un accès au niveau du projet à un accès au niveau de l'application
Pour limiter les utilisateurs à des applications spécifiques, vous devez supprimer le rôle correspondant des autorisations au niveau du projet, puis l'accorder au niveau de l'application.
Par exemple, pour passer un utilisateur disposant du rôle d'utilisateur Gemini Enterprise (roles/discoveryengine.agentspaceUser) du niveau du projet au niveau de l'application, procédez comme suit :
- Dans la Google Cloud console, accédez à la page IAM.
- Recherchez l'utilisateur et supprimez le rôle
roles/discoveryengine.agentspaceUserde ses autorisations au niveau du projet. - Utilisez la méthode
setIamPolicypour accorder à l'utilisateur le rôleroles/discoveryengine.agentspaceUserpour l'application spécifique. Pour en savoir plus, consultez Gérer les stratégies IAM pour les applications.
Gérer les stratégies IAM pour les applications
Pour gérer l'accès à votre application Gemini Enterprise, vous pouvez utiliser les méthodes d'API getIamPolicy et setIamPolicy.
Les étapes suivantes vous montrent comment récupérer la stratégie actuelle, puis la mettre à jour pour accorder ou révoquer l'accès utilisateur.
Obtenir la stratégie IAM de l'application
Obtenez la stratégie IAM actuelle de votre application à l'aide de la
getIamPolicy
méthode. Nous vous recommandons d'extraire d'abord la stratégie existante pour éviter d'écraser les autorisations actuelles.
REST
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: l'emplacement multirégional de 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: l'emplacement multirégional de votre data store :global,usoueuAPP_ID: l'ID de l'application que vous souhaitez configurer.
Mettre à jour la stratégie IAM de l'application
Pour accorder ou révoquer l'accès utilisateur à l'application, mettez à jour la stratégie IAM
de l'application à l'aide de la
setIamPolicy
méthode.
La stratégie IAM utilise le
rôle d'utilisateur Gemini Enterprise
(roles/discoveryengine.agentspaceUser) pour accorder aux utilisateurs un accès direct à l'application.
REST
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
"policy": {
"etag": "ETAG",
"bindings": [
{
"role": "roles/discoveryengine.agentspaceUser",
"members": [
"user:USER_EMAIL",
"group:GROUP_EMAIL",
"principal://iam.googleapis.com/locations/global/workloadIdentityPools/POOL_ID/subject/SUBJECT_ID",
"principalSet://iam.googleapis.com/locations/global/workloadIdentityPools/POOL_ID/attribute.NAME/VALUE"
]
}
]
}
}' \
"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: la valeuretagque vous avez obtenue en réponse lorsque vous avez utilisé la méthodegetIamPolicy.USER_EMAIL,GROUP_EMAIL: une ou plusieurs adresses e-mail d'utilisateur ou de groupe. En plus deuseretgroup,principaletprincipalSetsont des types de membres valides pour la fédération d'identité de charge de travail.Pour accorder l'accès, ajoutez des comptes principaux au tableau
members. Par exemple,"user:cloudysanfrancisco@gmail.com"ou"group:mcymbalgroup@google.com".Pour révoquer l'accès, supprimez les comptes principaux du tableau
members.
POOL_ID: l'ID de votre pool d'identités de charge de travail.SUBJECT_ID: l'identifiant de sujet d'une identité spécifique.NAME: le nom d'un attribut.VALUE: la valeur d'un attribut.PROJECT_ID: l'ID du projet.ENDPOINT_LOCATION: l'emplacement multirégional de 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: l'emplacement multirégional de votre data store :global,usoueu.APP_ID: l'ID de l'application que vous souhaitez configurer.
É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.