Administrar AWS STS en una Región de AWS - AWS Identity and Access Management

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

  • Redundancia incorporada: puede limitar los efectos de una falla dentro de una carga de trabajo a una cantidad limitada de componentes con un alcance predecible de contención de impacto. El uso de puntos de conexión de AWS STS regionales le permite alinear el alcance de sus componentes con el alcance de sus identificadores de sesión. Para obtener más información sobre este pilar de fiabilidad, consulte Usar el aislamiento de errores para proteger su carga de trabajo en AWS Well-Architected Framework.

  • 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 conexión de STS global son válidos únicamente en las 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 AWS STS regionales. Si decide utilizar el punto de conexión global, debe cambiar la compatibilidad de la región de tokens de sesión de AWS 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 llevar a cabo 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 cómo habilitar y deshabilitar Regiones de AWS, consulte Especificar qué Regiones de AWS puede usar su cuenta en la Guía de referencia de AWS Account Management. Cuando habilita estos regiones de AWS, se activan automáticamente para su uso con AWS STS. No puede activar el punto de conexión de AWS 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 laAWS Management Console, 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 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 Configuración de cuenta.

  3. En la sección Tokens de sesión de los puntos de conexión de STS de Security Token Service (STS). El punto de conexión global indica Valid only in Regiones de AWS enabled by default. Elija Change.

  4. En el cuadro de diálogo Cambiar compatibilidad de región, seleccione Todas las Regiones de AWS. A continuación, elija Guardar cambios.

    nota

    Los tokens que son válidos en todas las Región 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 sesión. 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 regiones habilitadas manualmente, como, por ejemplo, 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 sesión. 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 regiones habilitadas manualmente, como, por ejemplo, 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. En el caso de las regiones habilitadas de forma predeterminada, debe activar el punto de conexión regional de STS 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. En el caso de las regiones habilitadas de forma manual, debe activar la región en la cuenta que realiza la solicitud y en la cuenta en la que se generan las credenciales temporales.

Por ejemplo, imagínese que un usuario de la cuenta A quiere enviar una solicitud de API sts:AssumeRole al punto de conexión regional de AWS STS https://sts.us-east-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-east-2. Los usuarios de la cuenta A (o cualquier otra cuenta) pueden llamar al punto de enlace us-east-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 con permisos para realizar tareas de administración de IAM.

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

  3. En la sección Puntos de conexión de Security Token Service (STS), busque la región que quiere configurar y, a continuación, elija Activa o Inactiva en la columna Estado de STS.

  4. En el cuadro de diálogo que se abre, elija Activar o Desactivar.

En las regiones que deben estar activadas, activamos AWS STS automáticamente cuando se activa la región. Después de activar una región, AWS STS siempre estará activa en la región y no se podrá desactivar. Para obtener información sobre cómo habilitar regiones que están deshabilitadas de forma predeterminada, consulte Especificar qué Regiones de AWS puede usar su cuenta en la Guía de referencia de AWS Account Management.

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 de 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 cómo habilitar una región de forma manual, consulte Especificar qué Regiones de AWS puede utilizar su cuenta en la Guía de referencia de AWS Account Management.

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

Para obtener información acerca de cómo configurar puntos de conexión regionales de AWS STS con una variable de entorno para AWS SDK, consulte Puntos de conexión regionalizados de AWS STS en la Guía de referencia de herramientas y AWS SDK.

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 conexión

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 de Punto de conexión Activo de forma predeterminada Activación/desactivación manual
--Global-- sts.amazonaws.com No
Este de EE. UU. (Ohio) sts.us-east-2.amazonaws.com
Este de EE. UU. (Norte de Virginia) sts.us-east-1.amazonaws.com No
Oeste de EE. UU. (Norte de California) sts.us-west-1.amazonaws.com
Oeste de EE. UU. (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 (Hyderabad) sts.ap-south-2.amazonaws.com No¹ No
Asia-Pacífico (Yakarta) sts.ap-southeast-3.amazonaws.com No¹ No
Asia-Pacífico (Melbourne) sts.ap-southeast-4.amazonaws.com No¹ No
Asia-Pacífico (Bombay) sts.ap-south-1.amazonaws.com
Asia-Pacífico (Osaka) sts.ap-northeast-3.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á (centro) sts.ca-central-1.amazonaws.com
Oeste de Canadá (Calgary) sts.ca-west-1.amazonaws.com
China (Pekín) sts.cn-north-1.amazonaws.com.cn Sí² No
China (Ningxia) sts.cn-northwest-1.amazonaws.com.cn Sí²
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 (España) sts.eu-south-2.amazonaws.com No¹ No
Europa (Estocolmo) sts.eu-north-1.amazonaws.com
Europa (Zúrich) sts.eu-central-2.amazonaws.com No¹ No
Israel (Tel Aviv) sts.il-central-1.amazonaws.com No¹ No
Medio Oriente (Baréin) sts.me-south-1.amazonaws.com No¹ No
Medio Oriente (EAU) sts.me-central-1.amazonaws.com No¹ No
América del Sur (São Paulo) sts.sa-east-1.amazonaws.com

¹Debe habilitar la región para utilizarla. Esto activa automáticamente AWS STS. No puede activar o desactivar manualmente AWS STS en estas regiones.

²Para usar AWS en China, necesita una cuenta y unas credenciales específicas para AWS en China.

AWS CloudTrail y puntos de enlace regionales

Las llamadas a puntos de conexión regionales y globales se registran en el campo tlsDetails en AWS CloudTrail. Las llamadas a puntos de conexión regionales, como por ejemplo us-east-2.amazonaws.com, se registran en CloudTrail en la región correspondiente. Las llamadas al punto de enlace global, sts.amazonaws.com, se registran como llamadas a un servicio global. Los eventos de los puntos de conexión globales AWS STS se registran en us-east-1.

nota

tlsDetails solo se puede ver para los servicios que admiten este campo. Consulte Servicios que admiten detalles de TLS en CloudTrail en la Guía del usuario de AWS CloudTrail

Para obtener más información, consulte Registro de llamadas a la API de AWS STS y de IAM con AWS CloudTrail.