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 de BigQuery.

Présentation

Le contrôle des accès pour 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.

Supposons que les employés de votre entreprise recherchent des informations dans des documents BigQuery à l'aide de votre application de recherche. Vous devez cependant vous assurer qu'ils ne peuvent pas consulter des contenus non autorisés. 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, lorsqu'un employé utilise votre application, il n'obtient que des résultats de recherche 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 le contrôle des accès à une source de données BigQuery ou Cloud Storage, procédez comme suit en fonction de votre type de données (structurées ou non structurées).

Données non structurées 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 de LCA et définir le datastore comme étant soumis à un contrôle des accès :

  1. Lorsque vous préparez vos données, incluez les informations de 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 des 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 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 : lors de la création d'un data store, sélectionnez Ce data store contient des informations sur le contrôle des accès.
    • API : lorsque vous créez 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 datastore first party, veillez à effectuer les opérations suivantes :

    • Importer 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 sur document.

Données structurées 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 de LCA et définir le datastore comme étant soumis à un contrôle des accès :

  1. Lorsque vous préparez vos données, incluez les informations de 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 data store dans Créer un données first party 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 : lors de la création d'un data store, sélectionnez Ce data store contient des informations sur le contrôle des accès.
    • API : lorsque vous créez 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 datastore de données first party, 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 structurées.
    • Si vous utilisez l'API, définissez GcsSource.dataSchema sur document.

Données non structurées de BigQuery

Lorsque vous configurez un data store pour des données non structurées provenant de BigQuery, vous devez définir le data store comme étant soumis à un contrôle des accès et fournir des métadonnées de LCA à 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 vos métadonnées de LCA sous forme de colonne dans votre table BigQuery.

  3. Lorsque vous suivez la procédure décrite dans Créer un données first party party, activez le contrôle des accès dans la console ou à l'aide de l'API :

    • Console : lors de la création d'un data store, sélectionnez Ce data store contient des informations sur le contrôle des accès.
    • API : lorsque vous créez data store, incluez le champ "aclEnabled": "true" dans votre charge utile JSON.
  4. Lorsque vous suivez la procédure d'importation de données dans Créer un données first party party, si vous utilisez l'API, définissez BigQuerySource.dataSchema sur document.

Données structurées de BigQuery

Lorsque vous configurez un data store pour des données structurées provenant de BigQuery, vous devez définir le data store comme étant soumis à un contrôle des accès et fournir des métadonnées de LCA à 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 vos métadonnées de LCA sous forme de colonne dans votre table BigQuery.

  3. Lorsque vous suivez la procédure décrite dans Créer un données first party party, activez le contrôle des accès dans la console ou à l'aide de l'API :

    • Console : lors de la création d'un data store, sélectionnez Ce data store contient des informations sur le contrôle des accès.
    • API : lorsque vous créez 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 datastore first party, veillez à effectuer les opérations suivantes :

    • Si vous utilisez la console, lorsque vous spécifiez le type de données que vous importez, sélectionnez JSONL pour les données structurées avec des métadonnées.
    • Si vous utilisez l'API, définissez BigQuerySource.dataSchema sur document.