0. イントロダクション#
概要#
Oracle Databaseへの接続には、従来、ユーザー名とパスワードの組み合わせが一般的に用いられてきました。このチュートリアルでは、OCI Identity and Access Management (IAM) が発行するトークンを利用した、よりセキュアな認証方式について解説します。
https://docs.oracle.com/ja-jp/iaas/autonomous-database-serverless/doc/iam-access-database.html
- JDBC-Thin
バージョン 19.13.0.0.1 以降
バージョン 21.4.0.0.1 以降
- SQL*Plus / Oracle Instant Client
バージョン 19.13 以降
バージョン 21.4 以降
参照ドキュメント (JDBC): https://docs.oracle.com/en/database/oracle/oracle-database/19/jjdbc/client-side-security.html#GUID-62AD3F23-21B5-49D3-8325-313267444ADD
参照ドキュメント (OCI): https://docs.oracle.com/en/database/oracle/oracle-database/19/lnoci/introduction.html#GUID-02C903AA-30C9-487E-AD25-9FBF3856D177
DBトークンを使用したログインのためには、DatabaseにTLS接続されていることが必須となります。
実施内容#
本手順では以下の手順を実施します。
OCI CLIを使用して「DBトークン」を取得します。資格証明としてはAPIキーを使用します。
取得したトークンを使用し、Autonomous Database にアクセスしますするまでを行っていきます。
発展的な内容として、手順の最後にインスタンス・プリンシパルを使用したアクセスも試してみます。これにより、クライアント環境にクレデンシャルを残さない、より高度なことを行うことができます。
前提条件#
本手順を実施するために、以下の条件を満たしている必要があります。
- Database環境
データベースがTLS接続できるように構成されていること。
今回はAutonomous Databaseを使用します。Autonomous AI DatabaseはmTLS接続を使用するため、追加のセットアップは不要です。
Autonomous AI Database の作成方法等については OCIチュートリアル「101: ADBインスタンスを作成してみよう」 を参照ください。
また、mTLS接続には Wallet(クライアント証明書)が必要になりますので、OCI コンソールからダウンロードしておきます。
- クライアント環境
本手順では、DBクライアントとしてSQLclを使用します。
- バージョン情報は以下の通りです
SQLcl: Release 25.3 Production on Sat Nov 08 19:04:26 2025
関連するORAエラー#
この手順にて関連するエラーのリンクです。