Identity and Access Management (IAM)認証によるAutonomous AI Databaseへの接続
ADMINユーザーがAutonomous AI DatabaseでOracle Cloud Infrastructure IAMを有効にした後、ユーザーは。Oracle Cloud Infrastructure IAM資格証明を使用してAutonomous AI Databaseインスタンスにログインするか、Oracle Cloud Infrastructure IAMデータベース・トークンを介してデータベースにアクセスします。
Oracle Cloud Infrastructure IAMユーザー・アクセスを有効にした後、ローカル・データベース・アカウント・ユーザー名とパスワード(非グローバル・データベース・ユーザー・アカウント)を使用してAutonomous AI Databaseにログインすることもできます。
データベース・クライアントを使用して、Oracle Cloud Infrastructure IAMユーザーとしてAutonomous AI Databaseインスタンスにアクセスできます。Oracle Cloud Infrastructure IAMのユーザー名およびパスワードの資格証明およびパスワード・ベリファイアを使用しているクライアントを使用するには、データベース・クライアントが12c以上である必要があります。
または、Oracle Cloud Infrastructure IAMデータベース・トークンを使用して、Autonomous AI Databaseインスタンスにアクセスすることもできます。IAMトークンを使用するには、最新のOracle Databaseクライアント19c (19.16以上)が必要です。一部の以前のクライアントでは、トークン・アクセス用の制限された一連の機能が提供されます。
次の例は、Oracle Cloud Infrastructure IAMのユーザー名とパスワードでデータベースにアクセスするためのSQL*Plusを使用したパスワード・ベリファイア、およびOracle Cloud Infrastructure IAMデータベース・トークンでSQL*Plusを使用するために必要なステップを示しています。
Autonomous AI 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: バージョン19.13以降のLinux上のSQL*PlusおよびInstant Client、およびバージョン21.4以降のLinux上のInstant Clientでサポートされます。
詳細は、Identity and Access Management (IAM)トークンベース認証を参照してください。
-
データベース・クライアントは、IAMユーザー名およびIAMデータベース・パスワードを使用してデータベース・トークンを取得するように構成することもできます。
詳細は、「IAMユーザー名およびデータベース・パスワードによってリクエストされたトークンを使用するクライアント接続」を参照してください。
-
.NETクライアント(最新バージョンのLinuxまたはWindows)。.NETソフトウェア・コンポーネントは、次のサイトから無料でダウンロードできます:
- About Connecting to an Autonomous AI Database Instance Using IAM
IAM users can connect to the Autonomous AI Database instance by using either an IAM database password verifier or an IAM token. - IAMデータベース・パスワードを使用するSQL*Plusのクライアント接続の構成
IAMデータベース・パスワードを使用するようにSQL*Plusを構成できます。 - IAMトークンを使用するSQL*Plusのクライアント接続の構成
IAMトークンを使用するSQL*Plusのクライアント接続を構成できます。 - Instance Principalを使用したIdentity and Access Management (IAM)認証によるAutonomous AIデータベースへのアクセス
ADMINユーザーがAutonomous AI DatabaseでOracle Cloud Infrastructure IAMを有効にすると、アプリケーションはインスタンス・プリンシパルを使用してOracle Cloud Infrastructure IAMデータベース・トークンを介してデータベースにアクセスできます。
IAMを使用したAutonomous AI Databaseインスタンスへの接続について
IAMユーザーは、IAMのデータベース・パスワード・ベリファイアまたはIAMトークンのいずれかを使用して、Autonomous AI Databaseインスタンスに接続できます。
IAMデータベース・パスワード・ベリファイアの使用は、Oracle Databaseのパスワード認証プロセスと似ています。ただし、パスワード・ベリファイア(パスワードの暗号化されたハッシュ)がOracleデータベースに格納されるかわりに、ベリファイアがOracle Cloud Infrastructure (OCI) IAMユーザー・プロファイルの一部として格納されます。
データベースにIAMトークンを使用する2つ目の接続方法は、より先進的です。トークン・ベース・アクセスの使用は、Autonomous AI Databaseのようなクラウド・リソースに適しています。トークンは、IAMエンドポイントで強制できる強度に基づきます。これはマルチファクタ認証である可能性があり、パスワードのみを使用するよりも強力です。トークンを使用するもう1つの利点は、パスワード・ベリファイア(機密とみなされる)がメモリーに格納されず、メモリーで使用できないことです。データベース・アクセスにトークンを使用する場合は、TCPS (TLS)接続が必要です。
IAMトークンを渡すときにネイティブ・ネットワーク暗号化を設定することはできません。Transport Layer Security (TLS)のみがサポートされ、ネイティブ・ネットワーク暗号化やTLSによるネイティブ・ネットワーク暗号化はサポートされていません。
- IAMデータベース・パスワード・ベリファイアを使用するクライアント接続
IAMユーザーに必要な認可を構成すると、このユーザーは、追加の構成なしで、SQL*PlusやSQLclなどの既存のクライアント・アプリケーションを使用してログインできます。 - Client Connections That Use a Token Requested by a Client Application or Tool
For IAM token access to the Autonomous AI Database, the client application or tool requests a database token from IAM for the IAM user.
IAMデータベース・パスワード・ベリファイアを使用するクライアント接続
IAMユーザーに必要な認可を構成した後、このユーザーは、追加の構成なしで、SQL*PlusやSQLclなどの既存のクライアント・アプリケーションを使用してログインできます。
12C
パスワード・ベリファイアを使用できる必要があります。11G
ベリファイア暗号化の使用は、IAMではサポートされていません。IAMユーザーがOCI DBaaSインスタンスに接続するために、特別なクライアントまたはツールの構成は必要ありません。
クライアント・アプリケーションまたはツールによってリクエストされたトークンを使用するクライアント接続
Autonomous AI DatabaseへのIAMトークン・アクセスの場合、クライアント・アプリケーションまたはツールはIAMユーザーのために、IAMからデータベース・トークンをリクエストします。
クライアント・アプリケーションは、データベース・クライアントAPIを介してデータベース・トークンを直接データベース・クライアントに渡します。
IAMトークンをリクエストするようにアプリケーションまたはツールが更新されていない場合、IAMユーザーはOracle Cloud Infrastructure (OCI)コマンドライン・インタフェース(CLI)を使用してデータベース・トークンをリクエストおよび格納できます。次の資格証明を使用して、データベース・アクセス・トークン(db-token
)をリクエストできます:
- セキュリティ・トークン(IAM認証あり)、委任トークン(OCIクラウド・シェル内)および
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 AI 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 AI Databaseに送信します。スラッシュ(/
)のかわりにIAMユーザー名およびIAMデータベース・パスワードが指定されている場合、データベース・クライアントはdb-token
を使用するかわりに、パスワードを使用して接続します。
Instance Principalを使用したIdentity and Access Management (IAM)認証によるAutonomous AIデータベースへのアクセス
ADMINユーザーがAutonomous AI DatabaseでOracle Cloud Infrastructure IAMを有効にすると、アプリケーションはインスタンス・プリンシパルを使用してOracle Cloud Infrastructure IAMデータベース・トークンを通じて、データベースにアクセスできます。
詳細は、インスタンス・プリンシパルを使用したOracle Cloud Infrastructure APIへのアクセスを参照してください。