OIDCアプリのシークレットとキーを管理する

OIDCアプリのシークレットとキーの管理を使用すると、クライアントの認証方法を安全かつ効率的に管理できます。これらの設定では、以下を実行できます。

  • クライアントシークレットと公開鍵/秘密鍵のペアを選択し、Okta Admin Consoleから直接、すばやく生成します。これにより、APIやサードパーティーのWebサイトを使用して公開鍵と秘密鍵を生成する必要がなくなります。
  • Okta Admin Consoleで公開鍵のURIを指定して、Oktaが更新された公開鍵を自動的にフェッチできるようにします。これにより、キーペアをローテーションするときに、Okta Admin Consoleで公開鍵を手動で更新する必要がなくなります。
  • 2つのクライアントシークレットを同時に生成して、アプリケーションのダウンタイムなしに安全にローテーションします。1つのアプリに最大2つのクライアントシークレットを生成できます。これは[Client Secrets(クライアントシークレット)]セクションに一覧表示されます。このセクションで、クライアントシークレットを表示、コピー、非アクティブ化、および削除することができます。
  • クライアントシークレットと公開鍵/秘密鍵の認証方法を切り替えます。

Okta APIを使用して、これらのタスクを実行することもできます。「クライアントシークレットのローテーション」を参照してください。

開始する前に

OIDCアプリを構成するためのその他の設定を確認してください。「OIDCアプリ統合を作成する」を参照してください。

この手順を開始する

OAuthのシークレットとキーの管理では、次のタスクを実行できます。

Okta Admin Consoleから公開鍵/秘密鍵のペアを生成する

  1. [OIDC app(OIDCアプリ)]>[General(全般)]タブ >[Client Credentials(クライアントの認証情報)]>[Edit(編集)]に移動します。

  2. [Client Authentication(クライアント認証)]で、[Public Key / Private Key(公開鍵/秘密鍵)]を選択します。[Add Key(キーを追加)]ボタンが表示されます。

  3. [Add Key(キーを追加)]をクリックします。[Add a Public Key(公開鍵を追加)]ポップアップウィンドウが開きます。

  4. このウィンドウで、[Generate New Key(新しいキーを生成)]をクリックします。これにより、公開鍵と秘密鍵が生成されます。

  5. 後で参照できるように、秘密鍵を安全な場所にコピーします。秘密鍵はJSONまたはPEMのいずれかの形式でコピーできます。秘密鍵は、生成時に1回だけ表示されます。Oktaは秘密鍵を保存しません。

  6. [Done(完了)]をクリックします。[General(一般)]タブにリダイレクトされます。

  7. このタブで、[Save(保存)]をクリックします。

公開鍵は[General(一般)]タブに一覧表示されます。キーをクリックすると、JSON形式で表示されます。

Okta Admin Consoleから公開鍵を追加する

  1. [OIDC app(OIDCアプリ)]>[General(全般)]タブ >[Client Credentials(クライアントの認証情報)]>[Edit(編集)]に移動します。

  2. [Client Authentication(クライアント認証)]で、[Public Key / Private Key(公開鍵/秘密鍵)]を選択します。[Add Key(キーを追加)]ボタンが表示されます。

  3. [Add Key(キーを追加)]をクリックします。[Add a Public Key(公開鍵を追加)]ポップアップウィンドウが開きます。

  4. このウィンドウで、公開鍵をJSON形式で貼り付けます。

  5. [Done(完了)]をクリックします。[General(一般)]タブにリダイレクトされます。

  6. このタブで、[Save(保存)]をクリックします。

公開鍵は[General(一般)]タブに一覧表示されます。キーをクリックすると、JSON形式で表示されます。

Okta Admin Consoleから2番目のキーペアを追加する

  1. [OIDC app(OIDCアプリ)]>[General(全般)]タブ >[Public Keys(公開鍵)]>[Add(追加)]に移動します。[Add a Public Key(公開鍵を追加)]ポップアップウィンドウが開きます。

  2. このウィンドウで、公開鍵をJSON形式で貼り付けます。または、[Generate New Key(新しいキーを生成)]をクリックして、公開鍵と秘密鍵の新しいペアを生成します。後で参照できるように、秘密鍵を安全な場所にコピーします。秘密鍵は、生成時に1回だけ表示されます。Oktaは秘密鍵を保存しません。

  3. [Save(保存)]をクリックします。

新しい公開鍵は[General(一般)]タブに一覧表示されます。キーをクリックすると、JSON形式で表示されます。

URIを指定して公開鍵を自動更新する

Okta Admin Consoleで公開鍵を保存するURIを指定することで、OIDCアプリのprivate_key_jwtクライアント認証を構成できます。これにより、キーペアをローテーションするたびにOktaで公開鍵を手動で更新する必要がなくなります。OktaはOkta Admin Consoleで指定されたURIを使用して、アプリの最新の公開鍵を動的にフェッチします。

  1. [OIDC app(OIDCアプリ)]>[General(全般)]タブ >[Client Credentials(クライアントの認証情報)]>[Edit(編集)]に移動します。

  2. [Client Authentication(クライアント認証)]で、[Public Key / Private Key(公開鍵/秘密鍵)]を選択します。

  3. [Public Keys(公開鍵)]>[Configuration(構成)]で、[Use a URL to fetch keys dynamically(URLを使用してキーを動的にフェッチ)]を選択します。

  4. 公開鍵が保存されているURIを指定します。

  5. [Save(保存)]をクリックします。

2つ目のクライアントシークレットを作成してクライアントシークレットをローテーションする

認証にクライアントシークレットを使用している場合は、ローテーションに使用する2つ目のシークレットを生成できます。

  1. [OIDC app(OIDCアプリ)]>[General(全般)]タブ >[Client Credentials(クライアントの認証情報)]>[Edit(編集)]に移動します。

  2. [Client Secrets(クライアントシークレット)]で、[Generate new secret(新しいシークレットを生成)]ボタンをクリックします。新しいシークレットが生成され、[Client Secret(クライアントシークレット)]リストに表示されます。両方のシークレットがデフォルトでアクティブになります。

  3. [Save(保存)]をクリックします。

  4. 新しく生成されたシークレットを使用してサーバーを更新します。

  5. Okta Admin Consoleに戻り、古いシークレットのステータスを[Inactive(非アクティブ)]に設定します。非アクティブなシークレットを削除することもできます。

クライアント認証方法を変更する

クライアントシークレットと公開鍵/秘密鍵を切り替えることができます。

  • 公開鍵/秘密鍵からクライアントシークレットに切り替えると、アプリのキーペアが削除されます。
  • クライアントシークレットから公開鍵/秘密鍵に切り替えた場合は、アプリのすべてのクライアントシークレットが削除されます。
  • 公開鍵をOktaで保存するのではなくURLからフェッチするように切り替えると、Oktaに保存されている公開鍵は削除されます。