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)
- Microsoft Entra admin center → App registrations → New registration (nom :
Gemini Enterprise). - Notez Application (client) ID et Directory (tenant) ID.
- 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.
- API permissions (Microsoft Graph, Application) puis Grant admin consent. Pour SharePoint :
Sites.Read.Allindexe tous les sites mais ne permet pas de lire les groupes et rôles (donc les droits) ;Sites.FullControl.All, ouSites.Selected+ droitfullcontroldonné 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.
- Gemini Enterprise → Data stores → Create data store → Microsoft OneDrive → Select.
- Connector mode : Data ingestion (meilleure recherche, synchro planifiée ou temps réel en préversion) ou Federated search (en direct).
- 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).
- 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. - Configuration : Multi-region = celui de l'app, nom du connecteur → Create. L'ingestion prend plusieurs heures (Creating → Running → Active).
- 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.
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.