Conceder acesso aos recursos do Azure Kubernetes Fleet Manager com o 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.
Este artigo fornece uma visão geral das várias funções internas do Azure RBAC que você pode usar para acessar os recursos do Azure Kubernetes Fleet Manager (Kubernetes Fleet).
Plano de controlo
Essa função concede acesso aos recursos e subrecursos da Frota do Azure Resource Manager (ARM) e é aplicável tanto ao recurso da Frota do Kubernetes com e sem um cluster de hub.
Nome da função | Description | Utilização |
---|---|---|
Colaborador do Azure Kubernetes Fleet Manager | Esta função concede acesso de leitura e escrita aos recursos do Azure fornecidos pelo Azure Kubernetes Fleet Manager, incluindo frotas, membros da frota, estratégias de atualização de frota, execuções de atualização de frota e muito mais. | Você pode usar essa função para conceder permissões de Colaborador que se aplicam exclusivamente aos recursos e subrecursos da Frota do Kubernetes. Por exemplo, essa função pode ser dada 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ó são aplicáveis aos recursos do Kubernetes Fleet com um cluster de hub.
Você pode atribuir funções de plano de dados no escopo do cluster do hub do Fleet ou em um escopo de namespace Kubernetes individual anexando ao escopo de atribuição de /namespace/<namespace>
função.
Nome da função | Description | Utilização |
---|---|---|
Azure Kubernetes Fleet Manager RBAC Reader | Concede acesso somente leitura à maioria dos recursos do Kubernetes dentro de um namespace no cluster de hub gerenciado por frota. Ele não permite a visualização de funções ou associações de funções. Essa função não permite a visualização de Segredos, uma vez que a leitura do conteúdo de Segredos permite o acesso a credenciais no namespace, o que permitiria o acesso à ServiceAccount API como qualquer ServiceAccount outro no namespace (uma forma de escalonamento de privilégios). A aplicação dessa função no escopo 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. |
Azure Kubernetes Fleet Manager RBAC Writer | Concede acesso de leitura e gravação à maioria dos recursos do Kubernetes dentro de um namespace no cluster de hub gerenciado pela frota. Esta função não permite visualizar ou modificar funções ou associações de funções. No entanto, essa função permite acessar Segredos como qualquer ServiceAccount outro no namespace, para que possa ser usada para obter os níveis de acesso à API de qualquer ServiceAccount um no namespace. A aplicação dessa função no escopo do cluster dá acesso a todos os namespaces. |
Você pode usar essa função para conceder a capacidade de escrever objetos Kubernetes selecionados no escopo do namespace ou do cluster. Por exemplo, para uso por uma equipe de projeto responsável por objetos em um determinado namespace. |
Azure Kubernetes Fleet Manager RBAC Admin | Concede acesso de leitura e gravação aos recursos do Kubernetes dentro de 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 ResourceQuota o objeto e o próprio objeto de namespace. A aplicação dessa função no escopo 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 associaçõ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. |
Azure Kubernetes Fleet Manager RBAC Cluster Admin | 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 Kubernetes (incluindo CRDs) no namespace ou no escopo do cluster. |
Exemplo de atribuições de função
Você pode conceder funções do Azure RBAC usando a CLI do Azure. Por exemplo, para criar uma atribuição de função no escopo do cluster do hub 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"
Você também pode definir o escopo de atribuições de função para um namespace Kubernetes individual. Por exemplo, para criar uma atribuição de função para o namespace Kubernetes padrão do hub 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