オープンバンキング向けアプリケーションAPIへのアクセスにおける「 OpenID Connect」および「 OpenID Connect」の管理
開発者が 1 つ以上の Verify 機能を使用するアプリケーションを構築する場合、アプリケーションには適切な Verify API を呼び出す資格がなければなりません。 社内アプリケーションを APIアクセスで APIクライアントとして登録し、一意のクライアントIDとシークレットを割り当てます。
始める前に
- このタスクを完了するには管理者権限が必要です。
- IBM® Verify 管理者として管理コンソールにログインしてください。
このタスクについて
編集オプションを使用して、OpenID Connect for Open Bankingアプリケーションを作成するとき、または後で作成するときに、APIアクセス権限を付与できます。 アプリケーション用に API クライアントを作成できます。各 API クライアントは、異なる API アクセス資格のセットを所有できます。
また、IP フィルターを実装することで、トークンの発行および使用を特定の IP アドレス範囲に制限したり、特定の IP アドレス範囲を除外したりすることもできます。
手順
- 「アプリケーション 」>「 アプリケーション」 を選択します。
- 「アプリケーションを追加」 を選択します。
- 「 OpenID Connect 」または「 OpenID Connect」をオープンバンキングのアプリとして選択し、 「アプリを追加」 を選択します。
- 「APIへのアクセス」 を選択します。
- アプリケーションAPIクライアントを作成します。
- 「APIクライアントを追加」 を選択します。
- API クライアントについて、以下の情報を指定します。
表 1. アプリケーションAPIクライアント フィールド 設定 名前 API クライアントの名前を指定します 注: 使用できるのは英数字および以下の特殊文字のみです:- -
- .
- _
有効 API クライアントが有効か無効かを示します。 デフォルト設定では、有効になっています。 対応の API クライアントは、アクセス権限のある API を呼び出すことができます。
無効化されたAPIクライアントは
、アクセス権限を持つAPIを含め、いかなるAPIも呼び出すことができません。
クライアント ID API クライアントの固有 ID。
この情報は自動的に生成され、API クライアントの保存後に「API クライアント」リストに表示されます。
クライアント秘密鍵 API クライアントの ID を確認するために、クライアント ID と共に使用されます。
この秘密鍵は、アプリケーションおよび許可サーバーのみが知っている必要があります。
この情報は、API クライアントの保存後に自動的に生成されます。
クライアント認証方式 Verifyは、以下のクライアント認証方式をサポートします。 - デフォルト
- クライアント秘密鍵 Basic
- クライアント秘密鍵 POST
- 秘密鍵 JWT
- 相互TLS
注: デフォルトのクライアント認証方式は 「default」 です。デフォルトのままにした場合、クライアント秘密鍵 Basic と POST の両方が許可されます。 証明書利用者がサポートする場合、構成として秘密鍵JWTまたは相互TLSを使用します。 相互TLSクライアント認証については、Open ID Connect相互TLSクライアント認証と証明書にバインドされたアクセストークンを参照してください。
クライアント・アサーション JTI の検証 (Validate client assertion JTI) このオプションは、秘密鍵 JWT クライアント認証方式が選択されている場合にのみ表示されます。 クライアント・アサーション JWT 内の JTI が単一使用に対して検証されるかどうかを示します。
許可された署名検証鍵 (Allowed signature verification keys) このオプションは、秘密鍵 JWT クライアント認証方式が選択されている場合にのみ表示されます。 クライアント・アサーション JWT の検証に使用できる署名検証鍵 ID。
JWKS URI このオプションは、秘密鍵 JWT クライアント認証方式が選択されている場合にのみ表示されます。 依拠当事者が JSON Web Key Set (JWKS) 形式で公開鍵を公開する URI。 この URI は、JWT 署名の検証または暗号化に使用されます。 システムは、到達不能または応答しない JWKS URI を拒否できます。 JWKSサイズが大きすぎる場合、システムはJWKS URIを拒否できます。 依拠当事者が JWKS URI を公開しない場合は、X509 証明書の形式で公開鍵をシステムに追加できます。 「証明書の管理」 を参照してください。 パブリック証明書に関連付けられている「フレンドリー名」は、JWT の鍵 ID (kid) ヘッダーの値です。
TLS クライアント認証属性 このオプションは、相互 TLS クライアント認証方式が選択されている場合にのみ表示されます。 認証に使用される証明書属性です。- サブジェクト DN
- SAN DNS
- SAN URI
- SAN IP
- SAN E メール・アドレス
TLS クライアント認証属性値 このオプションは、相互 TLS クライアント認証方式が選択されている場合にのみ表示されます。 認証用認証属性値。
証明書にバインドされたアクセス・トークン 生成トークンが認証にバインドされるかどうかを示します。 認証結合アクセストークンについては、Open ID Connect相互TLSクライアント認証と認証結合アクセストークンを参照してください。
- アクセス・トークンおよびリフレッシュ・トークンが盗まれた場合の無許可アクセスの時間を制限するために、これらのトークンの有効期限を構成します。アクセス・トークンは、保護リソースへのアクセスを許可するために使用されます。 アクセス・トークンの有効期限が切れると、許可は取り消されます。
表 2. トークンの設定 フィールド 説明 アクセス・トークン存続時間 (秒) アクセス・トークンの有効期限が切れるまでの時間の長さを秒単位で設定します。
アクセス・トークンの有効期限を設定して、クライアント・アプリケーションが暗号漏えいしたときに、盗まれたトークンを使用して攻撃者がリソースにアクセスできる時間を制限します。
指定できるのは正の整数のみです。
デフォルト値は7200 秒です。 許容最小値は1で、許容最大値は2147483647 秒です。
アクセス・トークンの形式 アクセス・トークンのフォーマットを指定します。 以下のオプションを使用できます。 - デフォルト
- JWT
- API クライアント ID とシークレットが安全に配布されるように IP フィルターを実装する場合は、以下の情報を指定します。
表 3. IPフィルタの設定 フィールド 説明 IP フィルターの有効化 (Enable IP filtering) IP フィルターが有効か無効かを示します。
許可リスト/拒否リスト フィルターのタイプ (リストが許可リストであるか拒否リストであるか) を示します。
「IP フィルターの有効化 (Enable IP filtering)」が有効にされている場合は必須です。
IP フィルター IP フィルターのリスト。
「IP フィルターの有効化 (Enable IP filtering)」が有効にされている場合は必須です。
IP フィルターは、単一の IP アドレス、 IP 範囲、または IP サブネット・マスクのいずれかの形式です。 IPv4 と IPv6 の両方がサポートされています。 例: 192.0.2.55、192.0.2.55-192.0.2.61、192.0.2.55/24、2001:db8::1、2001:db8::1-2001:db8::ff、2001:db8:1234::/48
- [ カスタムスコープを制限する ] チェックボックスを選択します。
「カスタム・スコープの制限」を選択すると、フローの終わりにクライアントに付与されるスコープは、このセクションで指定されるスコープに制限されます。 付与するカスタム・スコープの名前と説明を入力します。 スコープ名は、依拠当事者またはクライアントに請求されるOAuth2/OIDCスコープを参照します。 説明は、スコープの分かりやすい説明です。 さらにスコープを付与するには、スコープの追加を選択してください。
- アクセス権を付与する API を選択します。 詳しくは、アクセス資格 を参照してください。
すべて選択 が オフに設定された場合、クライアントのアクセス権限APIを選択します。 「すべて選択 (Select All)」が「オン」に設定されている場合、クライアントにはすべての API へのアクセス権が付与されます。 ただし、クライアントにアクセスさせたくないAPIのチェック・ボックスをクリアできます。
注:- API を呼び出す許可を最初は持たない API クライアントを作成できます。 後から編集して、固有の API アクセス権を付与できます。
- サブスクリプション・プランに関連する API のみを選択できます。
- OIDC アプリケーションの場合、アプリケーション名と同じクライアント名を持つデフォルト・クライアントが、そのアプリケーションの API クライアントのリストにあります。 アプリケーションが削除されない限り、または別のサインオン方式に切り替えない限り、これを削除することはできません。
- 「完了」 を選択します。
- 「 全般 」タブと「 サインオン 」タブの必須項目をすべて入力していることを確認してください。
- 「保存」 を選択します。
クライアント ID と クライアント秘密鍵が生成され、アプリケーションとAPI クライアントが作成されます。
- API クライアントの表示と編集
- スクロールして、API クライアントを見つけます。
- APIクライアントにカーソルを合わせ、アイコン
を選択します。「API クライアントの編集」ダイアログ・ボックスが表示されます。
- 以下のオプションを使用します。
- クライアント秘密鍵を表示するには、
を選択します。
- クライアント秘密鍵を非表示にするには、
を選択します。
- を選択
すると、クライアントIDまたはシークレットがクリップボードにコピーされます。
- [選択]
をクリックして、回転されたクライアントシークレットを表示します。
- リストから1つ以上のローテーション済みのクライアントシークレットを選択し、 「削除」 をクリックして削除してください。
- 新規クライアント・シークレットを生成するには、
を選択します。 クライアント秘密鍵が漏えいしたと思われる場合は、このオプションを使用します。 クライアント秘密鍵を再生成した場合は、アプリケーションのすべての OAuth クライアントにあるクライアント秘密鍵を更新する必要があります。- 「 現在のシークレットを保持する 」のチェックボックスを選択すると、現在のクライアントシークレットがローテーション対象のクライアントシークレットのリストに追加されます。
- 「 現在のシークレットを保持する」 チェックボックスがオンになっている場合は、クライアントシークレットの説明と有効期限(ブラウザのローカル時間)を選択してください。 有効期限が選択されていない場合、 アプリケーション設定で設定されたテナントの「ローテーションされたシークレットの有効期間」が適用されます。
- 更新されたクライアントシークレットはハッシュ化されており、もはや平文で復元することはできませんが、指定された有効期限までは引き続き使用可能です。
- 確認後、クライアントシークレットは直ちに更新されます。 新しいクライアントシークレットが画面に表示されます。
- クライアント秘密鍵を表示するには、
- 変更情報を編集します。
- 「完了」 を選択します。
- API クライアントを削除します。
- スクロールして、API クライアントを見つけます。
- クライアントのチェック・ボックスを選択します。複数の API クライアントを削除するには、削除対象の各クライアントのチェック・ボックスを選択してください。
- 「選択項目」 ツールバーから 「削除
」を選択します。注: ウィンドウの左下にある 「削除 」ボタンは、APIクライアントではなく、アプリケーションを削除します。APIクライアントと詳細パネルの削除アイコンを選択することにより、APIクライアントを削除できます。 - API クライアントの削除を確認します。
- 完了したら、 「保存」 を選択してください。