DynamoDB - Federação de Identidade Web
O Web Identity Federation permite simplificar a autenticação e autorização para grandes grupos de usuários. Você pode ignorar a criação de contas individuais e exigir que os usuários façam login em um provedor de identidade para obter credenciais ou tokens temporários. Ele usa o AWS Security Token Service (STS) para gerenciar credenciais. Os aplicativos usam esses tokens para interagir com os serviços.
O Web Identity Federation também oferece suporte a outros provedores de identidade, como Amazon, Google e Facebook.
Function- Em uso, o Web Identity Federation primeiro chama um provedor de identidade para autenticação de usuário e aplicativo, e o provedor retorna um token. Isso resulta na chamada do aplicativo AWS STS e na passagem do token para entrada. O STS autoriza o aplicativo e concede a ele credenciais de acesso temporário, o que permite que o aplicativo use uma função IAM e acesse recursos com base na política.
Implementando Federação de Identidade da Web
Você deve executar as três etapas a seguir antes de usar -
Use um provedor de identidade de terceiros com suporte para se registrar como desenvolvedor.
Registre seu aplicativo com o provedor para obter um ID de aplicativo.
Crie uma ou várias funções de IAM, incluindo o anexo de política. Você deve usar uma função por provedor por aplicativo.
Assuma uma de suas funções de IAM para usar a Federação de identidade da web. Seu aplicativo deve então executar um processo de três etapas -
- Authentication
- Aquisição de credencial
- Acesso a recursos
Na primeira etapa, seu aplicativo usa sua própria interface para chamar o provedor e, em seguida, gerencia o processo de token.
Em seguida, a etapa dois gerencia tokens e exige que seu aplicativo envie um AssumeRoleWithWebIdentitysolicitação para AWS STS. A solicitação contém o primeiro token, o ID do aplicativo do provedor e o ARN da função IAM. O STS fornece credenciais definidas para expirar após um determinado período.
Na etapa final, seu aplicativo recebe uma resposta do STS contendo informações de acesso para recursos do DynamoDB. Consiste em credenciais de acesso, tempo de expiração, função e ID da função.