API- repositórios de políticas vinculados - Amazon Verified Permissions

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

API- repositórios de políticas vinculados

Um caso de uso comum é usar as Permissões Verificadas da Amazon para autorizar o acesso do usuário aos APIs hospedados no Amazon API Gateway. Usando um assistente no AWS console, você pode criar políticas de acesso baseadas em funções para usuários gerenciados no Amazon Cognito ou em OIDC qualquer provedor de identidade (IdP) e implantar AWS Lambda um Autorizador que chame Permissões Verificadas para avaliar essas políticas.

Para concluir o assistente, escolha Configurar com o API Gateway e um provedor de identidade ao criar um novo repositório de políticas e siga as etapas.

Um repositório de políticas API vinculado é criado e provisiona seu modelo de autorização e recursos para solicitações de autorização. O repositório de políticas tem uma fonte de identidade e um autorizador Lambda que conecta o API Gateway às Permissões Verificadas. Depois que o repositório de políticas for criado, você poderá autorizar API solicitações com base nas associações de grupos dos usuários. Por exemplo, as Permissões verificadas podem conceder acesso somente aos usuários que são membros do Directors grupo.

À medida que seu aplicativo cresce, você pode implementar uma autorização refinada com atributos de usuário e escopos OAuth 2.0 usando a linguagem de política Cedar. Por exemplo, as Permissões verificadas podem conceder acesso somente a usuários que tenham um email atributo no domíniomycompany.co.uk.

Depois de configurar o modelo de autorização para vocêAPI, sua responsabilidade restante é autenticar usuários, gerar API solicitações em seu aplicativo e manter seu repositório de políticas.

Para ver uma demonstração, consulte Amazon Verified Permissions - Quick Start Overview and Demo no Amazon Web Services YouTube canal.

Importante

Os repositórios de políticas que você cria com a opção Configurar com o API Gateway e uma fonte de identidade no console de Permissões Verificadas não se destinam à implantação imediata na produção. Com seu repositório de políticas inicial, finalize seu modelo de autorização e exporte os recursos do repositório de políticas para o. CloudFormation Implante permissões verificadas na produção de forma programática com o AWSCloud Development Kit () CDK. Para obter mais informações, consulte Passando para a produção com AWS CloudFormation.

Em um repositório de políticas vinculado a uma fonte de identidade API e a uma, seu aplicativo apresenta um token de grupo de usuários em um cabeçalho de autorização quando faz uma solicitação aoAPI. A fonte de identidade do seu repositório de políticas fornece validação de token para permissões verificadas. O token forma o principal em solicitações de autorização com IsAuthorizedWithTokenAPIo. As Permissões Verificadas criam políticas em torno da associação de seus usuários ao grupo, conforme apresentado em uma declaração de grupos em identidade (ID) e tokens de acesso, por exemplocognito:groups, para grupos de usuários. Você API processa o token do seu aplicativo em um autorizador Lambda e o envia à Verified Permissions para uma decisão de autorização. Quando você API recebe a decisão de autorização do autorizador Lambda, ele passa a solicitação para sua fonte de dados ou nega a solicitação.

Componentes da fonte de identidade e autorização do API gateway com permissões verificadas
  • Um grupo de usuários ou IdP OIDC do Amazon Cognito que autentica e agrupa usuários. Os tokens dos usuários preenchem a associação ao grupo e o principal ou contexto que as Permissões Verificadas avaliam em seu repositório de políticas.

  • Um APIportal RESTAPI. As permissões verificadas definem ações de API caminhos e API métodos, por exemploMyAPI::Action::get /photo.

  • Uma função Lambda e um autorizador Lambda para você. API A função Lambda recebe tokens portadores do seu grupo de usuários, solicita autorização das Permissões Verificadas e retorna uma decisão ao Gateway. API O fluxo de trabalho Configurar com API Gateway e uma fonte de identidade cria automaticamente esse autorizador Lambda para você.

  • Um repositório de políticas de permissões verificadas. A fonte de identidade do repositório de políticas é seu grupo de usuários ou OIDC provedor do Amazon Cognito. O esquema do repositório de políticas reflete a configuração do seuAPI, e as políticas vinculam grupos de usuários às API ações permitidas.

  • Um aplicativo que autentica usuários com seu IdP e anexa tokens às solicitações. API

