Sobre a federação de identidades da Web - AWS Identity and Access Management

Sobre a federação de identidades da Web

Imagine que você esteja criando um aplicativo móvel que acesse recursos da AWS, como um jogo que seja executado em um dispositivo móvel e armazene informações de pontuação e dos jogadores usando o Amazon S3 e o DynamoDB.

Ao elaborar uma aplicação como essa, você fará solicitações para os serviços da AWS que devem ser assinados com uma chave de acesso da AWS. No entanto, é altamente recomendável que você não incorpore nem distribua credenciais de longo prazo da AWS com aplicativos dos quais um usuário faça download para um dispositivo, mesmo em um armazenamento criptografado. Em vez disso, crie seu aplicativo para que ele solicite credenciais de segurança temporárias da AWS dinamicamente quando necessário usando a federação de identidades da web. As credenciais temporárias fornecidas são mapeadas para uma função da AWS que têm apenas as permissões necessárias para executar as tarefas necessárias ao aplicativo móvel.

Com a federação de identidades da web, você não precisa criar código de login personalizado nem gerenciar suas próprias identidades de usuários. Em vez disso, os usuários de seu aplicativo podem fazer login usando um provedor de identidades externo (IdP) conhecido, como Login with Amazon, Facebook, Google ou qualquer outro IdP compatível com OpenID Connect (OIDC). Eles podem receber um token de autenticação e, em seguida, trocar esse token por credenciais de segurança temporárias na AWS que são mapeadas para uma função do IAM com permissões para usar os recursos na sua conta da AWS. O uso de um IdP ajuda você a manter sua conta da AWS segura, pois você não precisa incorporar e distribuir credenciais de segurança de longo prazo com seu aplicativo.

Para a maioria dos cenários, recomendamos que você use o Amazon Cognito porque ele atua como um agente de identidades e faz grande parte do trabalho de federação para você. Para obter detalhes, consulte a seção a seguir, Usar o Amazon Cognito para aplicativos móveis.

Se você não usar o Amazon Cognito, deverá elaborar um código que interaja com um IdP da Web, como Facebook, e, em seguida, chamar a API AssumeRoleWithWebIdentity para trocar o token de autenticação obtido desses IdPs por credenciais de segurança temporárias da AWS. Se você já usou essa abordagem para aplicativos existentes, poderá continuar a usá-lo.