ワークロード認証の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)としてエクスポートできます。
-
環境変数の
OPA_ADDRとSFT_TEAMを設定します。export OPA_ADDR=<URL>export SFT_TEAM=<my-team> -
次のコマンドを実行して、ワークロード認証のSSH設定を構成します。
sft ssh-config >> ~/.ssh/configこの手順が完了すると、ネイティブSSHおよびSCPコマンドは、
sft sshラッパーを必要とすることなく、自動的にSFTプロキシを介してルーティングされます。例:scp <local-file> <hostname>:/remote/path。 -
次のコマンドを実行して
OPA_TOKENを取得します。OPA_TOKEN=$(sft wl authenticate \ --team <my-team> \ --connection <workload-connection-name> \ --jwt-env <my-jwtnnnenv> \ --role-hint <workload-role-name>) -
次のコマンドを実行して、構成をテストします。
sft ssh myhost --command "echo hello"
APIキーワークロード認証の使用例
APIキー認証で構成されたワークロード接続では、JWTの代わりにAPIキーを直接使用します。セキュリティ管理者はAPIキーを帯域外でDevOpsエンジニアに配信します。
-
環境変数の
OPA_ADDRとSFT_TEAMを設定します。export OPA_ADDR=<URL>export SFT_TEAM=<my-team> -
APIキーを環境変数として設定します。
export OPA_API_KEY_PROD=<your-api-key>注:APIキーは作成時に一度だけ表示され、
opakey_プレフィックスが含まれます。このキーは安全に保管し、パスワードと同様に慎重に取り扱ってください。キーを紛失した場合は、セキュリティ管理者に新しいキーをリクエストしてください。 -
次のコマンドを実行して
OPA_TOKENを取得します。export OPA_TOKEN=$(sft wl authenticate \ --team <my-team> \ --connection <workload-connection-name> \ --role-hint <workload-role-name>)注:APIキー認証を使用する場合、
--jwt-envフラグは不要です。このコマンドは、前のステップで設定したOPA_API_KEY_PROD環境変数を自動的に使用します。 -
次のコマンドを実行して、構成をテストします。
sft ssh myhost --command "echo hello"