Como as permissões verificadas autorizam solicitações API

Quando você cria um novo repositório de políticas e seleciona a opção Configurar com API Gateway e uma fonte de identidade, as Permissões Verificadas criam políticas e esquemas de armazenamento de políticas. O esquema e as políticas refletem as API ações e os grupos de usuários que você deseja autorizar a realizar as ações. As permissões verificadas também criam a função e o autorizador do Lambda.

Um diagrama que exibe o fluxo de uma solicitação de autorização com Amazon API Gateway, Amazon Cognito e Amazon Verified Permissions.
  1. Seu usuário faz login com seu aplicativo por meio do Amazon Cognito ou de outro OIDC IdP. O IdP emite tokens de ID e acesso com as informações do usuário.

  2. Seu aplicativo armazena JWTs o. Para obter mais informações, consulte Uso de tokens com grupos de usuários no Guia do Desenvolvedor do Amazon Cognito.

  3. Seu usuário solicita dados que seu aplicativo deve recuperar de um externoAPI.

  4. Seu aplicativo solicita dados de um REST API no API Gateway. Ele anexa um ID ou token de acesso como cabeçalho da solicitação.

  5. Se você API tiver um cache para a decisão de autorização, ele retornará a resposta anterior. Se o armazenamento em cache estiver desativado ou não API tiver cache atual, o API Gateway passará os parâmetros da solicitação para um autorizador Lambda baseado em token.

  6. A função Lambda envia uma solicitação de autorização para um repositório de políticas de permissões verificadas com o. IsAuthorizedWithTokenAPI A função Lambda transmite os elementos de uma decisão de autorização:

    1. O token do usuário como principal.

    2. O API método combinado com o API caminho, por exemploGetPhoto, como a ação.

    3. O termo Application como recurso.

  7. As permissões verificadas validam o token. Para obter mais informações sobre como os tokens do Amazon Cognito são validados, consulte Autorização com permissões verificadas da Amazon no Guia do desenvolvedor do Amazon Cognito.

  8. O Verified Permissions avalia a solicitação de autorização em relação às políticas em seu repositório de políticas e retorna uma decisão de autorização.

  9. O autorizador Lambda retorna uma Deny resposta Allow or para o Gateway. API

  10. Os dados de API retorno ou uma ACCESS_DENIED resposta à sua solicitação. Seu aplicativo processa e exibe os resultados da API solicitação.

Considerações sobre repositórios API de políticas vinculados

Ao criar um repositório API de políticas vinculado no console de permissões verificadas, você está criando um teste para uma eventual implantação de produção. Antes de passar para a produção, estabeleça uma configuração fixa para seu grupo API e para o grupo de usuários. Considere os seguintes fatores:

APIO gateway armazena respostas em cache

Em repositórios API de políticas vinculados, o Verified Permissions cria um autorizador Lambda com um TTL cache de autorização de 120 segundos. Você pode ajustar esse valor ou desativar o armazenamento em cache no seu autorizador. Em um autorizador com o armazenamento em cache ativado, seu autorizador retorna a mesma resposta todas as vezes até que ela expire. TTL Isso pode estender a vida útil efetiva dos tokens do grupo de usuários em uma duração igual ao armazenamento em cache TTL do estágio solicitado.

Os grupos do Amazon Cognito podem ser reutilizados

As permissões verificadas da Amazon determinam a associação ao grupo de usuários do grupo de usuários a partir da cognito:groups reivindicação no ID do usuário ou token de acesso. O valor dessa afirmação é uma matriz dos nomes amigáveis dos grupos de grupos de usuários aos quais o usuário pertence. Você não pode associar grupos de grupos de usuários a um identificador exclusivo.

