Gestion de AWS STS dans une région AWS - AWS Identity and Access Management

Gestion de AWS STS dans une région AWS

Par défaut, le AWS Security Token Service (AWS STS) est un service global et toutes les demandes AWS STS sont acheminées vers un point de terminaison unique à l'adresse https://sts.amazonaws.com. AWS recommande d'utiliser des points de terminaison AWS STS régionaux au lieu du point de terminaison global afin de réduire la latence, d'intégrer de la redondance, et d'augmenter la validité du jeton de session.

  • Reduce latency (Réduire la latence) – en acheminant vos appels AWS STS vers un point de terminaison géographiquement plus proche de vos services et applications, il est possible d'accéder aux services AWS STS avec une latence moins élevée et des temps de réponse plus courts.

  • Build in redundancy (Intégrer de la redondance) – vous pouvez ajouter du code à votre application afin de diriger vos appels d'API AWS STS vers une autre région. Cela garantit que si la première région ne répond plus, votre application continuera à fonctionner. Cette redondance n'est pas automatique ; vous devez intégrer la fonctionnalité dans votre code.

  • Increase session token validity (Augmenter la validité du jeton de session) – les jetons de session des points de terminaison AWS STS régionaux sont valides dans toutes les régions AWS. Les jetons de session des points de terminaison STS globaux sont valides uniquement dans les régions AWS qui sont activées par défaut. Si vous avez l'intention d'activer une nouvelle région pour votre compte, vous pouvez utiliser des jetons de session à partir de points de terminaison STS régionaux. Si vous choisissez d'utiliser le point de terminaison global, vous devez modifier la compatibilité régionale des jetons de session STS pour le point de terminaison global. Cela garantit que les jetons sont valides dans toutes les régions AWS.

Gestion des jetons de session de point de terminaison global

La plupart des régions AWS sont activées pour les opérations dans tous les services AWS par défaut. Ces régions sont automatiquement activées pour une utilisation avec AWS STS. Certaines régions, telles que l'Asie-Pacifique (Hong Kong), doivent être activées manuellement. Pour plus d'informations sur l'activation et la désactivation des régions AWS, consultez Gestion des régions AWS dans la Référence générale AWS. Lorsque vous activez ces régions AWS, elles sont automatiquement activées pour une utilisation avec AWS STS. Vous ne pouvez pas activer le point de terminaison STS pour une région qui est désactivée. Les jetons qui sont valides dans toutes les régions AWS incluent d'autres caractères que les jetons qui sont valides dans les régions qui sont activées par défaut. La modification de ce paramètre peut avoir un impact sur les systèmes existants où vous stockez temporairement les jetons.

Vous pouvez modifier ce paramètre à l'aide des outils AWS Management Console, AWS CLI ou de l'API AWS.

Pour modifier la compatibilité régionale des jetons de session pour le point de terminaison global (console)

  1. Connectez-vous en tant qu'utilisateur racine ou utilisateur IAM avec les autorisations pour effectuer des tâches d'administration d'IAM. Pour modifier la compatibilité des jetons de session, vous devez posséder une politique qui autorise l'action iam:SetSecurityTokenServicePreferences.

  2. Ouvrez la console IAM. Dans le panneau de navigation, choisissez Paramètres du compte.

  3. Si nécessaire, développez la section Security Token Service (STS). Dans le premier tableau en regard de Global endpoint (Point de terminaison global), la colonne Region compatibility of session tokens (Compatibilité régionale des jetons de session) indique Valid only in AWS Regions enabled by default. Choisissez Change (Modifier).

  4. Dans la boîte de dialogue Change region compatibility of session tokens for global endpoint (modifier la compatibilité régionale des jetons de session pour le point de terminaison global), sélectionnez Valid in all AWS Regions (valide dans toutes les régions AWS). Ensuite, choisissez Enregistrer les modifications.

    Note

    Les jetons qui sont valides dans toutes les régions AWS incluent d'autres caractères que les jetons qui sont valides dans les régions qui sont activées par défaut. La modification de ce paramètre peut avoir un impact sur les systèmes existants où vous stockez temporairement les jetons.

Pour modifier la compatibilité régionale des jetons de session pour le point de terminaison global (AWS CLI)

Définissez la version du jeton de sécurité. Les jetons de version 1 sont valides uniquement dans les régions AWS qui sont disponibles par défaut. Ces jetons ne fonctionnent pas dans les régions activées manuellement, par exemple, Asie-Pacifique (Hong Kong). Les jetons de version 2 sont valides dans toutes les régions. Toutefois, les jetons de version 2 incluent plus de caractères et peuvent avoir un impact sur les systèmes où vous stockez temporairement les jetons.

Pour modifier la compatibilité régionale des jetons de session pour le point de terminaison global (API AWS)

Définissez la version du jeton de sécurité. Les jetons de version 1 sont valides uniquement dans les régions AWS qui sont disponibles par défaut. Ces jetons ne fonctionnent pas dans les régions activées manuellement, par exemple, Asie-Pacifique (Hong Kong). Les jetons de version 2 sont valides dans toutes les régions. Toutefois, les jetons de version 2 incluent plus de caractères et peuvent avoir un impact sur les systèmes où vous stockez temporairement les jetons.

Activation et désactivation de AWS STS dans une région AWS

Lorsque vous activez des points de terminaison STS pour une région, AWS STS peut émettre des informations d'identification temporaires pour les utilisateurs et rôles de votre compte qui font une demandeAWS STS. Ces informations d'identification peuvent ensuite être utilisées dans n'importe quelle région activée par défaut ou activée manuellement. Vous devez activer la région dans le compte où les informations d'identification temporaires sont générées. Peu importe si un utilisateur est connecté au même compte ou à un compte différent lorsqu'il fait la demande.

