Cette page explique comment appliquer le contrôle des accès aux sources de données pour les applications de recherche dans Applications d'IA.
Le contrôle des accès à vos sources de données dans les applications d'IA limite les données que les utilisateurs peuvent consulter dans les résultats de votre application de recherche. Google utilise votre fournisseur d'identité pour identifier l'utilisateur final qui effectue une recherche et déterminer s'il a accès aux documents renvoyés en tant que résultats.
Par exemple, supposons que les employés de votre entreprise recherchent des documents Confluence à l'aide de votre application de recherche. Toutefois, vous devez vous assurer qu'ils ne peuvent pas afficher de contenu via l'application auquel ils ne sont pas autorisés à accéder. Si vous avez configuré un pool d'employés dans Google Cloud pour le fournisseur d'identité de votre organisation, vous pouvez également spécifier ce pool d'employés dans les applications d'IA. Désormais, si un employé utilise votre application, il n'obtient des résultats de recherche que pour les documents auxquels son compte a déjà accès dans Confluence.
À propos du contrôle des accès aux sources de données
L'activation du contrôle des accès est une procédure ponctuelle.
Le contrôle des accès est disponible pour Cloud Storage, BigQuery, Google Drive et toutes les sources de données tierces.
Pour activer le contrôle des accès aux sources de données pour AI Applications, vous devez configurer le fournisseur d'identité de votre organisation dans Google Cloud. Les frameworks d'authentification suivants sont acceptés :
Identité Google :
Cas d'utilisation 1 : Si vous utilisez Google Identity, toutes les identités utilisateur et tous les groupes d'utilisateurs sont présents et gérés via Google Cloud. Pour en savoir plus sur Google Identity, consultez la documentation Google Identity.
Cas de figure 2 : Vous utilisez un fournisseur d'identité tiers et vous avez synchronisé les identités avec Google Identity. Vos utilisateurs finaux utilisent Google Identity pour s'authentifier avant d'accéder aux ressources Google ou à Google Workspace.
Cas 3 : Vous utilisez un fournisseur d'identité tiers et vous avez synchronisé les identités avec Google Identity. Toutefois, vous utilisez toujours votre fournisseur d'identité tiers existant pour effectuer l'authentification. Vous avez configuré l'authentification unique avec Google Identity de sorte que vos utilisateurs commencent leur connexion avec Google Identity, puis sont redirigés vers votre fournisseur d'identité tiers. (Vous avez peut-être déjà effectué cette synchronisation lors de la configuration d'autres ressources Google Cloud ou de Google Workspace.)
Fédération de fournisseurs d'identité tiers : si vous utilisez un fournisseur d'identité externe (par exemple, Azure AD, Okta ou Ping), mais que vous ne souhaitez pas synchroniser vos identités dans Google Cloud Identity, vous devez configurer la fédération d'identité des employés dans Google Cloudavant de pouvoir activer le contrôle des accès aux sources de données pour les applications d'IA.
Si vous utilisez des connecteurs tiers, l'attribut
google.subject
doit être mappé au champ d'adresse e-mail du fournisseur d'identité externe. Voici des exemples de mappages d'attributsgoogle.subject
etgoogle.groups
pour les fournisseurs d'identité couramment utilisés :Azure AD avec le protocole OIDC
google.subject=assertion.email google.groups=assertion.groups
Azure AD avec le protocole SAML
google.subject=assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'][0] google.groups=assertion.attributes['http://schemas.microsoft.com/ws/2008/06/identity/claims/groups']
google.subject=assertion.email google.groups=assertion.groups
google.subject=assertion.subject google.groups=assertion.attributes['groups']
Limites
Le contrôle des accès présente les limites suivantes :
- 3 000 lecteurs sont autorisés par document. Chaque compte principal est considéré comme un lecteur. Un compte principal peut être un groupe ou un utilisateur individuel.
- Vous pouvez sélectionner un fournisseur d'identité par emplacement compatible avec Vertex AI Search.
- Pour définir une source de données comme étant à accès contrôlé, vous devez sélectionner ce paramètre lors de la création du data store. Vous ne pouvez pas activer ni désactiver ce paramètre pour un data store existant.
- L'onglet Données > Documents de la console n'affiche pas les données des sources de données dont l'accès est contrôlé, car ces données ne doivent être visibles que par les utilisateurs disposant d'un accès en lecture.
- Pour prévisualiser les résultats de l'UI pour les applications de recherche qui utilisent le contrôle d'accès tiers, vous devez vous connecter à la console fédérée ou utiliser l'application Web. Consultez Prévisualiser les résultats pour les applications avec contrôle d'accès.
Avant de commencer
Cette procédure suppose que vous avez configuré un fournisseur d'identité dans votre projetGoogle Cloud .
- Google Identity : si vous utilisez Google Identity, vous pouvez passer à la procédure Se connecter à votre fournisseur d'identité.
- Fournisseur d'identité tiers : assurez-vous d'avoir configuré un pool d'identités de personnel pour votre fournisseur d'identité tiers. Vérifiez que vous avez spécifié des mappages d'attributs de sujet et de groupe lorsque vous avez configuré le pool de personnel. Pour en savoir plus sur les mappages d'attributs, consultez Mappages d'attributs dans la documentation IAM. Pour en savoir plus sur les pools d'identités de personnel, consultez Gérer les fournisseurs de pools d'identités de personnel dans la documentation IAM.
Se connecter à votre fournisseur d'identité
Pour spécifier un fournisseur d'identité pour les applications d'IA et activer le contrôle des accès aux sources de données, procédez comme suit :
Dans la console Google Cloud , accédez à la page AI Applications.
Accédez à la page Paramètres > Authentification.
Cliquez sur l'icône Modifier
à côté du lieu que vous souhaitez modifier.Sélectionnez votre fournisseur d'identité dans la boîte de dialogue Ajouter un fournisseur d'identité. Si vous sélectionnez un fournisseur d'identité tiers, sélectionnez également le pool d'identités de personnel qui s'applique à vos sources de données.
Cliquez sur Enregistrer les modifications.
Configurer une source de données avec contrôle des accès
Pour appliquer un contrôle d'accès à une source de données, suivez les étapes ci-dessous en fonction du type de source de données que vous configurez :
- Sources de données tierces : aucune configuration supplémentaire n'est requise lorsque vous créez votre application. Passez à la section Prévisualiser les résultats pour les applications avec contrôle d'accès tiers.
- Google Drive : aucune configuration supplémentaire n'est requise lorsque vous créez votre application.
- Données non structurées provenant de Cloud Storage
- Données structurées provenant de Cloud Storage
- Données non structurées provenant de BigQuery
- Données structurées issues de BigQuery
Données non structurées provenant de Cloud Storage
Lorsque vous configurez un data store pour des données non structurées provenant de Cloud Storage, vous devez également importer les métadonnées des LCA et définir le data store comme contrôlé par les accès :
Lorsque vous préparez vos données, incluez les informations sur les LCA dans vos métadonnées à l'aide du champ
acl_info
. Exemple :{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" }, "acl_info": { "readers": [ { "principals": [ { "group_id": "group_1" }, { "user_id": "user_1" } ] } ] } }
Pour en savoir plus sur les données non structurées avec métadonnées, consultez la section "Données non structurées" de Préparer les données pour l'ingestion.
Lorsque vous suivez les étapes de création d'un data store dans Créer un datastore de recherche, vous pouvez activer le contrôle des accès en procédant comme suit dans la console ou à l'aide de l'API :
- Console : lorsque vous créez un datastore, sélectionnez Ce data store contient des informations sur le contrôle des accès.
- API : lorsque vous créez un data store, incluez l'indicateur
"aclEnabled": "true"
dans votre charge utile JSON.
Lorsque vous suivez les étapes d'importation de données dans Créer un data store de recherche, veillez à effectuer les opérations suivantes :
- Importez vos métadonnées avec les informations de LCA depuis le même bucket que vos données non structurées.
- Si vous utilisez l'API, définissez
GcsSource.dataSchema
surdocument
.
Données structurées provenant de Cloud Storage
Lorsque vous configurez un data store pour des données structurées provenant de Cloud Storage, vous devez également importer les métadonnées des LCA et définir le data store comme contrôlé par les accès :
Lorsque vous préparez vos données, incluez les informations sur les LCA dans vos métadonnées à l'aide du champ
acl_info
. Exemple :{ "id": "<your-id>", "jsonData": "<JSON string>", "acl_info": { "readers": [ { "principals": [ { "group_id": "group_1" }, { "user_id": "user_1" } ] } ] } }
Lorsque vous suivez les étapes de création d'un data store dans Créer un datastore de recherche, vous pouvez activer le contrôle des accès en procédant comme suit dans la console ou à l'aide de l'API :
- Console : lorsque vous créez un datastore, sélectionnez Ce data store contient des informations sur le contrôle des accès.
- API : lorsque vous créez un data store, incluez l'indicateur
"aclEnabled": "true"
dans votre charge utile JSON.
Lorsque vous suivez les étapes d'importation de données dans Créer un data store de recherche, veillez à effectuer les opérations suivantes :
- Importez vos métadonnées avec les informations de LCA depuis le même bucket que vos données non structurées.
- Si vous utilisez l'API, définissez
GcsSource.dataSchema
surdocument
.
Données non structurées provenant de BigQuery
Lorsque vous configurez un data store pour les données non structurées provenant de BigQuery, vous devez définir le data store comme contrôlé par les accès et fournir des métadonnées ACL à l'aide d'un schéma prédéfini pour Vertex AI Search :
Lorsque vous préparez vos données, spécifiez le schéma suivant. N'utilisez pas de schéma personnalisé.
[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] }, { "name": "content", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "mimeType", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" } ] } { "name": "acl_info", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "readers", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "principals", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "user_id", "type": "STRING", "mode": "NULLABLE" }, { "name": "group_id", "type": "STRING", "mode": "NULLABLE" } ] } ] } ] } ]
Incluez vos métadonnées de LCA sous forme de colonne dans votre table BigQuery.
Lorsque vous suivez les étapes de la section Créer un data store de recherche, activez le contrôle des accès dans la console ou à l'aide de l'API :
- Console : lorsque vous créez un datastore, sélectionnez Ce data store contient des informations sur le contrôle des accès.
- API : lorsque vous créez un data store, incluez l'indicateur
"aclEnabled": "true"
dans votre charge utile JSON.
Lorsque vous suivez les étapes d'importation de données dans Créer un datastore de recherche, si vous utilisez l'API, définissez
BigQuerySource.dataSchema
surdocument
.
Données structurées provenant de BigQuery
Lorsque vous configurez un data store pour les données structurées provenant de BigQuery, vous devez définir le data store comme contrôlé par les accès et fournir des métadonnées ACL à l'aide d'un schéma prédéfini pour Vertex AI Search :
Lorsque vous préparez vos données, spécifiez le schéma suivant. N'utilisez pas de schéma personnalisé.
[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] }, { "name": "acl_info", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "readers", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "principals", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "user_id", "type": "STRING", "mode": "NULLABLE" }, { "name": "group_id", "type": "STRING", "mode": "NULLABLE" } ] } ] } ] } ]
Incluez vos métadonnées de LCA sous forme de colonne dans votre table BigQuery.
Lorsque vous suivez les étapes de la section Créer un data store de recherche, activez le contrôle des accès dans la console ou à l'aide de l'API :
- Console : lorsque vous créez un datastore, sélectionnez Ce data store contient des informations sur le contrôle des accès.
- API : lorsque vous créez un data store, incluez l'indicateur
"aclEnabled": "true"
dans votre charge utile JSON.
Lorsque vous suivez les étapes d'importation de données dans Créer un data store de recherche, veillez à effectuer les opérations suivantes :
- Si vous utilisez la console, sélectionnez JSONL pour les données structurées avec métadonnées lorsque vous spécifiez le type de données que vous importez.
- Si vous utilisez l'API, définissez
BigQuerySource.dataSchema
surdocument
.
Prévisualiser les résultats pour les applications avec contrôle des accès tiers
Pour prévisualiser les résultats dans la console pour les applications avec contrôle d'accès tiers, vous devez vous connecter avec les identifiants de votre organisation.
Vous pouvez prévisualiser les résultats de l'UI de deux manières :
- Console de fédération des identités des employés Ouvrez la console de fédération d'identité de personnel et connectez-vous avec vos identifiants tiers. Consultez les résultats de l'aperçu dans la console Workforce Identity Federation.
- Application Web : activez une application Web dédiée fournie par Vertex AI Search et connectez-vous. Consultez Activer l'application Web.
Prévisualiser les résultats dans la console Workforce Identity Federation
Pour afficher les résultats à l'aide de la console Workforce Identity Federation, procédez comme suit :
Dans la console Google Cloud , accédez à la page AI Applications.
Cliquez sur le nom de l'application de recherche dont vous souhaitez prévisualiser les résultats.
Accédez à la page Aperçu.
Cliquez sur Prévisualiser les résultats avec l'identité fédérée pour accéder à la console de fédération d'identité de personnel.
Saisissez les identifiants de votre fournisseur de pool d'employés et de votre organisation.
Prévisualisez les résultats pour votre application sur la page Aperçu qui s'affiche.
Pour en savoir plus sur l'aperçu des résultats de recherche, consultez Obtenir des résultats de recherche.
Pour en savoir plus sur la console de fédération des identités des employés, consultez À propos de la console (fédération).
Accorder des autorisations de recherche à vos utilisateurs
Pour permettre à vos utilisateurs de rechercher des données à accès contrôlé à l'aide de votre application, vous devez leur accorder l'accès dans votre domaine ou votre pool de personnel. Google vous recommande d'attribuer un rôle IAM personnalisé à votre groupe d'utilisateurs.
- Identité Google : si vous utilisez l'identité Google, Google vous recommande de créer un groupe Google qui inclut tous les employés ayant besoin d'effectuer des recherches. Si vous êtes administrateur Google Workspace, vous pouvez inclure tous les utilisateurs d'une organisation dans un groupe Google en suivant les étapes décrites dans Ajouter tous les utilisateurs de votre organisation à un groupe.
- Fournisseur d'identité tiers : si vous utilisez un fournisseur d'identité externe, par exemple Okta ou Azure AD, ajoutez tous les membres de votre pool de personnel à un seul groupe.
Google vous recommande de créer un rôle IAM personnalisé à accorder à votre groupe d'utilisateurs, en utilisant les autorisations suivantes :
discoveryengine.answers.get
discoveryengine.servingConfigs.answer
discoveryengine.servingConfigs.search
discoveryengine.sessions.get
discoveryengine.widgetConfigs.get
Pour en savoir plus sur les autorisations pour les ressources AI Applications à l'aide d'Identity and Access Management (IAM), consultez Contrôle des accès avec IAM.
Pour en savoir plus sur les rôles personnalisés, consultez la section Rôles personnalisés de la documentation IAM.
Autoriser le widget Recherche
Si vous souhaitez déployer un widget de recherche pour une application à accès contrôlé, procédez comme suit :
Attribuez le rôle Lecteur Discovery Engine aux utilisateurs de votre domaine ou de votre pool de charges de travail qui doivent effectuer des appels à l'API Search.
Générez des jetons d'autorisation à transmettre à votre widget :
- Pour Google Identity : générez des jetons d'accès OAuth 2.0.
- Pour la fédération d'identité de personnel : suivez les étapes décrites dans Obtenir des jetons de courte durée pour la fédération d'identité de personnel afin d'obtenir votre jeton.
Suivez la procédure décrite dans Ajouter un widget avec un jeton d'autorisation pour transmettre le jeton à votre widget.
Activer l'application Web
L'application Web est un site dédié généré par Vertex AI Search. Vous et les autres utilisateurs disposant d'identifiants de connexion pouvez y utiliser votre application de recherche.
Pour fournir l'application de recherche aux utilisateurs sans avoir à intégrer vous-même le widget de recherche ou l'API Search à votre application, vous pouvez leur fournir l'URL de l'application Web.
Pour activer l'application Web :
Dans la console Google Cloud , accédez à la page AI Applications.
Cliquez sur le nom de l'application de recherche pour laquelle vous souhaitez créer une application Web.
L'application de recherche doit être associée à au moins une source de données avec contrôle d'accès. Pour en savoir plus, consultez Configurer une source de données avec contrôle des accès.
Accédez à l'onglet Integration (Intégration) > UI (Interface utilisateur).
Cliquez sur Activer l'application Web.
Si vous utilisez la fédération d'identité de personnel, sélectionnez un fournisseur de pool de personnel.
Cliquez sur le lien vers votre application Web.
Saisissez les identifiants de votre fournisseur de pool d'employés et de votre organisation.
Prévisualisez les résultats pour votre application.
Pour configurer les résultats de l'application Web, consultez Configurer les résultats du widget Recherche. Toutes les configurations du widget s'appliquent également à l'application Web.
Facultatif : Pour fournir l'application de recherche à vos utilisateurs via cette application Web dédiée, copiez l'URL et envoyez-la aux utilisateurs disposant d'identifiants de connexion. Ils peuvent ajouter l'URL de l'application Web à leurs favoris et y accéder pour utiliser votre application de recherche.
Pour en savoir plus sur l'obtention des résultats de recherche, consultez Obtenir des résultats de recherche.