ワークロード接続を構成する
ワークロード接続は、 Okta Privileged Accessと外部のIDプロバイダー(GitHub、GitLab、CircleCIなど)間の関係を確立するトラストアンカーです。このセットアップでは、職務分掌セキュリティモデルを採用しています。DevOps管理者がドラフトモードで接続を構成してテストし、セキュリティ管理者が最終レビューを行って接続をアクティブ状態に昇格させ、ライブトークンの発行を可能にします。
この信頼関係は、汎用的なJWT構成または特定のプロバイダーとの統合のいずれかを使用して確立できます。特定の統合では事前定義されたフィールドが用意されているため、より効率的にセットアップできますが、基盤となるセキュリティメカニズムは同じです。どちらの方法もワークロードIDドキュメントとして標準のJSON Web Token(JWT)を使用し、検証を成功させるには、JWKS URLや必須クレームなど、同じコアセキュリティ要素が必要です。
開始する前の確認事項
-
ドラフトワークロード接続を作成するには、DevOps管理者ロールが必要です。
-
ワークロード接続をアクティブ化または非アクティブ化するには、セキュリティ管理者ロールが必要です。
-
次のいずれかのJWT統合方法を使用できます。
-
汎用JWT:JWTを検証しワークロードを識別するには、JWKS URLを指定し、必要なクレーム(iss、aud、subなど)をすべて指定する必要があります。
-
特定のプロバイダー:Oktaのユーザーインターフェイスには、プロバイダー固有のJWT構造に対応した事前構成済みのフィールドとネイティブサポートが用意されています。CircleCIの組織IDなどの一般的な識別子を入力すると、Oktaは必要なクレームと、場合によってはJWKS URLを自動入力します。
-
汎用JWTでワークロード接続を作成する
-
Okta Privileged Accessダッシュボードで、に移動します。
-
[Create Workload Connection(ワークロード接続を作成)]をクリックします。
-
[Generic JWT(汎用JWT)]をクリックします。
-
以下の詳細を完了します。
-
[Source Field Name(ソースフィールド名)]を入力します。
-
演算子タイプを選択します。
-
等しい
-
次で始まる:
-
[Exists(存在する)]
[Exists(存在する)]を選択した場合、[Value(値)]を入力する必要はありません。
-
-
[Value(値)]を入力します。
-
任意。[Add a condition(条件を追加)]をクリックして上記の手順を繰り返します。
-
[Create Workload Connection(ワークロード接続を作成)]をクリックします。
| 設定 | アクション |
|---|---|
| 接続名 | URLとして分かりやすい一意の名前を入力します。 |
|
接続の説明 |
説明を入力します。 |
|
トークンの存続時間(TTL)の選択 |
[Amount(数値)]と[Unit(単位)]を入力します。これらは、Okta Privileged Accessアクセストークンが発行されてから有効な期間を定義します。 |
|
JWKS URL |
JWKS URLを入力します。このURLは、Okta Privileged AccessがJWTのプロバイダーの署名を検証するための公開鍵を取得する場所です。 |
|
必須クレーム |
ワークロードのJWTで満たす必要がある基準を定義します。Oktaは、デバッグスクリプトまたは jwt.ioを使用してJWTを検査することを推奨します。 |
CircleCIのワークロード接続を作成する
-
Okta Privileged Accessダッシュボードで、に移動します。
-
[CircleCI]をクリックします。
-
[Organization ID(組織ID)]を入力します。
-
任意。[Scope to Project ID(プロジェクトIDのスコープ)]を選択し、IDを入力します。
-
[Next(次へ)]をクリックします。
-
以下の詳細を完了します。
設定 アクション 接続名 URLとして分かりやすい一意の名前を入力します。 接続の説明
説明を入力します。
トークンの存続時間(TTL)の選択
[Amount(数値)]と[Unit(単位)]を入力します。これらは、Okta Privileged Accessアクセストークンが発行されてから有効な期間を定義します。
JWKS URL
JWKS URLを入力します。このURLは、Okta Privileged AccessがJWTのプロバイダーの署名を検証するための公開鍵を取得する場所です。
必須クレーム
ワークロードのJWTで満たす必要がある基準を定義します。Oktaは、デバッグスクリプトまたは jwt.ioを使用してJWTを検査することを推奨します。
-
[Source Field Name(ソースフィールド名)]を入力します。
-
演算子タイプを選択します。
-
等しい
-
次で始まる:
-
[Exists(存在する)]
[Exists(存在する)]を選択した場合、[Value(値)]を入力する必要はありません。
-
-
[Value(値)]を入力します。
-
任意。[Add a condition(条件を追加)]をクリックして上記の手順を繰り返します。
-
-
[Create Workload Connection(ワークロード接続を作成)]をクリックします。
GitLabのワークロード接続を作成する
-
Okta Privileged Accessダッシュボードで、に移動します。
-
[GitLab]をクリックします。
-
[Domain(ドメイン)]名を入力します。
-
任意。[Scope to Group name(グループ名のスコープ)]を選択し、グループ名を入力します。
-
任意。[Scope to Project Name(プロジェクト名のスコープ)]を選択し、プロジェクト名を入力します。
-
任意。[Scope to Project ID(プロジェクトIDのスコープ)]を選択し、プロジェクトIDを入力します。
-
[Next(次へ)]をクリックします。
-
以下の詳細を完了します。
設定 アクション 接続名 URLとして分かりやすい一意の名前を入力します。 接続の説明
説明を入力します。
トークンの存続時間(TTL)の選択
[Amount(数値)]と[Unit(単位)]を入力します。これらは、Okta Privileged Accessアクセストークンが発行されてから有効な期間を定義します。
JWKS URL
JWKS URLを入力します。このURLは、Okta Privileged AccessがJWTのプロバイダーの署名を検証するための公開鍵を取得する場所です。
必須クレーム
ワークロードのJWTで満たす必要がある基準を定義します。Oktaは、デバッグスクリプトまたは jwt.ioを使用してJWTを検査することを推奨します。
-
[Source Field Name(ソースフィールド名)]を入力します。
-
演算子タイプを選択します。
-
等しい
-
次で始まる:
-
[Exists(存在する)]
[Exists(存在する)]を選択した場合、[Value(値)]を入力する必要はありません。
-
-
[Value(値)]を入力します。
-
任意。[Add a condition(条件を追加)]をクリックして上記の手順を繰り返します。
-
-
[Create Workload Connection(ワークロード接続を作成)]をクリックします。
Google Cloud Providerのワークロード接続を作成する
-
Okta Privileged Accessダッシュボードで、に移動します。
-
[Google Cloud Provider]をクリックします。
-
[App Client ID(アプリクライアントID)]名を入力します。
-
任意。[Scope to Email(メールのスコープ)]を選択し、グループ名を入力します。
-
任意。[Scope to Account ID(アカウントIDのスコープ)を選択し、プロジェクトIDを入力します。
-
[Next(次へ)]をクリックします。
-
以下の詳細を完了します。
設定 アクション 接続名 URLとして分かりやすい一意の名前を入力します。 接続の説明
説明を入力します。
トークンの存続時間(TTL)の選択
[Amount(数値)]と[Unit(単位)]を入力します。これらは、Okta Privileged Accessアクセストークンが発行されてから有効な期間を定義します。
JWKS URL
JWKS URLを入力します。このURLは、Okta Privileged AccessがJWTのプロバイダーの署名を検証するための公開鍵を取得する場所です。
必須クレーム
ワークロードのJWTで満たす必要がある基準を定義します。Oktaは、デバッグスクリプトまたは jwt.ioを使用してJWTを検査することを推奨します。
-
[Source Field Name(ソースフィールド名)]を入力します。
-
演算子タイプを選択します。
-
等しい
-
次で始まる:
-
[Exists(存在する)]
[Exists(存在する)]を選択した場合、[Value(値)]を入力する必要はありません。
-
-
[Value(値)]を入力します。
-
任意。[Add a condition(条件を追加)]をクリックして上記の手順を繰り返します。
-
-
[Create Workload Connection(ワークロード接続を作成)]をクリックします。
ワークロード接続を管理する
DevOps管理者がテストの完了を確認すると、セキュリティ管理者が接続を昇格させます。
-
Okta Privileged Accessダッシュボードで、に移動します。
-
管理するワークロード接続を選択します。
-
[Actions(アクション)]をクリックし、[Edit(編集)]、[Activate(アクティブ化)]または[Deactivate(非アクティブ化)]を選択します。
-
[Activate workload connection(ワークロード接続をアクティブ化)]をクリックします。
ワークロード接続が[Active(アクティブ)]に昇格すると、DevOps管理者は接続の管理者権限を失い、接続はすぐに有効なOkta Privileged Accessアクセストークンの発行を開始できるようになります。セキュリティ管理者は、接続状態を[Active(アクティブ)]と[Inactive(非アクティブ)] の間で切り替える能力を保持します。
