Pular para o conteúdo principal

Permissões efetivas

Permissões efetivas​

As permissões efetivas respondem "o que esta pessoa pode fazer agora?". O IAM separa três coisas:

  • Declarado: o que cada produto declara no catálogo ativo.
  • Concedido: os papéis atribuídos à pessoa, diretamente ou por grupos, e o owner do tenant.
  • Efetivo: as permissões que resultam dos papéis concedidos sobre o catálogo ativo.

O cálculo usa a mesma regra que a API da Console aplica em cada requisição, sobre a mesma geração do catálogo: owner do tenant, papéis que concedem todas as permissões e permissões que implicam outras. Assim, o que a tela mostra é o que a API autoriza.

A lista é agrupada por produto e pode ser filtrada por permissão, descrição ou papel.

Permissão necessária: iam.access.read.

Origem de cada permissão​

Cada permissão mostra de onde vem, por exemplo:

  • Viewer (infinite-data.viewer) · Direto: papel concedido à pessoa;
  • Operator (zero.operator) · Via grupo /engenharia: papel do grupo;
  • Owner do tenant (tenant.owner) · Direto: o owner do tenant.

Uma permissão pode ter várias origens. Para tirar a permissão de alguém, remova todas: revogue o papel direto, tire a pessoa do grupo ou revogue o owner.

Produto desativado

Um papel de um produto desativado continua atribuído no provedor de identidade, mas não rende nenhuma permissão enquanto o produto estiver fora do catálogo ativo.

Caminho e explicação​

A coluna Caminho mostra como cada papel chega à permissão:

  • permissão do papel: o papel lista a permissão;
  • owner do tenant: tenant.owner cobre todas as permissões de escopo tenant dos produtos ativos, inclusive os instalados depois;
  • "*" do papel: o papel cobre todas as permissões tenant do produto;
  • implicada por: outra permissão do mesmo papel implica esta (por exemplo, demo.item.create implica demo.item.read).

Em Explicar uma permissão, digite o nome completo (por exemplo, iam.access.manage) para ver por que a pessoa tem a permissão ou por que não tem. Os motivos possíveis são:

  • a permissão não existe no catálogo ativo do tenant (permission_unknown);
  • nenhum papel da pessoa concede a permissão (not_granted).

Pela API: GET /v1/iam/users/{user_id}/effective-permissions?permission=iam.access.manage devolve o campo explanation.