View a markdown version of this page

Enable AWS accès au compte pour les applications gérées par le client - AWS IAM Identity Center

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

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. 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.

Note

Vous pouvez activer cette fonctionnalité uniquement pour les instances d'organisation 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

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).

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

  3. Votre application échange ce jeton contre un jeton IAM Identity Center en appelant l'CreateTokenWithIAMAPI 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 CreateTokenWithIAMde référence de l'API OIDC de l'IAM Identity Center.

  4. Votre application utilise le jeton IAM Identity Center pour appeler les opérations de l'API du portail (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.

  5. 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

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 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 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

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.

  2. Ouvrez la console IAM Identity Center.

  3. Dans le volet de navigation, choisissez Applications.

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

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

  6. 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

Vous pouvez utiliser l'PutApplicationAccessScopeAPI 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'DeleteApplicationAccessScopeAPI avec le même ARN d'application et la même valeur de portée.

Pour plus d'informations, consultez PutApplicationAccessScopeet consultez le DeleteApplicationAccessScopemanuel de référence de l'API IAM Identity Center.

Bonnes pratiques de sécurité

  • 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_tokenen-tête pour les jetons d'accès.

  • AWS CloudTrailUtilisez-le pour surveiller les appels d'API effectués par vos applications.