Fornecer acesso aos usuários autenticados externamente (federação de identidades) - AWS Identity and Access Management

Fornecer acesso aos usuários autenticados externamente (federação de identidades)

Seus usuários podem já ter identidades fora da AWS, por exemplo, no diretório corporativo. Se esses usuários precisarem trabalhar com recursos da AWS (ou trabalhar com aplicações que acessem esses recursos), os usuários também precisarão de credenciais de segurança da AWS. Você pode usar uma função do IAM para especificar permissões para usuários cuja identidade é federada de sua organização ou de um provedor de identidade (IdP) de terceiros.

nota

Como prática recomendada de segurança, recomendamos que você gerencie o acesso do usuário no Centro de identidade do IAM com federação de identidades em vez de criar usuários do IAM. Para obter informações sobre situações específicas em que um usuário do IAM é necessário, consulte Quando criar um usuário do IAM (em vez de um perfil).

Federação de usuários de um aplicativo móvel ou baseado na Web com o Amazon Cognito

Se você criar um aplicativo móvel ou baseado na Web que acesse recursos da AWS, ele precisará de credenciais de segurança para fazer solicitações programáticas à AWS. Para a maioria dos cenários de aplicações móveis, recomendamos usar 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 a fim de criar identidades exclusivas para os usuários e autenticá-las para assegurar acesso aos seus recursos da AWS. O Amazon Cognito oferece suporte aos mesmos provedores de identidade listados na próxima seção e também oferece suporte a identidades autenticadas pelo desenvolvedor e acesso não autenticado (de convidado). 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 ter mais informações, consulte Usar o Amazon Cognito para aplicativos móveis.

Federação de usuários com provedores de serviços de identidade pública ou OpenID Connect

Sempre que possível, use o Amazon Cognito para cenários de aplicativos móveis e baseados na Web. O Amazon Cognito faz a maior parte do trabalho em segundo plano com os serviços do provedor de identidade pública para você. Ele funciona com os mesmos serviços de terceiros e também dá suporte a logins anônimos. No entanto, para cenários mais avançados, você pode trabalhar diretamente com um serviço de terceiros, como o Login with Amazon, Facebook, Google ou qualquer provedor compatível com o OpenID Connect (OIDC). Para obter mais informações sobre como usar a federação OIDC com um desses serviços, consulte Federação OIDC.

Federação de usuários com SAML 2.0

Se sua organização já usa um pacote de software de provedor de identidade que ofereça suporte a SAML 2.0 (Security Assertion Markup Language 2.0), você poderá criar confiança entre a organização como provedor de identidade (IdP) e a AWS como o provedor de serviços. Em seguida, você pode usar SAML para fornecer aos usuários logon único (SSO) federado ao AWS Management Console ou acesso federado para chamar operações de API da AWS. Por exemplo, se sua empresa usa o Microsoft Active Directory e o Active Directory Federation Services, você poderá realizar a federação usando o SAML 2.0. Para obter mais informações sobre como federar usuários com SAML 2.0, consulte Federação SAML 2.0.

Federação de usuários criando um aplicativo identity broker personalizado

Se o armazenamento de identidades não for compatível com o SAML 2.0, você poderá criar um aplicativo identity broker personalizado para executar uma função semelhante. O aplicativo agente autentica os usuários, solicita credenciais temporárias para usuários da AWS e, em seguida, as fornece ao usuário para acessar os recursos da AWS.

Por exemplo, a Corp. de Exemplo tem muitos funcionários que precisam executar aplicativos internos que acessam os recursos da AWS da empresa. Os funcionários já têm identidades no sistema de autenticação e identidade da empresa, e a Corp. de Exemplo não deseja criar um usuário do IAM separado para cada funcionário da empresa.

Bob é um desenvolvedor na Corp. de Exemplo. Para permitir que os aplicativos internos da Corp. de Exemplo acessem os recursos da AWS da empresa, Bob desenvolve um aplicativo identity broker personalizado. O aplicativo confirma que os funcionários existentes estão conectados ao sistema de autenticação e identidade da Corp. de Exemplo, que pode usar LDAP, Active Directory ou outro sistema. O aplicativo identity broker, em seguida, obtém credenciais de segurança temporárias para os funcionários. Esse cenário é semelhante ao anterior (um aplicativo móvel que usa um sistema de autenticação personalizada), exceto pelo fato de que as aplicações que precisam de acesso a todos os recursos da AWS são executados dentro da rede corporativa, e a empresa tem um sistema de autenticação.

Para obter credenciais de segurança temporárias, o aplicativo identity broker chama AssumeRole ou GetFederationToken para obter credenciais de segurança temporárias, dependendo de como Bob precisa gerenciar as políticas para os usuários e quando as credenciais temporárias devem expirar. (Para obter mais informações sobre as diferenças entre essas operações de API, veja Credenciais de segurança temporárias no IAM e Controle de permissões para credenciais de segurança temporárias.) A chamada retorna as credenciais de segurança temporárias que consistem em um ID da chave de acesso da AWS, uma chave de acesso secreta e um token de sessão. O aplicativo identity broker torna essas credenciais temporárias de segurança disponíveis para os aplicativos internos da empresa. Em seguida, o aplicativo pode usar as credenciais temporárias para fazer chamadas para a AWS diretamente. O aplicativo armazena as credenciais em cache até elas expirarem e, em seguida, solicita um novo conjunto de credenciais temporárias. A figura a seguir ilustra esse cenário.


        Exemplo de fluxo de trabalho usando um aplicativo agente de identidades personalizado

Esse cenário tem os seguintes atributos:

  • A aplicação do agente de identidades tem permissões para acessar a API do serviço de token (STS) do IAM para criar credenciais de segurança temporárias.

  • O aplicativo identity broker é capaz de verificar se os funcionários estão autenticados dentro do sistema de autenticação existente.

  • Os usuários podem obter um URL temporário que forneça a elrd acesso ao Console de Gerenciamento da AWS (chamada de autenticação única).

Para obter informações sobre a criação de credenciais de segurança temporárias, consulte Solicitação de credenciais de segurança temporárias. Para obter mais informações sobre como os usuários federados obtêm acesso ao Console de Gerenciamento da AWS, consulte Habilitar o acesso de usuários federados SAML 2.0 ao AWS Management Console.