Se connecter aux projets

Cette page explique comment accéder à vos charges de travail et ressources et les gérer dans Google Distributed Cloud (GDC) air-gapped. Il explique comment s'authentifier, générer des fichiers kubeconfig pour les ressources zonales et globales, et gérer l'inactivité des sessions. Comprendre ces processus permet d'assurer un accès sécurisé et fiable à vos projets et charges de travail.

Cette page s'adresse aux audiences appartenant au groupe des administrateurs de plate-forme (comme les administrateurs informatiques) ou au groupe des opérateurs d'applications (comme les développeurs d'applications) qui souhaitent utiliser les ressources GDC. Pour en savoir plus, consultez la documentation sur les audiences pour GDC en mode air-gapped.

Vous pouvez accéder aux charges de travail à l'aide de la console GDC, de la CLI gdcloud ou de la CLI kubectl.

Authentifier votre compte pour y accéder

Pour vous connecter à la console GDC ou à un cluster, procédez comme suit :

Console

Ouvrez l'URL suivante dans un nouvel onglet de navigateur pour accéder à l'interface utilisateur (UI) Distributed Cloud :

https://GDC_URL

Remplacez GDC_URL par le nom de domaine que vous utilisez pour accéder à Distributed Cloud et que l'opérateur d'infrastructure (IO) fournit. Lorsque vous ouvrez une URL pour la première fois, Distributed Cloud vous redirige vers la page de connexion de votre fournisseur d'identité si l'opérateur d'infrastructure (IO) a configuré la page.

Par exemple, l'image suivante se connecte à l'interface utilisateur de la console pour une organisation nommée org-1 :

Interface utilisateur de la console affichant l'écran d'accueil du projet org-1.

CLI

Lorsque vous vous connectez à gdcloud CLI, utilisez la commande gdcloud auth login pour authentifier un compte principal sur gdcloud CLI. gdcloud CLI utilise ce compte principal pour l'authentification et l'autorisation, afin de gérer les ressources et les services Google Cloud .

Avant de vous connecter, assurez-vous d'effectuer les actions suivantes :

  • Téléchargez le binaire gdcloud CLI et installez-le sur votre système. Pour en savoir plus, consultez Télécharger la gcloud CLI.
  • Configurez et initialisez la configuration par défaut de gdcloud CLI. Veillez à définir l'URL de l'organisation appropriée, qui est utilisée pour récupérer le point de terminaison de configuration de connexion. Pour en savoir plus, consultez Installation de gdcloud CLI.
  • Installez le plug-in d'authentification gdcloud-k8s-auth-plugin. Pour en savoir plus, consultez Authentification gcloud CLI.

Pour vous connecter à un serveur de l'API Management ou à un cluster Kubernetes, procédez comme suit :

  • Serveur de l'API Management :
  1. Exportez le chemin d'accès à l'emplacement où vous souhaitez stocker le fichier kubeconfig du serveur de l'API Management :

    export KUBECONFIG=MANAGEMENT_API_SERVER
    

    Remplacez MANAGEMENT_API_SERVER par le chemin d'accès au répertoire dans lequel stocker le fichier kubeconfig.

  2. Authentifiez votre instance gdcloud CLI pour vous connecter. Il existe deux façons de s'authentifier :

    • Connexion standard au navigateur : utilisez ce flux d'authentification lorsque vous vous connectez depuis un navigateur.

      gdcloud auth login
      
    • Connexion sur un appareil secondaire : utilisez ce flux d'authentification si votre appareil principal ne dispose pas de navigateur. Ce flux lance la connexion sur l'appareil principal sans accès au navigateur et la poursuit sur l'appareil secondaire qui a accès au navigateur.

      Lancez la connexion sur votre appareil principal sans navigateur :

      gdcloud auth login --no-browser
      

      La variable d'environnement KUBECONFIG est mise à jour avec les fichiers kubeconfig de tous les serveurs et clusters d'API de l'organisation. Si la variable KUBECONFIG n'est pas définie, l'CLI kubectl utilise le fichier kubeconfig par défaut stocké dans $HOME/.kube/config.

      Pour éviter de modifier les fichiers kubeconfig, ajoutez l'option --skip-kubeconfig-update à votre commande. Exemple :

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

      Copiez le résultat de la commande gdcloud CLI qui s'affiche, puis exécutez-le sur une machine ayant accès à un navigateur.

  3. Suivez les instructions sur la page Web pour terminer le processus de connexion.

    Une fois la connexion établie, le navigateur affiche le message Authentification réussie. Veuillez fermer cette fenêtre.

  4. Suivez les instructions sur le terminal. Une fois la connexion établie, le terminal affiche le message Vous êtes maintenant connecté.

  • Cluster Kubernetes :
  1. Authentifiez votre instance gdcloud CLI pour vous connecter. Il existe deux façons de s'authentifier :

    • Connexion standard au navigateur : utilisez ce flux d'authentification lorsque vous vous connectez depuis un navigateur.

      gdcloud auth login
      
    • Connexion sur un appareil secondaire : utilisez ce flux d'authentification si votre appareil principal ne dispose pas de navigateur. Ce flux lance la connexion sur l'appareil principal sans accès au navigateur et la poursuit sur l'appareil secondaire qui a accès au navigateur.

      1. Lancez la connexion sur votre appareil principal sans navigateur :

        gdcloud auth login --no-browser
        

        La commande du périphérique principal affiche une autre commande gdcloud que vous devez exécuter sur le périphérique secondaire à l'étape c.

      2. Répétez l'étape 1 pour télécharger le certificat sur l'appareil secondaire.

      3. Connectez-vous sur l'appareil secondaire en saisissant la commande imprimée sur l'appareil principal à l'étape a.

    Cette action ouvre un navigateur pour vous connecter au fournisseur d'identité (IdP) configuré. Indiquez le nom d'utilisateur et le mot de passe que vous avez définis lors de la configuration initiale de la gcloud CLI pour vous connecter.

  2. Exportez le fichier kubeconfig de votre identité utilisateur en tant que variable :

    export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  3. Générez un fichier kubeconfig avec votre identité utilisateur :

    gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE
    

    Remplacez ZONE par le nom de la zone.

    Un fichier kubeconfig est généré avec votre identité utilisateur. Le fichier YAML suivant en est un exemple :

    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. Pour vérifier que vous pouvez accéder au cluster, connectez-vous avec le fichier kubeconfig généré avec une identité utilisateur :

    kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
    

Se déconnecter

Pour vous déconnecter de la console GDC, procédez comme suit :

Console

Cliquez sur Se déconnecter dans la barre de menu.

CLI

Déconnectez-vous de la CLI :

gdcloud auth revoke

Générer manuellement le fichier kubeconfig

Si vous gérez des ressources avec l'CLI kubectl en appelant directement les API KRM, vous devez générer le fichier kubeconfig pour le cluster ou le serveur d'API qui héberge votre ressource, en fonction du type de ressource que vous gérez.

Vous devez également connaître la configuration de votre univers GDC pour déterminer les zones dans lesquelles vous prévoyez de déployer vos ressources zonales ou le serveur d'API global pour les ressources mondiales. Pour en savoir plus, consultez Serveurs d'API globaux et zonaux.

Déterminez si la ressource que vous manipulez est globale ou zonale. Si vous n'êtes pas sûr, consultez la documentation dédiée à la ressource pour obtenir de l'aide.

Effectuez la configuration applicable en fonction de votre type de ressource.

Ressources du serveur de l'API de gestion zonale

Pour générer votre fichier kubeconfig pour le serveur d'API Management zonale, procédez comme suit :

  1. Afficher toutes les zones disponibles :

    gdcloud zones list
    

    Notez le nom de la zone qui héberge votre ressource personnalisée.

  2. Définissez la variable d'environnement ZONE sur la zone qui héberge vos ressources zonales :

    export ZONE="ZONE"
    

    Remplacez ZONE par le nom de la zone.

  3. Définissez la variable d'environnement MANAGEMENT_API_SERVER :

    export MANAGEMENT_API_SERVER="ORG_NAME-admin"
    

    Remplacez ORG_NAME par le nom de votre organisation, par exemple org-1.

  4. Générez le fichier kubeconfig du serveur de l'API Management pour la zone cible et validez les identifiants :

    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"
    

    La commande rm ${KUBECONFIG:?} supprime le fichier kubeconfig existant dans le répertoire personnel. Lorsque vous générez un fichier kubeconfig, il écrase celui qui existe déjà. Si vous ne souhaitez pas écraser ni supprimer le fichier existant, sauvegardez-le dans un autre emplacement sécurisé.

Ressources de cluster Kubernetes zonal

Pour générer votre fichier kubeconfig pour le cluster Kubernetes zonal, procédez comme suit :

  1. Afficher toutes les zones disponibles :

    gdcloud zones list
    

    Notez le nom de la zone qui héberge votre ressource personnalisée.

  2. Définissez la variable d'environnement ZONE sur la zone qui héberge votre cluster Kubernetes :

    export ZONE="ZONE"
    

    Remplacez ZONE par le nom de la zone.

  3. Définissez la variable d'environnement KUBERNETES_CLUSTER :

    export KUBERNETES_CLUSTER="KUBERNETES_CLUSTER_NAME"
    

    Remplacez KUBERNETES_CLUSTER_NAME par le nom de votre cluster Kubernetes.

  4. Générez le fichier kubeconfig du cluster Kubernetes pour la variable de zone cible et validez les identifiants :

    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"
    

    La commande rm ${KUBECONFIG:?} supprime le fichier kubeconfig existant dans le répertoire personnel. Lorsque vous générez un fichier kubeconfig, il écrase celui qui existe déjà. Si vous ne souhaitez pas écraser ni supprimer le fichier existant, sauvegardez-le dans un autre emplacement sécurisé.

Ressources du serveur d'API mondial

Pour générer votre fichier kubeconfig pour le serveur d'API global, procédez comme suit :

  1. Définissez la variable d'environnement GLOBAL_API_SERVER :

    export GLOBAL_API_SERVER="global-api"
    
  2. Générez le fichier kubeconfig du serveur d'API global et validez les identifiants :

    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"
    

    La commande rm ${KUBECONFIG:?} supprime le fichier kubeconfig existant dans le répertoire personnel. Lorsque vous générez un fichier kubeconfig, il écrase celui qui existe déjà. Si vous ne souhaitez pas écraser ni supprimer le fichier existant, sauvegardez-le dans un autre emplacement sécurisé.

Déconnexion en cas d'inactivité de la session

Après 15 minutes ou plus d'inactivité dans une session, la console GDC et la CLI gdcloud vous déconnectent. Distributed Cloud considère l'inactivité de session comme une période pendant laquelle une session ouverte ne présente aucune activité de votre part, par exemple aucun mouvement de curseur ou de clavier. Une session active dure jusqu'à 12 heures avec l'activité de l'utilisateur.

Console

En cas d'inactivité de la session, la console GDC vous déconnecte. Deux minutes avant que la console GDC ne vous déconnecte pour inactivité, une boîte de dialogue vous avertit de la déconnexion :

Interface utilisateur de la console affichant une boîte de dialogue avec un minuteur de 99 secondes avant la déconnexion de l&#39;utilisateur pour inactivité.

Après vous avoir déconnecté pour cause d'inactivité, l'écran suivant s'affiche :

Interface utilisateur de la console affichant l&#39;écran de connexion avec une bannière contenant le texte suivant sur la déconnexion de la session : &quot;Vous avez été déconnecté du système, car votre session est restée inactive trop longtemps. Veuillez vous reconnecter ou contacter votre administrateur pour obtenir de l&#39;aide.&quot;

Pour vous reconnecter à la console GDC, sélectionnez votre fournisseur d'identité et ajoutez vos identifiants de connexion. Si vous utilisez un service, tel que le tableau de bord de surveillance, et que la console GDC vous déconnecte pour cause d'inactivité, reconnectez-vous pour y accéder.

gdcloud

La CLI gdcloud vous déconnecte en cas d'inactivité de la session. Après que la gdcloud CLI vous a déconnecté et que vous essayez d'exécuter une commande, vous recevez une erreur d'autorisation :

Error: error when creating kube client: unable to create k8sclient: Unauthorized

Pour vous reconnecter à GDC, suivez les étapes de la CLI décrites dans Se connecter.

Si vous vous reconnectez à GDC via un serveur API Management, votre fichier kubeconfig est automatiquement mis à jour. Pour éviter que votre fichier kubeconfig ne soit mis à jour, utilisez l'option --skip-kubeconfig-update dans la commande gdcloud auth login.

kubectl

La gdcloud CLI fait expirer vos fichiers kubeconfig après une période d'inactivité de la session. Si vous tentez d'exécuter une commande kubectl après une période d'inactivité, vous recevez une erreur d'autorisation :

error: You must be logged in to the server (Unauthorized)

Pour vous reconnecter et utiliser votre fichier kubeconfig, suivez les étapes de la CLI dans Se connecter. Pour chaque délai d'inactivité de session, vous devez régénérer vos fichiers kubeconfig.