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 le fournisseur d'identité de votre organisation, alors 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 du 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 des métadonnées de LCA et définir le datastore comme étant à accès contrôlé :

  1. Lorsque vous préparez vos données, incluez des 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 les étapes de création d'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 : lors de la création d'un data store, sélectionnez Ce data store contient des informations de contrôle des accès.
    • API : lors de la création d'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 propriétaire de données, veillez à procéder comme suit :

    • Importez vos métadonnées avec des 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 des métadonnées de LCA et définir le datastore comme étant à accès contrôlé :

  1. Lorsque vous préparez vos données, incluez des 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 les étapes de création d'data store 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 : lors de la création d'un data store, sélectionnez Ce data store contient des informations de contrôle des accès.
    • API : lors de la création d'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 à procéder comme suit :

    • Importez vos métadonnées avec des informations de LCA à 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 des données non structurées provenant de BigQuery, vous devez définir le data store comme étant à accès contrôlé 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 en tant que colonne dans votre table BigQuery.

  3. Lorsque vous suivez les étapes décrites dans Créer un datastore de données first 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 de contrôle des accès.
    • API : lors de la création d'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 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 des données structurées provenant de BigQuery, vous devez définir le data store comme étant à accès contrôlé 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 en tant que colonne dans votre table BigQuery.

  3. Lorsque vous suivez les étapes décrites dans Créer un datastore de données first 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 de contrôle des accès.
    • API : lors de la création d'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 propriétaire de données, veillez à procéder comme suit :

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