Credenciais de segurança temporárias no IAM - AWS Identity and Access Management

Credenciais de segurança temporárias no IAM

É possível usar o AWS Security Token Service (AWS STS) para criar e fornecer aos usuários confiáveis credenciais de segurança temporárias que podem controlar o acesso aos seus recursos da AWS. As credenciais de segurança temporárias funcionam quase de maneira idêntica às credenciais de chave de acesso de longo prazo que seus usuários do IAM podem usar, com as seguintes diferenças:

  • As credenciais de segurança temporárias são de curto prazo, como o nome indica. Elas podem ser configuradas para durar de alguns minutos a várias horas. Depois que as credenciais expiram, a AWS não as reconhece mais ou permite qualquer tipo de acesso de solicitações de API feitas com elas.

  • As credenciais de segurança temporárias não são armazenadas com o usuário, mas são geradas dinamicamente e fornecidas ao usuário quando solicitadas. Quando (ou até mesmo antes) as credenciais de segurança temporárias expiram, o usuário pode solicitar novas credenciais, desde que o usuário solicitante ainda tenha permissões para fazê-lo.

Essas diferenças resultam nas seguintes vantagens para o uso de credenciais temporárias:

  • Você não tem que distribuir ou incorporar credenciais de segurança da AWS de longo prazo com um aplicativo.

  • Você pode fornecer acesso aos seus recursos da AWS para os usuários sem a necessidade de definir uma identidade da AWS para eles. As credenciais temporárias são a base para funções e federação de identidades.

  • As credenciais de segurança temporárias têm uma vida limitada, portanto não é necessário mudá-las ou explicitamente revogá-las quando elas não forem mais necessárias. Quando as credenciais de segurança temporárias expiram, elas não podem ser reutilizadas. Você pode especificar por quanto tempo as credenciais são válidas, até um limite máximo.

AWS STS e regiões da AWS

Credenciais de segurança temporárias são geradas pelo AWS STS. Por padrão, o AWS STS é um serviço global com um único endpoint em https://sts.amazonaws.com. No entanto, você também pode optar por fazer chamadas de API do AWS STS para endpoints em qualquer outra região com suporte. Isso pode reduzir a latência (atraso do servidor), enviando as solicitações para servidores em uma região que está geograficamente mais perto de você. Não importa de qual região suas credenciais são, elas funcionam globalmente. Para obter mais informações, consulte Gerenciar o AWS STS em uma região da AWS.

Cenários comuns de credenciais temporárias

As credenciais temporárias são úteis em cenários que envolvem federação de identidades, delegação, acesso entre contas e funções do IAM.

Federação de identidades

Você pode gerenciar suas identidades de usuários em um sistema externo fora da AWS e conceder acesso aos usuários que fazem login a partir desses sistemas para realizar tarefas da AWS e acessar seu recursos da AWS. O IAM dá suporte a dois tipos de federação de identidades. Em ambos os casos, as identidades são armazenadas fora da AWS. A distinção é onde o sistema externo reside, em seu datacenter ou em um terceiro externo na web. Para obter mais informações sobre provedores de identidade externos, consulte Provedores de identidade e federação.

  • Federação de identidades empresariais – Você pode autenticar usuários na rede de sua organização e, em seguida, fornecer aos usuários acesso a AWS sem necessidade de criar novas identidades da AWS para eles e exigindo que eles façam login com outro nome de usuário e senha. Isso é conhecido como a abordagem de logon único (SSO) para acesso temporário. O AWS STS é compatível com padrões abertos, como o Security Assertion Markup Language (SAML) 2.0, com o qual você pode usar o Microsoft AD FS para utilizar seu Microsoft Active Directory. Você também pode usar o SAML 2.0 para gerenciar sua própria solução para federação de identidades de usuários. Para obter mais informações, consulte Sobre a federação baseada em SAML 2.0.

    • Custom federation broker (Agente de federação personalizado) – você pode usar o sistema de autenticação da sua organização para conceder acesso aos recursos da AWS. Para obter um cenário de exemplo, consulte Habilitar o acesso do agente de identidades personalizado ao console da AWS.

    • Federation using SAML 2.0 (Federação com SAML 2.0) – você pode usar o sistema de autenticação da sua organização e SAML para conceder acesso aos recursos da AWS. Para obter mais informações e um cenário de exemplo, consulte Sobre a federação baseada em SAML 2.0.

  • Federação de identidades da web – Você pode permitir que os usuários façam login usando um provedor de identidade de terceiros conhecido, tal como Login with Amazon, Facebook, Google ou qualquer provedor compatível com OpenID Connect (OIDC) 2.0. Você pode trocar as credenciais desse provedor por permissões temporárias para usar os recursos em sua conta da AWS. Isso é conhecido como a abordagem de federação de identidades da web para acesso temporário. Quando você usa a federação de identidades da web para o seu aplicativo móvel ou web, você não precisa criar um código de login personalizado ou gerenciar suas próprias identidades de usuários. O uso de federação de identidades da web ajuda você a manter sua conta da AWS segura, pois você não precisa distribuir credenciais de segurança de longo prazo, tal como chaves de acesso de usuário do IAM com seu aplicativo. Para obter mais informações, consulte Sobre a federação de identidades da Web.

    A federação de identidades da web do AWS STS suporta Login with Amazon, Facebook, Google e qualquer provedor de identidades compatível com OpenID Connect (OIDC).

    nota

    Para aplicativos móveis, recomendamos que você use o Amazon Cognito. Você pode usar esse serviço com o AWS Mobile SDK para iOS e o AWS Mobile SDK para Android e Fire OS para criar identidades exclusivas para os usuários e autenticá-los para proteger o acesso aos seus recursos da AWS. O Amazon Cognito dá suporte aos mesmos provedores de identidade do AWS STS e também oferece suporte ao acesso não autenticado (convidado) e permite que você migre os dados do usuário quando ele faz login. O Amazon Cognito também fornece operações de API para sincronização de dados de usuário para que eles sejam preservados à medida que passam de um dispositivo para outro. Para obter mais informações, consulte o seguinte:

Funções de acesso entre contas

Muitas organizações mantêm mais do que uma conta da AWS. Com o uso de funções e acesso entre contas, você pode definir identidades de usuários em uma conta e usar essas identidades para acessar recursos da AWS em outras contas que pertencem à sua organização. Isso é conhecido como a abordagem de delegação para acesso temporário. Para obter mais informações sobre a criação de funções entre contas, consulte Criar uma função para delegar permissões a um usuário do IAM. Para saber se os principais de contas fora de sua zona de confiança (organização confiável ou conta) têm acesso para assumir as suas funções, consulte O que é IAM Access Analyzer?.

Funções para o Amazon EC2

Se você executa aplicativos em instâncias do Amazon EC2 e esses aplicativos precisam de acesso a recursos da AWS, você pode fornecer credenciais de segurança temporárias para suas instâncias quando você as ativa. Essas credenciais de segurança temporárias estão disponíveis para todos os aplicativos que são executados na instância, portanto você não precisa armazenar qualquer credencial de longo prazo na instância. Para obter mais informações, consulte Usar uma função do IAM para conceder permissões às aplicações em execução nas instâncias do Amazon EC2.

Outros serviços da AWS

Você pode usar credenciais de segurança temporárias para acessar a maioria dos serviços da AWS. Para obter uma lista dos serviços que aceitam credenciais de segurança temporárias, consulte Serviços da AWS compatíveis com o IAM.