Partilhar via


Azure RBAC em clusters Kubernetes habilitados para Azure Arc

Os tipos de objeto Kubernetes ClusterRoleBinding e RoleBinding ajudam a definir a autorização no Kubernetes nativamente. Com o controle de acesso baseado em função do Azure (Azure RBAC), você pode usar a ID do Microsoft Entra e as atribuições de função no Azure para controlar as verificações de autorização no cluster. Isso permite que os benefícios das atribuições de função do Azure, como logs de atividade mostrando todas as alterações do RBAC do Azure em um recurso do Azure, sejam usados com seu cluster Kubernetes habilitado para Azure Arc.

Arquitetura

Diagrama mostrando a arquitetura do Azure RBAC.

Para rotear todas as verificações de acesso de autorização para o serviço de autorização no Azure, um servidor webhook (guarda) é implantado no cluster.

O apiserver do cluster é configurado para usar autenticação de token webhook e autorização de webhook para que TokenAccessReview as SubjectAccessReview solicitações sejam roteadas para o servidor de webhook de guarda. As TokenAccessReview solicitações e SubjectAccessReview são acionadas por solicitações de recursos do Kubernetes enviadas ao apiserver.

Em seguida, o Guard faz uma checkAccess chamada no serviço de autorização no Azure para ver se a entidade Microsoft Entra solicitante tem acesso ao recurso em questão.

Se essa entidade tiver uma função que permita esse acesso, uma allowed resposta será enviada do serviço de autorização para guardar. O Guard, por sua vez, envia uma allowed resposta para o apiserver, permitindo que a entidade chamadora acesse o recurso Kubernetes solicitado.

Se a entidade não tiver uma função que permita esse acesso, uma denied resposta será enviada do serviço de autorização para guardar. O Guard envia uma denied resposta para o apiserver, dando à entidade chamadora um erro 403 proibido no recurso solicitado.

Próximos passos