

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configurer l'authentification du compte de service pour Google Drive
<a name="kb-managed-googledrive-service-account-setup"></a>

L'authentification par compte de service (`SERVICE_ACCOUNT`) est la méthode recommandée pour une source de données Google Drive. Un compte de service Google Cloud s'authentifie à l'aide d'une clé privée, puis se fait passer pour un administrateur de Google Workspace afin d'explorer le contenu Drive de n'importe quel utilisateur de votre domaine. Il s'agit de la seule méthode qui prend en charge le contrôle d'accès au niveau du document (ACL).

**Accès administratif requis**  
Cette configuration nécessite qu'un administrateur Google Workspace active les API, crée le compte de service, configure la délégation à l'échelle du domaine et crée un utilisateur administrateur délégué. Le AWS côté nécessite un accès administrateur à AWS Secrets Manager et à IAM.

## Étape 1 : créer un projet Google Cloud
<a name="kb-managed-googledrive-sa-step1"></a>

1. Ouvrez la [console Google Cloud](https://console.cloud.google.com/).

1. Dans le sélecteur de projet en haut de la page, choisissez **Nouveau projet**.

1. Entrez le nom du projet, puis choisissez **Create**.

1. Une fois le projet créé, passez à celui-ci depuis le sélecteur de projet.

## Étape 2 : activer les API requises
<a name="kb-managed-googledrive-sa-step2"></a>

1. Dans le menu de navigation de la console Google Cloud, choisissez **APIs & Services**, puis **Library**.

1. Recherchez et activez chacune des API suivantes :
   + **API Google Drive**
   + **API d'activité Google Drive**
   + **API du SDK d'administration**

## Étape 3 : créer le compte de service
<a name="kb-managed-googledrive-sa-step3"></a>

1. Dans le menu de navigation, choisissez **APIs & Services**, puis **Credentials**.

1. Choisissez **Créer des informations d'identification**, puis **Compte de service**.

1. Entrez un nom (par exemple`bedrock-google-drive-connector`) et une description facultative, puis choisissez **OK**.

1. Sur la page **Informations d'identification**, choisissez le compte de service que vous venez de créer.

1. Dans l'onglet **Détails**, copiez l'**identifiant unique**. Vous l'utilisez à l'étape 5 pour accorder une délégation à l'échelle du domaine.

## Étape 4 : générer une clé privée
<a name="kb-managed-googledrive-sa-step4"></a>

1. Sur la page détaillée du compte de service, choisissez l'onglet **Clés**.

1. Choisissez **Ajouter une clé**, puis **Créer une nouvelle clé**.

1. Sélectionnez **JSON**, puis **Create**. Votre navigateur télécharge un fichier JSON contenant les informations `client_email` et du compte de service`private_key`. Stockez le fichier en toute sécurité.

**Note**  
Si vous recevez un message d'erreur indiquant que la création de clés de compte de service est désactivée par une politique de l'organisation, vous devez annuler `iam.disableServiceAccountKeyCreation` cette contrainte pour votre projet. Pour plus de détails, consultez la section [Restreindre l'utilisation des comptes de service](https://cloud.google.com/resource-manager/docs/organization-policy/restricting-service-accounts) dans la documentation de Google Cloud.

## Étape 5 : Configuration de la délégation à l'échelle du domaine
<a name="kb-managed-googledrive-sa-step5"></a>

Domain-wide La délégation permet au compte de service d'agir au nom des utilisateurs de votre espace de travail Google Workspace.

1. Connectez-vous à la [console d'administration Google Workspace](https://admin.google.com/) en tant qu'administrateur Google Workspace.

1. Dans le volet de navigation, choisissez **Security**, **Access and data control**, **API controls**.

1. Choisissez **Gérer la délégation à l'échelle du domaine**, puis **Ajouter une nouvelle**.

1. Dans le **champ ID client**, entrez l'identifiant unique du compte de service indiqué à l'étape 3.

1. Pour les **étendues OAuth**, entrez les valeurs suivantes séparées par des virgules :

   ```
   https://www.googleapis.com/auth/drive.readonly,
   https://www.googleapis.com/auth/drive.metadata.readonly,
   https://www.googleapis.com/auth/admin.directory.user.readonly,
   https://www.googleapis.com/auth/admin.directory.group.readonly,
   https://www.googleapis.com/auth/cloud-platform,
   https://www.googleapis.com/auth/forms.body.readonly
   ```

1. Choisissez **Authorize** (Autoriser).

## Étape 6 : Création d'un utilisateur administrateur délégué
<a name="kb-managed-googledrive-sa-step6"></a>

Le compte de service se fait passer pour un utilisateur administrateur de Google Workspace lors de l'exploration du contenu. Nous vous recommandons de créer un utilisateur administrateur dédié à cette fin avec le minimum de rôles requis.

1. Dans la console d'administration Google Workspace, sélectionnez **Annuaire**, puis **Utilisateurs**.

1. Choisissez **Ajouter un nouvel utilisateur**, entrez un prénom, un nom de famille et une adresse e-mail principale, puis choisissez **Ajouter un nouvel utilisateur**.

1. Dans la liste des utilisateurs, ouvrez l'utilisateur que vous avez créé.

1. Développez la section **Rôles et privilèges d'administrateur** et attribuez les rôles suivants :
   + **Lecteur de groupes**
   + **Administrateur de la gestion des utilisateurs**
   + **Administrateur du stockage**

1. Choisissez **Enregistrer**. Enregistrez l'adresse e-mail de cet utilisateur ; vous la stockez dans le secret sous le nom de`adminAccountEmail`.

## Étape 7 : Création du secret du Gestionnaire de Secrets
<a name="kb-managed-googledrive-sa-step7"></a>

Stockez les informations d'identification dans un AWS Secrets Manager secret avec les paires clé-valeur suivantes. Copiez `clientEmail` et `privateKey` à partir du fichier clé JSON que vous avez téléchargé à l'étape 4 (utilisez les `private_key` valeurs `client_email` et).

```
{
    "adminAccountEmail": "{{admin@your-domain.com}}",
    "clientEmail": "{{your-service-account@your-project.iam.gserviceaccount.com}}",
    "privateKey": "{{your-private-key-from-the-json-key-file}}"
}
```

Créez le secret avec AWS Command Line Interface :

```
aws secretsmanager create-secret \
  --name {{bedrock-google-drive-sa-creds}} \
  --secret-string file://secret.json
```

Enregistrez l'ARN secret de la réponse. Vous l'utilisez comme source de données`secretArn`.

**Note**  
La `privateKey` valeur contient des séquences d'`\n`échappement littérales issues du fichier clé JSON. Gardez-les tels quels lorsque vous copiez la valeur dans le secret.

## Étapes suivantes
<a name="kb-managed-googledrive-sa-next"></a>

Après avoir enregistré le secret, créez la source de données avec la `authType` valeur définie sur`SERVICE_ACCOUNT`. Consultez [Connect une source de données Google Drive](kb-managed-ds-googledrive-connect.md). Pour filtrer les résultats des requêtes en fonction des autorisations des utilisateurs, consultez[Document-level contrôles d'accès](kb-managed-ds-googledrive-acl.md).