Administración de AWS STS en una región de AWS - AWS Identity and Access Management

Administración de AWS STS en una región de AWS

De forma predeterminada, AWS Security Token Service (AWS STS) está disponible como servicio global y todas las solicitudes de AWS STS se dirigen a un único punto de enlace en https://sts.amazonaws.com. AWS recomienda utilizar puntos de enlace regionales de AWS STS para reducir la latencia, compilar la redundancia y aumentar la validez del token de sesión.

  • Reducir la latencia – Al realizar las llamadas a AWS STS a un punto de enlace que esté geográficamente más cerca de sus servicios y aplicaciones, puede obtener acceso a los servicios de AWS STS con una latencia menor y tiempos de respuesta mejores.

  • Integrar la redundancia – Puede agregar código a la aplicación que cambia las llamadas a la API de AWS STS a una región distinta. De este modo, se asegura de que si la primera región deja de responder, la aplicación seguirá funcionando. Esta redundancia no es automática, sino que debe integrar la funcionalidad en el código.

  • Aumentar la validez del token de sesión – Los tokens de sesión de puntos de enlace de AWS STS regionales son válidos en todas las regiones de AWS. Los tokens de sesión del punto de enlace de STS global son válidos únicamente en regiones de AWS que están habilitadas de forma predeterminada. Si va a habilitar una nueva región en su cuenta, puede utilizar tokens de sesión de los puntos enlace de STS regionales. Si decide utilizar el punto de enlace global, debe cambiar la compatibilidad de la región de tokens de sesión de STS para el punto de enlace global. De esta forma, se garantiza que los tokens sean válidos en todas las regiones de AWS.

Administración de tokens de sesión de punto de enlace global

La mayoría de las regiones de AWS están habilitadas para realizar operaciones en todos los servicios de AWS de forma predeterminada. Estas regiones se activan automáticamente para su uso con AWS STS. Algunas regiones, como, por ejemplo, Asia Pacífico (Hong Kong), se deben habilitar manualmente. Para obtener más información sobre la activación y desactivación de regiones de AWS, consulte Administración de regiones de AWS en la AWS General Reference. Cuando habilita estos regiones de AWS, se activan automáticamente para su uso con AWS STS. No puede activar el punto de enlace de STS para una región que está deshabilitada. Los tokens que son válidos en todas las regiones de AWS incluyen más caracteres que los tokens que son válidos en regiones que están habilitadas de forma predeterminada. Cambiar esta configuración podría afectar a los sistemas existentes en los que almacena tokens temporalmente.

Puede cambiar esta configuración mediante laConsola de administración de AWS, la AWS CLI o la API de AWS.

Para cambiar la compatibilidad de la región de los tokens de sesión para el punto de enlace global (consola)

  1. Inicie sesión como usuario raíz o usuario de IAM con permisos para realizar tareas de administración de IAM. Para cambiar la compatibilidad de los tokens de sesión, debe tener una política que permita la acción iam:SetSecurityTokenServicePreferences.

  2. Abra la consola de IAM. En el panel de navegación, elija Account Settings (Configuración de cuenta).

  3. Si es necesario, amplíe la sección Security Token Service (STS) (Servicio de token de seguridad [STS]). En la primera tabla junto a Global endpoint (Punto de enlace global), la columna Region compatibility of session tokens (Compatibilidad de región de tokens de sesión) indica Valid only in AWS Regions enabled by default. Elija Change.

  4. En el cuadro de diálogo Change region compatibility of session tokens for global endpoint (Cambiar compatibilidad de región de tokens de sesión para punto de enlace global), seleccione Valid in all AWS Regions (Válido en todas las regiones de AWS). A continuación, elija Save changes (Guardar cambios).

    nota

    Los tokens que son válidos en todas las regiones de AWS incluyen más caracteres que los tokens que son válidos en regiones que están habilitadas de forma predeterminada. Cambiar esta configuración podría afectar a los sistemas existentes en los que almacena tokens temporalmente.

Para cambiar la compatibilidad de la región de los tokens de sesión para el punto de enlace global (AWS CLI)

Establezca la versión del token de seguridad. Los tokens de la versión 1 son válidos únicamente en las regiones de AWS que están disponibles de forma predeterminada. Estos tokens no funcionan en las regiones habilitadas manualmente, como Asia Pacífico (Hong Kong). Los tokens de la versión 2 son válidos en todas las regiones. Sin embargo, los tokens de versión 2 incluyen más caracteres y podrían afectar a los sistemas en los que almacena tokens temporalmente.

Para cambiar la compatibilidad de la región de los tokens de sesión para el punto de enlace global (API de AWS)

Establezca la versión del token de seguridad. Los tokens de la versión 1 son válidos únicamente en las regiones de AWS que están disponibles de forma predeterminada. Estos tokens no funcionan en las regiones habilitadas manualmente, como Asia Pacífico (Hong Kong). Los tokens de la versión 2 son válidos en todas las regiones. Sin embargo, los tokens de versión 2 incluyen más caracteres y podrían afectar a los sistemas en los que almacena tokens temporalmente.

Activación y desactivación de AWS STS en una región de AWS

