

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.

# Configuration de l'authentification par fournisseur d'identité externe (IdP)
<a name="aws-devops-agent-security-setting-up-external-identity-provider-idp-authentication"></a>

L'authentification par fournisseur d'identité externe (IdP) permet à votre organisation d'utiliser un fournisseur d'identité compatible OIDC existant, tel qu'Okta ou Microsoft Entra ID, pour gérer l'accès des utilisateurs à l' AWS DevOps application Web Agent Space. Les utilisateurs se connectent à l'aide de leurs identifiants d'entreprise directement via votre IdP, sans avoir besoin d' AWS IAM Identity Center.

## Conditions préalables
<a name="prerequisites"></a>

Avant de configurer l'authentification IdP externe, assurez-vous d'avoir :
+ Un fournisseur d'identité compatible OIDC (Okta ou Microsoft Entra ID)
+ Accès administrateur à votre fournisseur d'identité
+ Autorisations d'administrateur pour accéder à la console de AWS DevOps l'agent
+ Un espace agent configuré ou prêt à être créé

## Comment ça marche
<a name="how-it-works"></a>

Lorsque vous configurez l'authentification IdP externe :
+ Les utilisateurs accèdent à l'URL de l'application Web Agent Space
+ Ils sont redirigés vers la page de connexion de votre fournisseur d'identité
+ Après s'être authentifiés à l'aide de leurs informations d'identification professionnelles, ils sont redirigés vers l'application Web
+ L'application Web échange le jeton d'authentification contre des AWS informations d'identification de courte durée accessibles à l'espace agent

Les sessions sont valides pour une durée maximale de 8 heures. Les informations d'identification sont automatiquement actualisées à l'aide de jetons d'actualisation OIDC sans que les utilisateurs n'aient à s'authentifier à nouveau.

## Configuration de l'authentification IdP externe
<a name="configuring-external-idp-authentication"></a>

### Étape 1 : Enregistrez une demande auprès de votre fournisseur d'identité
<a name="step-1-register-an-application-in-your-identity-provider"></a>

Choisissez votre fournisseur d'identité et suivez les instructions de configuration correspondantes.

#### Option A : Okta
<a name="option-a-okta"></a>

1. Dans la console d'administration Okta, accédez à **Applications > **Applications**** et choisissez **Create App Integration**

1. Sélectionnez **OIDC - OpenID** Connect comme **méthode de connexion et** Application Web comme type d'application. Choisissez **Next** (Suivant)

1. Définissez un nom descriptif pour l'application (par exemple,`AWS DevOps Agent`)

1. Sous **Type de subvention**, assurez-vous que les éléments suivants sont cochés :
   + **Code d'autorisation** (par défaut)
   + **Jeton d'actualisation** — Ceci est nécessaire pour actualiser la session. Si cette option n'est pas activée, les utilisateurs ne seront pas en mesure de maintenir les sessions.

**Note**  
**Okta n'active pas le type de subvention Refresh Token par défaut. Vous devez l'activer explicitement.

1. Laissez la **redirection de connexion URIs** comme valeur par défaut pour le moment. Vous la mettrez à jour après avoir configuré l'espace agent

1. Sous **Attributions**, attribuez les utilisateurs ou les groupes qui devraient avoir accès

1. Choisissez **Enregistrer**.

1. Dans l'onglet **Général** de l'application, notez les valeurs suivantes :
   + **Identifiant du client**
   + **Secret client** — Choisissez **Copier** pour enregistrer cette valeur en toute sécurité

1. Notez votre **domaine Okta :** il s'agit de l'URL de votre émetteur (par exemple,`https://dev-12345678.okta.com`).

**Note**  
Dans **l'onglet** **Connexion, vérifiez que l'**émetteur **est défini** sur Okta URL ** (et non sur Dynamic). Cela garantit la stabilité de l'URL de l'émetteur.

**Note**  
**N'ajoutez pas de ** réclamation de** groupe au jeton d'identification dans l'onglet Réclamations de votre serveur d'autorisation. AWS DevOps L'agent n'utilise pas l'appartenance à un groupe depuis votre IdP.

#### Option B : identifiant Microsoft Entra
<a name="option-b-microsoft-entra-id"></a>

1. Sur le portail Azure, accédez à **Microsoft Entra ID** > **Enregistrements d'applications** > **Nouvel enregistrement**

1. Définissez un nom descriptif (par exemple,`AWS DevOps Agent`)

1. Sous **Types de comptes pris en charge**, sélectionnez l'option appropriée pour votre organisation (généralement, **les comptes de ce répertoire d'organisation uniquement**)

1. Laissez l'**URI de redirection** vide pour le moment. Choisissez **S'inscrire**

