Faça a gestão da identidade e do acesso ao projeto

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: Consola a apresentar o ecrã de boas-vindas do projeto 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:

  1. 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 login
      
    • Iní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.

      1. Inicie a sessão no seu dispositivo principal sem navegador:

        gdcloud auth login --no-browser
        

        O comando no dispositivo principal imprime outro comando gdcloud que tem de executar no dispositivo secundário no passo c.

      2. Repita o passo 1 de Inicie sessão num cluster para transferir o certificado no dispositivo secundário.

      3. 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.

  2. Exporte o ficheiro kubeconfig de identidade do utilizador como uma variável:

    export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  3. Gere um ficheiro kubeconfig com a sua identidade de utilizador:

    gdcloud clusters get-credentials CLUSTER_NAME
    

    É gerado um ficheiro kubeconfig com 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: false
    
  4. Para verificar se consegue aceder ao cluster, inicie sessão com o ficheiro kubeconfig gerado 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:

  1. Defina a variável de ambiente MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="root-admin"
    
  2. 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:

  1. Defina a variável de ambiente KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="root-infra"
    
  2. 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:

IU da consola a mostrar uma caixa de diálogo com um temporizador de 99 segundos antes de terminar a sessão do utilizador por inatividade.

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

A IU da consola mostra o ecrã de início de sessão com uma faixa que contém texto sobre o fim de sessão: &quot;A sua sessão foi terminada porque ficou inativa durante demasiado tempo. Inicie sessão novamente ou contacte o administrador para receber assistência.&quot;

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 Dashboard recursos 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 LoggingRule recursos 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 MonitoringRule recursos personalizados.
  • Editor de MonitoringTarget: tem acesso de leitura e escrita a MonitoringTarget recursos personalizados.
  • MonitoringTarget Viewer: tem acesso só de leitura a MonitoringTarget recursos 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 ObservabilityPipeine recursos 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, ClusterRole ou ProjectClusterRole.
  • 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
  • RoleBinding, ClusterRoleBinding, Role, ClusterRole, ProjectRole, ProjectClusterRole, ProjectRoleBinding e ProjectClusterRoleBinding: criar, ler, atualizar, eliminar e associar
  • ProjectServiceAccount: criar, ler, atualizar e eliminar
  • Listar espaço de nomes do projeto
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
  • Backend: obter, ver, listar, criar, aplicar patches, atualizar e eliminar
  • HealthCheck: obter, ver, listar, criar, aplicar patches, atualizar e eliminar
  • BackendService: obter, ver, listar, criar, aplicar patches, atualizar e eliminar
  • ForwardingRuleExternal: obter, ver, listar, criar, aplicar patches, atualizar e eliminar
  • ForwardingRuleInternal: obter, ver, listar, criar, aplicar patches, atualizar e eliminar
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
  • Bucket: leitura
  • Objetos: leitura e escrita
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
  • Máquinas virtuais, discos, pedidos de acesso, acesso externo, pedidos de cópia de segurança, cópias de segurança, pedidos de restauro, pedidos de eliminação de cópias de segurança, restauros e pedidos de reposição de palavras-passe: ler, criar, atualizar e eliminar
  • Reinício da máquina virtual: coloque
  • Imagens de máquinas virtuais, planos de cópia de segurança e modelos de planos de cópia de segurança: leitura
N/A N/A
Administrador de imagens de máquinas virtuais do projeto RoleBinding
  • Imagens de VMs: leitura
  • Importações de imagens de VMs: leitura e escrita
  • Recipientes: criar
  • Contentor"vm-images-bucket": leitura e escrita
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
  • Recursos personalizados (CR) do bloco de notas no espaço de nomes do projeto: criar, ler, atualizar e eliminar
  • Instâncias de blocos de notas que usam o Istio: leitura e escrita
  • ClusterInfo objetos: ler
N/A
Visualizador de blocos de notas do Workbench RoleBinding N/A
  • Recursos personalizados (CR) do bloco de notas no espaço de nomes do projeto: leitura
  • Instâncias de blocos de notas que usam o Istio: leitura e escrita
N/A
Visualizador de cargas de trabalho ProjectRoleBinding N/A
  • Recursos personalizados de pods no espaço de nomes do projeto: leitura
  • Implementação de recursos personalizados no espaço de nomes do projeto: leitura
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

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:

  1. Exporte o email que usa para o acesso ao AO. Por exemplo, um email como ao-alice@example.com.

    export AO_EMAIL=AO_EMAIL
    
  2. Crie uma associação de funções para conceder acesso de ${AO_EMAIL}administrador de IAM do projetoiam-test no espaço de nomes iam-test:

    kubectl create --kubeconfig PA_KUBECONFIG \
    rolebinding $AO_EMAIL-project-iam-admin \
    --role=project-iam-admin --user=$AO_EMAIL \
    --namespace=iam-test
    

    A função project-iam-admin é uma função predefinida para o GDC. O espaço de nomes do Kubernetes corresponde ao projeto iam-test no cluster de administrador.iam-test

  3. Verifique 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-test
    

    Vê o seguinte resultado:

    yes
    
  4. Crie uma associação de funções para conceder acesso de ${AO_EMAIL}leitor de projetosbar no espaço de nomes bar:

    kubectl create --kubeconfig PA_KUBECONFIG \
    rolebinding $AO_EMAIL-project-viewer \
    --role=project-viewer --user=$AO_EMAIL \
    --namespace=bar
    

    A função project-viewer é uma função predefinida para o GDC. O espaço de nomes do bar Kubernetes corresponde ao projeto bar no cluster de administrador da organização.

  5. 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 bar
    

    Vê o seguinte resultado:

    no
    
  6. Opcional: 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.

  1. Crie um recurso ProjectRoleBinding para conceder acesso de administrador do espaço de nomes ${AO_EMAIL} em todos os clusters de utilizadores no espaço de nomes iam-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
    
    iam-test
  2. Siga 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_KUBECONFIG
    
  3. Verifique 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-test
    

    Vê o seguinte resultado:

    yes
    
  4. Opcional: 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:

  1. Inicie sessão na consola do dispositivo isolado do GDC.
  2. Selecione um projeto.
  3. No menu de navegação, clique em Gestão de acesso.
  4. Clique em Adicionar membro.
  5. Na lista Fornecedor de identidade, selecione um fornecedor de identidade.
  6. Escolha se quer adicionar utilizadores individuais ou grupos.
  7. No campo Nome de utilizador ou alias do grupo, introduza o nome de utilizador, o endereço de email ou o alias.
  8. Na lista Função, selecione a função que quer atribuir ao utilizador ou grupo, como Visualizador do projeto.
  9. 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:

  1. Inicie sessão na consola do dispositivo isolado do GDC.
  2. Selecione um projeto.
  3. No menu de navegação, clique em Gestão de acesso.
  4. Na lista Membros autorizados, selecione um membro.
  5. Clique em Remover membro.
  6. Quando lhe for pedido, clique em Remover membro para confirmar.