Conceda acesso aos recursos do Gerenciador de Frota de Kubernetes do Azure com controle de acesso baseado em função do Azure
O controle de acesso baseado em função do Azure (Azure RBAC) é um sistema de autorização criado no Azure Resource Manager que fornece gerenciamento de acesso refinado aos recursos do Azure.
Esse artigo fornece uma visão geral das várias funções internas do Azure RBAC que você pode usar para acessar os recursos do Gerenciador de Frota de Kubernetes do Azure (Kubernetes Fleet).
Painel de controle
Essa função concede acesso aos recursos e sub-recursos da Frota do Azure Resource Manager (ARM) e é aplicável tanto ao recurso da Frota Kubernetes com como sem um cluster de hub.
Nome da função | Descrição | Uso |
---|---|---|
Colaborador do Gerenciador de Frota de Kubernetes do Azure | Essa função concede acesso de leitura e escrita aos recursos do Azure fornecidos pelo Gerenciador de Frota de Kubernetes do Azure, incluindo frotas, membros da frota, estratégias de atualização da frota, execuções de atualização da frota e muito mais. | Você pode usar essa função para conceder permissões de Colaborador que se aplicam somente aos recursos e sub-recursos do Kubernetes Fleet. Por exemplo, essa função pode ser atribuída a um administrador do Azure encarregado de definir e manter os recursos da Frota. |
Plano de dados
Essas funções concedem acesso aos objetos Kubernetes do hub do Fleet e, portanto, são aplicáveis apenas aos recursos do Kubernetes Fleet com um cluster de hub.
Você pode atribuir funções de plano de dados no escopo do cluster do Fleet Hub ou em um escopo de namespace Kubernetes individual anexando /namespace/<namespace>
ao escopo de atribuição de função.
Nome da função | Descrição | Uso |
---|---|---|
Leitor de RBAC do Gerenciador de Frota de Kubernetes do Azure | Concede acesso somente leitura à maioria dos recursos do Kubernetes em um namespace no cluster de hub gerenciado pela frota. Não permite exibir funções nem associações de função. Essa função não permite a visualização de segredos, pois a leitura do conteúdo dos segredos permite o acesso a ServiceAccount credenciais no namespace, o que permitiria o acesso à API como qualquer ServiceAccount no namespace (uma forma de escalonamento de privilégios). A aplicação desta função no âmbito do cluster dá acesso a todos os namespaces. |
Você pode usar essa função para conceder a capacidade de ler objetos Kubernetes não confidenciais selecionados no namespace ou no escopo do cluster. Por exemplo, você pode conceder essa função para fins de revisão. |
Gravador de RBAC do Gerenciador de Frota de Kubernetes do Azure | Concede acesso de leitura e gravação à maioria dos recursos do Kubernetes em um namespace no cluster de hub gerenciado pela frota. Essa função não permite exibir ou modificar funções ou associações de função. No entanto, essa função permite acessar segredos como qualquer ServiceAccount no namespace, portanto, pode ser usada para obter os níveis de acesso à API de qualquer ServiceAccount no namespace. A aplicação desta função no âmbito do cluster dá acesso a todos os namespaces. |
Você pode usar essa função para conceder a capacidade de gravar objetos Kubernetes selecionados no namespace ou no escopo do cluster. Por exemplo, para uso por uma equipe de projeto responsável por objetos em um determinado namespace. |
Administrador de RBAC do Gerenciador de Frota de Kubernetes do Azure | Concede acesso de leitura e gravação aos recursos do Kubernetes em um namespace no cluster de hub gerenciado pela frota. Fornece permissões de gravação na maioria dos objetos dentro de um namespace, exceto para o objeto ResourceQuota e o próprio objeto de namespace. A aplicação desta função no âmbito do cluster dá acesso a todos os namespaces. |
Você pode usar essa função para conceder a capacidade de administrar objetos Kubernetes selecionados (incluindo funções e vinculações de função) no namespace ou no escopo do cluster. Por exemplo, para uso por uma equipe de projeto responsável por objetos em um determinado namespace. |
Administrador do cluster de RBAC do Gerenciador de Frota de Kubernetes do Azure | Concede acesso de leitura/gravação a todos os recursos do Kubernetes no cluster de hub gerenciado pela frota. | Você pode usar essa função para conceder acesso a todos os objetos do Kubernetes (incluindo CRDs) no namespace ou no escopo do cluster. |
Exemplo de atribuições de função
Você pode conceder funções RBAC do Azure usando a CLI do Azure. Por exemplo, para criar uma atribuição de função no escopo do cluster do hub Kubernetes Fleet:
IDENTITY=$(az ad signed-in-user show --output tsv --query id)
FLEET_ID=$(az fleet show --resource-group $GROUP --name $FLEET --output tsv --query id)
az role assignment create --role 'Azure Kubernetes Fleet Manager RBAC Reader' --assignee "$IDENTITY" --scope "$FLEET_ID"
Você também pode definir o escopo de atribuições de função para um namespace individual do Kubernetes. Por exemplo, para criar uma atribuição de função para um namespace padrão do Kubernetes Fleet:
IDENTITY=$(az ad signed-in-user show --output tsv --query id)
FLEET_ID=$(az fleet show --resource-group $GROUP --name $FLEET --output tsv --query id)
az role assignment create --role 'Azure Kubernetes Fleet Manager RBAC Reader' --assignee "$IDENTITY" --scope "$FLEET_ID/namespaces/default"
Azure Kubernetes Service