A autorização composta é normal - 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á.

A autorização composta é normal

A autorização composta ocorre quando uma única atividade de usuário, como clicar em um botão na interface da aplicação, requer várias consultas de autorização individuais para determinar se essa atividade é permitida. Por exemplo, mover um arquivo para um novo diretório em um sistema de arquivos pode exigir três permissões diferentes: a capacidade de excluir um arquivo do diretório de origem, a capacidade de adicionar um arquivo ao diretório de destino e, possivelmente, a capacidade de tocar no próprio arquivo (dependendo da aplicação).

Se você é iniciante na criação de um modelo de autorização, talvez pense que cada decisão de autorização deve ser resolvida em uma única consulta de autorização. Mas isso pode resultar em modelos excessivamente complexos e declarações de política complicadas. Na prática, o uso de autorizações compostas pode ser útil para ajudar você a produzir um modelo de autorização mais simples. Uma das medidas de um modelo de autorização bem projetado é que, quando você tem ações individuais suficientemente decompostas, suas operações compostas, como mover um arquivo, podem ser representadas por uma agregação intuitiva de primitivas.

Outra situação em que a autorização composta ocorre é quando várias partes estão envolvidas no processo de concessão de uma permissão. Considere um diretório organizacional em que os usuários possam ser membros de grupos. Uma abordagem simples é dar permissão ao proprietário do grupo para adicionar qualquer pessoa. Mas, e se você quiser que seus usuários primeiro deem consentimento antes serem adicionados? Isso introduz um acordo de handshake no qual tanto o usuário quanto o grupo devem consentir com a associação. Para fazer isso, você pode introduzir outra permissão vinculada ao usuário e especificar se o usuário pode ser adicionado a qualquer grupo ou a um grupo específico. Quando um chamador tentar adicionar membros a um grupo posteriormente, a aplicação deverá aplicar os dois lados das permissões: que o chamador tenha permissão para adicionar membros ao grupo especificado e que o usuário individual que está sendo adicionado tenha as permissões para ser adicionado. Quando existem handshakes de N direções, é comum observar N consultas de autorização composta para aplicar cada parte do contrato.

Se você se deparar com um desafio de design em que há vários recursos envolvidos e não estiver claro como modelar as permissões, isso poderá ser indício de que você tem um cenário de autorização composta. Nesse caso, a solução pode ser a decomposição da operação em várias verificações de autorização individuais.