Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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).
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.
Azure Resource Manager
Estes papéis concedem acesso aos recursos e subrecursos da frota Azure Resource Manager (ARM), e são aplicáveis a gestores de frota com e sem cluster de hubs.
| Nome da função | Descrição | 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. |
| Papel de Utilizador do Cluster Hub do Azure Kubernetes Fleet Manager | ** Esta função concede acesso de leitura ao cluster principal do Fleet Manager, bem como ao ficheiro de configuração do Kubernetes necessário para se ligar ao cluster de hub gerido pela frota. | Você pode visualizar os recursos do Fleet Manager e baixar o kubeconfig do cluster de hub para inspecionar configurações e cargas de trabalho sem fazer alterações. |
Plano de dados de Kubernetes
Pode atribuir funções de plano de dados da Frota no âmbito da Frota ou num âmbito de namespace gerido individual.
Existem dois tipos de funções no plano de dados: funções RBAC e funções RBAC para Clusters Membros. Os papéis RBAC apenas concedem acesso a objetos Kubernetes dentro do cluster hub gerido pela frota. Os papéis RBAC para Clusters Membros apenas concedem acesso a objetos Kubernetes em clusters membros numa Frota. Aplicar uma função RBAC para clusters de membros no âmbito do namespace gerido aplica essa função ao namespace gerido em todos os membros da frota-mãe, independentemente de o namespace gerido ser propagado para esse membro.
Quando um cluster membro se junta a uma Frota, o utilizador obtém quaisquer permissões concedidas no âmbito da Frota principal para esse cluster. Quando um cluster membro sai da Frota, o utilizador perde essas permissões para esse cluster. Por exemplo, um utilizador com a função Azure Kubernetes Fleet Manager RBAC Cluster Admin for Member Clusters no âmbito da Frota pode criar namespaces em todos os clusters membros apenas enquanto eles permanecerem na Frota.
Se um papel for aplicado num âmbito de namespace gerido e esse namespace for eliminado, a atribuição de função também é eliminada. Se o namespace gerido for recriado, a atribuição de função não é automaticamente recriada e tem de ser recriada manualmente.
Neste momento, estas funções RBAC não são suportadas para os membros do Arc numa Frota. Além disso, o controlo de acesso para Recursos Personalizados Kubernetes (CRs) específicos não é suportado para estas funções do Azure RBAC.
| Nome da função | Descrição | 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. |
| Azure Kubernetes Fleet Manager RBAC Reader para clusters de membros | Acesso somente leitura à maioria dos objetos no namespace num cluster de membros. Não é possível exibir funções ou associações de função. Não é possível visualizar segredos (impede o escalonamento de privilégios por meio de credenciais ServiceAccount). | Você pode usar essa função para conceder a capacidade de ler objetos Kubernetes não confidenciais selecionados no escopo do namespace em membros da frota. |
| Gestor de Frotas Azure Kubernetes RBAC Escritor para Clusters Membros | Acesso de leitura e gravação à maioria dos recursos do Kubernetes no namespace. Não é possível exibir ou modificar funções ou associações de função. Pode ler Segredos (portanto, pode assumir qualquer ServiceAccount no namespace). | Você pode usar esta função para conceder a capacidade de escrever objetos Kubernetes selecionados num namespace de um membro da frota. Por exemplo, para uso por uma equipe de projeto responsável por objetos em um determinado namespace. |
| Azure Kubernetes Fleet Manager RBAC Admin para Clusters de Membros | Acesso de leitura e escrita aos recursos do Kubernetes no namespace do cluster membro. | 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 escopo do namespace em membros da frota. Por exemplo, para uso por uma equipe de projeto responsável por objetos em um determinado namespace. |
| Azure Kubernetes Fleet Manager RBAC Cluster Admin para Clusters de Membros | Acesso total de leitura/gravação a todos os recursos do Kubernetes nos clusters membros de uma frota. | Você usa essa função para conceder acesso total a todos os recursos nos clusters membros. Por exemplo, um administrador de plataforma que precisa acessar vários namespaces nos clusters de membros. |
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 âmbito da Frota:
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"
Também pode atribuir atribuições de funções a um namespace gerido individual adicionando /managedNamespaces/<managed-namespace> ao âmbito do ID da Frota. Por exemplo, para criar uma atribuição de função ao nível do namespace gerido para o namespace example-ns:
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)
MANAGED_NAMESPACE_NAME="example-ns"
az role assignment create --role 'Azure Kubernetes Fleet Manager RBAC Reader' --assignee "$IDENTITY" --scope "$FLEET_ID"/managedNamespaces/"$MANAGED_NAMESPACE_NAME"