Par exemple, un utilisateur du compte A veut envoyer une demande d'API sts:AssumeRole au point de terminaison régional STS https://sts.us-west-2.amazonaws.com. La demande concerne les informations d'identification temporaires du rôle nommé Developer dans le compte B. Étant donné qu'il s'agit d'une demande de création d'informations d'identification pour une entité du compte B, ce compte doit activer la région us-west-2. Les utilisateurs du compte A (ou de tout autre compte) peuvent appeler le point de terminaison us-west-2 pour demander les informations d'identification pour le compte B, que la région soit activée ou non dans leurs comptes.

Note

Les régions actives sont disponibles pour chaque personne qui utilise des informations d'identification temporaires de ce compte. Pour contrôler les utilisateurs ou rôles IAM qui peuvent accéder à la région, utilisez la clé de condition aws:RequestedRegion dans vos politiques d'autorisations.

Pour activer ou désactiver AWS STS dans une région qui est activée par défaut (console)

  1. Connectez-vous en tant qu'utilisateur racine ou utilisateur IAM avec les autorisations pour effectuer des tâches d'administration d'IAM.

  2. Ouvrez la console IAM, puis dans le panneau de navigation, sélectionnez Account settings (Paramètres du compte).

  3. Si nécessaire, développez Security Token Service (STS), localisez la région que vous voulez activer, puis sélectionnez Activer ou Désactiver. Pour les régions qui doivent être activées, nous activons automatiquement STS lorsque vous activez la région. Une fois que vous avez activé une région, AWS STS est toujours actif pour la région et vous ne pouvez pas le désactiver. Pour découvrir comment activer une région, veuillez consulter Gestion des régions AWS dans la Référence générale AWS.

Écriture de code pour l'utilisation de régions AWS STS

Une fois que vous avez activé une région, vous pouvez diriger les appels d'API AWS STS vers cette région. L'extrait de code Java suivant illustre comment configurer un objet AWSSecurityTokenService pour effectuer des demandes vers la région Europe (Irlande) (eu-west-1).

EndpointConfiguration regionEndpointConfig = new EndpointConfiguration("https://sts.eu-west-1.amazonaws.com", "eu-west-1"); AWSSecurityTokenService stsRegionalClient = AWSSecurityTokenServiceClientBuilder.standard() .withCredentials(credentials) .withEndpointConfiguration(regionEndpointConfig) .build();

AWS STS vous recommande d'effectuer des appels vers un point de terminaison régional. Pour savoir comment activer manuellement une région, veuillez consulter Gestion des régions AWS dans la Référence générale AWS.

Dans l'exemple, la première ligne instancie un objet EndpointConfiguration appelé regionEndpointConfig, en en transmettant l'URL du point de terminaison et la région comme paramètres.

Pour toutes les autres combinaisons de langage et d'environnement de programmation, reportez-vous à la documentation du kit SDK approprié.

Régions et points de terminaison

Le tableau suivant répertorie les régions et leurs points de terminaison. Il indique les régions activées par défaut et celles que vous pouvez activer ou désactiver.

Nom de la région Point de terminaison Activé par défaut Activer/désactiver manuellement
--Global-- sts.amazonaws.com Oui non
USA Est (Ohio) sts.us-east-2.amazonaws.com Oui Oui
USA Est (Virginie du Nord) sts.us-east-1.amazonaws.com Oui non
USA Ouest (Californie du Nord) sts.us-west-1.amazonaws.com Oui Oui
USA Ouest (Oregon) sts.us-west-2.amazonaws.com Oui Oui
Afrique (Le Cap) sts.af-south-1.amazonaws.com Non¹ non
Asie-Pacifique (Hong Kong) sts.ap-east-1.amazonaws.com Non¹ non
Asie-Pacifique (Mumbai) sts.ap-south-1.amazonaws.com Oui Oui
Asia Pacific (Osaka) sts.ap-northeast-3.amazonaws.com Oui Oui
Asie-Pacifique (Séoul) sts.ap-northeast-2.amazonaws.com Oui Oui
Asie-Pacifique (Singapour) sts.ap-southeast-1.amazonaws.com Oui Oui
Asie-Pacifique (Sydney) sts.ap-southeast-2.amazonaws.com Oui Oui
Asie-Pacifique (Tokyo) sts.ap-northeast-1.amazonaws.com Oui Oui
Canada (Centre) sts.ca-central-1.amazonaws.com Oui Oui
Europe (Francfort) sts.eu-central-1.amazonaws.com Oui Oui
Europe (Irlande) sts.eu-west-1.amazonaws.com Oui Oui
Europe (Londres) sts.eu-west-2.amazonaws.com Oui Oui
Europe (Milan) sts.eu-south-1.amazonaws.com Non¹ non
Europe (Paris) sts.eu-west-3.amazonaws.com Oui Oui
Europe (Stockholm) sts.eu-north-1.amazonaws.com Oui Oui
Moyen-Orient (Bahreïn) sts.me-south-1.amazonaws.com Non¹ non
Amérique du Sud (Sao Paulo) sts.sa-east-1.amazonaws.com Oui Oui

¹Vous devez activer la région pour l'utiliser. Cela active automatiquement STS. Vous ne pouvez pas activer ou désactiver manuellement STS dans ces régions.

AWS CloudTrail et points de terminaison régionaux

Les appels à destination de points de terminaison régionaux tels que us-east-2.amazonaws.com sont consignés dans AWS CloudTrail comme n'importe quel appel à un service régional. Les appels vers le point de terminaison global, sts.amazonaws.com, sont consignés en tant qu'appels à un service international. Pour plus d’informations, veuillez consulter Journalisation des appels d'API AWS STS et IAM avec AWS CloudTrail.