Controlar o acesso com base nos atributos de uma identidade com o Verified Permissions
Use o Amazon Verified Permissions para controlar o acesso à sua API do API Gateway. Quando você usa o API Gateway com o Verified Permissions, ele cria um autorizador do Lambda que usa decisões de autorização refinadas para controlar o acesso à sua API. O Verified Permissions autoriza os chamadores com base em políticas e em um esquema de armazenamento de políticas usando a linguagem Cedar para definir permissões refinadas para usuários de aplicações. Para saber mais, consulte Create a policy store with a connected API and identity provider no Guia do usuário do Amazon Verified Permissions.
O Verified Permissions comporta grupos de usuários do Amazon Cognito ou provedores de identidade OpenID Connect (OIDC) como fontes de identidade. O Verified Permissions pressupõe que a entidade principal tenha sido previamente identificada e autenticada. O Verified Permissions só é compatível com APIs REST regionais e otimizadas para borda.
Criar um autorizador do Lambda usando o Verified Permissions
O Verified Permissions cria um autorizador do Lambda para determinar se uma entidade principal pode realizar uma ação em sua API. Você precisa criar a política do Cedar que o Verified Permissions usa para realizar suas tarefas de autorização.
Veja a seguir um exemplo de política do Cedar que permite o acesso para invocar uma API com base no grupo de usuários do Amazon Cognito, us-east-1_ABC1234
, para o grupo developer
no recurso GET /users
de uma API. O Verified Permissions determina a associação ao grupo analisando o token da identidade do chamador.
permit( principal in MyAPI::UserGroup::"us-east-1_ABC1234|developer", action in [ MyAPI::Action::"get /users" ], resource );
O Verified Permissions também pode anexar o autorizador aos métodos da sua API. Nos estágios de produção da sua API, recomendamos não permitir que o Verified Permissions anexe o autorizador para você.
A lista a seguir mostra como configurar o Verified Permissions para anexar ou não o autorizador do Lambda à solicitação dos métodos da sua API.
- Anexar o autorizador para você (AWS Management Console)
-
Ao escolher Criar armazenamento de políticas no console do Verified Permissions, na página Implantar integração de aplicações, escolha Agora.
- Não anexe o autorizador para você (AWS Management Console)
-
Ao escolher Criar armazenamento de políticas no console do Verified Permissions, na página Implantar integração de aplicações, escolha Mais tarde.
O Verified Permissions ainda cria um autorizador do Lambda para você. O autorizador do Lambda começa com
AVPAuthorizerLambda-
. Para ter mais instruções sobre como anexar a autorização em um método, consulte Configurar um método para usar um autorizador do Lambda (console). - Anexar o autorizador para você (AWS CloudFormation)
-
No modelo do AWS CloudFormation gerado pelo Verified Permissions, na seção
Conditions
, defina"Ref": "shouldAttachAuthorizer"
comotrue
. - Não anexe o autorizador para você (AWS CloudFormation)
-
No modelo do AWS CloudFormation gerado pelo Verified Permissions, na seção
Conditions
, defina"Ref": "shouldAttachAuthorizer"
comofalse
.O Verified Permissions ainda cria um autorizador do Lambda para você. O autorizador do Lambda começa com
AVPAuthorizerLambda-
. Para ter mais instruções sobre como anexar a autorização em um método, consulte Configurar um método para usar um autorizador do Lambda (AWS CLI).
Chamar um autorizador do Lambda usando o Verified Permissions
É possível chamar o autorizador do Lambda fornecendo uma identidade ou um token de acesso no cabeçalho Authorization
. Para ter mais informações, consulte Chamar uma API com um autorizador do Lambda do API Gateway.
O API Gateway armazena em cache a política que o autorizador do Lambda exibe por 120 segundos. É possível modificar o TTL no console do API Gateway ou usando a AWS CLI.