Esta página descreve as práticas de gestão de identidade e de acesso (IAM) para o operador de aplicações (AO) no dispositivo isolado do Google Distributed Cloud (GDC).
Um fornecedor de identidade (IdP) é uma entidade do sistema que cria, mantém e gere informações de identidade para diretores. O IdP também fornece serviços de autenticação a aplicações numa federação ou numa rede distribuída.
Iniciar sessão
Esta secção descreve como aceder às suas cargas de trabalho através da interface do utilizador (IU) Web ou da interface de linhas de comando (CLI).
Inicie sessão na IU da Web
Esta página aborda como aceder e gerir as suas cargas de trabalho e recursos no dispositivo isolado do Google Distributed Cloud (GDC). Descreve como autenticar, gerar ficheiros kubeconfig para um servidor da API Management e um cluster Kubernetes, e gerir a inatividade da sessão. A compreensão destes processos garante um acesso seguro e fiável aos seus projetos e cargas de trabalho.
Aceda às suas cargas de trabalho através da consola do GDC ou da CLI gdcloud.
Iniciar sessão
Para iniciar sessão na consola GDC ou num cluster, siga os passos abaixo:
Consola
Abra o seguinte URL num novo separador do navegador para aceder à interface do utilizador (IU) do dispositivo isolado do GDC:
https://GDC_URL
Substitua GDC_URL pelo nome do domínio que usa para aceder ao GDC fornecido pelo operador de infraestrutura (IO). Quando abre qualquer URL pela primeira vez, o GDC redireciona para a página de início de sessão do fornecedor de identidade se o operador de infraestrutura (IO) tiver configurado a página.
Por exemplo, a página seguinte é apresentada depois de iniciar sessão na consola para uma organização denominada `org-1:

CLI
Pode iniciar sessão em qualquer cluster ao qual tenha autorização de acesso. O processo de início de sessão da CLI para todos os clusters é o mesmo. Só tem de indicar o nome do cluster e o respetivo ficheiro kubeconfig, e iniciar sessão separadamente em cada cluster.
Antes de iniciar sessão, certifique-se de que faz o seguinte:
- Transfira o ficheiro binário da CLI gcloud e instale-o no seu sistema. Para mais informações, consulte o artigo Transfira a CLI gcloud.
- Configure e inicialize a configuração predefinida da CLI gcloud. Certifique-se de que define o URL da organização correto, que é usado para obter o ponto final de configuração de início de sessão. Para mais informações, consulte o artigo Instalação da CLI gcloud.
- Instale o plug-in de autenticação
gdcloud-k8s-auth-plugin. Para mais informações, consulte o artigo Autenticação da CLI gcloud.
Para iniciar sessão num cluster, conclua os seguintes passos:
Autentique a sua instância da CLI gcloud para iniciar sessão. Existem duas formas de autenticação:
Início de sessão no navegador padrão: use este fluxo de autenticação quando iniciar sessão a partir de um navegador.
gdcloud auth loginInício de sessão no dispositivo secundário: use este fluxo de autenticação se o seu dispositivo principal não tiver um navegador disponível. Este fluxo inicia o início de sessão no dispositivo principal sem acesso ao navegador e continua o início de sessão com o dispositivo secundário que tem acesso ao navegador.
Inicie a sessão no seu dispositivo principal sem navegador:
gdcloud auth login --no-browserO comando no dispositivo principal imprime outro comando
gdcloudque tem de executar no dispositivo secundário no passo c.Repita o passo 1 de Inicie sessão num cluster para transferir o certificado no dispositivo secundário.
Conclua o início de sessão no dispositivo secundário introduzindo o comando impresso no dispositivo principal no passo a.
Esta ação abre um navegador para iniciar sessão no fornecedor de identidade (IdP) configurado. Indique o nome de utilizador e a palavra-passe que definiu durante a configuração inicial da CLI gdcloud para iniciar sessão.
Exporte o ficheiro
kubeconfigde identidade do utilizador como uma variável:export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yamlGere um ficheiro
kubeconfigcom a sua identidade de utilizador:gdcloud clusters get-credentials CLUSTER_NAMEÉ gerado um ficheiro
kubeconfigcom a sua identidade de utilizador. O ficheiro YAML seguinte 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: falsePara verificar se consegue aceder ao cluster, inicie sessão com o ficheiro
kubeconfiggerado com uma identidade de utilizador:kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
Terminar sessão
Para terminar sessão na consola GDC, faça o seguinte:
Consola
Clique em Terminar sessão na barra de menu.

CLI
Termine sessão na CLI:
gdcloud auth revoke
Gere manualmente o ficheiro kubeconfig
Se estiver a gerir recursos com a CLI kubectl chamando diretamente as APIs KRM, tem de gerar o ficheiro kubeconfig para o cluster que aloja o seu recurso, consoante o tipo de recurso que está a gerir. Visite a documentação do recurso para determinar o ficheiro kubeconfig de que precisa.
Conclua a configuração aplicável com base no tipo de recurso.
Recursos do servidor da API Management
Conclua os passos seguintes para gerar o ficheiro kubeconfig para o servidor da API Management:
Defina a variável de ambiente
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER="root-admin"Gere o ficheiro kubeconfig do servidor da API de gestão 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 ficheiro kubeconfig existente no diretório inicial. Quando gera um novo ficheiro kubeconfig, este substitui o ficheiro existente. Se não quiser substituir nem remover o ficheiro existente, faça uma cópia de segurança noutra localização segura.
Recursos do cluster do Kubernetes
Conclua os passos seguintes para gerar o ficheiro kubeconfig para o cluster do Kubernetes bare metal:
Defina a variável de ambiente
KUBERNETES_CLUSTER:export KUBERNETES_CLUSTER="root-infra"Gere o ficheiro kubeconfig do cluster 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 ficheiro kubeconfig existente no diretório inicial. Quando gera um novo ficheiro kubeconfig, este substitui o ficheiro existente. Se não quiser substituir nem remover o ficheiro existente, faça uma cópia de segurança noutra localização segura.
Terminar sessão por inatividade
Após quinze ou mais minutos de inatividade numa sessão, a consola do GDC e a CLI gdcloud terminam a sessão. O GDC considera a inatividade da sessão como um período durante uma sessão aberta sem interação ativa da sua parte, como nenhum movimento do cursor ou do teclado. Uma sessão ativa dura até doze horas com atividade do utilizador.
Consola
No caso de inatividade da sessão, a consola do GDC termina a sua sessão. Dois minutos antes de a consola GDC terminar a sessão por inatividade, recebe uma caixa de diálogo que o avisa da terminação da sessão:

Depois de terminar a sessão por inatividade, vê o seguinte ecrã:

Para iniciar sessão novamente na consola GDC, selecione o seu fornecedor de identidade e adicione as suas credenciais de início de sessão. Se usar um serviço, como o painel de controlo de monitorização, e a consola do GDC terminar a sessão por inatividade, inicie sessão novamente para aceder.
CLI
No caso de inatividade da sessão, a CLI gcloud termina a sessão. Depois de a CLI gdcloud terminar a sessão e tentar executar um comando, recebe um erro de autorização:
Error: error when creating kube client: unable to create k8sclient: Unauthorized
Para iniciar sessão novamente na CLI gcloud, siga os passos da CLI em Iniciar sessão.
kubectl
A CLI gdcloud faz expirar os seus ficheiros kubeconfig após a inatividade da sessão. Se tentar executar um comando kubectl após um período de inatividade,
recebe um erro de autorização:
error: You must be logged in to the server (Unauthorized)
Para iniciar sessão novamente e usar o ficheiro kubeconfig, siga os passos da CLI em Iniciar sessão. Para cada limite de tempo de sessão, tem de regenerar os ficheiros kubeconfig.
Defina políticas de autorização da IAM
Descrições de funções predefinidas
Um operador de aplicações (AO) é um membro da equipa de desenvolvimento na organização do administrador da plataforma (PA). Os AOs interagem com recursos ao nível do projeto. Pode atribuir as seguintes funções predefinidas aos membros da equipa:
- Administrador de IAM de projetos: gere as políticas de autorização de IAM dos projetos.
- Programador de OCR de IA: aceda ao serviço de reconhecimento ótico de carateres para detetar texto em imagens.
- AI Speech Developer: aceda ao serviço de conversão de voz em texto para reconhecer a voz e transcrever o áudio.
- AI Translation Developer: aceda ao serviço Vertex AI Translation para traduzir texto.
- Administrador de gestão de artefactos: tem acesso de administrador aos recursos em todos os projetos do Harbor no espaço de nomes do projeto.
- Editor de gestão de artefactos: tem acesso de leitura e escrita aos recursos em todos os projetos do Harbor no espaço de nomes do projeto.
- Administrador do serviço de autoridade de certificação: tem acesso para gerir autoridades de certificação e pedidos de certificados no respetivo projeto.
- Administrador do serviço de certificados: tem acesso à gestão de certificados e emissores de certificados no respetivo projeto.
- Editor do painel de controlo: tem acesso de leitura e escrita a recursos personalizados
Dashboard. - Visualizador do painel de controlo: tem acesso só de leitura a
Dashboardrecursos personalizados. - Administrador da instância do Harbor: tem acesso total para gerir instâncias do Harbor num projeto.
- Harbor Instance Viewer: tem acesso só de leitura para ver instâncias do Harbor num projeto.
- Harbor Project Creator: tem acesso à gestão de projetos de instâncias do Harbor.
- Administrador da política de rede do K8s: gere políticas de rede em clusters do Kubernetes.
- LoggingRule Creator: cria
LoggingRulerecursos personalizados no espaço de nomes do projeto. - LoggingRule Editor: edita recursos personalizados no espaço de nomes do projeto.
LoggingRule - LoggingRule Viewer: vê recursos personalizados no espaço de nomes do projeto.
LoggingRule - LoggingTarget Creator: cria recursos personalizados
LoggingTargetno espaço de nomes do projeto. - LoggingTarget Editor: edita recursos personalizados no espaço de nomes do projeto.
LoggingTarget - LoggingTarget Viewer: vê recursos personalizados no espaço de nomes do projeto.
LoggingTarget - Administrador do balanceador de carga: tem autorizações de leitura e escrita em todos os recursos do balanceador de carga no espaço de nomes do projeto.
- Editor de regras de monitorização: tem acesso de leitura e escrita aos recursos
MonitoringRule. - MonitoringRule Viewer: tem acesso só de leitura a
MonitoringRulerecursos personalizados. - Editor de MonitoringTarget: tem acesso de leitura e escrita a
MonitoringTargetrecursos personalizados. - MonitoringTarget Viewer: tem acesso só de leitura a
MonitoringTargetrecursos personalizados. - Visualizador de NAT: tem acesso só de leitura a implementações em clusters do Kubernetes.
- Administrador do espaço de nomes: gere todos os recursos no espaço de nomes do projeto.
- Editor da ObservabilityPipeline: tem acesso de leitura e escrita a
ObservabilityPipeinerecursos personalizados. - ObservabilityPipeline Viewer: tem acesso só de leitura a
recursos personalizados
ObservabilityPipeline. - Administrador de segmentos de projetos: gere os segmentos de armazenamento e os objetos nos segmentos.
- Project Bucket Object Admin: tem acesso só de leitura aos contentores num projeto e acesso de leitura/escrita aos objetos nesses contentores.
- Project Bucket Object Viewer: tem acesso só de leitura aos contentores num projeto e aos objetos nesses contentores.
- Editor do Alertmanager do Project Cortex: concede autorizações para editar a instância do Alertmanager do Cortex no espaço de nomes do projeto.
- Visualizador do Alertmanager do Project Cortex: concede autorizações para aceder à instância do Alertmanager do Cortex no espaço de nomes do projeto.
- Visualizador do Project Cortex Prometheus: concede autorizações para aceder à instância do Cortex Prometheus no espaço de nomes do projeto.
- Visualizador do Grafana do projeto: acede à instância do Grafana no espaço de nomes do projeto do cluster de administração da frota.
- Project NetworkPolicy Admin: gere as políticas de rede do projeto no espaço de nomes do projeto.
- Leitor do projeto: tem acesso só de leitura a todos os recursos nos espaços de nomes do projeto.
- Project VirtualMachine Admin: gere VMs no espaço de nomes do projeto.
- Project VirtualMachine Image Admin: gere imagens de VMs no espaço de nomes do projeto.
- Administrador de segredos: gere segredos do Kubernetes em projetos.
- Visualizador de segredos: vê segredos do Kubernetes em projetos.
- Administrador da configuração do serviço: tem acesso de leitura e escrita às configurações do serviço num espaço de nomes do projeto.
- Leitor de configuração de serviços: tem acesso de leitura às configurações de serviços num espaço de nomes do projeto.
- Administrador da replicação de volumes: gere recursos de replicação de volumes.
- Administrador dos blocos de notas do Workbench: obtenha acesso de leitura e escrita a todos os recursos de blocos de notas num espaço de nomes do projeto.
- Leitor de blocos de notas do Workbench: obtenha acesso só de leitura a todos os recursos de blocos de notas num espaço de nomes do projeto e veja a interface do utilizador do Vertex AI Workbench.
- Leitor de cargas de trabalho: tem acesso de leitura às cargas de trabalho num projeto.
Funções comuns
As seguintes funções comuns predefinidas aplicam-se a todos os utilizadores autenticados:
- Leitor da AI Platform: concede autorizações para ver serviços pré-formados.
- Visualizador de sufixos DNS: acede ao mapa de configuração do sufixo do serviço de nomes de domínio (DNS).
- Administrador de registos de fluxo: tem acesso de leitura e escrita a todos os recursos de registos de fluxo.
- Visualizador de registos de fluxo: tem acesso só de leitura a todos os recursos de registos de fluxo.
- Project Discovery Viewer: tem acesso de leitura para todos os utilizadores autenticados à visualização de projetos.
- Public Image Viewer: tem acesso de leitura para todos os utilizadores autenticados nas imagens de VMs públicas no espaço de nomes
vm-images. - Monitor do Secret anthos-creds do registo de artefactos do sistema: tem acesso de leitura
aos segredos no espaço de nomes
anthos-creds. - System Artifact Registry gpc-system secret Monitor: tem acesso de leitura
aos segredos no espaço de nomes
gpc-system. - Monitor do segredo harbor-system do registo de artefactos do sistema: tem acesso de leitura aos segredos no espaço de nomes
harbor-system. - Virtual Machine Type Viewer: tem acesso de leitura a tipos de máquinas virtuais com âmbito de cluster.
- VM Type Viewer: tem acesso de leitura aos tipos de máquinas virtuais predefinidos nos clusters de administrador.
Definições de funções
As tabelas desta secção descrevem as diferentes funções predefinidas e as respetivas autorizações. As tabelas contêm as seguintes colunas:
- Nome: o nome de uma função apresentado na interface do utilizador (IU).
- Nome do recurso do Kubernetes: o nome do recurso personalizado do Kubernetes correspondente.
- Nível: a especificação de se esta função está no âmbito da organização ou de um projeto.
- Type: o tipo desta função. Por exemplo, alguns valores possíveis são
Role,ProjectRole,ClusterRoleouProjectClusterRole. - Tipo de associação: o tipo de associação que tem de aplicar a esta função.
- Autorizações do servidor da API Management ou do cluster do Kubernetes: as autorizações que esta função tem para o servidor da API Management ou o cluster do Kubernetes. Por exemplo, alguns valores possíveis são ler, escrever, ler e escrever ou não aplicável (N/A).
- Escalates to: a especificação de se esta função é escalada para outras funções ou não.
Personagem de AO, identidade predefinida e funções de acesso
| Personalidade AO | ||||
|---|---|---|---|---|
| Nome | Nome do recurso do Kubernetes | Administrador inicial | Nível | Tipo |
| Administrador de IAM de projetos | project-iam-admin |
True | Projeto | Role |
| Programador de OCR de IA | ai-ocr-developer |
Falso | Projeto | Role |
| Visualizador da AI Platform | ai-platform-viewer |
Falso | Projeto | Role |
| Programador de voz de IA | ai-speech-developer |
Falso | Projeto | Role |
| Programador de tradução de IA | ai-translation-developer |
Falso | Projeto | Role |
| Administrador de gestão de artefactos | artifact-management-admin |
Falso | Projeto | Role |
| Editor de gestão de artefactos | 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 painéis de controlo | dashboard-editor |
Falso | Projeto | Role |
| Visualizador do painel de controlo | dashboard-viewer |
Falso | Projeto | Role |
| Administrador de instância do Harbor | harbor-instance-admin |
Falso | Projeto | Role |
| Visualizador de instâncias do Harbor | harbor-instance-viewer |
Falso | Projeto | Role |
| Harbor Project Creator | 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 |
| LoggingRule Editor | loggingrule-editor |
Falso | Projeto | Role |
| LoggingRule Viewer | loggingrule-viewer |
Falso | Projeto | Role |
| LoggingTarget Creator | loggingtarget-creator |
Falso | Projeto | Role |
| LoggingTarget Editor | loggingtarget-editor |
Falso | Projeto | Role |
| LoggingTarget Viewer | loggingtarget-viewer |
Falso | Projeto | Role |
| Editor de regras de monitorização | monitoringrule-editor |
Falso | Projeto | Role |
| MonitoringRule Viewer | monitoringrule-viewer |
Falso | Projeto | Role |
| MonitoringTarget Editor | monitoringtarget-editor |
Falso | Projeto | Role |
| MonitoringTarget Viewer | monitoringtarget-viewer |
Falso | Projeto | Role |
| Administrador do espaço de nomes | namespace-admin |
Falso | Projeto | ProjectRole |
| Visualizador de NAT | nat-viewer |
Falso | Projeto | ProjectRole |
| Editor ObservabilityPipeline | observabilitypipeline-editor |
Falso | Projeto | Role |
| Visualizador da ObservabilityPipeline | observabilitypipeline-viewer |
Falso | Projeto | Role |
| Administrador do segmento de projeto | project-bucket-admin |
Falso | Projeto | Role |
| Administrador de objetos do segmento de projeto | project-bucket-object-admin |
Falso | Projeto | Role |
| Visualizador de objetos de blocos de projetos | project-bucket-object-viewer |
Falso | Projeto | Role |
| Editor do Alertmanager do Project Cortex | project-cortex-alertmanager-editor |
Falso | Projeto | Role |
| Visualizador do Alertmanager do Project Cortex | project-cortex-alertmanager-viewer |
Falso | Projeto | Role |
| Visualizador do Prometheus do Project Cortex | project-cortex-prometheus-viewer |
Falso | Projeto | Role |
| Visualizador do Grafana do projeto | project-grafana-viewer |
Falso | Projeto | Role |
| Administrador da NetworkPolicy do projeto | project-networkpolicy-admin |
Falso | Projeto | Role |
| Visualizador de projetos | 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 segredos | secret-admin |
Falso | Projeto | Role |
| Secret Viewer | secret-viewer |
Falso | Projeto | Role |
| Administrador da configuração do serviço | service-configuration-admin |
Falso | Projeto | Role |
| Visualizador de configuração do serviço | service-configuration-viewer |
Falso | Projeto | Role |
| Administrador de blocos de notas do Workbench | workbench-notebooks-admin |
Falso | Projeto | Role |
| Administrador da replicação de volumes | app-volume-replication-admin |
Falso | Cluster | Role |
| Visualizador de blocos de notas do Workbench | workbench-notebooks-viewer |
Falso | Projeto | Role |
| Visualizador de cargas de trabalho | workload-viewer |
Falso | Projeto | Role |
Personagem de AO, identidade predefinida e funções de acesso
| Personalidade AO | ||||
|---|---|---|---|---|
| Nome | Tipo de associação | Autorizações do servidor da API Management | Autorizações do cluster do Kubernetes | Encaminha para |
| Administrador de IAM de projetos | RoleBinding |
|
N/A | Todas as outras funções de AO |
| Programador de OCR de IA | RoleBinding |
Recursos de OCR: leitura e escrita | N/A | N/A |
| Programador de voz de IA | RoleBinding |
Recursos de voz: ler e escrever | N/A | N/A |
| Programador de tradução de IA | RoleBinding |
Recursos de tradução: leitura e escrita | N/A | N/A |
| Administrador de gestão de artefactos | RoleBinding |
HarborProjects: administrador, criar, ler, escrever, eliminar e ver |
N/A | N/A |
| Editor de gestão de artefactos | RoleBinding |
HarborProjects: ler, escrever e ver |
N/A | N/A |
| Administrador do Certificate Authority Service | RoleBinding |
Autoridades de certificação e pedidos de certificados: obter, listar, monitorizar, atualizar, criar, eliminar e aplicar patches | N/A | N/A |
| Administrador do serviço de certificados | RoleBinding |
Certificados e entidades emissoras de certificados: obter, listar, monitorizar, atualizar, criar, eliminar e aplicar patches | N/A | N/A |
| Editor de painéis de controlo | RoleBinding |
Dashboard recursos personalizados: obter, ler, criar, atualizar, eliminar e aplicar patches |
N/A | N/A |
| Visualizador do painel de controlo | RoleBinding |
Dashboard: obter e ler |
N/A | N/A |
| Administrador de instância do Harbor | RoleBinding |
Instâncias do Harbor: criar, ler, atualizar, eliminar e aplicar patches | N/A | N/A |
| Visualizador de instâncias do Harbor | RoleBinding |
Instâncias do Harbor: leitura | N/A | N/A |
| Harbor Project Creator | RoleBinding |
Projetos de instâncias de contentores: crie, obtenha e monitorize | N/A | N/A |
| Administrador da NetworkPolicy do K8s | ProjectRoleBinding |
N/A | Recursos NetworkPolicy: criar, ler, obter, atualizar, eliminar e aplicar patch |
N/A |
| Administrador do balanceador de carga | RoleBinding |
N/A |
|
N/A |
| LoggingRule Creator | RoleBinding |
LoggingRule recursos personalizados: criar, ler, atualizar, eliminar e aplicar patches |
N/A | N/A |
| LoggingRule Editor | RoleBinding |
LoggingRule recursos personalizados: criar, ler, atualizar, eliminar e aplicar patches |
N/A | N/A |
| LoggingRule Viewer | RoleBinding |
LoggingRule recursos personalizados: leia |
N/A | N/A |
| LoggingTarget Creator | RoleBinding |
LoggingTarget recursos personalizados: criar, ler, atualizar, eliminar e aplicar patches |
N/A | N/A |
| LoggingTarget Editor | RoleBinding |
LoggingTarget recursos personalizados: criar, ler, atualizar, eliminar e aplicar patches |
N/A | N/A |
| LoggingTarget Viewer | RoleBinding |
LoggingTarget recursos personalizados: leia |
N/A | N/A |
| Editor de regras de monitorização | RoleBinding |
MonitoringRule recursos personalizados: criar, ler, atualizar, eliminar e aplicar patches |
N/A | N/A |
| MonitoringRule Viewer | RoleBinding |
MonitoringRule recursos personalizados: leia |
N/A | N/A |
| MonitoringTarget Editor | RoleBinding |
MonitoringTarget recursos personalizados: criar, ler, atualizar, eliminar e aplicar patches |
N/A | N/A |
| MonitoringTarget Viewer | RoleBinding |
MonitoringTarget recursos personalizados: leia |
N/A | N/A |
| Administrador do espaço de nomes | ProjectRoleBinding |
N/A | Todos os recursos: acesso de leitura e escrita no espaço de nomes do projeto | N/A |
| Visualizador de NAT | ProjectRoleBinding |
N/A | Implementações: obtenha e leia | N/A |
| Editor ObservabilityPipeline | RoleBinding |
ObservabilityPipeline recursos: obter, ler, criar, atualizar, eliminar e aplicar patches |
N/A | N/A |
| Visualizador da ObservabilityPipeline | RoleBinding |
ObservabilityPipeline recursos: obtenha e leia |
N/A | N/A |
| Administrador do segmento de projeto | RoleBinding |
Bucket: ler e escrever no espaço de nomes do projeto | N/A | N/A |
| Administrador de objetos do segmento de projeto | RoleBinding |
|
N/A | N/A |
| Visualizador de objetos de blocos de projetos | RoleBinding |
Recipiente e objetos: leitura | N/A | N/A |
| Editor do Alertmanager do Project Cortex | RoleBinding |
Sistema Cortex e Cortex Alertmanager: leitura e escrita | N/A | N/A |
| Visualizador do Alertmanager do Project Cortex | RoleBinding |
Sistema Cortex e Cortex Alertmanager: leia | N/A | N/A |
| Visualizador do Prometheus do Project Cortex | RoleBinding |
Sistema Cortex e Cortex Prometheus: leia | N/A | N/A |
| Visualizador do Grafana do projeto | RoleBinding |
Sistema Grafana e Grafana: leitura e escrita | N/A | N/A |
| Administrador da NetworkPolicy do projeto | RoleBinding |
Políticas de rede do projeto: ler e escrever no espaço de nomes do projeto | N/A | N/A |
| Visualizador de projetos | RoleBinding |
Todos os recursos no espaço de nomes 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 segredos | RoleBinding |
Segredos do Kubernetes: ler, criar, atualizar, eliminar e aplicar patches | N/A | N/A |
| Secret Viewer | RoleBinding |
Segredos do Kubernetes: leitura | N/A | N/A |
| Administrador da configuração do serviço | RoleBinding |
ServiceConfigurations: leitura e escrita
|
N/A | N/A |
| Visualizador de configuração do serviço | RoleBinding |
ServiceConfigurations: lida
|
N/A | N/A |
| Administrador da replicação de volumes | ClusterRoleBinding |
Volume failovers, volume relationship replicas:
Criar, obter, listar, ver, eliminar
|
N/A | N/A |
| Administrador de blocos de notas do Workbench | RoleBinding |
N/A |
|
N/A |
| Visualizador de blocos de notas do Workbench | RoleBinding |
N/A |
|
N/A |
| Visualizador de cargas de trabalho | ProjectRoleBinding |
N/A |
|
N/A |
Funções de identidade e acesso predefinidas comuns
| Funções comuns | ||||
|---|---|---|---|---|
| Nome | Nome do recurso do Kubernetes | Administrador inicial | Nível | Tipo |
| Visualizador da AI Platform | ai-platform-viewer |
Falso | Projeto | Role |
| Visualizador de sufixos DNS | dnssuffix-viewer |
Falso | Organização | Role |
| Administrador de registos de fluxo | flowlog-admin |
Falso | Organização | ClusterRole |
| Visualizador de registos de fluxo | flowlog-viewer |
Falso | Projeto | ClusterRole |
| Visualizador de descoberta de projetos | projectdiscovery-viewer |
Falso | Projeto | ClusterRole |
| Visualizador de imagens públicas | public-image-viewer |
Falso | Organização | Role |
| Monitorização do segredo anthos-creds do Artifact Registry do sistema | sar-anthos-creds-secret-monitor |
Falso | Organização | Role |
| Monitorização do segredo do sistema gpc-system do Artifact Registry | sar-gpc-system-secret-monitor |
Falso | Organização | Role |
| Monitorização do segredo harbor-system do Artifact Registry do sistema | sar-harbor-system-secret-monitor |
Falso | Organização | Role |
| Visualizador de tipo de máquina virtual | virtualmachinetype-viewer |
Falso | Organização | OrganizationRole |
| Visualizador de tipos de VMs | vmtype-viewer |
Falso | Organização | Role |
Funções de identidade e acesso predefinidas comuns
| Funções comuns | ||||
|---|---|---|---|---|
| Nome | Tipo de associação | Autorizações de cluster de administrador | Autorizações do cluster do Kubernetes | Encaminha para |
| Visualizador da AI Platform | RoleBinding |
Serviços pré-treinados: ler | N/A | N/A |
| Visualizador de sufixos DNS | ClusterRoleBinding |
Mapas de configuração de sufixos DNS: leitura | N/A | N/A |
| Administrador de registos de fluxo | ClusterRoleBinding |
Recursos de registo de fluxo: obtenha e leia | Recursos de registo de fluxo: obtenha e leia | N/A |
| Visualizador de registos de fluxo | ClusterRoleBinding |
Recursos de registo de fluxo: criar, obter, ler, aplicar patches, atualizar e eliminar | Recursos de registo de fluxo: criar, obter, ler, aplicar patches, atualizar e eliminar | N/A |
| Visualizador de descoberta de projetos | ClusterRoleBinding |
Projetos: leitura | N/A | N/A |
| Visualizador de imagens públicas | RoleBinding |
Imagens de VMs: leitura | N/A | N/A |
| Monitorização do segredo anthos-creds do Artifact Registry do sistema | RoleBinding |
anthos-creds segredos: obtenha e leia |
anthos-creds segredos: obtenha e leia |
N/A |
| Monitorização do segredo do sistema gpc-system do Artifact Registry | RoleBinding |
gpc-system segredos: obtenha e leia |
gpc-system segredos: obtenha e leia |
N/A |
| Monitorização do segredo harbor-system do Artifact Registry do sistema | RoleBinding |
harbor-system segredos: obtenha e leia |
harbor-system segredos: obtenha e leia |
N/A |
| Visualizador de tipo de máquina virtual | OrganizationRoleBinding |
N/A | Tipos de VMs: leitura | N/A |
| Visualizador de tipos de VMs | ClusterRoleBinding |
Tipos de VMs: leitura | N/A | N/A |
Existem duas formas de conceder acesso a recursos:
- Configure associações de funções através da CLI
- Configure associações de funções através da consola do GDC
Configure associações de funções através da CLI
Acesso AO no cluster de administração
Ao contrário dos operadores de infraestrutura (IO) e dos administradores da plataforma (PA),
o GDC associa os operadores de aplicações (AO) a um Project
através de um RoleBinding, em vez de um ClusterRoleBinding.
Para conceder a um AO acesso ao cluster de administração, conclua os seguintes passos:
Exporte o email que usa para o acesso ao AO. Por exemplo, um email como
ao-alice@example.com.export AO_EMAIL=AO_EMAILCrie uma associação de funções para conceder acesso de
${AO_EMAIL}administrador de IAM do projetoiam-testno espaço de nomesiam-test:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-iam-admin \ --role=project-iam-admin --user=$AO_EMAIL \ --namespace=iam-testA função
project-iam-adminé uma função predefinida para o GDC. O espaço de nomes do Kubernetes corresponde ao projetoiam-testno cluster de administrador.iam-testVerifique se a conta de AO tem autorizações para criar associações de funções no espaço de nomes
iam-test:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n iam-testVê o seguinte resultado:
yesCrie uma associação de funções para conceder acesso de
${AO_EMAIL}leitor de projetosbarno espaço de nomesbar:kubectl create --kubeconfig PA_KUBECONFIG \ rolebinding $AO_EMAIL-project-viewer \ --role=project-viewer --user=$AO_EMAIL \ --namespace=barA função
project-vieweré uma função predefinida para o GDC. O espaço de nomes dobarKubernetes corresponde ao projetobarno cluster de administrador da organização.Verifique se a conta da AO não tem autorizações para criar associações de funções no espaço de nomes
bar:kubectl --kubeconfig AO_KUBECONFIG auth can-i create rolebinding -n barVê o seguinte resultado:
noOpcional: elimine a associação de funções para revogar a autorização concedida à conta de AO:
kubectl --kubeconfig PA_KUBECONFIG delete rolebinding $AO_EMAIL-project-iam-admin -n iam-test
Acesso da AO em clusters de utilizadores
Um AO usa recursos ProjectRole e ProjectRoleBinding para obter acesso ao espaço de nomes aos clusters de utilizadores. No entanto, os PAs podem conceder autorizações ao nível da organização aos utilizadores nos clusters de utilizadores através de recursos OrganizationRole e ProjectRoleBinding predefinidos.
Conclua os passos seguintes para conceder aos AOs acesso aos clusters de utilizadores:
Para conceder acesso a clusters de utilizadores, tem de ter a função de administrador de IAM do projeto.
Crie um recurso
ProjectRoleBindingpara conceder acesso de administrador do espaço de nomes${AO_EMAIL}em todos os clusters de utilizadores no espaço de nomesiam-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} EOFiam-testSiga as instruções da secção Inicie sessão com a CLI e o kubectl para obter as credenciais do utilizador para o cluster de utilizadores e exportá-las na variável
AO_USER_CLUSTER_KUBECONFIG:export AO_USER_CLUSTER_KUBECONFIG=GENERATED_KUBECONFIGVerifique se a conta do AO tem autorizações para criar implementações no espaço de nomes
iam-test:kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} auth can-i create deployment -n iam-testVê o seguinte resultado:
yesOpcional: elimine as associações de funções do projeto para revogar a autorização concedida à conta de AO de teste:
kubectl --kubeconfig ${AO_USER_CLUSTER_KUBECONFIG} delete projectrolebinding ${AO_EMAIL%@*}-namespace-admin -n iam-test
Configure associações de funções ao nível do projeto através da IU
Um operador de aplicações adiciona outros operadores de aplicações ao projeto para que tenham acesso aos recursos do projeto.
Para receber as autorizações necessárias para configurar associações de funções, peça ao administrador de IAM do projeto que lhe conceda a função de administrador de IAM do projeto.
Siga os passos abaixo para configurar as associações de funções:
- Inicie sessão na consola do dispositivo isolado do GDC.
- Selecione um projeto.
- No menu de navegação, clique em Gestão de acesso.
- Clique em Adicionar membro.
- Na lista Fornecedor de identidade, selecione um fornecedor de identidade.
- Escolha se quer adicionar utilizadores individuais ou grupos.
- No campo Nome de utilizador ou alias do grupo, introduza o nome de utilizador, o endereço de email ou o alias.
- Na lista Função, selecione a função que quer atribuir ao utilizador ou grupo, como Visualizador do projeto.
- Clique em Adicionar.
Remova associações de funções através da IU
Quando o acesso já não for necessário, remova um membro e as respetivas funções, autorizações e acesso associados.
Siga os passos seguintes para remover membros:
- Inicie sessão na consola do dispositivo isolado do GDC.
- Selecione um projeto.
- No menu de navegação, clique em Gestão de acesso.
- Na lista Membros autorizados, selecione um membro.
- Clique em Remover membro.
- Quando lhe for pedido, clique em Remover membro para confirmar.