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 forma idêntica às credenciais de chave de acesso de longo prazo, 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.
Como resultado, as credenciais temporárias apresentam as seguintes vantagens em relação às credenciais de longo prazo:
-
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 perfis e a federação de identidades.
-
As credenciais de segurança temporárias têm vida limitada. Portanto, não é necessário atualizá-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 ter mais informações, consulte Gerenciar o AWS STS em uma Região da AWS.
Cenários comuns para 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 é compatível com 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 data center ou em um terceiro externo na Web. Para comparar os recursos das credenciais de segurança temporárias para federação de identidades, consulte Compare credenciais do AWS STS.
Para obter mais informações sobre provedores de identidade externos, consulte Provedores de identidade e federação.
-
Federação OpenID Connect (OIDC): é possível permitir que os usuários iniciem sessão usando um provedor de identidade de terceiros conhecido, como Login with Amazon, Facebook, Google ou qualquer provedor compatível com o OIDC 2.0 para sua aplicação móvel ou Web. Não é necessário criar um código de início de sessão personalizado nem gerenciar suas próprias identidades de usuário. O uso da federação OIDC ajuda a manter sua Conta da AWS segura, pois você não precisa distribuir credenciais de segurança de longo prazo, como chaves de acesso de usuários do IAM, com a aplicação. Para ter mais informações, consulte Federação OIDC.
A federação OIDC do AWS STS oferece suporte a Login with Amazon, Facebook, Google e qualquer provedor de identidades compatível com OpenID Connect (OIDC).
nota
Para aplicações móveis, recomendamos o uso do Amazon Cognito. Você pode usar esse serviço com SDKs da AWS para desenvolvimento de dispositivos móveis para criar identidades exclusivas para os usuários e autenticá-las para acesso seguro aos recursos da AWS. O Amazon Cognito oferece suporte aos mesmos provedores de identidade do AWS STS e também oferece suporte ao acesso não autenticado (de convidado) e permite que você migre os dados do usuário quando um usuário 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 passarem de um dispositivo para outro. Para obter mais informações, consulte Autenticação com o Amplify
na documentação do Amplify. -
Federação SAML: é possível autenticar usuários na rede da sua organização e, em seguida, fornecer a eles acesso à AWS sem criar novas identidades da AWS para eles nem exigir que façam login com credenciais de login diferentes. Isso é conhecido como a abordagem de logon único 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 ter mais informações, consulte Federação SAML 2.0.
-
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 intermediador de identidades personalizado ao console da AWS.
-
Federação com SAML 2.0: você pode usar o sistema de autenticação da sua organização e o SAML para conceder acesso aos recursos da AWS. Para obter mais informações e um cenário de exemplo, consulte Federação SAML 2.0.
-
Funções para acesso entre contas
Muitas organizações mantêm mais de 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 um perfil para delegar permissões a um usuário do IAM. Para saber se as entidades 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 é o IAM Access Analyzer?.
Funções do Amazon EC2
Se você executa aplicações em instâncias do Amazon EC2 e essas aplicações precisam de acesso a recursos da AWS, você pode fornecer credenciais de segurança temporárias para suas instâncias ao executá-las. 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 ter mais informações, consulte Use um perfil do IAM para conceder permissões a aplicações em execução em instâncias do Amazon EC2.
Para saber mais sobre as credenciais de perfil do IAM do Amazon EC2, consulte Perfis do IAM para Amazon EC2 no Guia do usuário do Amazon Elastic Compute Cloud.
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 que funcionam com o IAM.
Amostra de aplicações que usam credenciais temporárias
É 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. Para obter mais informações sobre o AWS STS, consulte Credenciais de segurança temporárias no IAM. Para ver como usar AWS STS para gerenciar credenciais de segurança temporárias, você pode fazer download dos seguintes exemplos de aplicativos que implementam exemplos de cenários completos:
-
Habilitar a federação na AWS usando o Windows Active Directory, o ADFS e o SAML 2.0
. Demonstra como delegar o acesso usando a federação corporativa na AWS usando Windows Active Directory (AD), Active Directory Federation Services (ADFS) 2.0 e SAML (Security Assertion Markup Language) 2.0. -
Habilitar o acesso do intermediador de identidades personalizado ao console da AWS. Demonstra como criar um proxy de federação personalizado que permite autenticação única (SSO) para que os usuários do Active Directory existentes possam iniciar sessão no AWS Management Console.
-
Como usar o Shibboleth para autenticação única no AWS Management Console.
. Mostra como usar o Shibboleth e o SAML para fornecer aos usuários logon único (SSO) ao AWS Management Console.
Exemplos de federação OIDC
Os exemplos de apliacações a seguir ilustram como usar a federação OIDC com provedores como Login with Amazon, Amazon Cognito, Facebook ou Google. Você pode trocar a autenticação desses provedores por credenciais de segurança temporárias da AWS para acessar serviços da AWS.
-
Tutoriais do Amazon Cognito: recomendamos que você use o Amazon Cognito com os AWS SDKs para desenvolvimento móvel. O Amazon Cognito é a maneira mais simples de gerenciar identidades para aplicativos móveis e fornece recursos adicionais como sincronização e identidade entre dispositivos. Para obter mais informações sobre o Amazon Cognito, consulte Autenticação com o Amplify
na documentação do Amplify.
Recursos adicionais para credenciais de segurança temporárias
Os seguintes cenários e aplicativos podem orientá-lo quanto ao uso de credenciais de segurança temporárias:
-
Como integrar o AWS STS SourceIdentity ao seu provedor de identidade
. Esta postagem mostra como configurar o atributo do AWS STS SourceIdentity
ao usar Okta, Ping ou OneLogin como IdP. -
Federação OIDC. Esta seção discute como configurar perfis do IAM ao usar federação OIDC e a API
AssumeRoleWithWebIdentity
. -
Acesso seguro à API com a MFA. Este tópico explica como usar funções para exigir a autenticação multifator (MFA) para proteger ações de API confidenciais em sua conta.
Para obter mais informações sobre políticas e permissões na AWS, consulte os seguintes tópicos:
-
Gerenciar permissões de acesso aos seus recursos do Amazon S3 no Guia do usuário do Amazon Simple Storage Service.
-
Para saber se as entidades 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 é o IAM Access Analyzer?.