Iniciar sessão

Esta página aborda como aceder e gerir as suas cargas de trabalho e recursos no Google Distributed Cloud (GDC) isolado. Descreve como autenticar, gerar ficheiros kubeconfig para recursos zonais e globais, 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.

Esta página destina-se a públicos-alvo no grupo de administradores da plataforma (como administradores de TI) ou no grupo de operadores da aplicação (como programadores de aplicações) que querem usar recursos do GDC. Para mais informações, consulte a documentação sobre públicos-alvo para GDC com isolamento de ar.

Pode aceder às cargas de trabalho através da consola do GDC, da CLI gdcloud ou da CLI kubectl.

Autentique a sua conta para aceder

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) da Distributed Cloud:

https://GDC_URL

Substitua GDC_URL pelo nome do domínio que usa para aceder ao Distributed Cloud fornecido pelo operador de infraestrutura (IO). Quando abre qualquer URL pela primeira vez, o Distributed Cloud redireciona-o para a página de início de sessão do seu fornecedor de identidade se o operador de infraestrutura (IO) tiver configurado a página.

Por exemplo, a imagem seguinte inicia sessão na IU da consola para uma organização denominada org-1:

IU da consola que mostra o ecrã de boas-vindas do projeto org-1.

CLI

Quando inicia sessão na CLI gdcloud, use o comando gdcloud auth login para autenticar um principal na CLI gdcloud. A CLI gdcloud usa esse principal para autenticação e autorização para gerir recursos e serviços do Google Cloud. Google Cloud

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 Autenticação da CLI gcloud.

Para iniciar sessão num servidor da API Management ou num cluster do Kubernetes, conclua os seguintes passos:

  • Servidor da API Management:
  1. Exporte o caminho onde quer armazenar o ficheiro kubeconfig do servidor da API Management:

    export KUBECONFIG=MANAGEMENT_API_SERVER
    

    Substitua MANAGEMENT_API_SERVER pelo caminho para o diretório onde armazenar o ficheiro kubeconfig.

  2. Autentique a sua instância da CLI gcloud para iniciar sessão. Existem duas formas de autenticação:

    • Início 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 a sessão no dispositivo principal sem acesso ao navegador e continua a 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-browser
      

      A variável de ambiente KUBECONFIG é atualizada com os ficheiros kubeconfig para todos os servidores de API e clusters na organização. Se a variável KUBECONFIG não estiver definida, a CLI kubectl usa o ficheiro kubeconfig predefinido armazenado em $HOME/.kube/config.

      Para ignorar a edição dos ficheiros kubeconfig, adicione a flag --skip-kubeconfig-update ao comando. Por exemplo:

      gdcloud auth login --no-browser --skip-kubeconfig-update
      

      Copie o resultado do comando da CLI gcloud que é impresso e execute-o numa máquina com acesso ao navegador.

  3. Siga as instruções na página Web para concluir o processo de início de sessão.

    Após a conclusão com êxito do início de sessão, o navegador apresenta a mensagem Autenticação bem-sucedida. Feche esta janela.

  4. Siga as instruções no terminal. Se o início de sessão for bem-sucedido, o terminal apresenta a mensagem: Tem sessão iniciada.

  • Cluster do Kubernetes:
  1. Autentique a sua instância da CLI gcloud para iniciar sessão. Existem duas formas de autenticação:

    • Início 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 a sessão no dispositivo principal sem acesso ao navegador e continua a 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 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 da identidade do utilizador como uma variável:

    export KUBECONFIG=/tmp/CLUSTER_NAME-ZONE-kubeconfig-with-user-identity.yaml
    
  3. Gere um ficheiro kubeconfig para um cluster zonal com a sua identidade de utilizador:

    gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
    

    Substitua ZONE pelo nome da zona.

    É gerado um ficheiro kubeconfig com a sua identidade de utilizador. O seguinte ficheiro YAML 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 ou o servidor da API que aloja o seu recurso, consoante o tipo de recurso que está a gerir.

Também tem de conhecer a configuração do universo GDC para determinar as zonas nas quais pretende implementar os seus recursos zonais ou o servidor da API global para recursos globais. Para mais informações, consulte o artigo Servidores de API globais e zonais.

Determine se o recurso que está a manipular é um recurso global ou zonal. Visite a documentação dedicada do recurso para obter ajuda se não tiver a certeza.

Conclua a configuração aplicável com base no tipo de recurso.

Recursos do servidor da API Zonal Management

Conclua os passos seguintes para gerar o ficheiro kubeconfig para o servidor da API Management zonal:

  1. Veja todas as zonas disponíveis:

    gdcloud zones list
    

    Tenha em atenção o nome da zona que aloja o seu recurso personalizado.

  2. Defina a variável de ambiente ZONE para a zona que aloja os seus recursos zonais:

    export ZONE="ZONE"
    

    Substitua ZONE pelo nome da zona.

  3. Defina a variável de ambiente MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER="ORG_NAME-admin"
    

    Substitua ORG_NAME pelo nome da sua organização, como org-1.

  4. Gere o ficheiro kubeconfig do servidor da API Management para a zona segmentada e valide as credenciais:

    export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} --zone ${ZONE:?}
    [[ $(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 de cluster do Kubernetes zonais

Conclua os passos seguintes para gerar o ficheiro kubeconfig para o cluster do Kubernetes zonal:

  1. Veja todas as zonas disponíveis:

    gdcloud zones list
    

    Tenha em atenção o nome da zona que aloja o seu recurso personalizado.

  2. Defina a variável de ambiente ZONE para a zona que aloja o seu cluster Kubernetes:

    export ZONE="ZONE"
    

    Substitua ZONE pelo nome da zona.

  3. Defina a variável de ambiente KUBERNETES_CLUSTER:

    export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
    

    Substitua KUBERNETES_CLUSTER_NAME pelo nome do seu cluster do Kubernetes.

  4. Gere o ficheiro kubeconfig do cluster Kubernetes para a variável de zona segmentada e valide as credenciais:

    export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} --zone ${ZONE:?}
    [[ $(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.

Recursos do servidor da API global

Conclua os passos seguintes para gerar o ficheiro kubeconfig para o servidor de API global:

  1. Defina a variável de ambiente GLOBAL_API_SERVER:

    export GLOBAL_API_SERVER="global-api"
    
  2. Gere o ficheiro kubeconfig do servidor da API global e valide as credenciais:

    export KUBECONFIG=${HOME}/${GLOBAL_API_SERVER:?}-kubeconfig.yaml
    rm ${KUBECONFIG:?}
    gdcloud clusters get-credentials ${GLOBAL_API_SERVER:?}
    [[ $(kubectl config current-context) == *${GLOBAL_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.

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. A nuvem distribuída 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.

gdcloud

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 no GDC, siga os passos da CLI em Iniciar sessão.

Se iniciar sessão novamente no GDC através de um servidor da API de gestão, o ficheiro kubeconfig é atualizado automaticamente. Para evitar a atualização do ficheiro kubeconfig, use a flag --skip-kubeconfig-update no comando gdcloud auth login.

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.

Monitorize as atividades de início de sessão e de novos utilizadores

As atividades, como iniciar sessão, são exportadas como registos de auditoria. Para mais informações sobre como ver registos de auditoria, consulte o artigo Registos de auditoria.