Lesson 21 — Gemini enterprise natif

04. SharePoint et OneDrive

3 min read

This content is not translated yet. Showing the original version.

Sources officielles (relues le 14/10/2026) : Terraform des connecteurs · Configuration SharePoint côté Microsoft · SharePoint en ingestion · OneDrive. Non testable sur le projet de test (pas de tenant Microsoft) : à dérouler avec votre administrateur Entra.

1. L'application Entra (administrateur Microsoft, une fois)

  1. Microsoft Entra admin center → App registrations → New registration (nom : Gemini Enterprise).
  2. Notez Application (client) ID et Directory (tenant) ID.
  3. Authentification, au choix :
    • identifiants fédérés (recommandé par Google) : pas de secret ; le formulaire Gemini Enterprise donne un Subject identifier à ajouter dans Certificates & secrets → Federated credentials ;
    • ou un client secret (Certificates & secrets → New client secret) : rangez-le dans Secret Manager.
  4. API permissions (Microsoft Graph, Application) puis Grant admin consent. Pour SharePoint :
    • Sites.Read.All indexe tous les sites mais ne permet pas de lire les groupes et rôles (donc les droits) ;
    • Sites.FullControl.All, ou Sites.Selected + droit fullcontrol donné site par site (PowerShell PnP ou Graph) : droits lus correctement, accès limité aux sites choisis (recommandé).

2. SharePoint fédéré, par Terraform

Le secret (si vous n'utilisez pas les identifiants fédérés) :

gcloud secrets create sharepoint-client-secret --replication-policy=user-managed --locations=europe-west1
printf '%s' 'LA_VALEUR' | gcloud secrets versions add sharepoint-client-secret --data-file=-

Dans un fichier terraform/sharepoint.auto.tfvars (Terraform le lit seul) :

connectors = {
  sharepoint = {
    data_source  = "sharepoint_federated_search"   # forme documentée par Google
    display_name = "SharePoint"
    modes        = ["FEDERATED"]
    params = {
      instance_uri = "https://votre-tenant.sharepoint.com"   # tous les sites ; ou …/sites/un-site
      tenant_id    = "TENANT_ID"
      client_id    = "CLIENT_ID"
    }
    secret_params = { client_secret = "sharepoint-client-secret" }   # ID du secret, jamais la valeur
    entities      = [{ name = "file" }]   # nom d'entité : voir la documentation du connecteur
  }
}

terraform apply, puis bash scripts/rattacher.sh. Le kit donne à l'agent Gemini Enterprise la lecture du secret. La liste exacte des entités et des paramètres facultatifs (structured_search_filter, ex. Path = https://votre-tenant.sharepoint.com/*) est dans la page Terraform officielle.

3. OneDrive (console)

Rôle nécessaire : roles/discoveryengine.editor.

  1. Gemini Enterprise → Data stores → Create data store → Microsoft OneDrive → Select.
  2. Connector mode : Data ingestion (meilleure recherche, synchro planifiée ou temps réel en préversion) ou Federated search (en direct).
  3. Authentication settings : Client ID, Client secret (ou Subject identifier pour les identifiants fédérés), Tenant ID ; en fédéré, Login (connexion Microsoft).
  4. Fédéré : Destinations = URL OneDrive (https://votre-tenant-my.sharepoint.com), Azure Tenant, filtres de chemin éventuels. Ingestion : Entities to sync, Sync frequency, Incremental sync frequency.
  5. Configuration : Multi-region = celui de l'app, nom du connecteur → Create. L'ingestion prend plusieurs heures (Creating → Running → Active).
  6. Synchro temps réel (ingestion, préversion) : data store → Data → Real-time sync → View/edit → Enable real-time sync, secret d'environ 20 caractères → Save → état Running.
  7. bash scripts/rattacher.sh <ID du data store OneDrive>, puis dans l'app : autoriser Gemini Enterprise à accéder à OneDrive (première connexion de chaque personne).

Confidentialité (fédéré) : la question est envoyée à Microsoft, qui peut l'associer à votre identité ; avec plusieurs sources fédérées, elle part vers chacune.

Next