Nesta página, descrevemos as práticas de gerenciamento de identidade e acesso (IAM) para o operador de aplicativos (AO) no dispositivo isolado do Google Distributed Cloud (GDC).
Um provedor de identidade (IdP) é uma entidade de sistema que cria, mantém e gerencia informações de identidade para principais. O IdP também oferece serviços de autenticação para aplicativos em uma federação ou rede distribuída.
Fazer login
Nesta seção, descrevemos como acessar suas cargas de trabalho pela interface do usuário (UI) da Web ou pela interface de linha de comando (CLI).
Fazer login na UI da Web
Esta página mostra como acessar e gerenciar suas cargas de trabalho e recursos no dispositivo isolado do Google Distributed Cloud (GDC). Ele descreve como autenticar, gerar arquivos kubeconfig para um servidor da API Management e um cluster do Kubernetes e gerenciar a inatividade da sessão. Entender esses processos garante o acesso seguro e confiável aos seus projetos e cargas de trabalho.
Acesse suas cargas de trabalho pelo console do GDC ou pela CLI gdcloud.
Fazer login
Para fazer login no console do GDC ou em um cluster, siga estas etapas:
Console
Abra o seguinte URL em uma nova guia do navegador para acessar a interface do usuário (UI) do dispositivo isolado do GDC:
https://GDC_URL
Substitua GDC_URL
pelo nome de domínio que você usa para acessar o GDC fornecido pelo operador de infraestrutura (IO). Ao abrir um URL pela primeira
vez, o GDC redireciona você para a página de login do
provedor de identidade se o operador de infraestrutura (IO) tiver configurado a página.
Por exemplo, a página a seguir aparece depois de fazer login no console de uma organização chamada "org-1":
CLI
Você pode fazer login em qualquer cluster a que tenha permissão de acesso. O processo de login da CLI é o mesmo para todos os clusters. Você só precisa fornecer o nome do cluster e o arquivo kubeconfig
relacionado e fazer login separadamente em cada cluster.
Antes de fazer login, faça o seguinte:
- Faça o download do binário da CLI gdcloud e instale-o no seu sistema. Para mais informações, consulte Fazer o download da CLI gdcloud.
- Configure e inicialize a configuração padrão da CLI gdcloud. Defina o URL correto da organização, que é usado para buscar o endpoint de configuração de login. Para mais informações, consulte Instalação da CLI gdcloud.
- Instale o plug-in de autenticação
gdcloud-k8s-auth-plugin
. Para mais informações, consulte Autenticação da CLI gdcloud.
Para fazer login em um cluster, siga estas etapas:
Autentique sua instância da CLI gdcloud para fazer login. Há duas maneiras de autenticar:
Login padrão do navegador:use esse fluxo de autenticação ao fazer login em um navegador.
gdcloud auth login
Login em um dispositivo secundário:use esse fluxo de autenticação se o dispositivo principal não tiver um navegador disponível. Esse fluxo inicia o login no dispositivo principal sem acesso ao navegador e continua o login com o dispositivo secundário que tem acesso ao navegador.
Inicie o login no dispositivo principal sem um navegador:
gdcloud auth login --no-browser
O comando no dispositivo principal vai imprimir outro comando
gdcloud
que você precisa executar no dispositivo secundário na etapa c.Repita a etapa 1 de Fazer login em um cluster para baixar o certificado no dispositivo secundário.
Conclua o login no dispositivo secundário inserindo o comando impresso no dispositivo principal na etapa a.
Essa ação abre um navegador para fazer login no provedor de identidade (IdP) configurado. Informe o usuário e a senha definidos durante a configuração inicial da CLI gdcloud para fazer login.
Exporte o arquivo de identidade do usuário
kubeconfig
como uma variável:export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
Gere um arquivo
kubeconfig
com sua identidade de usuário:gdcloud clusters get-credentials CLUSTER_NAME
Um arquivo
kubeconfig
é gerado com sua identidade de usuário. O arquivo YAML a seguir mostra um exemplo:apiVersion: v1 clusters: - cluster: certificate-authority-data: <REDACTED> server: https://10.200.0.32:443 name: cluster-name contexts: - context: cluster: cluster-name user: cluster-name-anthos-default-user name: cluster-name-cluster-name-anthos-default-user current-context: cluster-name-cluster-name-anthos-default-user kind: Config preferences: {} users: - name: cluster-name-anthos-default-user user: exec: apiVersion: client.authentication.k8s.io/v1 args: - --audience=root-admin command: gdcloud-k8s-auth-plugin env: null installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin interactiveMode: Never provideClusterInfo: false
Para verificar se você pode acessar o cluster, faça login com o arquivo
kubeconfig
gerado com uma identidade de usuário:kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
Sair
Para sair do console do GDC, faça o seguinte:
Console
Clique em
Sair na barra de menu.CLI
Saia da CLI:
gdcloud auth revoke
Gerar manualmente o arquivo kubeconfig
Se você estiver gerenciando recursos com a CLI kubectl chamando as APIs KRM diretamente, será necessário gerar o arquivo kubeconfig para o cluster que hospeda o recurso, dependendo do tipo de recurso que você está gerenciando. Acesse a documentação do recurso para determinar o arquivo kubeconfig necessário.
Conclua a configuração aplicável com base no tipo de recurso.
Recursos do servidor da API Management
Siga estas etapas para gerar o arquivo kubeconfig do servidor da API Management:
Defina a variável de ambiente
MANAGEMENT_API_SERVER
:export MANAGEMENT_API_SERVER="root-admin"
Gere o arquivo kubeconfig do servidor da API Management e valide as credenciais:
export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
O comando
rm ${KUBECONFIG:?}
remove o arquivo kubeconfig existente no diretório inicial. Quando você gera um novo arquivo kubeconfig, ele substitui o arquivo atual. Se você não quiser substituir ou remover o arquivo atual, faça backup dele em outro local seguro.
Recursos do cluster do Kubernetes
Siga estas etapas para gerar o arquivo kubeconfig do cluster do Kubernetes bare metal:
Defina a variável de ambiente
KUBERNETES_CLUSTER
:export KUBERNETES_CLUSTER="root-infra"
Gere o arquivo kubeconfig do cluster do Kubernetes e valide as credenciais:
export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
O comando
rm ${KUBECONFIG:?}
remove o arquivo kubeconfig existente no diretório inicial. Quando você gera um novo arquivo kubeconfig, ele substitui o arquivo atual. Se você não quiser substituir ou remover o arquivo atual, faça backup dele em outro local seguro.
Encerramento de sessão por inatividade
Após 15 minutos ou mais de inatividade em uma sessão, o console do GDC e a CLI gdcloud fazem logout. O GDC considera a inatividade da sessão como um período durante uma sessão aberta sem engajamento ativo da sua parte, como nenhum movimento do cursor ou do teclado. Uma sessão ativa dura até 12 horas com atividade do usuário.
Console
Em caso de inatividade da sessão, o console do GDC faz logout. Dois minutos antes de o console do GDC fazer logout por inatividade, você recebe uma caixa de diálogo avisando sobre o logout:
Depois de desconectar você por inatividade, a seguinte tela vai aparecer:
Para fazer login novamente no console do GDC, selecione seu provedor de identidade e adicione suas credenciais de login. Se você usar um serviço, como o painel de monitoramento, e o console do GDC fizer logout por inatividade, faça login novamente para ter acesso.
CLI
Em caso de inatividade da sessão, a CLI gdcloud faz logout. Depois que a CLI gdcloud faz logout e você tenta executar um comando, recebe um erro de autorização:
Error: error when creating kube client: unable to create k8sclient: Unauthorized
Para fazer login novamente na CLI gdcloud, siga as etapas da CLI em Fazer login.
kubectl
A CLI gdcloud expira os arquivos kubeconfig após a inatividade
da sessão. Se você tentar executar um comando kubectl
após um período de inatividade,
vai receber um erro de autorização:
error: You must be logged in to the server (Unauthorized)
Para fazer login novamente e usar o arquivo kubeconfig, siga as etapas da CLI em Fazer login. Para cada tempo limite de sessão, é necessário regenerar os arquivos kubeconfig.
Definir políticas de permissão do IAM
Descrições de papéis predefinidos
Um operador de aplicativo (AO, na sigla em inglês) é um membro da equipe de desenvolvimento na organização do administrador da plataforma (PA, na sigla em inglês). As AOs interagem com recursos no nível do projeto. É possível atribuir os seguintes papéis predefinidos aos membros da equipe:
- Administrador do IAM do projeto:gerencia as políticas de permissão do IAM dos projetos.
- Desenvolvedor de OCR de IA: acesse o serviço de reconhecimento óptico de caracteres para detectar texto em imagens.
- Desenvolvedor de fala com IA: acesse o serviço Speech-to-Text para reconhecer a fala e transcrever áudio.
- Desenvolvedor de tradução de IA: acesse o serviço de tradução da Vertex AI para traduzir texto.
- Administrador do gerenciamento de artefatos: tem acesso de administrador aos recursos em todos os projetos do Harbor no namespace do projeto.
- Editor de gerenciamento de artefatos: tem acesso de leitura e gravação a recursos em todos os projetos do Harbor no namespace do projeto.
- Administrador do Certificate Authority Service: tem acesso para gerenciar autoridades certificadoras e solicitações de certificado no projeto.
- Administrador do serviço de certificados: tem acesso para gerenciar certificados e emissores de certificados no projeto.
- Editor de painéis: tem acesso de leitura e gravação em recursos personalizados
Dashboard
. - Leitor do painel: tem acesso somente leitura a recursos personalizados do
Dashboard
. - Administrador da instância do Harbor: tem acesso total para gerenciar instâncias do Harbor em um projeto.
- Leitor de instâncias do Harbor: tem acesso somente leitura para visualizar instâncias do Harbor em um projeto.
- Criador de projetos do Harbor: tem acesso para gerenciar projetos de instâncias do Harbor.
- Administrador de políticas de rede do K8s: gerencia políticas de rede em clusters do Kubernetes.
- Criador de LoggingRule: cria recursos personalizados
LoggingRule
no namespace do projeto. - Editor de LoggingRule: edita recursos personalizados
LoggingRule
no namespace do projeto. - Leitor de LoggingRule: visualiza recursos personalizados
LoggingRule
no namespace do projeto. - Criador de LoggingTarget: cria recursos personalizados
LoggingTarget
no namespace do projeto. - Editor do LoggingTarget: edita recursos personalizados
LoggingTarget
no namespace do projeto. - Leitor do LoggingTarget: visualiza
LoggingTarget
recursos personalizados no namespace do projeto. - Administrador do balanceador de carga: tem permissões de leitura e gravação em todos os recursos do balanceador de carga no namespace do projeto.
- Editor do MonitoringRule: tem acesso de leitura e gravação aos recursos
MonitoringRule
. - Leitor do MonitoringRule: tem acesso somente leitura aos recursos personalizados
MonitoringRule
. - Editor do MonitoringTarget: tem acesso de leitura e gravação a recursos personalizados
MonitoringTarget
. - Leitor do MonitoringTarget: tem acesso somente leitura aos recursos personalizados
MonitoringTarget
. - Leitor de NAT: tem acesso somente leitura a implantações em clusters do Kubernetes.
- Administrador de namespace: gerencia todos os recursos no namespace do projeto.
- Editor do ObservabilityPipeline: tem acesso de leitura e gravação em recursos personalizados
ObservabilityPipeine
. - Leitor do ObservabilityPipeline: tem acesso somente leitura aos recursos personalizados do
ObservabilityPipeline
. - Administrador de buckets do projeto: gerencia os buckets e objetos de armazenamento dentro dos buckets.
- Administrador de objetos do bucket do projeto: tem acesso somente leitura aos buckets em um projeto e acesso de leitura/gravação aos objetos nesses buckets.
- Leitor de objetos do bucket do projeto: tem acesso somente leitura a buckets em um projeto e aos objetos nesses buckets.
- Editor do Alertmanager do Project Cortex: concede permissões para editar a instância do Alertmanager do Cortex no namespace do projeto.
- Leitor do Alertmanager do Project Cortex: concede permissões para acessar a instância do Alertmanager do Cortex no namespace do projeto.
- Visualizador do Prometheus do Project Cortex: concede permissões para acessar a instância do Cortex Prometheus no namespace do projeto.
- Leitor do Grafana do projeto: acessa a instância do Grafana no namespace do projeto do cluster de administrador da frota.
- Administrador de NetworkPolicy do projeto:gerencia as políticas de rede do projeto no namespace do projeto.
- Leitor do projeto:tem acesso somente leitura a todos os recursos nos namespaces do projeto.
- Administrador de VirtualMachine do projeto: gerencia VMs no namespace do projeto.
- Administrador de imagens de máquina virtual do projeto: gerencia imagens de VM no namespace do projeto.
- Administrador de secrets: gerencia secrets do Kubernetes em projetos.
- Leitor de secrets: visualiza secrets do Kubernetes em projetos.
- Administrador da configuração de serviço: tem acesso de leitura e gravação às configurações de serviço em um namespace do projeto.
- Leitor de configuração de serviço: tem acesso de leitura às configurações de serviço em um namespace do projeto.
- Administrador da replicação de volume: gerencia recursos de replicação de volume.
- Administrador de notebooks do Workbench: tenha acesso de leitura e gravação a todos os recursos de notebook em um namespace de projeto.
- Leitor de notebooks do Workbench: tenha acesso somente leitura a todos os recursos de notebook em um namespace de projeto e veja a interface do usuário do Vertex AI Workbench.
- Leitor de carga de trabalho: tem acesso de leitura a cargas de trabalho em um projeto.
Funções comuns
As seguintes funções comuns predefinidas se aplicam a todos os usuários autenticados:
- Leitor do AI Platform: concede permissões para visualizar serviços pré-treinados.
- Visualizador de sufixo de DNS: acessa o mapa de configuração de sufixo do serviço de nome de domínio (DNS).
- Administrador de registros de fluxo: tem acesso de leitura e gravação a todos os recursos de registros de fluxo.
- Leitor de registros de fluxo: tem acesso somente leitura a todos os recursos de registros de fluxo.
- Leitor de descoberta de projetos: tem acesso de leitura para todos os usuários autenticados na visualização do projeto.
- Visualizador de imagens públicas: tem acesso de leitura para todos os usuários autenticados nas
imagens públicas de VM no namespace
vm-images
. - Monitor de secrets anthos-creds do Artifact Registry do sistema: tem acesso somente leitura a secrets no namespace
anthos-creds
. - Monitor de secrets do Artifact Registry do sistema gpc-system: tem acesso somente leitura a secrets no namespace
gpc-system
. - Monitor de secrets do sistema harbor-system do Artifact Registry: tem acesso somente leitura a secrets no namespace
harbor-system
. - Leitor de tipo de máquina virtual: tem acesso de leitura a tipos de máquinas virtuais no escopo do cluster.
- Leitor de tipo de VM: tem acesso de leitura aos tipos de máquina virtual predefinidos nos clusters de administrador.
Definições de função
As tabelas desta seção descrevem diferentes papéis predefinidos e as respectivas permissões. As tabelas contêm as seguintes colunas:
- Nome:o nome de uma função exibida na interface do usuário (UI).
- Nome do recurso do Kubernetes:o nome do recurso personalizado correspondente do Kubernetes.
- Nível:especificação de se o escopo desse papel é a organização ou um projeto.
- Tipo:o tipo dessa função. Por exemplo, alguns valores possíveis são
Role
,ProjectRole
,ClusterRole
ouProjectClusterRole
. - Tipo de vinculação:o tipo de vinculação que você precisa aplicar a essa função.
- Permissões do servidor da API de gerenciamento ou do cluster do Kubernetes:as permissões que essa função tem para o servidor da API Management ou o cluster do Kubernetes. Por exemplo, alguns valores possíveis são "ler", "gravar", "ler e gravar" ou "não aplicável" (N/A).
- Escalonamento para:especifica se essa função é escalonada para outras funções ou não.
Personas do AO, identidades predefinidas e papéis de acesso
Personagem de AO | ||||
---|---|---|---|---|
Nome | Nome do recurso do Kubernetes | Administrador inicial | Nível | Tipo |
Administrador de IAM do projeto | project-iam-admin |
Verdadeiro | Projeto | Role |
Desenvolvedor de OCR de IA | ai-ocr-developer |
Falso | Projeto | Role |
Leitor do AI Platform | ai-platform-viewer |
Falso | Projeto | Role |
Desenvolvedor de IA de fala | ai-speech-developer |
Falso | Projeto | Role |
Desenvolvedor de IA de tradução | ai-translation-developer |
Falso | Projeto | Role |
Administrador de gerenciamento de artefatos | artifact-management-admin |
Falso | Projeto | Role |
Editor de gerenciamento de artefatos | artifact-management-editor |
Falso | Projeto | Role |
Administrador do Certificate Authority Service | certificate-authority-service-admin |
Falso | Projeto | Role |
Administrador do serviço de certificados | certificate-service-admin |
Falso | Projeto | Role |
Editor de painel | dashboard-editor |
Falso | Projeto | Role |
Leitor de painéis | dashboard-viewer |
Falso | Projeto | Role |
Administrador de instâncias do Harbor | harbor-instance-admin |
Falso | Projeto | Role |
Leitor de instâncias do Harbor | harbor-instance-viewer |
Falso | Projeto | Role |
Criador de projetos do Harbor | harbor-project-creator |
Falso | Projeto | Role |
Administrador da política de rede do K8s | k8s-networkpolicy-admin |
Falso | Projeto | ProjectRole |
Administrador do Balanceador de Carga | load-balancer-admin |
Falso | Projeto | ProjectRole |
LoggingRule Creator | loggingrule-creator |
Falso | Projeto | Role |
Editor de LoggingRule | loggingrule-editor |
Falso | Projeto | Role |
Leitor de LoggingRule | loggingrule-viewer |
Falso | Projeto | Role |
LoggingTarget Creator | loggingtarget-creator |
Falso | Projeto | Role |
Editor do LoggingTarget | loggingtarget-editor |
Falso | Projeto | Role |
Leitor do LoggingTarget | loggingtarget-viewer |
Falso | Projeto | Role |
Editor do MonitoringRule | monitoringrule-editor |
Falso | Projeto | Role |
Leitor de MonitoringRule | monitoringrule-viewer |
Falso | Projeto | Role |
Editor do MonitoringTarget | monitoringtarget-editor |
Falso | Projeto | Role |
Leitor do MonitoringTarget | monitoringtarget-viewer |
Falso | Projeto | Role |
Administrador de namespace | namespace-admin |
Falso | Projeto | ProjectRole |
Visualizador de NAT | nat-viewer |
Falso | Projeto | ProjectRole |
Editor do ObservabilityPipeline | observabilitypipeline-editor |
Falso | Projeto | Role |
Leitor do ObservabilityPipeline | observabilitypipeline-viewer |
Falso | Projeto | Role |
Administrador de bucket do projeto | project-bucket-admin |
Falso | Projeto | Role |
Administrador de objetos do bucket do projeto | project-bucket-object-admin |
Falso | Projeto | Role |
Leitor de objetos do bucket do projeto | project-bucket-object-viewer |
Falso | Projeto | Role |
Editor do Alertmanager do Project Cortex | project-cortex-alertmanager-editor |
Falso | Projeto | Role |
Leitor do Alertmanager do Project Cortex | project-cortex-alertmanager-viewer |
Falso | Projeto | Role |
Leitor do Prometheus do Project Cortex | project-cortex-prometheus-viewer |
Falso | Projeto | Role |
Leitor do Grafana do projeto | project-grafana-viewer |
Falso | Projeto | Role |
Administrador de NetworkPolicy do projeto | project-networkpolicy-admin |
Falso | Projeto | Role |
Leitor do projeto. | project-viewer |
Falso | Projeto | Role |
Administrador de máquinas virtuais do projeto | project-vm-admin |
Falso | Projeto | Role |
Administrador de imagens de máquinas virtuais do projeto | project-vm-image-admin |
Falso | Projeto | Role |
Administrador de secrets | secret-admin |
Falso | Projeto | Role |
Leitor de secrets | secret-viewer |
Falso | Projeto | Role |
Administrador da configuração do serviço | service-configuration-admin |
Falso | Projeto | Role |
Leitor de configuração do serviço | service-configuration-viewer |
Falso | Projeto | Role |
Administrador de notebooks do Workbench | workbench-notebooks-admin |
Falso | Projeto | Role |
Administrador da replicação de volume | app-volume-replication-admin |
Falso | Cluster | Role |
Leitor do Notebooks do Workbench | workbench-notebooks-viewer |
Falso | Projeto | Role |
Leitor de carga de trabalho | workload-viewer |
Falso | Projeto | Role |
Personas do AO, identidades predefinidas e papéis de acesso
Personagem de AO | ||||
---|---|---|---|---|
Nome | Tipo de vinculação | Permissões do servidor da API Management | Permissões do cluster do Kubernetes | Encaminha para |
Administrador de IAM do projeto | RoleBinding |
|
N/A | Todas as outras funções do AO |
Desenvolvedor de OCR de IA | RoleBinding |
Recursos de OCR:leitura e gravação | N/A | N/A |
Desenvolvedor de IA de fala | RoleBinding |
Recursos de fala:leitura e gravação | N/A | N/A |
Desenvolvedor de IA de tradução | RoleBinding |
Recursos de tradução:leitura e gravação | N/A | N/A |
Administrador de gerenciamento de artefatos | RoleBinding |
HarborProjects :administrador, criar, ler, gravar, excluir e visualizar |
N/A | N/A |
Editor de gerenciamento de artefatos | RoleBinding |
HarborProjects :ler, gravar e visualizar |
N/A | N/A |
Administrador do Certificate Authority Service | RoleBinding |
Autoridades certificadoras e solicitações de certificado:receber, listar, monitorar, atualizar, criar, excluir e corrigir | N/A | N/A |
Administrador do serviço de certificados | RoleBinding |
Certificados e emissores de certificados:receber, listar, observar, atualizar, criar, excluir e corrigir | N/A | N/A |
Editor de painel | RoleBinding |
Recursos personalizados do Dashboard :receber, ler, criar, atualizar, excluir e corrigir |
N/A | N/A |
Leitor de painéis | RoleBinding |
Dashboard :receber e ler |
N/A | N/A |
Administrador de instâncias do Harbor | RoleBinding |
Instâncias do Harbor:criar, ler, atualizar, excluir e corrigir | N/A | N/A |
Leitor de instâncias do Harbor | RoleBinding |
Instâncias do Harbor:leitura | N/A | N/A |
Criador de projetos do Harbor | RoleBinding |
Projetos de instância do Harbor:criar, receber e assistir | N/A | N/A |
Administrador do NetworkPolicy do K8s | ProjectRoleBinding |
N/A | NetworkPolicy recursos: criar, ler, receber, atualizar, excluir e patch |
N/A |
Administrador do Balanceador de Carga | RoleBinding |
N/A |
|
N/A |
LoggingRule Creator | RoleBinding |
Recursos personalizados LoggingRule :criar, ler, atualizar, excluir e corrigir |
N/A | N/A |
Editor de LoggingRule | RoleBinding |
Recursos personalizados LoggingRule :criar, ler, atualizar, excluir e corrigir |
N/A | N/A |
Leitor de LoggingRule | RoleBinding |
Recursos personalizados LoggingRule :leitura |
N/A | N/A |
LoggingTarget Creator | RoleBinding |
Recursos personalizados LoggingTarget :criar, ler, atualizar, excluir e corrigir |
N/A | N/A |
Editor do LoggingTarget | RoleBinding |
Recursos personalizados LoggingTarget :criar, ler, atualizar, excluir e corrigir |
N/A | N/A |
Leitor do LoggingTarget | RoleBinding |
Recursos personalizados LoggingTarget :leitura |
N/A | N/A |
Editor do MonitoringRule | RoleBinding |
Recursos personalizados MonitoringRule :criar, ler, atualizar, excluir e corrigir |
N/A | N/A |
Leitor de MonitoringRule | RoleBinding |
Recursos personalizados MonitoringRule :leitura |
N/A | N/A |
Editor do MonitoringTarget | RoleBinding |
Recursos personalizados MonitoringTarget :criar, ler, atualizar, excluir e corrigir |
N/A | N/A |
Leitor do MonitoringTarget | RoleBinding |
Recursos personalizados MonitoringTarget :leitura |
N/A | N/A |
Administrador de namespace | ProjectRoleBinding |
N/A | Todos os recursos:acesso de leitura e gravação no namespace do projeto | N/A |
Visualizador de NAT | ProjectRoleBinding |
N/A | Implantações: receber e ler | N/A |
Editor do ObservabilityPipeline | RoleBinding |
Recursos ObservabilityPipeline :get, read, create, update, delete e patch |
N/A | N/A |
Leitor do ObservabilityPipeline | RoleBinding |
Recursos do ObservabilityPipeline :receber e ler |
N/A | N/A |
Administrador de bucket do projeto | RoleBinding |
Bucket:leitura e gravação no namespace do projeto | N/A | N/A |
Administrador de objetos do bucket do projeto | RoleBinding |
|
N/A | N/A |
Leitor de objetos do bucket do projeto | RoleBinding |
Bucket e objetos:leitura | N/A | N/A |
Editor do Alertmanager do Project Cortex | RoleBinding |
Sistema do Cortex e Cortex Alertmanager:leitura e gravação | N/A | N/A |
Leitor do Alertmanager do Project Cortex | RoleBinding |
Sistema Cortex e Cortex Alertmanager:leia | N/A | N/A |
Leitor do Prometheus do Project Cortex | RoleBinding |
Sistema Cortex e Prometheus do Cortex:leitura | N/A | N/A |
Leitor do Grafana do projeto | RoleBinding |
Sistema e Grafana:leitura e gravação | N/A | N/A |
Administrador de NetworkPolicy do projeto | RoleBinding |
Políticas de rede do projeto:leitura e gravação no namespace do projeto | N/A | N/A |
Leitor do projeto. | RoleBinding |
Todos os recursos no namespace do projeto:leitura | N/A | N/A |
Administrador de máquinas virtuais do projeto | RoleBinding |
|
N/A | N/A |
Administrador de imagens de máquinas virtuais do projeto | RoleBinding |
|
N/A | N/A |
Administrador de secrets | RoleBinding |
Secrets do Kubernetes:ler, criar, atualizar, excluir e corrigir | N/A | N/A |
Leitor de secrets | RoleBinding |
Secrets do Kubernetes:leitura | N/A | N/A |
Administrador da configuração do serviço | RoleBinding |
ServiceConfigurations :leitura e gravação
|
N/A | N/A |
Leitor de configuração do serviço | RoleBinding |
ServiceConfigurations : Lida
|
N/A | N/A |
Administrador da replicação de volume | ClusterRoleBinding |
Volume failovers, volume relationship replicas :create, get, list, watch, delete
|
N/A | N/A |
Administrador de notebooks do Workbench | RoleBinding |
N/A |
|
N/A |
Leitor do Notebooks do Workbench | RoleBinding |
N/A |
|
N/A |
Leitor de carga de trabalho | ProjectRoleBinding |
N/A |
|
N/A |
Papéis comuns predefinidos de identidade e acesso
Funções comuns | ||||
---|---|---|---|---|
Nome | Nome do recurso do Kubernetes | Administrador inicial | Nível | Tipo |
Leitor do AI Platform | ai-platform-viewer |
Falso | Projeto | Role |
Leitor de sufixo DNS | dnssuffix-viewer |
Falso | Organização | Role |
Administrador de registros de fluxo | flowlog-admin |
Falso | Organização | ClusterRole |
Visualizador de registros de fluxo | flowlog-viewer |
Falso | Projeto | ClusterRole |
Leitor da descoberta de projetos | projectdiscovery-viewer |
Falso | Projeto | ClusterRole |
Visualizador de imagens públicas | public-image-viewer |
Falso | Organização | Role |
Monitor do secret anthos-creds do Artifact Registry do sistema | sar-anthos-creds-secret-monitor |
Falso | Organização | Role |
Monitor de segredos do sistema gpc-system do Artifact Registry | sar-gpc-system-secret-monitor |
Falso | Organização | Role |
Monitor de secrets do sistema Artifact Registry harbor-system | sar-harbor-system-secret-monitor |
Falso | Organização | Role |
Leitor de tipo de máquina virtual | virtualmachinetype-viewer |
Falso | Organização | OrganizationRole |
Leitor de tipo de VM | vmtype-viewer |
Falso | Organização | Role |
Papéis comuns predefinidos de identidade e acesso
Funções comuns | ||||
---|---|---|---|---|
Nome | Tipo de vinculação | Permissões do cluster de administrador | Permissões do cluster do Kubernetes | Encaminha para |
Leitor do AI Platform | RoleBinding |
Serviços pré-treinados:leitura | N/A | N/A |
Leitor de sufixo DNS | ClusterRoleBinding |
Configmaps de sufixo DNS:leitura | N/A | N/A |
Administrador de registros de fluxo | ClusterRoleBinding |
Recursos de registros de fluxo:receber e ler | Recursos de registros de fluxo:receber e ler | N/A |
Visualizador de registros de fluxo | ClusterRoleBinding |
Recursos de registros de fluxo:criar, receber, ler, adicionar patch, atualizar e excluir | Recursos de registros de fluxo:criar, receber, ler, adicionar patch, atualizar e excluir | N/A |
Leitor da descoberta de projetos | ClusterRoleBinding |
Projetos:leitura | N/A | N/A |
Visualizador de imagens públicas | RoleBinding |
Imagens de VM:leitura | N/A | N/A |
Monitor do secret anthos-creds do Artifact Registry do sistema | RoleBinding |
Segredos do anthos-creds :acessar e ler |
anthos-creds secrets:receber e ler |
N/A |
Monitor de segredos do sistema gpc-system do Artifact Registry | RoleBinding |
gpc-system secrets:receber e ler |
gpc-system secrets:receber e ler |
N/A |
Monitor de secrets do sistema Artifact Registry harbor-system | RoleBinding |
harbor-system secrets:receber e ler |
Segredos do harbor-system :acessar e ler |
N/A |
Leitor de tipo de máquina virtual | OrganizationRoleBinding |
N/A | Tipos de VM:leitura | N/A |
Leitor de tipo de VM | ClusterRoleBinding |
Tipos de VM:leitura | N/A | N/A |
Há duas maneiras de conceder acesso aos recursos:
- Configurar vinculações de papéis usando a CLI
- Configurar vinculações de papéis usando o console do GDC
Configurar vinculações de papéis usando a CLI
Acesso do AO no cluster de administrador
Ao contrário dos operadores de infraestrutura (IO) e administradores de plataforma (PA), o GDC vincula operadores de aplicativos (AO) a um Project
por um RoleBinding
, em vez de um ClusterRoleBinding
.
Para conceder acesso de um AO ao cluster de administrador, siga estas etapas:
Exporte o e-mail que você usa para acessar o AO. Por exemplo, um e-mail como
ao-alice@example.com
.export AO_EMAIL=AO_EMAIL
Crie uma vinculação de papel para conceder acesso de administrador do IAM do projeto
${AO_EMAIL}
no namespaceiam-test
:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-iam-admin \ --role=project-iam-admin --user=$AO_EMAIL \ --namespace=iam-test
O papel
project-iam-admin
é predefinido para o GDC. O namespaceiam-test
do Kubernetes corresponde ao projetoiam-test
no cluster de administrador.Verifique se a conta do AO tem permissões para criar vinculações de função no namespace
iam-test
:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n iam-test
A saída a seguir será exibida:
yes
Crie uma vinculação de função para conceder acesso de
${AO_EMAIL}
Leitor do projeto no namespacebar
:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-viewer \ --role=project-viewer --user=$AO_EMAIL \ --namespace=bar
O papel
project-viewer
é predefinido para o GDC. O namespacebar
do Kubernetes corresponde ao projetobar
no cluster de administrador da organização.Verifique se a conta do AO não tem permissões para criar vinculações de função no namespace
bar
:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n bar
A saída a seguir será exibida:
no
Opcional: exclua a vinculação de papel para revogar a permissão concedida à conta do AO:
kubectl --kubeconfig PA_KUBECONFIG delete rolebinding $AO_EMAIL-project-iam-admin -n iam-test
Acesso ao AO em clusters de usuários
Um AO usa recursos ProjectRole
e ProjectRoleBinding
para ter acesso ao namespace dos clusters de usuário. No entanto, os PAs podem conceder permissões da organização para toda a AO
em clusters de usuários usando recursos predefinidos OrganizationRole
e
ProjectRoleBinding
.
Siga estas etapas para dar aos operadores de aplicativos acesso aos clusters de usuários:
Para conceder acesso a clusters de usuários, você precisa ter o papel de administrador do IAM do projeto.
Crie um recurso
ProjectRoleBinding
para conceder acesso de administrador do namespace${AO_EMAIL}
em todos os clusters de usuários no namespaceiam-test
:kubectl --kubeconfig AO_KUBECONFIG apply -f - <<EOF apiVersion: resourcemanager.gdc.goog/v1 kind: ProjectRoleBinding metadata: name: ${AO_EMAIL%@*}-namespace-admin namespace: iam-test spec: roleRef: apiGroup: resourcemanager.gdc.goog kind: ProjectRole name: namespace-admin subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: ${AO_EMAIL} EOF
Siga as instruções da seção Fazer login com a CLI e o kubectl para receber as credenciais do cluster de usuário e exportá-las na variável
AO_USER_CLUSTER_KUBECONFIG
:export AO_USER_CLUSTER_KUBECONFIG=GENERATED_KUBECONFIG
Verifique se a conta do AO tem permissões para criar implantações no namespace
iam-test
:kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} auth can-i create deployment -n iam-test
A saída a seguir será exibida:
yes
Opcional: exclua as vinculações de função do projeto para revogar a permissão concedida à conta de teste do AO:
kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} delete projectrolebinding ${AO_EMAIL%@*}-namespace-admin -n iam-test
Configurar vinculações de papéis em todo o projeto usando a UI
Um operador de aplicativo adiciona outros operadores de aplicativo ao projeto para que eles tenham acesso aos recursos do projeto.
Para ter as permissões necessárias para configurar vinculações de função, peça ao administrador do IAM do projeto para conceder a você o papel de administrador do IAM do projeto.
Siga estas etapas para configurar as vinculações de papéis:
- Faça login no console do appliance isolado do GDC.
- Selecione um projeto.
- No menu de navegação, clique em Gerenciamento de acesso.
- Clique em Adicionar membro.
- Na lista Provedor de identidade, selecione uma opção.
- Escolha se quer adicionar usuários individuais ou grupos.
- No campo Nome de usuário ou alias do grupo, insira o nome de usuário, o endereço de e-mail ou o alias.
- Na lista Papel, selecione a função que você quer atribuir ao usuário ou grupo, como Leitor do projeto.
- Clique em Adicionar.
Remover vinculações de papéis usando a UI
Quando o acesso não for mais necessário, remova um membro e os papéis, as permissões e o acesso associados a ele.
Siga estas etapas para remover membros:
- Faça login no console do appliance isolado do GDC.
- Selecione um projeto.
- No menu de navegação, clique em Gerenciamento de acesso.
- Na lista Membros autorizados, selecione um membro.
- Clique em Remover membro.
- Quando solicitado, clique em Remover participante para confirmar.