Regras de Visibilidade

As regras de visibilidade estão presentes no API Manager com o objetivo de restringir ou liberar acesso à informações de determinados objetos contidos dentro do sistema para certos usuários. Estes objetos são API, Environment e Custom Interceptors.

Para API e Custom Interceptors as regras de visibilidade, quando ativadas, impedem a edição ou visualização dos objetos cadastrados. Em Environments, as regras de visibilidade restringem apenas a capacidade do usuário realizar operações de deploy das APIs, mas ainda permitem a visualização de todos os ambientes cadastrados.

Quando é necessário definir regras de visibilidade para uma API temos a sessão API Visibility durante a criação da API, como ilustrado na imagem abaixo.

Para Custom Interceptors temos a seção Visibility inserida dentro da modal de criação ou edição deste objeto, mais especificamente, no menu lateral da página, conforme imagem abaixo.

A seção de visibilidade do Custom Interceptor só pode ser acessada através do menu "Interceptors". Quando o Custom Interceptor é editado através do Flow, as regras de visibilidade não são apresentadas.

Em Environments, temos a área Environment Visibility presente na tela de cadastro/edição de ambientes de deploy, como mostrado abaixo.

Dentro de cada uma dessas seções é possível encontrar determinadas opções de visibilidade. Elas são ORGANIZATION, TEAM e ONLY ME, que quando selecionadas, desempenham uma regra diferente para liberação de acesso. Estas regras serão explicadas a seguir:

  • Organization: O objeto estará visível para todos os usuários do sistema. Está opção vem definida por padrão na criação de qualquer registro novo;

  • Teams: O objeto será visível somente para o time que for selecionado nessa opção. Para saber mais sobre a criação de times, clique aqui. Logo depois de selecionar a opção Teams, o usuário deve indicar que Team terá acesso ao registro. Lembrando que esta seleção é obrigatória.

  • Only me: O objeto será visível apenas para o usuário que criou o registro.

Em conjunto com estas 3 regras de visibilidade, temos um botão chamado Add Users. Ele é habilitado quando selecionado as opções Teams ou Only Me. Neste botão é mostrado uma modal onde é possível adicionar usuários avulsos que também terão acesso aos objetos API, Custom Interceptors ou Environments. Uma imagem desta modal é mostrada abaixo.

OBS: Somente API possui os campos de seleção de permissão entre VIEW e EDIT (Can view/Can edit). Todos os usuários selecionados em Custom interceptor têm, por padrão, a permissão de EDIT. Para Environment, a seleção do usuário através das regras de visibilidade não impede que ele realize edições ao registro, já que estas regras estão ligadas a capacidade de manipulação das operações de deploy.

Detalhes especiais

Ao estabelecer regras de visibilidade, devemos considerar alguns aspectos específicos emergentes das ações realizadas nos usuários e times adicionados nestas regras. Algumas destas ações são:

  • Permissões do tipo Only Me: Durante o cadastro de um novo objeto, somente o criador tem direito de escolher esta propriedade. Demais usuários que vierem a editar o registro e não forem o criador original, terão esta opção desabilitada. Isto foi estabelecido para impedir que outros usuários mudem a propriedade do objeto para si.

  • Exclusão de um Team vinculado a uma regra de visibilidade: Caso um objeto possua uma regra de visibilidade do tipo Team com um time selecionado, e o time associado for excluído por alguma razão, a visibilidade do objeto será passada para Only Me e segundo a regra descrita acima, somente o criador original terá permissão de acessar este objeto até que um novo time seja definido.

  • Exclusão de usuário que é dono de um objeto: Para o caso do criador de um objeto, seja API, Custom Interceptor ou Environment ser excluido por um outro usuário, teremos que a propriedade do objeto é passada para o usuário que realizou a exclusão do antigo criador.