Gerenciar o AWS STS em uma Região da AWS - AWS Identity and Access Management

Gerenciar o AWS STS em uma Região da AWS

Por padrão, o AWS Security Token Service (AWS STS) está disponível como um serviço global, e todas as solicitações do AWS STS vão para um único endpoint em https://sts.amazonaws.com. A AWS recomenda o uso de endpoints regionais do AWS STS, em vez do endpoint global, para reduzir a latência, incorporar redundância e aumentar a validade do token de sessão.

  • Reduzir a latência: ao fazer suas chamadas do AWS STS para um endpoint geograficamente mais próximo de seus serviços e aplicações, você pode acessar serviços do AWS STS com menor latência e melhores tempos de resposta.

  • Incorporar redundância — Você pode limitar os efeitos de uma falha em uma workload a um número limitado de componentes com um escopo previsível de contenção de impactos. O uso de endpoints regionais do AWS STS permite alinhar o escopo de seus componentes com o escopo de seus tokens de sessão. Para obter mais informações sobre esse pilar de confiabilidade, consulte Usar isolamento de falhas para proteger sua workload no AWS Well-Architected Framework.

  • Aumentar a validade do token de sessão: tokens de sessão de endpoints regionais do AWS STS são válidos em todas as Regiões da AWS. Tokens de sessão do endpoint global do STS são válidos apenas em Regiões da AWS que são habilitadas por padrão. Se pretende habilitar uma nova região para sua conta, você pode usar tokens de sessão de endpoints regionais do AWS STS. Se optar por usar o endpoint global, você deverá alterar a compatibilidade de regiões de tokens de sessão do AWS STS para o endpoint global. Isso garante que os tokens sejam válidos em todas as Regiões da AWS.

Gerenciar tokens de sessão de endpoint global

Por padrão, a maioria das Regiões da AWS está habilitada para operações em todos os serviços da AWS. Essas regiões são automaticamente habilitadas para uso com o AWS STS. Algumas regiões, como Ásia-Pacífico (Hong Kong), devem ser habilitadas manualmente. Para saber como habilitar e desabilitar Regiões da AWS, consulte Especificar qual Regiões da AWS sua conta pode usar no Guia de referência do AWS Account Management. Quando você habilitar essas regiões da AWS, elas serão automaticamente habilitadas para uso com o AWS STS. Você não pode ativar o endpoint do AWS STS para uma região que está desabilitada. Tokens de sessão que são válidos em todas as Regiões da AWS incluem mais caracteres do que os tokens que são válidos em regiões habilitadas por padrão. A alteração dessa configuração pode afetar sistemas existentes em que você armazena tokens temporariamente.

Você pode alterar essa configuração usando o AWS Management Console, a AWS CLI, ou a API da AWS.

Para alterar a compatibilidade de regiões dos tokens de sessão para o endpoint global (console)
  1. Faça login como um usuário raiz ou um usuário com permissões para realizar tarefas de administração do IAM. Para alterar a compatibilidade de tokens de sessão, você deve ter uma política que permita a ação iam:SetSecurityTokenServicePreferences.

  2. Abra o console do IAM. No painel de navegação, selecione Configurações da conta.

  3. Em Security Token Service (STS), na seção Session Tokens from the STS endpoints (Tokens de sessão dos endpoints do STS). O endpoint global indica Valid only in Regiões da AWS enabled by default. Escolha Alterar.

  4. Na caixa de diálogo Alterar compatibilidade da região, selecione Todas as Regiões da AWS. Em seguida, escolha Salvar alterações.

    nota

    Tokens de sessão que são válidos em todas as Região da AWS incluem mais caracteres do que os tokens que são válidos em regiões habilitadas por padrão. A alteração dessa configuração pode afetar sistemas existentes em que você armazena tokens temporariamente.

Para alterar a compatibilidade de regiões de tokens de sessão para o endpoint global (AWS CLI)

Defina a versão do token da sessão. Tokens de versão 1 são válidos somente em Regiões da AWS que estão disponíveis por padrão. Esses tokens não funcionam em regiões habilitadas manualmente, como Ásia-Pacífico (Hong Kong). Tokens de versão 2 são válidos em todas as regiões. No entanto, tokens de versão 2 incluem mais caracteres e podem afetar sistemas em que você armazena tokens temporariamente.

