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 mais próximo de seus serviços e aplicativos, você pode acessar os serviços do AWS STS com menor latência e tempos de resposta mais curtos.

  • Incorporar redundância – você pode adicionar código ao aplicativo que muda suas chamadas de API do AWS STS para uma região diferente. Isso garante que, se a primeira região parar de responder, o aplicativo continuará a funcionar. Essa redundância não é automática, você deve criar a funcionalidade em seu código.

  • 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 STS. Se optar por usar o endpoint global, você deverá alterar a compatibilidade de regiões de tokens de sessão do 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 do endpoint global

A maioria das regiões da AWS estão habilitadas para operações em todos os serviços da AWS por padrão. 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 mais sobre como habilitar e desabilitar de regiões da AWS, consulte Gerenciar regiões da AWS no AWS General Reference. 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 STS para uma região que está desabilitada. Tokens 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 Console de gerenciamento da AWS, 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 do IAM com permissões para executar 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 Account settings (Configurações da conta).

  3. Se necessário, expanda a seção Security Token Service (STS). Na primeira tabela ao lado de Global endpoint (Endpoint global), a coluna Region compatibility of session tokens (Compatibilidade de regiões de tokens de sessão) indica Valid only in AWS Regions enabled by default. Escolha Change (Alterar).

  4. Na caixa de diálogo Change region compatibility of session tokens for global endpoint (Alterar a compatibilidade de regiões de tokens de sessão para o endpoint global), selecione Valid in all AWS Regions (Válido para todas as regiões da AWS). Em seguida, escolha Save changes (Salvar alterações).

    nota

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

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

Defina a versão do token de segurança. Os tokens de versão 1 são válidos apenas 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 de segurança. Os tokens de versão 1 são válidos apenas 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.

Ativação e desativação do 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. Você deve ativar a região 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.

Por exemplo, imagine que um usuário na conta A deseje enviar uma solicitação de API sts:AssumeRole ao endpoint regional do STS https://sts.us-west-2.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 us-west-2. Os usuários da conta A (ou de qualquer outra conta) podem chamar o endpoint us-west-2 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 do IAM com permissões para executar 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. Se necessário, expanda a lista Security Token Service (STS), localize a região que deseja usar e escolha Activate (Ativar) ou Deactivate (Desativar). Algumas regiões não são habilitadas por padrão, como a região Ásia-Pacífico (Hong Kong). Nesse caso, quando você habilitar manualmente a região, o STS será ativado automaticamente. A partir desse momento, o AWS STS estará sempre ativo para essas regiões e não poderá ser desativado. Para saber como habilitar manualmente uma região, consulte Gerenciar regiões da AWS no AWS General Reference.

Como 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 (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();

O AWS STS recomenda fazer chamadas para um endpoint regional. Para saber como habilitar manualmente uma região, consulte Gerenciar regiões da AWS no AWS General Reference.

No exemplo, a primeira linha instancia um objeto EndpointConfiguration chamado regionEndpointConfig, passando o URL do endpoint e a região como os parâmetros.

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 Pode ativar/desativar
--Global-- sts.amazonaws.com Sim 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 Não
Oeste dos EUA (Norte 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¹ Não
Ásia-Pacífico (Hong Kong) sts.ap-east-1.amazonaws.com Não¹ Não
Ásia Pacífico (Mumbai) sts.ap-south-1.amazonaws.com Sim Sim
Ásia-Pacífico (Seul) sts.ap-northeast-2.amazonaws.com Sim Sim
Ásia-Pacífico (Cingapura) 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
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¹ Não
Europa (Paris) sts.eu-west-3.amazonaws.com Sim Sim
Europa (Estocolmo) sts.eu-north-1.amazonaws.com Sim Sim
Oriente Médio (Bahrein) sts.me-south-1.amazonaws.com Não¹ Não
América do Sul (São Paulo) sts.sa-east-1.amazonaws.com Sim Sim

¹É necessário habilitar a região.

AWS CloudTrail e endpoints regionais

As chamadas para endpoints regionais, como us-east-2.amazonaws.com, são registradas no AWS CloudTrail da mesma forma que qualquer chamada para um serviço regional. As chamadas para o endpoint global, sts.amazonaws.com, são registradas como chamadas para um serviço global. Para obter mais informações, consulte Registrar em log as chamadas de API IAM e AWS STS com o AWS CloudTrail.