動的クライアント登録
動的クライアント登録(DCR)により、WorkatoはAPIコンシューマーに代わって、OktaなどのIDプロバイダー(IdP)にAPIクライアントをプログラムで登録できます。 これにより、APIプラットフォーム管理者がIdPで各クライアントを手動で登録し、OAuth 2.0認証情報を個別に配布する必要がなくなります。
DCRは、RFC 7591およびOpenID Connect Dynamic Client Registration仕様で定義された標準プロトコルです。 これにより、WorkatoはAPIコンシューマーに代わってIdPに登録リクエストを送信し、その応答としてclient_idとclient_secretを受け取ることができます。
DCRプロバイダーを設定した後、その設定を複数のAPIクライアントで再利用できます。 DCRが有効なクライアントに割り当てられたAPIコンシューマーは、手動プロビジョニングを待たずに、Developer Portalで自身の認証情報を生成できます。
前提条件
DCRの使用を開始する前に、次の項目が揃っていることを確認してください:
- API platformが有効になっている、アクティブなWorkatoワークスペースがある。
- APIプラットフォーム管理者権限がある。
- OAuth 2.0クライアントを登録する権限を持つOktaアカウントがある。 現時点では、DCRはIDプロバイダーとしてOktaをサポートしています。
- IdPで認証するよう設定されたアクティブなHTTPコネクションがある、または設定中に作成する予定がある。 サポートされる認証タイプには、no-auth、query、basic、header、OAuth 2.0(client credentials)が含まれます。
- IdPで必要なスコープを作成し、定義している。
DCRプロバイダーの追加
次の手順を実行して、API platformにDCRプロバイダーを追加します。
API platformで、プラットフォーム>API platform>設定>Developer Portal>動的クライアント登録に移動します。
プロバイダーを追加をクリックします。
DCRプロバイダーの追加
WorkatoがDCRプロバイダーで認証するために使用するHTTPコネクションを選択します。 このコネクションは、IdPの登録エンドポイントとの間のリクエストを処理します。
コネクションの選択
既存のコネクションを検索するか、+新規コネクションをクリックして作成できます。
Workatoは選択したコネクションを検証し、DCRをサポートしていることを確認します。 検証の実行中は、読み込みインジケーターが表示されます。 コネクションがDCRをサポートしている場合は、次のステップに進むことができます。 コネクションがDCRをサポートしていない場合は、エラーヒントが表示され、続行する前に別のコネクションを選択する必要があります。
次へをクリックして、プロバイダーの設定ステップに進みます。
プロバイダー名フィールドに、一意でわかりやすい名前を入力します。
プロバイダーの設定
認証方法ドロップダウンメニューを使用して、このプロバイダーの認証方法を選択します。 次のオプションから選択できます:
残りの設定手順は、選択した認証方法によって異なります。
永続的な設定
サーバーを割り当てた後は、認証方法を変更できません。 再利用可能な外部認証サーバーを定義して、時間を節約できます。
OpenID Connect
次の手順を実行して、OpenID Connectを使用するDCRプロバイダーの設定を完了します。
任意の詳細暗号化設定を設定し、JSON Web Token(JWT)にクレームを追加します。 アクセ スプロファイルは、JWTの認証時に、このセクションで追加したクレーム情報を確認します。
適用する予約済みクレームドロップダウンメニューを使用して、1つ以上のクレームを選択します。 認証されるには、JWTにこのフィールドで追加したすべてのクレームが含まれている必要があります。
詳細暗号化設定の構成
次へをクリックします。 Workatoはプロバイダーの作成を試行します。
成功メッセージにより、プロバイダーが作成されたことが確認されます。 新しいプロバイダーは、認証方法と作成の詳細とともに動的クライアント登録プロバイダーページに表示されます。
プロバイダーが正常に保存されました
プロバイダーの作成に失敗すると、エラーメッセージが表示されます。 戻るをクリックして設定を確認および編集するか、ダイアログを閉じて終了します。
OAuth 2.0トークンイントロスペクション
次の手順を実行して、OAuth2 Token Introspection 2.0を使用するDCRプロバイダーの設定を完了します。 この方法では、イントロスペクションHTTPコネクションとエンドポイントを設定する追加手順が必要です。
次へをクリックして、イントロスペクションHTTPコネクションの選択ステップに進みます。
Workatoがトークンイントロスペクションエンドポイントへのリクエストの認証に使用するHTTPコネクションを選択します。 既存のアクティブなコネクションを検索するか、+新規コネクションをクリックして作成できます。
次へをクリックして、イントロスペクションエンドポイントの設定ステップに進みます。
エンドポイントパスフィールドに、イントロスペクションエンドポイントへの相対パスを入力します。 例: oauth2/introspect。
イントロスペクションエンドポイントの設定
URLプレビューフィールドには、コネクションのベースURLと指定したエンドポイントパスから構築された完全なURLが表示されます。
次へをクリックします。 Workatoはプロバイダーの作成を試行します。
成功メッセージにより、プロバイダーが作成されたことが確認されます。 新しいプロバイダーは、認証方法と作成の詳細とともに動的クライアント登録プロバイダーページに表示されます。
プロバイダーの作成に失敗すると、エラーメッセージが表示されます。 戻るをクリックして設定を確認および編集するか、ダイアログを閉じて終了します。
DCRプロバイダーの編集
既存のDCRプロバイダーのHTTPコネクション、スコープ、その他の設定を更新できます。 プロバイダーを作成した後は、認証方法を変更できません。
アクティブなプロバイダーの編集
編集中のサーバーは現在使用中の可能性があります。 プロバイダー設定を変更すると、ダウンストリームのAPIコンシューマーに影響する可能性があります。
API platformで、プラットフォーム>API platform>設定>動的クライアント登録に移動します。
編集するプロバイダーを見つけ、プロバイダーカードの...(その他のオプション)アイコンをクリックします。
DCRプロバイダーの編集
次のいずれかのオプションを選択します:
- 名前の変更: プロバイダー名を更新します。
- 設定の編集: HTTPコネクション、スコープ、またはその他の設定を変更します。
- 削除: プロバイダーを削除します。 プロバイダーを削除すると、認証情報の生成をそのプロバイダーに依存しているAPIコンシューマーに影響が生じる可能性があります。
クライアントへのDCRプロバイダーの割り当て
DCRプロバイダーを設定した後、クライアントの作成時にAPIクライアントへ割り当てることができます。 DCRプロバイダーを割り当てると、各クライアントを個別に設定する代わりに、IdPコネクションとスコープ設定を再利用できます。 新しいクライアントの認証方法としてOpenID ConnectまたはOAuth Token Introspection 2.0を選択すると、DCRプロバイダーオプションを利用できます。
詳細な手順については、DCRを使用したAPIクライアントの作成を参照してください。
制限事項
DCRを設定する前に、次の制限事項を確認してください:
- DCRはIDプロバイダーとしてOktaをサポートしています。 現時点では、追加プロバイダーのサポートは利用できません。
- プロバイダーを作成した後は、認証方法を変更できません。 初期設定時に正しい方法を選択してください。
Last updated: