Controlar o acesso com base nos atributos de uma identidade com o Verified Permissions - Amazon API Gateway

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" como true.

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" como false.

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.