本記事は、2026年4月21日に内容を見直し、再構成しました。
Oracle Databaseは、通常のパスワード認証だけでなく認証基盤と連携して認証強化する方法があります。古くはRADIUS, Kerberos、以前紹介したActive Directory連携もその一つです。
最近では、クラウドのIDaaSとOAauth2によるトークン・ベース認証も19cからサポートされており、現在はMicrosoft Entra IDとOCI IAMが使用可能です。こちらのスライドをご覧ください。
特に、IdPと連携することのメリットは、IdPが持つ多機能なMFAをデータベースの認証として利用できることが大きいです。また、IdPのグループとDatabaseのユーザ・ロールをマッピングすることで、IdP側でのユーザーのグループへの追加・削除の操作でデータベースの権限を自動的に変更させることができます。
Entra IDは、19.18以上のOracle Databaseはオンプレミス、クラウドに関わらず認証連携させることが可能です。OCI IAMは、Autonmous DatabaseやBase DatabaseなどのクラウドのOracle Databaseが対象で、接続のDatabase Clientが19.16以上が必要などの制限がありますので詳しくは最新のドキュメントをご確認下さい。
アクセストークンをデータベースに渡すフローは、TLS認証で暗号化されている必要があるため、データベース側のリスナーをTCPSでリスニングする設定が追加で必要になります。
Autonomous Databaseは、WalletをダウンロードしてTLS接続しかできない仕様になっているのでこの設定は必要ありません。また、BaseDBやExa DB-DのクラウドのOracle Databaseも2025年からデフォルトでリスナーがTLSの設定がされるようになっています。
Oracle Databaseのリスナーが、1521ポートのTCPだけリスニングしている場合は、まずはTLSの設定をする必要があります。具体的には、下記のTLS認証の設定方法を参照して下さい。
トークンベースの外部認証の設定は、ドキュメントを参照しながら実際に設定してみると難しく感じるところも多いように思います。私自身の備忘録的にも、それぞれの手順について簡単に極力最小限の労力で構築する手順を紹介します。
Oracle Databaseの外部認証 - Microsoft Entra IDとのトークン・ベースの認証連携 -
Oracle Databaseの外部認証 - Microsoft Entra IDとAutonomous AI Databaseの認証連携 -
Oracle Databaseの外部認証 - OCI IAMとのトークン・ベースの認証連携 -