Grupos de grupos de usuários que você exclui e recria com o mesmo nome presente no seu repositório de políticas como o mesmo grupo. Ao excluir um grupo de um grupo de usuários, exclua todas as referências ao grupo do seu repositório de políticas.

API- namespace e esquema derivados são point-in-time

O Verified Permissions captura você API em um determinado momento: ele só consulta você API quando você cria seu repositório de políticas. Quando o esquema ou o nome de suas API alterações, você deve atualizar seu repositório de políticas e o autorizador Lambda ou criar um API novo repositório de políticas vinculado. Permissões verificadas derivam o namespace do repositório de políticas do nome do seu. API

A função Lambda não tem configuração VPC

A função Lambda que a Verified Permissions cria para seu API autorizador é iniciada por padrão. VPC Por padrão. APIsque têm acesso à rede restrito ao privado não VPCs podem se comunicar com a função Lambda que autoriza solicitações de acesso com permissões verificadas.

A Verified Permissions implanta recursos do autorizador em CloudFormation

Para criar um repositório API de políticas vinculado, você deve cadastrar um AWS principal altamente privilegiado no console de Permissões Verificadas. Esse usuário implanta uma AWS CloudFormation pilha que cria recursos em vários. Serviços da AWS Esse diretor deve ter a permissão para adicionar e modificar recursos em Permissões Verificadas IAM, Lambda e API Gateway. Como prática recomendada, não compartilhe essas credenciais com outros administradores em sua organização.

Consulte Passando para a produção com AWS CloudFormation para obter uma visão geral dos recursos criados pelas Permissões Verificadas.

Adicionando controle de acesso baseado em atributos () ABAC

Uma sessão de autenticação típica com um IdP retorna tokens de ID e acesso. Você pode passar qualquer um desses tipos de token como um token portador nas solicitações do aplicativo para o seuAPI. Dependendo de suas escolhas ao criar seu repositório de políticas, as Permissões Verificadas esperam um dos dois tipos de tokens. Ambos os tipos contêm informações sobre a associação do usuário ao grupo. Para obter mais informações sobre os tipos de token no Amazon Cognito, consulte Uso de tokens com grupos de usuários no Guia do desenvolvedor do Amazon Cognito.

Depois de criar um repositório de políticas, você pode adicionar e estender políticas. Por exemplo, você pode adicionar novos grupos às suas políticas ao adicioná-los ao seu grupo de usuários. Como seu repositório de políticas já está ciente da forma como seu grupo de usuários apresenta grupos em tokens, você pode permitir um conjunto de ações para qualquer novo grupo com uma nova política.

Talvez você também queira estender o modelo de avaliação de políticas baseado em grupos para um modelo mais preciso baseado nas propriedades do usuário. Os tokens do grupo de usuários contêm informações adicionais do usuário que podem contribuir para as decisões de autorização.

Tokens de identificação

Os tokens de ID representam os atributos do usuário e têm um alto nível de controle de acesso refinado. Para avaliar endereços de e-mail, números de telefone ou atributos personalizados, como departamento e gerente, avalie o token de ID.

Tokens de acesso

Os tokens de acesso representam as permissões de um usuário com escopos OAuth 2.0. Para adicionar uma camada de autorização ou configurar solicitações de recursos adicionais, avalie o token de acesso. Por exemplo, você pode validar se um usuário está nos grupos apropriados e tem um escopo como PetStore.read esse que geralmente autoriza o acesso ao. API Os grupos de usuários podem adicionar escopos personalizados aos tokens com servidores de recursos e com a personalização de tokens em tempo de execução.

Veja, Mapeando tokens do provedor de identidade para o esquema por exemplo, políticas que processam reivindicações em tokens de ID e acesso.