ワークロード認証のCLIコマンド

インタラクティブでない自律型の操作には、 Okta Privileged Access クライアントCLIを使用します。ワークロードは、 sft workload authenticateコマンド (別名 sft wl auth)を実行することで一時的なアクセストークンを認証し、取得します。これは、人間の介入に依存できない自動化スクリプトやCI/CDパイプラインに不可欠です。ワークロードの接続タイプに応じて、JWTベースの資格情報またはAPIキーのいずれかを使用して認証できます。

開始する前の確認事項

  • DevOps管理者またはDevOpsエンジニアのロールを持っている。

  • JWT認証の場合(For JWT authentication):ワークロードプロバイダーからIDトークンを取得し、環境変数にASとして設定している。

  • APIキー認証の場合(For API key authentication):セキュリティ管理者がワークロード接続用のAPIキーを生成し、安全なチャネルを通じて配信されている。セキュリティ管理者がAPIキーを作成する方法の詳細については、「APIキーの生成、ローテーション、および取り消し」を参照してください。

JWTワークロード認証の使用例

sftワークロード認証はインタラクティブではないため、そのトークンをスクリプトで使用する環境変数(OPA_TOKEN)としてエクスポートできます。

  1. 環境変数のOPA_ADDRSFT_TEAMを設定します。

    
    export OPA_ADDR=<URL>
    export SFT_TEAM=<my-team>
                   
  2. 次のコマンドを実行して、ワークロード認証のSSH設定を構成します。

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

    この手順が完了すると、ネイティブSSHおよびSCPコマンドは、sft sshラッパーを必要とすることなく、自動的にSFTプロキシを介してルーティングされます。例:scp <local-file> <hostname>:/remote/path

  3. 次のコマンドを実行して OPA_TOKENを取得します。

    OPA_TOKEN=$(sft wl authenticate \
    --team <my-team> \
    --connection <workload-connection-name> \
    --jwt-env <my-jwtnnnenv> \
    --role-hint <workload-role-name>)		
  4. 次のコマンドを実行して、構成をテストします。

    sft ssh myhost --command "echo hello"

APIキーワークロード認証の使用例

APIキー認証で構成されたワークロード接続では、JWTの代わりにAPIキーを直接使用します。セキュリティ管理者はAPIキーを帯域外でDevOpsエンジニアに配信します。

  1. 環境変数のOPA_ADDRSFT_TEAMを設定します。

    
    export OPA_ADDR=<URL>
    export SFT_TEAM=<my-team>
                   
  2. APIキーを環境変数として設定します。

    
    export OPA_API_KEY_PROD=<your-api-key>
                   
  3. 次のコマンドを実行して OPA_TOKENを取得します。

    export OPA_TOKEN=$(sft wl authenticate \
    --team <my-team> \
    --connection <workload-connection-name> \
    --role-hint <workload-role-name>)		
  4. 次のコマンドを実行して、構成をテストします。

    sft ssh myhost --command "echo hello"