Al activar puntos de enlace de STS para una región, AWS STS puede emitir credenciales temporales para los usuarios y roles de dicha cuenta que realizan una solicitud de AWS STS. Esas credenciales se pueden utilizar en cualquier región que esté habilitada de forma predeterminada o habilitada manualmente. Debe activar la región en la cuenta en la que se generan las credenciales temporales. No importa si el usuario ha iniciado sesión en la misma cuenta o en una cuenta diferente al realizar la solicitud.

Por ejemplo, imagínese que un usuario de la cuenta A quiere enviar una solicitud de API sts:AssumeRole al punto de enlace regional de STS https://sts.us-west-2.amazonaws.com. La solicitud se realiza para las credenciales temporales del rol denominado Developer de la cuenta B. Dado que la solicitud se realiza para crear credenciales para una entidad de la cuenta B, la cuenta B debe activar la región us-west-2. Los usuarios de la cuenta A (o cualquier otra cuenta) pueden llamar al punto de enlace us-west-2 para solicitar credenciales para la cuenta B, independientemente de si la región está activada en sus cuentas.

nota

Las regiones activas están a disposición de todos los usuarios que utilizan las credenciales temporales de esa cuenta. Para controlar qué usuarios o roles de IAM pueden acceder a la región, utilice la clave de condición aws:RequestedRegion en sus políticas de permisos.

Para activar o desactivar AWS STS en una región que está activada de forma predeterminada (consola)

  1. Inicie sesión como usuario raíz o usuario de IAM con permisos para realizar tareas de administración de IAM.

  2. Abra la consola de IAM y en el panel de navegación elija Account settings (Configuración de cuenta).

  3. Si es necesario, amplíe la lista Security Token Service (STS) (Servicio de token de seguridad [STS]), busque la región que desea activar y elija Activate (Activar) o Deactivate (Desactivar). Algunas regiones no están habilitadas de forma predeterminada, como, por ejemplo, Asia Pacífico (Hong Kong). En ese caso, al habilitar manualmente la región, STS se activa automáticamente. A partir de ese momento, AWS STS está siempre activo para estas regiones y no se puede desactivar. Para obtener más información sobre cómo habilitar manualmente una región, consulte Administración de regiones de AWS en la AWS General Reference.

Código de escritura para utilizar en regiones de AWS STS

Después de activar una región, podrá dirigir las llamadas a la API de AWS STS a esa región. El siguiente fragmento de código Java demuestra cómo configurar un objeto AWSSecurityTokenService para realizar solicitudes desde la región Europa (Irlanda) (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 recomienda realizar llamadas a un punto de enlace regional. Para aprender a activar una región manualmente, consulte Managing AWS Regions (Administración de regiones de AWS) en la AWS General Reference.

En el ejemplo, la primera línea crea una instancia de un objeto EndpointConfiguration llamado regionEndpointConfig, que incluye la URL del punto de enlace y la región como parámetros.

Si desea obtener información sobre el resto de combinaciones de entornos de programación y lenguajes, consulte la documentación del correspondiente SDK.

Regiones y puntos de enlace

En la siguiente tabla se muestran las regiones y sus puntos de enlace. Indica cuáles están activadas de forma predeterminada y cuáles puede activar o desactivar.

Nombre de la región Punto de enlace Activo de forma predeterminada Puede activar/desactivar
--Global-- sts.amazonaws.com No
EE.UU. Este (Ohio) sts.us-east-2.amazonaws.com
US East (N. Virginia) sts.us-east-1.amazonaws.com No
EE.UU. Oeste (Norte de California) sts.us-west-1.amazonaws.com
EE.UU. Oeste (Oregón) sts.us-west-2.amazonaws.com
África (Ciudad del Cabo) sts.af-south-1.amazonaws.com No¹ No
Asia Pacífico (Hong Kong) sts.ap-east-1.amazonaws.com No¹ No
Asia Pacífico (Mumbai) sts.ap-south-1.amazonaws.com
Asia Pacífico (Seúl) sts.ap-northeast-2.amazonaws.com
Asia Pacífico (Singapur) sts.ap-southeast-1.amazonaws.com
Asia Pacífico (Sídney) sts.ap-southeast-2.amazonaws.com
Asia Pacífico (Tokio) sts.ap-northeast-1.amazonaws.com
Canadá (Central) sts.ca-central-1.amazonaws.com
Europa (Fráncfort) sts.eu-central-1.amazonaws.com
Europa (Irlanda) sts.eu-west-1.amazonaws.com
Europa (Londres) sts.eu-west-2.amazonaws.com
Europa (Milán) sts.eu-south-1.amazonaws.com No¹ No
Europa (París) sts.eu-west-3.amazonaws.com
Europa (Estocolmo) sts.eu-north-1.amazonaws.com
Medio Oriente (Baréin) sts.me-south-1.amazonaws.com No¹ No
América del Sur (São Paulo) sts.sa-east-1.amazonaws.com

¹Debe habilitar la región.

AWS CloudTrail y puntos de enlace regionales

Las llamadas a puntos de enlace regionales, tales como us-east-2.amazonaws.com, se registran en AWS CloudTrail, al igual que cualquier llamada realizada a un servicio regional. Las llamadas al punto de enlace global, sts.amazonaws.com, se registran como llamadas a un servicio global. Para obtener más información, consulte Registro de llamadas a la API de IAM y de AWS STS con AWS CloudTrail.