Para alterar a compatibilidade de regiões de tokens de sessão para o endpoint global (API da AWS)

Defina a versão do token da sessão. Tokens de versão 1 são válidos somente em Regiões da AWS que estão disponíveis por padrão. Esses tokens não funcionam em regiões habilitadas manualmente, como Ásia-Pacífico (Hong Kong). Tokens de versão 2 são válidos em todas as regiões. No entanto, tokens de versão 2 incluem mais caracteres e podem afetar sistemas em que você armazena tokens temporariamente.

Ativar e desativar o AWS STS em uma Região da AWS

Quando você ativar endpoints do STS para uma região, o AWS STS poderá emitir credenciais temporárias para usuários e funções em sua conta que faz uma solicitação do AWS STS. Essas credenciais podem ser usadas em qualquer região habilitada por padrão ou habilitada manualmente. Para regiões que são habilitadas por padrão, é necessário ativar o endpoint do STS regional na conta em que as credenciais temporárias são geradas. Não importa se um usuário está conectado na mesma conta ou em uma conta diferente quando fizer a solicitação. Para regiões habilitadas manualmente, é necessário ativar a região na conta que faz a solicitação e na conta em que as credenciais temporárias são geradas.

Por exemplo, imagine que um usuário na conta A deseje enviar uma solicitação de API sts:AssumeRole ao endpoint regional do AWS STS https://sts.ap-east-1.amazonaws.com. A solicitação é para credenciais temporárias para a função denominada Developer na conta B. Como a solicitação é para criar credenciais para uma entidade na conta B, a conta B deve ativar a região ap-east-1. Os usuários da conta A (ou de qualquer outra conta) podem chamar o endpoint do AWS STS ap-east-1 para solicitar credenciais para a conta B, esteja ou não ativada a região em suas contas.

nota

Regiões ativas estão disponíveis para todas as pessoas que usam credenciais temporárias nessa conta. Para controlar quais usuários ou funções do IAM podem acessar a região, use a chave de condição aws:RequestedRegion em suas políticas de permissões.

Para ativar ou desativar o AWS STS em uma região habilitada por padrão (console)
  1. Faça login como um usuário raiz ou um usuário com permissões para realizar tarefas de administração do IAM.

  2. Abra o console do IAM e, no painel de navegação, escolha Account settings (Configurações da conta).

  3. Em Security Token Service (STS), na seção Endpoints, localize a região que deseja configurar e escolha Active (Ativa) ou Inactive (Inativa) na coluna de STS status (Status do STS).

  4. Na caixa de diálogo que é exibida, escolha Activate (Ativar) ou Deactivate (Desativar).

Para regiões que precisam ser habilitadas, o AWS STS é ativado automaticamente quando você habilita a região. Depois de habilitar uma região, o AWS STS estará sempre ativo nessa região e você não poderá desativá-lo. Para saber como habilitar regiões que estão desabilitadas por padrão, consulte Especificar qual Regiões da AWS sua conta pode usar no Guia de referência do AWS Account Management.

Escrever código para usar regiões do AWS STS

Depois de ativar uma região, você pode direcionar chamadas de API do AWS STS para essa região. O trecho de código Java a seguir demonstra como configurar um objeto AWSSecurityTokenService para fazer solicitações para a região Europa (Milão) (eu-south-1).

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

O AWS STS recomenda fazer chamadas para um endpoint regional. Para obter informações sobre como habilitar manualmente uma região, consulte Especificar quais Regiões da AWS sua conta pode usar no Guia de referência do AWS Account Management.

No exemplo, a primeira linha cria uma instância de objeto EndpointConfiguration chamado regionEndpointConfig, passando o URL do endpoint e a Região da AWS como os parâmetros.

Para aprender como configurar endpoints regionais do AWS STS usando uma variável de ambiente paraAWS SDKs, consulte Endpoints regionalizados do AWS STS no Guia de referência de AWS SDKs e ferramentas.

Para todas as outras combinações de linguagem e ambiente de programação, consulte a documentação das para o SDK relevante.

Regiões e endpoints

A tabela a seguir lista as regiões e seus endpoints. Ela indica quais são as ativadas por padrão e quais você pode ativar ou desativar.

