Commande CLI pour l'authentification des charges de travail

Utilisez l'interface de ligne de commande du client Okta Privileged Access pour des opérations autonomes et non interactives. Les charges de travail s'authentifient et récupèrent un jeton d'accès temporaire en exécutant la commande sft workload authenticate (sous l'alias sft wl auth), ce qui est essentiel pour les scripts d'automatisation et les pipelines CI/CD qui ne peuvent pas compter sur une intervention humaine. Vous pouvez vous authentifier à l'aide d'identifiants basés sur JWT ou de clés API, selon le type de connexion de votre charge de travail.

Avant de commencer

  • Vous avez le rôle d'administrateur DevOps ou d'ingénieur DevOps.

  • Pour l'authentification JWT : vous disposez d'un jeton d'identité de votre fournisseur de charge de travail et il est défini comme variable d'environnement.

  • Pour l'authentification par clé API : un administrateur de sécurité a généré une clé API pour la connexion de la charge de travail et vous l'a transmise par un canal sécurisé. Consultez Générer, effectuer une rotation et révoquer des clés API pour savoir comment les administrateur de sécurité créent des clés API.

Exemple d'utilisation de l'authentification de charge de travail JWT

Comme l'authentification de la charge de travail sft est non interactive, vous pouvez exporter son jeton en tant que variable d'environnement (OPA_TOKEN) pour l'utiliser dans des scripts.

  1. Définissez OPA_ADDR et SFT_TEAM dans une variable d'environnement.

    
    export OPA_ADDR=<URL>
    export SFT_TEAM=<my-team>
                   
  2. Exécutez la commande suivante pour configurer vos paramètres SSH en vue de l'authentification de la charge de travail.

    sft ssh-config >> ~/.ssh/config

    Une fois cette étape effectuée, les commandes natives SSH et SCP seront automatiquement acheminées par le proxy SFT sans nécessiter l'enveloppe sft ssh. Par exemple, scp <local-file> <hostname>:/remote/path.

  3. Exécutez la commande suivante pour obtenir l'OPA_TOKEN.

    OPA_TOKEN=$(sft wl authenticate \
    --team <my-team> \
    --connection <workload-connection-name> \
    --jwt-env <my-jwtnnnenv> \
    --role-hint <workload-role-name>)		
  4. Exécutez la commande suivante pour tester la configuration.

    sft ssh myhost --command "echo hello"

Exemple d'utilisation de l'authentification de la charge de travail par clé API

Pour les connexions de charge de travail configurées avec l'authentification par clé API, vous utilisez directement la clé API au lieu d'un JWT. L'administrateur de la sécurité fournit la clé API hors bande à l'ingénieur DevOps.

  1. Définissez OPA_ADDR et SFT_TEAM dans les variables d'environnement.

    
    export OPA_ADDR=<URL>
    export SFT_TEAM=<my-team>
                   
  2. Définissez la clé API en tant que variable d'environnement.

    
    export OPA_API_KEY_PROD=<your-api-key>
                   
  3. Exécutez la commande suivante pour obtenir l'OPA_TOKEN.

    export OPA_TOKEN=$(sft wl authenticate \
    --team <my-team> \
    --connection <workload-connection-name> \
    --role-hint <workload-role-name>)		
  4. Exécutez la commande suivante pour tester la configuration.

    sft ssh myhost --command "echo hello"