Configurar dados em tempo real no Container insights
Para exibir dados em tempo real com insights de contêiner de clusters do Serviço Kubernetes do Azure (AKS), configure a autenticação para conceder permissão para acessar seus dados do Kubernetes. Essa configuração de segurança permite o acesso em tempo real aos seus dados por meio da API do Kubernetes diretamente no portal do Azure.
Esse recurso oferece suporte aos seguintes métodos para controlar o acesso a logs, eventos e métricas:
- AKS sem autorização de controle de acesso baseado em função (RBAC) do Kubernetes habilitada
- AKS ativado com autorização RBAC do Kubernetes
- AKS configurado com a função de cluster clusterMonitoringUser
- AKS ativado com logon único baseado em SAML do Microsoft Entra
Essas instruções exigem acesso administrativo ao cluster do Kubernetes. Se você estiver configurando para usar o Microsoft Entra ID para autenticação de usuário, também precisará de acesso administrativo ao Microsoft Entra ID.
Este artigo explica como configurar a autenticação para controlar o acesso ao recurso Live Data a partir do cluster:
- Cluster AKS habilitado para RBAC do Kubernetes
- Cluster AKS integrado do Microsoft Entra
Modelo de autenticação
O recurso Live Data usa a API do Kubernetes, que é idêntica à kubectl
ferramenta de linha de comando. Os pontos de extremidade da API do Kubernetes usam um certificado autoassinado, que seu navegador não poderá validar. Esse recurso usa um proxy interno para validar o certificado com o serviço AKS, garantindo que o tráfego seja confiável.
O portal do Azure solicita que você valide suas credenciais de entrada para um cluster de ID do Microsoft Entra. Ele redireciona você para a configuração de registro do cliente durante a criação do cluster (e reconfigurado neste artigo). Esse comportamento é semelhante ao processo de autenticação exigido pelo kubectl
.
Nota
A autorização para seu cluster é gerenciada pelo Kubernetes e pelo modelo de segurança com o qual ele está configurado. Os usuários que acessam esse recurso precisam de permissão para baixar a configuração do Kubernetes (kubeconfig), que é semelhante à execução do az aks get-credentials -n {your cluster name} -g {your resource group}
.
Esse arquivo de configuração contém o token de autorização e autenticação para a Função de Usuário do Cluster de Serviço Kubernetes do Azure, no caso de RBAC do Azure habilitado e clusters AKS sem autorização RBAC do Kubernetes habilitada. Ele contém informações sobre o ID do Microsoft Entra e detalhes de registro do cliente quando o AKS está habilitado com o logon único baseado no Microsoft Entra SAML.
Os usuários desse recurso exigem que a Função de Usuário do Cluster do Kubernetes do Azure acesse o cluster para baixar e kubeconfig
usar esse recurso. Os usuários não precisam de acesso de colaborador ao cluster para usar esse recurso.
Usar clusterMonitoringUser com clusters habilitados para RBAC do Kubernetes
Para eliminar a necessidade de aplicar mais alterações de configuração para permitir que o cluster de vinculação de função de usuário do KubernetesUser acesse o recurso Live Data depois de habilitar a autorização RBAC do Kubernetes, o AKS adicionou uma nova vinculação de função de cluster do Kubernetes chamada clusterMonitoringUser. Essa associação de função de cluster tem todas as permissões necessárias prontas para acessar a API do Kubernetes e os pontos de extremidade para usar o recurso Live Data.
Para usar o recurso Live Data com esse novo usuário, você deve ser membro da função Usuário ou Colaborador do Cluster de Serviço Kubernetes do Azure no recurso de cluster AKS. As informações de contêiner, quando habilitadas, são configuradas para autenticação usando clusterMonitoringUser
por padrão. Se a clusterMonitoringUser
associação de função não existir em um cluster, clusterUser será usado para autenticação. O Colaborador dá-lhe acesso ( clusterMonitoringUser
se existir) e o Utilizador do Cluster de Serviço Kubernetes do Azure dá-lhe acesso a clusterUser. Qualquer uma dessas duas funções dá acesso suficiente para usar esse recurso.
A AKS lançou essa nova vinculação de função em janeiro de 2020, então os clusters criados antes de janeiro de 2020 não a têm. Se você tiver um cluster criado antes de janeiro de 2020, o novo clusterMonitoringUser poderá ser adicionado a um cluster existente executando uma operação PUT no cluster. Ou você pode executar qualquer outra operação no cluster que execute uma operação PUT no cluster, como atualizar a versão do cluster.
Cluster do Kubernetes sem RBAC do Kubernetes habilitado
Se você tiver um cluster Kubernetes que não esteja configurado com autorização RBAC do Kubernetes ou integrado ao logon único do Microsoft Entra, não será necessário seguir estas etapas. Você já tem permissões administrativas por padrão em uma configuração não RBAC.
Configurar autorização RBAC do Kubernetes
Quando você habilita a autorização RBAC do Kubernetes, clusterUser e clusterAdmin são usados para acessar a API do Kubernetes. Esta configuração é semelhante à execução az aks get-credentials -n {cluster_name} -g {rg_name}
sem a opção administrativa. Por esse motivo, clusterUser precisa ter acesso aos pontos de extremidade na API do Kubernetes.
As etapas de exemplo a seguir demonstram como configurar a vinculação de função de cluster a partir desse modelo de configuração YAML.
Copie e cole o arquivo YAML e salve-o como LogReaderRBAC.yaml.
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: containerHealth-log-reader rules: - apiGroups: ["", "metrics.k8s.io", "extensions", "apps"] resources: - "pods/log" - "events" - "nodes" - "pods" - "deployments" - "replicasets" verbs: ["get", "list"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: containerHealth-read-logs-global roleRef: kind: ClusterRole name: containerHealth-log-reader apiGroup: rbac.authorization.k8s.io subjects: - kind: User name: clusterUser apiGroup: rbac.authorization.k8s.io
Para atualizar a configuração, execute o comando
kubectl apply -f LogReaderRBAC.yaml
.
Nota
Se você aplicou uma versão anterior do arquivo LogReaderRBAC.yaml ao cluster, atualize-o copiando e colando o novo código mostrado na etapa 1. Em seguida, execute o comando mostrado na etapa 2 para aplicá-lo ao cluster.
Configurar a autenticação integrada do Microsoft Entra
Um cluster AKS configurado para usar o Microsoft Entra ID para autenticação do usuário usa as credenciais de entrada da pessoa que acessa esse recurso. Nessa configuração, você pode entrar em um cluster AKS usando seu token de autenticação do Microsoft Entra.
O registro do cliente Microsoft Entra deve ser reconfigurado para permitir que o portal do Azure redirecione páginas de autorização como uma URL de redirecionamento confiável. Os usuários do Microsoft Entra ID recebem acesso diretamente aos mesmos pontos de extremidade da API do Kubernetes por meio de ClusterRoles e ClusterRoleBindings.
Para obter mais informações sobre a configuração de segurança avançada no Kubernetes, consulte a documentação do Kubernetes.
Nota
Se você estiver criando um novo cluster habilitado para Kubernetes RBAC, consulte Integrar a ID do Microsoft Entra com o Serviço Kubernetes do Azure e siga as etapas para configurar a autenticação do Microsoft Entra. Durante as etapas para criar o aplicativo cliente, uma observação nessa seção destaca as duas URLs de redirecionamento que você precisa criar para informações de contêiner correspondentes às especificadas na etapa 3.
Reconfiguração do registo do cliente
Localize o registro do cliente para seu cluster Kubernetes no Microsoft Entra ID em Registros do aplicativo Microsoft Entra ID>no portal do Azure.
No painel esquerdo, selecione Autenticação.
Adicione duas URLs de redirecionamento a esta lista como tipos de aplicativos Web . O primeiro valor de URL base deve ser
https://afd.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html
. O segundo valor de URL base deve serhttps://monitoring.hosting.portal.azure.net/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html
.Nota
Se você estiver usando esse recurso no Microsoft Azure operado pela 21Vianet, o primeiro valor de URL base deverá ser
https://afd.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html
. O segundo valor de URL base deve serhttps://monitoring.hosting.azureportal.chinaloudapi.cn/monitoring/Content/iframe/infrainsights.app/web/base-libs/auth/auth.html
.Depois de registrar as URLs de redirecionamento, em Concessão implícita, selecione as opções Tokens de acesso e Tokens de ID. Em seguida, guarde as suas alterações.
Você pode configurar a autenticação com o Microsoft Entra ID para logon único somente durante a implantação inicial de um novo cluster AKS. Não é possível configurar o logon único para um cluster AKS já implantado.
Importante
Se você reconfigurou a ID do Microsoft Entra para autenticação de usuário usando o URI atualizado, limpe o cache do navegador para garantir que o token de autenticação atualizado seja baixado e aplicado.
Conceder permissão
Cada conta do Microsoft Entra deve receber permissão para as APIs apropriadas no Kubernetes para acessar o recurso Live Data. As etapas para conceder a conta do Microsoft Entra são semelhantes às etapas descritas na seção de autenticação RBAC do Kubernetes. Antes de aplicar o modelo de configuração YAML ao cluster, substitua clusterUser em ClusterRoleBinding pelo usuário desejado.
Importante
Se o usuário para o qual você concede a vinculação RBAC do Kubernetes estiver no mesmo locatário do Microsoft Entra, atribua permissões com base em userPrincipalName
. Se o usuário estiver em um locatário diferente do Microsoft Entra, consulte e use a objectId
propriedade.
Para obter mais ajuda na configuração do cluster AKS ClusterRoleBinding, consulte Criar vinculação RBAC do Kubernetes.
Próximos passos
Agora que configurou a autenticação, pode ver métricas, eventos e registos em tempo real a partir do seu cluster.