

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.

# Enable AWS accès au compte pour les applications gérées par le client
<a name="enable-account-access-customer-managed-apps"></a>

Vous pouvez activer l'accès au AWS compte pour les applications gérées par le client dans IAM Identity Center en configurant un [émetteur de jetons fiable](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html). Un émetteur de jetons de confiance est un serveur d'autorisation OAuth 2.0 qui émet des jetons signés pour le compte d'utilisateurs authentifiés. IAM Identity Center échange ces jetons contre des informations d'identification qui permettent à votre application d'accéder par programmation aux AWS comptes et aux rôles assignés à ces utilisateurs. Des émetteurs de jetons fiables peuvent également être utilisés pour accéder aux applications AWS gérées. Pour de plus amples informations, veuillez consulter [Utilisation d'applications dotées d'un émetteur de jetons fiable](using-apps-with-trusted-token-issuer.md).

**Note**  
Vous pouvez activer cette fonctionnalité uniquement pour les [instances d'organisation](organization-instances-identity-center.md) d'IAM Identity Center. Seuls les administrateurs de comptes de gestion ou les administrateurs délégués peuvent activer le `sso:account:access` champ d'application d'une application gérée par le client. Si vous êtes un créateur d'applications dans un compte membre, contactez l'administrateur de votre IAM Identity Center pour activer cette étendue pour votre application.

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

Une fois qu'un administrateur a activé le `sso:account:access` champ d'application d'une application gérée par le client, le flux de travail suivant se produit :

1. Un utilisateur se connecte à votre application par le biais de votre fournisseur d'identité externe (IdP).

1. Votre application reçoit un jeton JWT signé par l'IdP.

1. Votre application échange ce jeton contre un jeton IAM Identity Center en appelant l'`CreateTokenWithIAM`API avec le type de subvention JWT bearer (). `urn:ietf:params:oauth:grant-type:jwt-bearer` Cet appel nécessite une authentification Signature Version 4 (SigV4). Pour plus d'informations, consultez le document [CreateTokenWithIAM](https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateTokenWithIAM.html)de référence de l'*API OIDC de l'IAM Identity Center*.

1. Votre application utilise le jeton IAM Identity Center pour appeler les [opérations de l'API du portail](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_Operations.html) (`ListAccounts`,`ListAccountRoles`,`GetRoleCredentials`) afin de découvrir les comptes et les rôles attribués à l'utilisateur et de récupérer des AWS informations d'identification temporaires en son nom.

1. L'utilisateur accède aux AWS ressources par le biais de votre application sans aucune étape de connexion supplémentaire.

Si vous avez activé l'attribution du jeton d'actualisation lors de la configuration de votre application, renvoie `CreateTokenWithIAM` également un jeton d'actualisation à côté du jeton d'accès. Votre application peut utiliser ce jeton d'actualisation pour obtenir de nouveaux jetons d'accès sans répéter l'échange complet de jetons JWT Bearer. Pour actualiser un jeton d'accès, appelez `CreateTokenWithIAM` avec le type de `refresh_token` subvention.

## Conditions préalables
<a name="enable-account-access-prerequisites"></a>

Avant d'activer l'accès au compte pour une application gérée par le client, vous devez :
+ [Application gérée par le client](https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-trusted-identity-propagation-set-up-your-own-app-OAuth2.html) configurée dans IAM Identity Center qui prend en charge les jetons Web JSON (JWT). L'application doit disposer d'un composant de serveur principal capable de stocker les informations d'identification en toute sécurité. Browser-based les applications, telles que les applications d'une seule page (SPA), et les autres clients publics ne sont pas pris en charge pour cette fonctionnalité.
+ Un [émetteur de jetons de confiance](https://docs.aws.amazon.com/singlesignon/latest/userguide/using-apps-with-trusted-token-issuer.html) associé à votre application.
+ Accès au compte de AWS Organizations gestion ou au compte d'administrateur délégué pour IAM Identity Center. Les créateurs d'applications dans les comptes membres ne peuvent pas activer cette portée directement.

## Activer l'accès au compte
<a name="enable-account-access-console"></a>

**Pour activer le champ d'application `sso:account:access` pour une application gérée par le client**

1. Connectez-vous à l' Console de gestion AWS aide du compte de gestion ou du compte d'administrateur délégué de votre organisation.

1. Ouvrez la [console IAM Identity Center](https://console.aws.amazon.com/singlesignon).

1. Dans le volet de navigation, choisissez **Applications**.

1. Choisissez l’onglet **Gérée par le client**.

1. Choisissez le nom de l'application que vous souhaitez configurer.

1. Dans la section **Accès au AWS compte**, activez **Activer l'accès au AWS compte**.

Une fois que vous avez activé l'accès au compte, l'application peut appeler par programmation les opérations de l'API du portail Identity pour répertorier les comptes et les rôles, et récupérer des AWS informations d'identification temporaires pour les rôles auxquels un utilisateur authentifié est autorisé à accéder.

**Important**  
Lorsque vous activez le `sso:account:access` champ d'application d'une application, cette application peut accéder à tous les comptes et rôles disponibles pour un utilisateur authentifié par le biais de ses attributions d'ensembles d'autorisations. Vous ne pouvez pas restreindre l'application à des comptes ou à des rôles spécifiques. Assurez-vous de bien comprendre ce niveau d'accès avant d'activer cette fonctionnalité.

## Accès par programmation
<a name="enable-account-access-programmatic"></a>

Vous pouvez utiliser l'`PutApplicationAccessScope`API pour activer par programmation le `sso:account:access` champ d'application d'une application gérée par le client. Vous devez appeler l'API depuis le compte de gestion ou le compte d'administrateur délégué de votre organisation.

**AWS CLI**

```
aws sso-admin put-application-access-scope \
  --application-arn arn:aws:sso::{{123456789012}}:application/{{ssoins-1234567890abcdef}}/{{apl-1234567890abcdef}} \
  --scope "sso:account:access"
```

**Demande d'API :**

```
{
  "ApplicationArn": "arn:aws:sso::{{123456789012}}:application/{{ssoins-1234567890abcdef}}/{{apl-1234567890abcdef}}",
  "Scope": "sso:account:access"
}
```

Pour désactiver l'accès au compte, utilisez l'`DeleteApplicationAccessScope`API avec le même ARN d'application et la même valeur de portée.

Pour plus d'informations, consultez [PutApplicationAccessScope](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_PutApplicationAccessScope.html)et consultez le [DeleteApplicationAccessScope](https://docs.aws.amazon.com/singlesignon/latest/APIReference/API_DeleteApplicationAccessScope.html)manuel de *référence de l'API IAM Identity Center*.

## Bonnes pratiques de sécurité
<a name="enable-account-access-security"></a>
+ Le `sso:account:access` champ d'application accorde à l'application l'accès à tous les comptes et rôles disponibles pour l'utilisateur authentifié. Vous ne pouvez pas restreindre l'accès à des comptes ou à des rôles spécifiques. Activez cette étendue uniquement pour les applications qui nécessitent ce niveau d'accès.
+ Conservez les jetons d'accès à IAM Identity Center et actualisez les jetons sur votre serveur principal. Ne les exposez jamais à du code côté client.
+ N'enregistrez pas les jetons ou les informations d'identification dans les journaux des applications, les messages d'erreur ou les résultats de débogage.
+ Ne transmettez pas de jetons dans les paramètres de requête d'URL. Utilisez l'`x-amz-sso_bearer_token`en-tête pour les jetons d'accès.
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)Utilisez-le pour surveiller les appels d'API effectués par vos applications.

## Informations connexes
<a name="enable-account-access-related-info"></a>
+ [Applications gérées par le client](customermanagedapps.md)
+ [Utilisation d'applications dotées d'un émetteur de jetons fiable](using-apps-with-trusted-token-issuer.md)
+ [AWS Référence d'API du portail d'accès](https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_Operations.html)