1. Sur la page de **présentation** de l'application, notez les valeurs suivantes :
   + **ID de l'application (client)** : utilisé comme identifiant client lors de la configuration de l'espace agent
   + **ID du répertoire (tenant)** : utilisé pour créer l'URL de l'émetteur

1. Accédez à **Certificats et secrets** > **Nouveau secret client**
   + Définissez une description et une période d'expiration
   + Choisissez **Ajouter** et copiez immédiatement la **valeur** secrète ; elle ne sera plus affichée

1. L'URL de l'émetteur de l'identifiant Entra suit ce format. `{tenant-id}`Remplacez-le par votre ID de répertoire (tenant) indiqué à l'étape 5 :
   + `https://login.microsoftonline.com/{tenant-id}/v2.0`

**Note**  
**N'activez pas la réclamation facultative du** **groupe dans la** configuration des jetons**. AWS DevOps L'agent n'utilise pas l'appartenance à un groupe depuis votre IdP.

### Étape 2 : activer l'application Operator avec l'authentification IdP
<a name="step-2-enable-the-operator-app-with-idp-authentication"></a>

1. Dans la console AWS DevOps Agent, sélectionnez votre espace agent

1. Accédez à l'onglet **Accès**

1. Sous **Accès utilisateur**, choisissez **Fournisseur d'identité externe**

1. Dans le formulaire de configuration, configurez les éléments suivants :
   + **Fournisseur d'identité** : sélectionnez votre fournisseur d'identité (Okta ou Microsoft Entra ID)
   + URL de **l'émetteur : URL** de l'émetteur OIDC de votre fournisseur d'identité
   + **ID client : ID** client de l'application OIDC que vous avez créée
   + **Secret client** — Le secret client de votre application OIDC

1. Sous **Nom du rôle de l'application du fournisseur d'identité**, choisissez l'une des trois options suivantes :
   + **Création automatique d'un nouveau rôle d' DevOps agent** (recommandé) : crée un nouveau rôle de service avec les autorisations appropriées
   + **Attribuer un rôle existant** : utilisez un rôle IAM existant que vous avez déjà créé
   + **Création d'un nouveau rôle d' DevOps agent à l'aide d'un modèle de politique** : utilisez les informations fournies pour créer votre propre rôle dans la console IAM

1. Consultez l'alerte d'avertissement **relative à l'URL de rappel** affichée au bas du formulaire. Copiez cette URL : vous devrez l'ajouter à la redirection autorisée par votre fournisseur d'identité URIs avant que les utilisateurs puissent se connecter.

1. Choisissez **Connect (Connexion)**.

Après avoir choisi **Connect**, la console affiche la **configuration du fournisseur d'identité externe** avec les détails suivants :
+ **Fournisseur** : le fournisseur d'identité que vous avez sélectionné
+ URL de **l'émetteur : URL** de l'émetteur OIDC configurée
+ **ID client** : ID client configuré
+ **ARN du rôle IAM** — Le rôle IAM utilisé pour l'accès des utilisateurs
+ **URL de rappel** — Configurez cette URL dans votre fournisseur d'identité en tant qu'URI de redirection autorisée
+ **URL de connexion** : utilisez cette URL pour accéder à l'application Web via votre fournisseur d'identité

### Étape 3 : Ajoutez l'URL de rappel à votre fournisseur d'identité
<a name="step-3-add-the-callback-url-to-your-identity-provider"></a>

#### Okta
<a name="okta"></a>

1. Dans la console d'administration Okta, accédez à l'onglet **Général** de votre application

1. Sous **Connexion**, choisissez **Modifier**

1. Ajoutez l'URL de rappel en tant qu'URI de **redirection de connexion** :
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/callback`

1. (Facultatif) Définissez l'**URI d'initiation de connexion** pour activer la connexion initiée par l'IdP depuis le tableau de bord Okta :
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/login`

1. (Recommandé) Ajoutez une **URI de redirection de déconnexion** pour rediriger les utilisateurs vers l'application Web après la déconnexion. Sans cela, les utilisateurs peuvent voir une page d'erreur s'afficher lorsqu'ils se déconnectent :
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome`

1. Choisissez **Enregistrer**.

#### Identifiant Microsoft Entra
<a name="microsoft-entra-id"></a>

1. Dans le portail Azure, accédez à la page d'**authentification** de votre application

1. Sous **Configurations de plate-forme**, choisissez **Ajouter une plate-forme** > **Web**

1. Entrez l'URL de rappel en tant qu'**URI de redirection** :
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/callback`

