ワークロード接続を構成する
ワークロード接続は、Okta Privileged Accessとワークロードのアイデンティティソースとの間に関係を確立するトラストアンカーです。認証方法は、JWTベースの認証(GitHub、GitLab、CircleCIなどの外部のアイデンティティプロバイダーを使用)とAPIキーベースの認証(セキュリティ管理者が管理するシークレットを使用)の2種類から選択できます。
JWT接続の場合、職務分掌セキュリティモデルが適用されます。つまり、DevOps管理者がドラフトモードで接続を構成・テストし、セキュリティ管理者が最終レビューを行って接続をアクティブステータスに昇格させ、ライブトークンの発行を可能にします。APIキー接続の場合、セキュリティ管理者が接続の作成・管理を行います。
JWT接続の場合、汎用的なJWT構成または特定のプロバイダー統合のいずれかを使用できます。特定の統合では、事前定義されたフィールドを使って、合理化されたセットアップエクスペリエンスが提供されますが、基盤となるセキュリティメカニズムは変わりません。どちらの方法でも、標準のJSON Web Token(JWT)がワークロードIDのドキュメントとして使用されるため、検証を成功させるにはJWKS URLや必須クレームなど、同じコアセキュリティ要素が必要です。
開始する前の確認事項
-
JWTワークロード接続の場合、ドラフトワークロード接続を作成するにはDevOps管理者ロールが必要です。この接続を有効または無効にするには、セキュリティ管理者ロールが必要です。
-
APIキーワークロード接続の場合、接続を作成、管理、有効にするにはセキュリティ管理者ロールが必要です。
-
JWT接続の場合、次のいずれかのJWT統合方法を使用できます。
-
汎用JWT:JWTを検証し、ワークロードを識別するために、JWKS検証ソースを入力して必要なクレーム(
iss、aud、subなど)をすべて指定しなければなりません。検証ソースはJWKS URL、または直接貼り付けまたはアップロードする静的JWKSコンテンツのいずれかです。 -
特定のプロバイダー:Oktaのユーザーインターフェイスには、事前構成されたフィールドとプロバイダー固有のJWT構造のネイティブサポートが用意されています。CircleCIの組織IDなど、一般的な識別子を入力すると、必要なクレーム(と場合によってはJWKS URL)が自動的に書き込まれます。
-
汎用JWTのワークロード接続を作成する
-
Okta Privileged Accessダッシュボードで、に移動します。
-
ワークロード接続を作成する(Create Workload Connection)をクリックします。
-
汎用JWT(Generic JWT)をクリックします。
-
以下の詳細を完了します。
設定 アクション 接続名 URLに分かりやすい一意の名前を入力します。 接続の説明
説明を入力します。
トークンの存続時間(TTL)を選択する
数量(Amount)と単位(Unit)を入力します。これらは、Okta Privileged Accessアクセストークンが発行されてから有効な期間を定義します。
JWTセットアップ情報
Okta Privileged AccessがプロバイダーのJWT署名を検証するための公開鍵を取得する方法を選択します。次のタブのいずれかを選択します。
-
JWKS URL: Okta Privileged Accessが実行時に公開鍵を取得するURLを入力します。
-
貼り付け/アップロード(Paste/Upload):JWKS JSONをフィールドに直接貼り付けるか、アップロードするファイルを選択します。このファイルの内容はブラウザで読み取られ、サーバーにはアップロードされません。入力は、少なくとも1つのキーを含む
keys配列を持つ完全なJWKS JSONオブジェクトでなければなりません。
注:接続の作成後に検証ソースを変更することはできません。編集(Edit)を選択すると、貼り付け/アップロード(Paste/Upload)接続のJWKSコンテンツをいつでも更新できます。
必須クレーム
ワークロードのJWTで満たす必要がある基準を定義します。Oktaは、デバッグスクリプトまたはjwt.ioを使用してJWTを調べることを推奨します。
-
ソースフィールド名(Source Field Name)を入力します。
-
演算子タイプを選択します。
-
等しい(Equals)
-
次で始まる:
-
存在する(Exists)
存在する(Exists)を選択した場合、値(Value)を入力する必要はありません。
-
-
値(Value)を入力します。
-
任意。条件を追加(Add a condition)をクリックして上記の手順を繰り返します。
-
-
ワークロード接続を作成する(Create Workload Connection)をクリックします。
プロバイダー固有のワークロード接続を作成する
-
Okta Privileged Accessダッシュボードで、に移動します。
-
ワークロード接続を作成する(Create Workload Connection)をクリックします。
-
接続タイプを選択し、プロバイダー固有のフィールドに入力してから、次へ(Next)をクリックします。
接続タイプ フィールド Azureのマネージド ID(Azure Managed Identity)
AzureのテナントID(Azure Tenant ID)を入力します。
CiecleCI
- 組織ID(Organization ID)を入力します。
- 任意。 プロジェクトIDにスコープする(Scope to Project ID)を選択し、 IDを入力します。
GitHubアクション(GitHub Actions)
GitHub オーナー(GitHub Owner)を入力します。
GitLab
- ドメイン(Domain)の名前を入力します。
- 任意。 グループ名にスコープする(Scope to Group name)を選択し、グループ名を入力します。
- 任意。 プロジェクト名にスコープする(Scope to Project Name)を選択し、プロジェクト名を入力します。
- 任意。 プロジェクトIDにスコープする(Scope to Project ID)を選択し、プロジェクトIDを入力します。
Google Cloud Provider
- アプリクライアントID(App Client ID) を入力します。
- 任意。メールへのスコープ(Scope to Email)を選択してから、メールを入力します。
- 任意。アカウントIDへのスコープ(Scope to Account ID)を選択してから、アカウントIDを入力します。
Kubernetes
クラスター発行元URL(Cluster Issuer URL)を入力します。
Azure DevOps
Azure DevOps組織ID(Azure DevOps Organization ID)を入力します。
Buildkite
Buildkite組織スラッグ(Buildkite Organization Slug)を入力します。
Harness
Harnessクラスター(Harness cluster)およびHarnessアカウントID(Harness Account ID)]を入力します。
Jenkins
JenkinsベースURL(Jenkins Base URL)を入力します。
Pulumi ESC
PulumiのOrg名(Pulumi Org Name)を入力します。
-
以下の詳細を完了します。
設定 アクション 接続名 URLに分かりやすい一意の名前を入力します。 接続の説明
説明を入力します。
トークンの存続時間(TTL)を選択する
数量(Amount)と単位(Unit)を入力します。これらは、Okta Privileged Accessアクセストークンが発行されてから有効な期間を定義します。
JWTセットアップ情報
JWKS URLタブで、Okta Privileged Accessが実行時に公開鍵を取得するURLを入力します。
必須クレーム
ワークロードのJWTで満たす必要がある基準を定義します。Oktaは、デバッグスクリプトまたはjwt.ioを使用してJWTを調べることを推奨します。
-
ソースフィールド名(Source Field Name)を入力します。
-
演算子タイプを選択します。
-
等しい(Equals)
-
次で始まる:
-
存在する(Exists)
存在する(Exists)を選択した場合、値(Value)を入力する必要はありません。
-
-
値(Value)を入力します。
-
任意。条件を追加(Add a condition)をクリックして上記の手順を繰り返します。
-
-
ワークロード接続を作成する(Create Workload Connection)をクリックします。
APIキーワークロード接続を作成する
APIキーワークロード接続を使用すると、ワークロードはJWTの代わりにマネージドAPIキーを使用して認証できます。この方法は、非クラウドワークロードや、フェデレーションされたIDプロバイダーが利用できない場合に最適です。APIキー接続を作成できるのはセキュリティ管理者のみです。
-
Okta Privileged Accessダッシュボードで、に移動します。
-
ワークロード接続を作成する(Create Workload Connection)をクリックします。
-
APIキー(API Key)をクリックします。
-
以下の詳細を完了します。
設定 アクション 接続名 URLに分かりやすい一意の名前を入力します。 接続の説明
説明を入力します。
トークンの存続時間(TTL)を選択する
数量(Amount)と単位(Unit)を入力します。これらは、Okta Privileged Accessアクセストークンが発行されてからの有効な期間を定義します。
-
ワークロード接続を作成する(Create Workload Connection)をクリックします。
JWTワークロード接続とは異なり、APIキー接続にはドラフトフェーズがありません。接続はアクティブなステータスで直接作成され、すぐにキー生成の準備ができます。APIキー接続の作成、変更、削除はセキュリティ管理者のみが行えます。
ワークロード接続を管理する
DevOps管理者がテストの完了を確認した後、セキュリティ管理者が接続を昇格させます。
-
Okta Privileged Accessダッシュボードで、に移動します。
-
管理したいワークロード接続を選択します。
-
アクション(Actions)をクリックし、編集(Edit)、アクティブ化(Activate)、または非アクティブ化(Deactivate)を選択します。
-
ワークロード接続をアクティブ化する(Activate workload connection)をクリックします。
ワークロード接続がアクティブ(Active)に昇格すると、DevOps管理者は接続の管理者権限を失い、接続は直ちに有効なOkta Privileged Accessアクセストークンの発行を開始できます。セキュリティ管理者は、引き続き、接続のステータスをアクティブ(Active)と非アクティブ(Inactive)の間で切り替えることができます。
関連項目