Nome da região Endpoint Ativa por padrão Ativar/desativar manualmente
--Global-- sts.amazonaws.com Sim No (Não)
Leste dos EUA (Ohio) sts.us-east-2.amazonaws.com Sim Sim
Leste dos EUA (Norte da Virgínia) sts.us-east-1.amazonaws.com Sim No (Não)
Oeste dos EUA (N. da Califórnia) sts.us-west-1.amazonaws.com Sim Sim
Oeste dos EUA (Oregon) sts.us-west-2.amazonaws.com Sim Sim
África (Cidade do Cabo) sts.af-south-1.amazonaws.com Não¹ No (Não)
Ásia-Pacífico (Hong Kong) sts.ap-east-1.amazonaws.com Não¹ No (Não)
Ásia-Pacífico (Hyderabad) sts.ap-south-2.amazonaws.com Não¹ No (Não)
Ásia-Pacífico (Jacarta) sts.ap-southeast-3.amazonaws.com Não¹ No (Não)
Ásia-Pacífico (Melbourne) sts.ap-southeast-4.amazonaws.com Não¹ No (Não)
Ásia-Pacífico (Mumbai) sts.ap-south-1.amazonaws.com Sim Sim
Asia Pacific (Osaka) sts.ap-northeast-3.amazonaws.com Sim Sim
Ásia-Pacífico (Seul) sts.ap-northeast-2.amazonaws.com Sim Sim
Ásia-Pacífico (Singapura) sts.ap-southeast-1.amazonaws.com Sim Sim
Ásia-Pacífico (Sydney) sts.ap-southeast-2.amazonaws.com Sim Sim
Ásia-Pacífico (Tóquio) sts.ap-northeast-1.amazonaws.com Sim Sim
Canadá (Central) sts.ca-central-1.amazonaws.com Sim Sim
Oeste do Canadá (Calgary) sts.ca-west-1.amazonaws.com Sim Sim
China (Pequim) sts.cn-north-1.amazonaws.com.cn Sim² No (Não)
China (Ningxia) sts.cn-northwest-1.amazonaws.com.cn Sim² Sim
Europa (Frankfurt) sts.eu-central-1.amazonaws.com Sim Sim
Europa (Irlanda) sts.eu-west-1.amazonaws.com Sim Sim
Europa (Londres) sts.eu-west-2.amazonaws.com Sim Sim
Europa (Milão) sts.eu-south-1.amazonaws.com Não¹ No (Não)
Europa (Paris) sts.eu-west-3.amazonaws.com Sim Sim
Europa (Espanha) sts.eu-south-2.amazonaws.com Não¹ No (Não)
Europa (Estocolmo) sts.eu-north-1.amazonaws.com Sim Sim
Europa (Zurique) sts.eu-central-2.amazonaws.com Não¹ No (Não)
Israel (Tel Aviv) sts.il-central-1.amazonaws.com Não¹ No (Não)
Oriente Médio (Barém) sts.me-south-1.amazonaws.com Não¹ No (Não)
Oriente Médio (Emirados Árabes Unidos) sts.me-central-1.amazonaws.com Não¹ No (Não)
América do Sul (São Paulo) sts.sa-east-1.amazonaws.com Sim Sim

¹Você deve habilitar a região para usá-la. Isso ativa automaticamente o AWS STS. Não é possível ativar ou desativar manualmente o AWS STS nessas regiões.

²Para usar a AWS na China, são necessárias uma conta e credenciais específicas da AWS na China.

AWS CloudTrail e endpoints regionais

As chamadas para endpoints regionais e globais são registradas no campo tlsDetails no AWS CloudTrail. As chamadas para endpoints regionais, como us-east-2.amazonaws.com, são registradas no CloudTrail em sua região apropriada. As chamadas para o endpoint global, sts.amazonaws.com, são registradas como chamadas para um serviço global. Os eventos para endpoints globais de AWS STS são registrados em us-east-1.

nota

tlsDetails só pode ser visualizado para serviços que oferecem suporte a esse campo. Consulte Serviços que oferecem suporte a detalhes de TLS no CloudTrail no Guia de usuário do AWS CloudTrail

Para ter mais informações, consulte Registro em log de chamadas de API do IAM e do AWS STS com o AWS CloudTrail.