1. (Facultatif) Ajoutez une URI de redirection de déconnexion pour rediriger les utilisateurs vers l'application Web après la déconnexion :
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome`

1. Choisissez **Configurer**

### Étape 4 : vérifier la configuration
<a name="step-4-verify-the-configuration"></a>

1. Accédez à l'**URL de connexion** affichée dans la console :
   + `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/idp/login`

1. Vous devriez être redirigé vers la page de connexion de votre fournisseur d'identité

1. Connectez-vous à l'aide des informations d'identification de votre entreprise

1. Une fois l'authentification réussie, vous êtes redirigé vers l'application Web Agent Space

## Mise à jour de la configuration de l'IdP
<a name="updating-idp-configuration"></a>

Vous pouvez faire pivoter le secret du client sans vous déconnecter :

1. Dans la console AWS DevOps Agent, sélectionnez votre espace agent

1. Accédez à l'onglet **Accès**

1. Sous **Configuration du fournisseur d'identité externe**, choisissez **Rotate client secret**

1. Entrez le nouveau **secret du client**

1. Choisissez **Enregistrer**.

Pour modifier un autre champ de configuration d'IdP (tel que l'URL de l'émetteur, l'ID client ou le fournisseur d'identité), vous devez déconnecter l'IdP existant et en configurer un nouveau.

## Comment les utilisateurs accèdent à l'application Web Agent Space
<a name="how-users-access-the-agent-space-web-app"></a>

Après avoir configuré l'authentification IdP externe :
+ Partagez l'URL de l'application Web Agent Space avec les utilisateurs autorisés
+ Lorsque les utilisateurs accèdent à l'URL, ils sont redirigés vers la page de connexion de votre fournisseur d'identité
+ Après avoir saisi leurs informations d'identification (et terminé le MFA si configuré par votre IdP), ils sont redirigés vers l'application Web Agent Space
+ Les sessions sont actualisées automatiquement — voir [Gestion des sessions](#session-management) pour plus de détails

## Gestion de session
<a name="session-management"></a>

Les sessions IdP externes pour l'application Web Agent Space présentent les caractéristiques suivantes :
+ **Durée de session** — Les sessions du navigateur durent jusqu'à 8 heures. Ceci n'est pas configurable dans AWS DevOps l'Agent. Si la durée de vie de la session de votre IdP dépasse 8 heures, les utilisateurs peuvent être réauthentifiés automatiquement lors de leur prochaine visite sans saisir d'informations d'identification. Configurez la durée de vie des sessions et des jetons de votre IdP conformément aux exigences de sécurité de votre organisation.
+ **Actualisation des informations d'identification** : les sessions sont automatiquement actualisées à l'aide de jetons d'actualisation OIDC sans que les utilisateurs n'aient à s'authentifier à nouveau
+ **Authentification multifactorielle** : prise en charge lorsqu'elle est configurée dans votre fournisseur d'identité. L'IdP gère le MFA lors de la connexion ; aucune configuration supplémentaire n'est nécessaire dans l'Agent AWS DevOps 

### Comportement de déconnexion
<a name="logout-behavior"></a>

Lorsqu'un utilisateur clique sur **Déconnexion** dans l'application Web :

1. Tous les cookies de session sont immédiatement effacés

1. L'utilisateur est redirigé vers le point de terminaison de déconnexion OIDC du fournisseur d'identité pour mettre fin à la session SSO

1. Si une URI de redirection de déconnexion est configurée, l'utilisateur est redirigé vers la page d'accueil de l'application Web

### Révocation de l'accès utilisateur
<a name="revoking-user-access"></a>

Pour révoquer immédiatement l'accès d'un utilisateur, vous pouvez révoquer ses sessions directement sur le portail d'administration de votre fournisseur d'identité :
+ **Okta** — Dans la console d'administration Okta, accédez à **Annuaire** > **Personnes**, sélectionnez l'utilisateur, choisissez **Plus d'actions** > **Effacer** les sessions utilisateur
+ **Microsoft Entra ID** : dans le portail Azure, accédez à **Utilisateurs**, sélectionnez l'utilisateur, puis choisissez **Révoquer** les sessions

## Considérations sur la sécurité
<a name="security-considerations"></a>

**Stockage du secret client** : le secret client que vous fournissez lors de la configuration est chiffré à l'aide de votre clé KMS gérée par le client si vous en avez fourni une lors de la création de l'espace agent, ou d'une clé appartenant au service dans le cas contraire. Il n'est jamais renvoyé dans les réponses de l'API ni affiché dans la console après la configuration initiale.

**Rotation des secrets clients** — Les secrets clients Entra ont une date d'expiration configurable. Définissez un rappel pour faire pivoter le secret avant son expiration à l'aide de l'option **Rotation du secret client** dans la console de l' AWS DevOps agent. Si le secret expire, les utilisateurs ne pourront pas se connecter tant qu'il n'aura pas été modifié.

**Gestion de la durée** de vie des jetons — La durée de vie des jetons (jetons d'accès, jetons d'actualisation) émis par votre fournisseur d'identité est contrôlée par la configuration de votre IdP. Nous vous recommandons de configurer les durées de vie des jetons appropriées dans votre IdP :
+ **Okta** **— Configurez la durée de vie des jetons sous **Sécurité** > **API** > **Serveurs d'autorisation > Politiques d'**accès**
+ **Microsoft Entra ID** : configurez la durée de vie des jetons à l'aide des politiques de durée de [vie des jetons](https://learn.microsoft.com/en-us/entra/identity-platform/configurable-token-lifetimes)

**Réclamation de groupe** : n'activez pas la réclamation de groupe dans la configuration des jetons de votre fournisseur d'identité. AWS DevOps L'agent n'utilise actuellement pas l'appartenance à un groupe depuis votre IdP.

**Identifiant utilisateur** — AWS DevOps L'agent utilise une réclamation spécifique au fournisseur pour identifier les utilisateurs de manière unique :
+ **Okta** — Utilise la `sub` réclamation du jeton d'identification
+ **Microsoft Entra ID** — Utilise la réclamation `oid` (identifiant de l'objet) contenue dans le jeton d'identification

Ces identifiants sont immuables et apparaissent dans les CloudTrail journaux à des fins d'audit.

## Déconnexion d'un IdP externe
<a name="disconnecting-external-idp"></a>

1. Dans la console AWS DevOps Agent, sélectionnez votre espace agent

1. Accédez à l'onglet **Accès**

1. Sous **Accès utilisateur**, choisissez **Déconnecter**

1. Passez en revue les impacts répertoriés dans la boîte de dialogue de confirmation et confirmez

La déconnexion permettra de :
+ Supprimer la configuration IdP de l'espace agent
+ Empêcher les utilisateurs de se connecter via le fournisseur d'identité externe
+ Supprimer l'historique des discussions individuelles et des artefacts associés aux comptes utilisateurs IdP

Les sessions utilisateur actives se poursuivront jusqu'à leur expiration ou jusqu'à ce que la prochaine actualisation des informations d'identification échoue.

## Résolution des problèmes
<a name="troubleshooting"></a>
+ La **redirection vers l'IdP échoue** : vérifiez que l'URL de l'émetteur correspond au point de terminaison de découverte OIDC de votre IdP. Pour Okta, assurez-vous que l'**émetteur** est défini sur l'**URL Okta** (et non sur **Dynamic**) dans l'onglet **Sign** On. Pour Entra, utilisez le format`https://login.microsoftonline.com/{tenant-id}/v2.0`.
+ **Accès refusé ou erreur de politique (Okta)** : vérifiez que l'utilisateur ou son groupe est affecté à l'application sous **Affectations**. Cochez **la case Connexion** **> Règles relatives à la politique de** connexion.
+ **Erreur de configuration de l'IdP après la connexion** : votre fournisseur d'identité n'a pas renvoyé de jeton d'actualisation. Assurez-vous que le `offline_access` champ d'application et le type d'autorisation du jeton d'actualisation sont activés :
  + **Okta** **— Accédez à l'onglet **Général** de votre application et cochez la case **Actualiser le jeton** sous Type de subvention**
  + **Entra** — Accédez aux **autorisations de l'API** et assurez-vous qu'elles `offline_access` figurent dans la section Autorisations déléguées
