De um alto nível, o sistema de segurança consiste em uma região de autenticação, região de autorização, funções e equipes. A região de autenticação verifica a identidade do usuário ou sistema que está tentando efetuar logon no IBM UrbanCode Deploy. A região de autorização gerencia grupos de usuários. As funções gerenciam permissões. As equipes associam usuários a funções e áreas do produto seguras.
Um bom ponto de início para aprender sobre o sistema de segurança baseado em equipe é entender as permissões. O IBM UrbanCode Deploy usa o termo permissão de uma maneira familiar para a maioria dos leitores: cada permissão controla o acesso a uma área do produto ou função do produto. A maioria das permissões se referem a atividades típicas tais como criar, ler, atualizar e excluir. As permissões definem o que pode ser feito, não quem pode fazer
A maioria das áreas do produto possuem um conjunto de permissões que afetam como os usuários interagem com elas. As permissões de uma área do produto são definidas por tipos de segurança. A área do produto de componente possui tipos de segurança que afetam a capacidade de um usuário para interagir com os componentes. Os tipos de segurança que estão disponíveis para a área do produto de agente afetam agentes e assim por diante.
A maioria das áreas do produto podem ter mais tipos de segurança definidos para elas. Cada tipo de segurança elegível é fornecido com um tipo "padrão" que é definido para ele, como "Agente Padrão" ou "Componente Padrão". Cada tipo adicional dentro de uma área compartilha o mesmo conjunto de permissões. Por exemplo, cada tipo de agente possui o mesmo conjunto de permissões: editar e visualizar. Consulte Tipos de segurança.
Uma função é um conjunto de permissões concedidas. A definição de uma função consiste em conceder permissões para todos os tipos de segurança que são afetados pela função. Uma função de tipo de desenvolvedor pode ter permissões para criar aplicativos, mas não executá-los em ambientes de produção. Como alternativa, uma função de tipo de implementador deve ser capaz de executar aplicativos, mas não criá-los. Você decide o número de funções e suas funções. Da forma como é entregue, o IBM UrbanCode Deploy fornece uma função, a função de administrador, à qual são concedidas permissões para todos os tipos de segurança.
Uma equipe é uma construção que associa usuários ou grupos a funções. Quando um usuário é incluído em uma equipe, essa pessoa é designada a uma função, os usuários não podem ser incluídos em uma equipe sem uma designação de função. Os membros da função têm automaticamente concedidas todas as permissões que são definidas para a função. Os grupos também podem ser incluídos em funções, nesse caso, todos os membros do grupo têm automaticamente concedidas as permissões que são definidas para a função.
Quando uma equipe é criada, todos os usuários e grupos estão disponíveis para designação, e todas as funções estão disponíveis para uso. Os usuários podem ser designados a mais de uma função. Se um usuário estiver designado a uma função que concede uma permissão específica e uma outra função que não concede essa permissão, o usuário é considerado como tendo a permissão.
As equipes protegem recursos. Para assegurar um ambiente, por exemplo, uma equipe é designada a ele. Depois que o ambiente está seguro, somente os membros da equipe designados a uma função com a permissão apropriada podem afetar o ambiente.
A Equipe do Sistema que é fornecida com o IBM UrbanCode Deploy tem o usuário admin, que é designado à função de Administrador. A função de Administrador tem todas as permissões que são concedidas para todos os tipos de segurança padrão e para as configurações do servidor e da UI da web. A Equipe do Sistema não pode ser excluída.
As permissões são de dois tipos: tipos com escopo específico e tipos com escopo mais geral. Os tipos de segurança do ambiente possuem quatro permissões: criar, editar, executar e visualizar. Exceto pela permissão de criar, essas permissões afetam somente um recurso específico; elas têm escopo definido para um ambiente específico. Se uma equipe com a permissão de execução é conectada ao ambiente de Produção, por exemplo, então somente membros da equipe com essa permissão poderão executar aplicativos no ambiente. Os membros da equipe com outras funções que não concedem a permissão de execução não podem executar aplicativos lá. Os membros de equipes que não estão conectados ao ambiente não podem executar aplicativos, independentemente de se eles possuem a permissão de execução.
A permissão de criação é diferente de outros tipos de permissão. O tipo de criação não tem escopo definido para um recurso específico, mas tem escopo definido mais amplamente. Os membros da equipe com uma permissão de tipo de criação podem criar recursos do tipo relacionado sem primeiro se conectarem a um recurso específico. Para continuar o exemplo de ambiente, os usuários com a permissão criar ambiente podem criar ambientes mesmo se suas equipes não estão conectadas a um ambiente específico.
Na figura a seguir, a equipe productionTeam está conectada ao ambiente tutorialProdEnvironment. A função productionRole tem a permissão de execução para ambientes. Os membros da equipe com essa função, como prodDeployer, podem executar aplicativos no ambiente. Os membros da equipe sem essa função, como developerLead, não podem executar aplicativos mesmo que a equipe esteja conectada ao ambiente.

Quando uma equipe é designada a um objeto, o tipo de segurança também é determinado. Variando os tipos de segurança, é possível ajustar as permissões da equipe. Por exemplo, uma equipe pode ter um conjunto de permissões para um componente e, alterando o tipo de segurança, um outro conjunto para um componente diferente.