Pular para o conteúdo principal

O que é o IAM

O IAM (Identity and Access Management) é onde você decide quem pode fazer o quê na plataforma. É a tela em que você convida pessoas, agrupa cada uma pela função que exerce e escolhe qual parte da sua infraestrutura ela alcança.

Toda decisão de acesso responde a duas perguntas separadas: qual ação está sendo executada e onde ela vale. Quem pode reiniciar uma máquina virtual em um VDC não ganha automaticamente o direito de reiniciar outra em um VDC diferente. A ação e o lugar são concedidos juntos, e os dois precisam bater.

Os dois eixos

  • Permissão é a ação em si, escrita como uma chave, por exemplo vm:power ou backup:restore. Ela diz o que pode ser feito, nunca sobre qual recurso.
  • Escopo é a parte da sua infraestrutura em que aquela permissão vale. Ele diz onde.

Como o recurso vive no escopo e não na chave, não existe uma permissão do tipo "ver a VM 42". Deixar alguém enxergar as VMs de um único VDC é a permissão vm:view concedida no escopo daquele VDC.

Escopos

Você trabalha com dois escopos, do mais amplo ao mais restrito:

EscopoO que é
CustomerA sua organização na plataforma. É o nível administrativo: as pessoas do seu time, o faturamento e a própria gestão de acesso. É o maior escopo que você tem, e ele cobre todos os VDCs abaixo dele.
VDCUm virtual datacenter, o cloud console onde a sua infraestrutura de fato vive: máquinas, discos, redes, backups.

Uma permissão concedida no nível de customer vale para todos os VDCs daquele customer. Concedida em um único VDC, vale só ali.

O customer abrange a sua organização inteira, então não precisa de alvo. O VDC vale para um datacenter específico, então você escolhe qual no momento da concessão.

Grupos e concessões diretas

Existem duas formas de alguém acabar com uma permissão.

GrupoConcessão direta
O que éUm conjunto nomeado de permissões, dado a uma pessoa em um escopoUma única permissão, dada a uma pessoa em um escopo
Use paraAcesso do dia a dia, qualquer coisa que mais de uma pessoa preciseExceções e acesso temporário
ExpiraNãoSempre, a data de expiração é obrigatória
Como removerRemover a atribuiçãoRevogar a concessão

Grupos são o caminho normal. Um grupo reúne as permissões de uma função, por exemplo operar um VDC, e você dá esse grupo a uma pessoa em um escopo. O mesmo grupo pode ser dado a pessoas diferentes em VDCs diferentes, e é isso que mantém a lista de acessos administrável conforme o time cresce. O acesso por grupo não expira sozinho: ele vale até alguém remover.

Concessões diretas são a válvula de escape, para quando uma pessoa precisa de uma permissão a mais por um período curto. Elas exigem data de expiração futura, de modo que o acesso temporário continue temporário em vez de virar permanente sem ninguém perceber. Se você se pegar dando a mesma concessão a várias pessoas, esse é o sinal de que o caso pede um grupo.

Grupos padrão

A sua organização já vem com dois grupos prontos:

GrupoEscopoPara
CUSTOMER-ADMINCustomerTudo na sua organização: operar todos os VDCs e gerenciar quem tem acesso a eles
VDC-OPERATORVDCOperar um único VDC (computação, storage, rede, backup), com acesso somente leitura ao IAM

Os dois carregam as mesmas permissões de infraestrutura. O CUSTOMER-ADMIN as aplica em todos os VDCs e ainda soma a gestão completa de acesso, então é o grupo de quem toca a operação no dia a dia.

Você também pode criar seus próprios grupos quando nenhum dos dois servir.

Permissões efetivas

As permissões efetivas de uma pessoa são tudo que ela possui, vindo de todos os grupos e de todas as concessões diretas, somado, cada item acompanhado do escopo de onde veio.

Permissões apenas se somam. Dar um segundo grupo pode ampliar o acesso de alguém, mas nunca reduzi-lo, e não existe regra de negação que retire uma permissão. Para diminuir o que uma pessoa pode fazer, remova o grupo ou revogue a concessão que dá aquilo.

A aba Permissions mostra essa visão somada para qualquer usuário, incluindo a origem de cada item. É o caminho mais rápido para responder "por que essa pessoa consegue fazer isso?".

Como ler as chaves de permissão

As chaves são escritas como seção:recurso:ação, por exemplo vm:snapshot:rollback. O primeiro segmento é a área do produto e corresponde à seção da barra lateral onde o recurso fica.

Algumas convenções valem a pena conhecer:

  • Leitura é ampla. Uma única chave <seção>:view cobre listar e ver tudo daquela seção. Leituras sensíveis ganham chave própria, como vm:console:view e iam:audit:view.
  • Ações destrutivas têm chave própria, para que backup:restore ou vm:disk:destroy possam ser negadas a quem, no restante, opera o recurso normalmente.
  • Uma chave terminada em :* cobre tudo abaixo dela, em qualquer profundidade. storage:* inclui tanto storage:view quanto storage:object_storage:bucket:delete. É conveniente, mas também absorve permissões adicionadas em versões futuras, então prefira chaves específicas quando o acesso for sensível.

Quando as mudanças passam a valer

As permissões são lidas no login e renovadas periodicamente enquanto a pessoa trabalha, então uma alteração nem sempre aparece na hora. Ela vale a partir da próxima renovação, em cerca de cinco minutos. Sair e entrar de novo aplica imediatamente.

Se alguém disser que um acesso recém-concedido não está funcionando, normalmente é isso.

Relacionados