+ **L'authentification réussit mais l'application Web affiche une erreur**. Vérifiez que l'URI de redirection de votre IdP correspond exactement à l'URL de **rappel affichée dans AWS DevOps la** console de l'agent.
+ **Échecs d'authentification** — Si la réclamation facultative du **groupe** est activée dans votre IdP, désactivez-la. AWS DevOps L'agent n'utilise pas les réclamations de groupe.
+ **La **connexion échoue après l'authentification IdP** — Pour Entra, la vérification n'`requestedAccessTokenVersion`est pas définie sur `null` dans le manifeste de l'application.** Pour Okta, vérifiez que l'**URL de l'émetteur est correcte**.
+ **Page d'erreur après avoir cliqué sur Déconnexion (Okta)** **: si un `post_logout_redirect_uri` message d'erreur s'affiche après la déconnexion, ajoutez `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome` une **URI de redirection de déconnexion** dans l'onglet Général de votre application Okta.**
+ **Les utilisateurs restent sur la page du fournisseur d'identité après la déconnexion (Entra)** — Pour rediriger les utilisateurs vers l'application Web après la déconnexion, ajoutez `https://{agentSpaceId}.aidevops.global.app.aws/authorizer/welcome` un **URI de redirection** sur la page **d'authentification** de votre application Entra.