View a markdown version of this page

Modelos de design para Amazon Verified Permissions - AWS Recomendações

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á.

Modelos de design para Amazon Verified Permissions

Usando um PDP centralizado com PEPs em APIs

O ponto de decisão política (PDP) centralizado com pontos de aplicação de políticas (PEPs) no modelo de APIs segue as melhores práticas do setor para criar um sistema eficaz e de fácil manutenção para controle e autorização de acesso à API. Essa abordagem apóia vários princípios fundamentais:

  • A autorização e o controle de acesso à API são aplicados em vários pontos do aplicativo.

  • A lógica de autorização é independente do aplicativo.

  • As decisões de controle de acesso são centralizadas.

Usando um PDP centralizado com PEPs em APIs

Fluxo do aplicativo (ilustrado com textos explicativos numerados em azul no diagrama):

  1. Um usuário autenticado com um JSON Web Token (JWT) gera uma solicitação HTTP para a Amazon. CloudFront

  2. CloudFront encaminha a solicitação para o Amazon API Gateway, que está configurado como CloudFront origem.

  3. Um autorizador personalizado do API Gateway é chamado para verificar o JWT.

  4. Os microsserviços respondem à solicitação.

Fluxo de autorização e controle de acesso à API (ilustrado com textos explicativos numerados em vermelho no diagrama):

  1. O PEP chama o serviço de autorização e passa os dados da solicitação, incluindo quaisquer JWTs.

  2. O serviço de autorização (PDP), nesse caso, Permissões verificadas, usa os dados da solicitação como entrada da consulta e os avalia com base nas políticas relevantes especificadas pela consulta.

  3. A decisão de autorização é devolvida ao PEP e avaliada.

Esse modelo usa um PDP centralizado para tomar decisões de autorização. Os PEPs são implementados em pontos diferentes para fazer solicitações de autorização ao PDP. O diagrama a seguir mostra como você pode implementar esse modelo em um aplicativo SaaS multilocatário hipotético.

Nessa arquitetura, os PEPs solicitam decisões de autorização nos endpoints de serviço da Amazon e do Amazon API Gateway CloudFront e para cada microsserviço. A decisão de autorização é tomada pelo serviço de autorização Amazon Verified Permissions (o PDP). Como o Verified Permissions é um serviço totalmente gerenciado, você não precisa gerenciar a infraestrutura subjacente. Você pode interagir com as permissões verificadas usando uma API RESTful ou o AWS SDK.

Você também pode usar essa arquitetura com mecanismos de política personalizados. No entanto, todas as vantagens obtidas com as permissões verificadas devem ser substituídas pela lógica fornecida pelo mecanismo de políticas personalizadas.

Um PDP centralizado com PEPs em APIs fornece uma opção fácil para criar um sistema de autorização robusto para APIs. Isso simplifica o processo de autorização e também fornece uma interface fácil de usar e repetível para tomar decisões de autorização para APIs, microsserviços, camadas de Backend for Frontend (BFF) ou outros componentes do aplicativo.

Usando o SDK do Cedar

O Amazon Verified Permissions usa a linguagem Cedar para gerenciar permissões refinadas em seus aplicativos personalizados. Com as permissões verificadas, você pode armazenar as políticas do Cedar em um local central, aproveitar a baixa latência com processamento em milissegundos e auditar permissões em diferentes aplicativos. Opcionalmente, você também pode integrar o SDK do Cedar diretamente ao seu aplicativo para fornecer decisões de autorização sem usar permissões verificadas. Essa opção requer desenvolvimento adicional de aplicativos personalizados para gerenciar e armazenar políticas para seu caso de uso. No entanto, pode ser uma alternativa viável, especialmente nos casos em que o acesso às Permissões Verificadas é intermitente ou não é possível devido à conectividade inconsistente com a Internet.