Identity and Access Management (IAM)認証を使用してAutonomous Databaseに接続
ADMINユーザーがAutonomous DatabaseでOracle Cloud Infrastructure IAMを有効にした後:ユーザーは、Oracle Cloud Infrastructure IAM資格証明を使用してAutonomous Databaseインスタンスにログインするか、Oracle Cloud Infrastructure IAMデータベース・トークンを使用してデータベースにアクセスします。
Oracle Cloud Infrastructure IAMユーザー・アクセスを有効にした後、ローカル・データベース・アカウントのユーザー名およびパスワード(非グローバル・データベース・ユーザー・アカウント)を使用してAutonomous Databaseにログインすることもできます。
データベース・クライアントを使用して、Oracle Cloud Infrastructure IAMユーザーとしてAutonomous Databaseインスタンスにアクセスできます。 Oracle Cloud Infrastructure IAMのユーザー名とパスワード資格証明およびパスワード検証でクライアントを使用するには、データベース・クライアントが12c以降である必要があります。
または、Oracle Cloud Infrastructure IAMデータベース・トークンを使用してAutonomous Databaseインスタンスにアクセスできます。 IAMトークンを使用するには、最新のOracle Databaseクライアント19c (少なくとも19.16)が必要です。 以前のクライアントの中には、トークン・アクセスのための限られた機能セットを提供しているものもあります。
次の例は、Oracle Cloud Infrastructure IAMのユーザー名とパスワード、およびOracle Cloud Infrastructure IAMデータベース・トークンでSQL*Plusを使用するために必要なステップを使用して、データベースにアクセスするためのSQL*Plusのパスワード検証を示しています。
ノート:
Autonomous Databaseインスタンスが制限モードの場合、ADMINなどのRESTRICTED SESSION
権限を持つユーザーのみがデータベースに接続できます。
Oracle Cloud Infrastructure IAMデータベース・トークンを使用して、サポートされているクライアントを含むAutonomous Databaseインスタンスにアクセスできます。次に例を示します:
-
IAMトークン認証をサポートするJDBC-Thinは、次のものでサポートされています:
-
JDBCバージョン19.13.0.0.1 (以降): JDBCドライバについては、「JDBCおよびUCPのダウンロード」を参照してください。
-
JDBCバージョン21.4.0.0.1 (以降): JDBCドライバについては、「JDBCおよびUCPのダウンロード」を参照してください。
詳細は、「IAMトークン・ベース認証のサポート」を参照してください:
-
- SQL*PlusおよびOracle Instant Client: Linuxバージョン19.13以降ではSQL*PlusおよびInstant Client、Linuxバージョン21.4以降ではInstant Clientでサポートされています。
詳細については、「Identity and Access Management (IAM)トークン・ベース認証」を参照してください。
-
データベース・クライアントは、IAMユーザー名およびIAMデータベース・パスワードを使用してデータベース・トークンを取得するように構成することもできます。
詳細については、「IAMユーザー名およびデータベース・パスワードによってリクエストされたトークンを使用するクライアント接続」を参照してください。
-
.NETクライアント(最新バージョンのLinuxまたはWindows)。.NETソフトウェア・コンポーネントは、次のサイトから無償でダウンロードできます:
- IAMを使用したAutonomous Databaseインスタンスへの接続について
IAMユーザーは、IAMデータベース・パスワード・ベリファイアまたはIAMトークンのいずれかを使用して、Autonomous Databaseインスタンスに接続できます。 - IAMデータベース・パスワードを使用するSQL*Plusのクライアント接続の構成
IAMデータベース・パスワードを使用するようにSQL*Plusを構成できます。 - IAMトークンを使用するSQL*Plusのクライアント接続の構成
IAMトークンを使用するSQL*Plusのクライアント接続を構成できます。 - インスタンス・プリンシパルを使用したIdentity and Access Management (IAM)認証によるAutonomous Databaseへのアクセス
ADMINユーザーがAutonomous DatabaseでOracle Cloud Infrastructure IAMを有効にすると、アプリケーションはインスタンス・プリンシパルを使用してOracle Cloud Infrastructure IAMデータベース・トークンを介してデータベースにアクセスできます。
IAMを使用したAutonomous Databaseインスタンスへの接続について
IAMユーザーは、IAMデータベースのパスワード・ベリファイアまたはIAMトークンを使用して、Autonomous Databaseインスタンスに接続できます。
IAMデータベース・パスワード・ベリファイアの使用は、Oracle Databaseパスワード認証プロセスに似ています。 ただし、Oracleデータベースに格納されるパスワード・ベリファイア(パスワードの暗号化ハッシュ)の代わりに、ベリファイアはOracle Cloud Infrastructure (OCI) IAMユーザー・プロファイルの一部として格納されます。
データベースにIAMトークンを使用する2番目の接続メソッドは、より最新です。 トークン・ベース・アクセスの使用は、Autonomous Databaseなどのクラウド・リソースに適しています。 トークンは、IAMエンドポイントで強制できる強度に基づいています。 これはマルチ・ファクタ認証であり、パスワードのみを使用するよりも強力です。 トークンを使用するもう1つの利点は、パスワード検証子(機密とみなされる)がメモリーに格納されないこと、またはメモリーで使用できないことです。 データベース・アクセスにトークンを使用する場合は、TCPS (TLS)接続が必要です。
ノート:
IAMトークンを渡すときにネイティブ・ネットワーク暗号化を設定することはできません。 Transport Layer Security (TLS)のみがサポートされ、ネイティブ・ネットワーク暗号化やTLSによるネイティブ・ネットワーク暗号化はサポートされていません。- IAMデータベース・パスワード・ベリファイアを使用するクライアント接続
IAMユーザーに必要な認可を構成すると、このユーザーは、追加の構成なしで、SQL*PlusやSQLclなどの既存のクライアント・アプリケーションを使用してログインできます。 - クライアント・アプリケーションまたはツールによってリクエストされたトークンを使用するクライアント接続
Autonomous DatabaseへのIAMトークン・アクセスの場合、クライアント・アプリケーションまたはツールによって、IAMユーザーのために、IAMからデータベース・トークンがリクエストされます。
IAMデータベース・パスワード・ベリファイアを使用するクライアント接続
IAMユーザーに必要な認可を構成した後、このユーザーは、追加の構成なしで、SQL*PlusやSQLclなどの既存のクライアント・アプリケーションを使用してログインできます。
12C
パスワード・ベリファイアを使用できる必要があります。 11G
ベリファイア暗号化の使用は、IAMではサポートされていません。 IAMユーザーがOCI DBaaSインスタンスに接続するために、特別なクライアントやツールの構成は必要ありません。
クライアント・アプリケーションまたはツールによってリクエストされたトークンを使用するクライアント接続
Autonomous DatabaseへのIAMトークン・アクセスの場合、クライアント・アプリケーションまたはツールは、IAMユーザーのIAMからデータベース・トークンをリクエストします。
クライアント・アプリケーションは、データベース・クライアントAPIを介してデータベース・トークンを直接データベース・クライアントに渡します。
アプリケーションまたはツールが更新されてIAMトークンをリクエストしていない場合、IAMユーザーはOracle Cloud Infrastructure (OCI)コマンドライン・インタフェース(CLI)を使用してデータベース・トークンをリクエストおよび格納できます。 次の資格証明を使用して、データベース・アクセス・トークン(db-token
)をリクエストできます:
- セキュリティ・トークン(IAM認証あり)、委任トークン(OCI Cloud Shell内)および
API-keys
。認証を有効にするためのIAMユーザーを表す資格証明です - インスタンス・プリンシパル・トークン。認証後にインスタンスを認可されたアクター(またはプリンシパル)がサービス・リソースに対してアクションを実行できるようにします
- リソース・プリンシパル・トークン。他のOracle Cloud Infrastructureサービスにアプリケーションを認証できるようにする資格証明です
- IAMユーザー名およびIAMデータベース・パスワードの使用(リクエストできるのはデータベース・クライアントのみです)。
IAMユーザーがスラッシュ/
ログインでクライアントにログインし、OCI_IAM
パラメータが構成されている場合(sqlnet.ora
、tnsnames.ora
または接続文字列の一部として)、データベース・クライアントはファイルからデータベース・トークンを取得します。 IAMユーザーがユーザー名とパスワードを送信する場合、接続では、IAMデータベースのパスワード・ベリファイアを使用するクライアント接続について記述されたIAMデータベース・ベリファイア・アクセスが使用されます。 このガイドの手順は、OCI CLIをデータベース・トークンのヘルパーとして使用する方法を示しています。 アプリケーションまたはツールがIAMで動作するように更新されている場合は、アプリケーションまたはツールの手順に従います。 一般的なユースケースには、次のものがあります: オンプレミスSQLPlus、オンプレミスSQLcl、クラウド・シェルのSQL*Plus、またはSEPウォレットを使用するアプリケーション。
IAMトークンを使用するSQL*Plusのクライアント接続の構成
IAMトークンを使用するSQL*Plusのクライアント接続を構成できます。
TOKEN_AUTH
パラメータで更新した後、IAMユーザーは次のコマンドを実行してSQL*Plusを起動することで、Autonomous Databaseインスタンスにログインできます。 接続記述子自体を含めることも、tnsnames.ora
ファイルの記述子の名前を使用することもできます。 connect /@exampledb_high
または
connect /@(description=
(retry_count=20)(retry_delay=3)
(address=(protocol=tcps)(port=1522)
(host=example.us-phoenix-1.oraclecloud.com))
(connect_data=(service_name=aaabbbccc_exampledb_high.example.oraclecloud.com))
(security=(ssl_server_cert_dn="CN=example.uscom-east-1.oraclecloud.com,
O=Example Corporation,
L=Redwood City, ST=California, C=US")
(TOKEN_AUTH=OCI_TOKEN)))
TOKEN_AUTH
はsqlnet.ora
ファイルまたは接続文字列のいずれかですでに設定されているため、データベース・クライアントはdb-token
を取得するようにすでに構成されています。 データベース・クライアントはdb-token
を取得し、秘密キーを使用して署名し、トークンをAutonomous Databaseに送信します。 スラッシュ/
のかわりにIAMユーザー名とIAMデータベース・パスワードが指定されている場合、データベース・クライアントはdb-token
を使用せずにパスワードを使用して接続します。
Instance Principalを使用したIdentity and Access Management (IAM)認証によるAutonomous Databaseへのアクセス
ADMINユーザーがAutonomous DatabaseでOracle Cloud Infrastructure IAMを有効にすると、アプリケーションはインスタンス・プリンシパルを使用してOracle Cloud Infrastructure IAMデータベース・トークンを介してデータベースにアクセスできます。
詳細については、「インスタンス・プリンシパルを使用したOracle Cloud Infrastructure APIへのアクセス」を参照してください。