Fazer login nos projetos

Esta página mostra como acessar e gerenciar suas cargas de trabalho e recursos no Google Distributed Cloud (GDC) isolado por air-gap. Ele descreve como autenticar, gerar arquivos kubeconfig para recursos zonais e globais e gerenciar a inatividade da sessão. Entender esses processos garante o acesso seguro e confiável aos seus projetos e cargas de trabalho.

Esta página é destinada a públicos-alvo no grupo de administradores de plataforma (como administradores de TI) ou no grupo de operadores de aplicativos (como desenvolvedores de aplicativos) que querem usar recursos do GDC. Para mais informações, consulte Públicos-alvo para documentação isolada do GDC.

É possível acessar cargas de trabalho usando o console do GDC, a CLI gdcloud ou a CLI kubectl.

Autenticar sua conta para acesso

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

https://GDC_URL

Substitua GDC_URL pelo nome de domínio usado para acessar o Distributed Cloud fornecido pelo operador de infraestrutura (IO). Ao abrir um URL pela primeira vez, o Distributed Cloud 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 imagem a seguir faz login na UI do console de uma organização chamada org-1:

Interface do console mostrando a tela de boas-vindas do projeto org-1.

CLI

Ao fazer login na CLI gdcloud, use o comando gdcloud auth login para autenticar um principal nela. A CLI gdcloud usa esse principal para autenticação e autorização ao gerenciar recursos e serviços do Google Cloud .

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 servidor da API Management ou em um cluster do Kubernetes, siga estas etapas:

  • Servidor da API Management:
  1. Exporte o caminho em que você quer armazenar o arquivo kubeconfig do servidor da API Management:

    export KUBECONFIG=MANAGEMENT_API_SERVER
    

    Substitua MANAGEMENT_API_SERVER pelo caminho para o diretório em que o arquivo kubeconfig será armazenado.

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

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

      Para pular a edição dos arquivos kubeconfig, adicione a flag --skip-kubeconfig-update ao comando. Exemplo:

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

      Copie a resposta ao comando da CLI gdcloud que é impressa e execute-a em uma máquina com acesso ao navegador.

  3. Siga as instruções na página da Web para concluir o processo de login.

    Após a conclusão do login, o navegador mostra a mensagem Autenticação concluída. Feche esta janela.

  4. Siga as instruções no terminal. Se o login for concluído, o terminal vai mostrar a mensagem: Você fez login.

  • Cluster do Kubernetes:
  1. 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.

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

      2. Repita a etapa 1 para fazer o download do certificado no dispositivo secundário.

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

  2. Exporte o arquivo kubeconfig da identidade do usuário como uma variável:

    export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  3. Gere um arquivo kubeconfig com sua identidade de usuário:

    gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
    

    Substitua ZONE pelo nome da zona.

    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
    
  4. 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 ou servidor de API que hospeda o recurso, dependendo do tipo de recurso que você está gerenciando.

Você também precisa conhecer a configuração do universo do GDC para determinar as zonas em que pretende implantar os recursos zonais ou o servidor de API global para recursos globais. Para mais informações, consulte Servidores de API globais e zonais.

Determine se o recurso que você está manipulando é global ou zonal. Consulte a documentação dedicada do recurso se tiver dúvidas.

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

Recursos do servidor da API Management zonal

Conclua as etapas a seguir para gerar o arquivo kubeconfig do servidor da API Management zonal:

  1. Para conferir todas as zonas disponíveis:

    gdcloud zones list
    

    Anote o nome da zona que hospeda seu recurso personalizado.

  2. Defina a variável de ambiente ZONE como a zona que hospeda 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 arquivo kubeconfig do servidor da API Management para a zona de destino 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 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 de cluster zonal do Kubernetes

Siga estas etapas para gerar o arquivo kubeconfig do cluster do Kubernetes zonal:

  1. Para conferir todas as zonas disponíveis:

    gdcloud zones list
    

    Anote o nome da zona que hospeda seu recurso personalizado.

  2. Defina a variável de ambiente ZONE como a zona que hospeda seu cluster do 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 cluster do Kubernetes.

  4. Gere o arquivo kubeconfig do cluster do Kubernetes para a variável de zona de destino 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 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 globais do servidor de API

Conclua as etapas a seguir para gerar o arquivo kubeconfig do servidor de API global:

  1. Defina a variável de ambiente GLOBAL_API_SERVER:

    export GLOBAL_API_SERVER="global-api"
    
  2. Gere o arquivo 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 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 Distributed Cloud 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:

A interface do console mostrando uma caixa de diálogo com um timer de 99 segundos antes de fazer logout do usuário por inatividade.

Depois de desconectar você por inatividade, a seguinte tela vai aparecer:

A interface do console mostra a tela de login com um banner contendo o texto sobre o logout da sessão: &quot;Você saiu do sistema porque sua sessão ficou inativa por muito tempo. Faça login novamente ou entre em contato com o administrador para receber ajuda.&quot;

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.

gdcloud

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 no GDC, siga as etapas da CLI em Fazer login.

Se você fizer login novamente no GDC por um servidor da API Management, o arquivo kubeconfig será atualizado automaticamente. Para evitar a atualização do arquivo kubeconfig, use a flag --skip-kubeconfig-update no comando gdcloud auth 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.