Autonomous AI Database supports external authentication for the following built-in tools in Database Actions - SQL Developer and Data Studio. The database does not support external authentication for tools, such as APEX and Oracle Machine Learning.Oracle APEXはAutonomous AI Databaseであるかどうかに関わらず、以前から製品として外部アイデンティティ・プロバイダーをサポートしています。また、SQL Developer Webまたはデータベース・アクションでの認証と、すでにサポートされているグローバル・ユーザーによるデータベース接続の関係についても、公式ドキュメントからは読み取ることができません。
- Autonomous AI Databaseのデータベース・ツール(今回の新機能)
- Oracle APEXの管理サービスでの外部認証の構成
- SQLclでのグローバル・ユーザーによるデータベース接続
Autonomous AI Databaseの作成
Oracle Cloudのコンソールより、Always FreeのAutonomous AI Databaseを作成します。
表示名はSALESADB、データベース名もSALESADBとします。ワークロード・タイプにレイクハウスを選択します。データベース構成のAlways Freeをオンにし、データベース・バージョンとして19cを選択します。
その他、管理者ユーザーADMINのパスワードなどを設定し、Autonomous AI Databaseを作成します。
mkdir salesadb-oracleiam
cd salesadb-oracleiam
Documents % mkdir salesadb-oracleiam
Documents % cd salesadb-oracleiam
salesadb-oracleiam %
unzip -d . Wallet_SALESADB.zip
salesadb-oracleiam % export TNS_ADMIN=$PWD
salesadb-oracleiam % unzip -d . Wallet_SALESADB.zip
Archive: Wallet_SALESADB.zip
inflating: ./ewallet.pem
inflating: ./README
inflating: ./cwallet.sso
inflating: ./tnsnames.ora
inflating: ./truststore.jks
inflating: ./ojdbc.properties
inflating: ./sqlnet.ora
inflating: ./ewallet.p12
inflating: ./keystore.jks
salesadb-oracleiam %
sql admin@salesadb_low
salesadb-oracleiam % sql admin@salesadb_low
SQLcl: 月 7月 13 11:57:28 2026のリリース26.1 Production
Copyright (c) 1982, 2026, Oracle. All rights reserved.
パスワード (**********?) ****************
Last Successful login time: 月 7月 13 2026 11:57:35 +09:00
接続先:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.32.0.1.0
SQL> exit
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.32.0.1.0から切断されました
salesadb-oracleiam %
Oracle IAMの構成
作成するグループの名前はsales_dbusersとします。説明に、データベースに接続できるユーザーと書きました。
グループsales_dbusersに含めるユーザーをチェックします。Oracle Databaseに接続するユーザーはブラウザよりサインインします。そのため、Oracle Cloudのコンソールにサインインしているユーザーを、グループsales_dbusersに含めると確認が容易です。
以上で作成をクリックします。
アイデンティティとセキュリティのポリシーを開きます。
ポリシーの作成をクリックします。
ポリシーの名前はsales_test_policyとします。説明には、allow group sales_dbusers to connect to all autonomous databasesと書きました。コンパートメントにルート・コンパートメントを選択します。
ポリシー・ビルダーで手動エディタを表示し、ポリシー・ステートメントとして以下を記述します。
allow group sales_dbusers to use autonomous-database-family in tenancy
以上でポリシーを作成します。
データベース・ツールの外部認証の構成
salesadb-oracleiam % sql admin@salesadb_low
SQLcl: 月 7月 13 12:29:07 2026のリリース26.1 Production
Copyright (c) 1982, 2026, Oracle. All rights reserved.
パスワード (**********?) ****************
Last Successful login time: 月 7月 13 2026 12:29:13 +09:00
接続先:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.32.0.1.0
SQL>
Oracle IAMによる外部認証を有効にします。
BEGIN
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'OCI_IAM',
force => TRUE
);
END;
/
SQL> BEGIN
2 DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
3 type => 'OCI_IAM',
4 force => TRUE
5 );
6 END;
7* /
PL/SQLプロシージャが正常に完了しました。
SQL>
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
SQL> SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
NAME VALUE
_________________________ __________
identity_provider_type OCI_IAM
SQL>
データベース・ユーザーとしてWKSP_APEXDEVを作成します。このユーザーは、Oracle APEXのワークスペースAPEXDEVのデフォルト・パーシング・スキーマとして使用します。
create user wksp_apexdev identified globally as 'IAM_GROUP_NAME=sales_dbusers';
grant create table, create view, create sequence to wksp_apexdev;
SQL> create user wksp_apexdev identified globally as 'IAM_GROUP_NAME=sales_dbusers';
User WKSP_APEXDEVは作成されました。
SQL> alter user wksp_apexdev quota 25m on data;
User WKSP_APEXDEVが変更されました。
SQL> grant create session to wksp_apexdev;
Grantが正常に実行されました。
SQL> grant create table, create view, create sequence to wksp_apexdev;
Grantが正常に実行されました。
SQL>
BEGIN
ORDS_ADMIN.ENABLE_SCHEMA(
p_enabled => TRUE,
p_schema => 'WKSP_APEXDEV',
p_url_mapping_type => 'BASE_PATH',
p_url_mapping_pattern => 'apexdev',
p_auto_rest_auth => FALSE);
END;
/
SQL> BEGIN
2 ORDS_ADMIN.ENABLE_SCHEMA(
3 p_enabled => TRUE,
4 p_schema => 'WKSP_APEXDEV',
5 p_url_mapping_type => 'BASE_PATH',
6 p_url_mapping_pattern => 'apexdev',
7 p_auto_rest_auth => FALSE);
8 END;
9* /
PL/SQLプロシージャが正常に完了しました。
SQL> exit
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.32.0.1.0から切断されました
salesadb-oracleiam %
データベース・ツールへの接続
BEGIN
ORDS_ADMIN.ENABLE_SCHEMA(
p_enabled => TRUE,
p_schema => 'WKSP_APEXDEV',
p_url_mapping_type => 'BASE_PATH',
p_url_mapping_pattern => 'apexdev',
p_auto_rest_auth => FALSE);
END;
/
select
sys_context('userenv','authentication_method') authenticated_method,
sys_context('userenv','authenticated_identity') authenticated_identity,
sys_context('userenv','session_user') session_user,
sys_context('userenv','current_user') current_user
from dual
Oracle APEXへの接続
SQLclでの接続
salesadb-oracleiam % brew install oci-cli
Warning: oci-cli 3.89.1 is already installed and up-to-date.
To reinstall 3.89.1, run:
brew reinstall oci-cli
salesadb-oracleiam %
db-tokenの取得をリクエストします。
~/.oci/configが存在しない場合、新たに作成するかどうか聞かれます。デフォルトのYで継続します。
salesadb-oracleiam % oci iam db-token get
ERROR: Could not find config file at /Users/______________/.oci/config
Do you want to create a new config file? [Y/n]:
browserを使ってログインすることで作業を継続するか?と聞かれます。デフォルトのYを選択し、ブラウザからサインインします。
Do you want to create your config file by logging in through a browser? [Y/n]:
Enter a region by index or name(e.g.
1: af-casablanca-1, 2: af-johannesburg-1, 3: ap-batam-1, 4: ap-chiyoda-1, 5: ap-chuncheon-1,
6: ap-chuncheon-2, 7: ap-dcc-canberra-1, 8: ap-dcc-gazipur-1, 9: ap-delhi-1, 10: ap-hyderabad-1,
11: ap-ibaraki-1, 12: ap-kulai-2, 13: ap-melbourne-1, 14: ap-mumbai-1, 15: ap-osaka-1,
16: ap-seoul-1, 17: ap-seoul-2, 18: ap-singapore-1, 19: ap-singapore-2, 20: ap-suwon-1,
21: ap-sydney-1, 22: ap-tokyo-1, 23: ca-montreal-1, 24: ca-toronto-1, 25: eu-amsterdam-1,
26: eu-budapest-1, 27: eu-crissier-1, 28: eu-dcc-dublin-1, 29: eu-dcc-dublin-2, 30: eu-dcc-milan-1,
31: eu-dcc-milan-2, 32: eu-dcc-rating-1, 33: eu-dcc-rating-2, 34: eu-dcc-zurich-1, 35: eu-frankfurt-1,
36: eu-frankfurt-2, 37: eu-jovanovac-1, 38: eu-madrid-1, 39: eu-madrid-2, 40: eu-madrid-3,
41: eu-marseille-1, 42: eu-milan-1, 43: eu-paris-1, 44: eu-stockholm-1, 45: eu-turin-1,
46: eu-zurich-1, 47: il-jerusalem-1, 48: me-abudhabi-1, 49: me-abudhabi-2, 50: me-abudhabi-3,
51: me-abudhabi-4, 52: me-alain-1, 53: me-alrayyan-1, 54: me-dcc-doha-1, 55: me-dcc-muscat-1,
56: me-dubai-1, 57: me-ibri-1, 58: me-jeddah-1, 59: me-riyadh-1, 60: mx-monterrey-1,
61: mx-queretaro-1, 62: sa-bogota-1, 63: sa-riodejaneiro-1, 64: sa-santiago-1, 65: sa-saopaulo-1,
66: sa-valparaiso-1, 67: sa-vinhedo-1, 68: uk-cardiff-1, 69: uk-gov-cardiff-1, 70: uk-gov-london-1,
71: uk-london-1, 72: us-ashburn-1, 73: us-ashburn-2, 74: us-chicago-1, 75: us-gov-ashburn-1,
76: us-gov-chicago-1, 77: us-gov-phoenix-1, 78: us-langley-1, 79: us-luke-1, 80: us-newark-1,
81: us-phoenix-1, 82: us-saltlake-2, 83: us-sanjose-1, 84: us-somerset-1, 85: us-thames-1): ca-toronto-1
Please switch to newly opened browser window to log in!
You can also open the following URL in a web browser window to continue:
https://login.ca-toronto-1.oraclecloud.com/v1/oauth2/authorize?action=login&client_id=iaas_console&response_type=token+id_token&nonce=feddb11d-754c-41ce-9c59-544adf82c22a&scope=openid&public_key=eyJrdHkiOiAiUl**********************************************************3JlZCJ9&redirect_uri=http%3A%2F%2Flocalhost%3A8181
Completed browser authentication process!
Uploaded new API key with fingerprint: 97:4a:f1:88:33:9a:f5:50:a9:e4:34:06:db:7d:7f:dc
Enter a passphrase for your private key ("N/A" for no passphrase): N/A
Repeat for confirmation: N/A
Config written to: /Users/__________/.oci/config
Try out your newly registered credentials with the following example command:
oci iam region list --config-file /Users/_________/.oci/config --profile DEFAULT
Successfully created config file with your new CLI user profile
Once your public key is uploaded in the console, you can re-run your command to use your new config file and user profile
salesadb-oracleiam %
salesadb-oracleiam % oci iam db-token get
Private key written at /Users/__________/.oci/db-token/oci_db_key.pem
db-token written at: /Users/__________/.oci/db-token/token
db-token is valid until 2026-07-13 16:03:31
salesadb-oracleiam %
salesadb_oci = (
description= (retry_count=20)(retry_delay=3)
(address=(protocol=tcps)(port=1522)(host=adb.ca-toronto-1.oraclecloud.com))
(connect_data=(service_name=**************_salesadb_low.adb.oraclecloud.com))
(security=(ssl_server_dn_match=yes)(TOKEN_AUTH=OCI_TOKEN))
)
salesadb-oracleiam % sql /@salesadb_oci
SQLcl: 月 7月 13 15:03:43 2026のリリース26.1 Production
Copyright (c) 1982, 2026, Oracle. All rights reserved.
接続先:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.32.0.1.0
SQL>
select
sys_context('userenv','authentication_method') authenticated_method,
sys_context('userenv','authenticated_identity') authenticated_identity,
sys_context('userenv','session_user') session_user,
sys_context('userenv','current_user') current_user
from dual
SQL> select
2 sys_context('userenv','authentication_method') authenticated_method,
3 sys_context('userenv','authenticated_identity') authenticated_identity,
4 sys_context('userenv','session_user') session_user,
5 sys_context('userenv','current_user') current_user
6 from dual
7* /
AUTHENTICATED_METHOD AUTHENTICATED_IDENTITY SESSION_USER CURRENT_USER
_______________________ ____________________________ _______________ _______________
TOKEN_GLOBAL yuji.n******@********.com WKSP_APEXDEV WKSP_APEXDEV
SQL> exit
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.32.0.1.0から切断されました
salesadb-oracleiam %

































