Configurer le contrôle des accès pour les sources de données personnalisées

Cette page explique comment appliquer le contrôle des accès aux sources de données (également appelé LCA) pour les applications de recherche que vous créez à l'aide de Cloud Storage ou BigQuery.

Présentation

Le contrôle des accès à vos sources de données dans Gemini Enterprise 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 BigQuery à l'aide de votre application de recherche. Toutefois, vous devez vous assurer qu'ils ne peuvent pas afficher le contenu auquel ils n'ont pas accès via l'application. 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 Gemini Enterprise. 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 BigQuery.

L'activation du contrôle des accès est une procédure ponctuelle. Pour appliquer un contrôle des accès à une source de données BigQuery ou Cloud Storage, suivez les étapes ci-dessous en fonction de votre type de données (structurées ou non structurées, par exemple).

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 :

  1. 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.

  2. Lorsque vous suivez la procédure de création d'un data store dans Créer un datastore propriétaire, 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 le champ "aclEnabled": "true" dans votre charge utile JSON.
  3. Lorsque vous suivez les étapes d'importation de données dans Créer un data store de données first party, veillez à effectuer les opérations suivantes :

    • Importez vos métadonnées avec les informations de LCA à partir du même bucket que vos données non structurées.
    • Si vous utilisez l'API, définissez GcsSource.dataSchema sur document.

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 :

  1. 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" }
             ]
           }
         ]
       }
     }
    
  2. Lorsque vous suivez la procédure de création d'un datastore dans Créer un datastore de données first party, 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 le champ "aclEnabled": "true" dans votre charge utile JSON.
  3. Lorsque vous suivez les étapes d'importation de données dans Créer un data store de données first party, veillez à effectuer les opérations suivantes :

    • Importez vos métadonnées avec les informations sur la liste de contrôle d'accès à partir du même bucket que vos données structurées.
    • Si vous utilisez l'API, définissez GcsSource.dataSchema sur document.

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 Gemini Enterprise :

  1. 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"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
    
  2. Incluez les métadonnées de votre LCA sous forme de colonne dans votre table BigQuery.

  3. Lorsque vous suivez les étapes de Créer un magasin de données first party, 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 le champ "aclEnabled": "true" dans votre charge utile JSON.
  4. Lorsque vous suivez les étapes d'importation de données dans Créer un data store de données first party, si vous utilisez l'API, définissez BigQuerySource.dataSchema sur document.

Données structurées provenant de BigQuery

Lorsque vous configurez un data store pour les données structurées de BigQuery, vous devez définir le data store comme contrôlé par l'accès et fournir des métadonnées ACL à l'aide d'un schéma prédéfini pour Gemini Enterprise :

  1. 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"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
    
  2. Incluez les métadonnées de votre LCA sous forme de colonne dans votre table BigQuery.

  3. Lorsque vous suivez les étapes de Créer un magasin de données first party, 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 le champ "aclEnabled": "true" dans votre charge utile JSON.
  4. Lorsque vous suivez les étapes d'importation de données dans Créer un data store de données first party, 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 sur document.