注意:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的值。
使用 Oracle Cloud Infrastructure Identity and Access Management Authentication 和 Oracle Autonomous Database
简介
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 数据库密码允许 IAM 用户以 Oracle Database 用户通常使用用户名和密码登录到 Oracle Autonomous Database 实例。用户输入其 IAM 用户名和 IAM 数据库密码。IAM 数据库密码是与 Oracle Cloud Infrastructure (OCI) 控制台密码不同的密码。使用带有密码验证器的 IAM 用户,您可以使用任何受支持的数据库客户端登录到 Autonomous Database。
OCI IAM 旨在确保只有合适的人员才能访问组织的数据和资源。您可以将 Oracle Database 配置为使用 OCI IAM 验证和授权,以允许 IAM 用户使用 IAM 身份证明访问数据库。在 IAM 中集中管理用户和凭证可提高数据库用户的安全性、可管理性和用户体验。
目标读者
OCI IAM 专业人员和管理员。
目标
配置 Oracle Autonomous Database 以使用 OCI IAM 验证和授权,允许 IAM 用户使用 IAM 身份证明访问 Oracle Autonomous Database。
先决条件
-
Autonomous Database 在 OCI 中预配。
-
具有管理员权限的 OCI IAM 身份域租户。
-
用于测试 Autonomous Database 连接的 Oracle Database 工具,请参阅使用 Oracle Database Tools 连接至 Autonomous Database 。在本教程中,我们将在 Windows 系统新建 Oracle 客户端安装上使用 SQL*Plus 命令行界面。
任务 1:创建数据库组、用户和策略
-
导航到身份和安全、组,然后单击创建组。提供以下详细信息以创建组:
DB_Admins和DB_Users。
-
使用名称
DB_Admins和说明DB_Admins创建第一个组,然后单击创建。
-
使用名称
DB_Users和说明DB_Users创建另一个组,然后单击创建。
-
-
导航到身份、策略并输入以下详细信息,然后单击创建策略。
-
名称:
ADB-Access-Policy -
说明:
ADB-Access-Policy -
区间:确保选择了正确的区间
-
策略生成器:选择显示手动编辑器选项
allow group DB_Users, DB_Admins to use database-connections in compartment <compartment-name> allow group DB_Users, DB_Admins to use autonomous-database-family in compartment <compartment-name>
-
-
导航到身份、用户,然后输入以下详细信息以创建两个测试用户 -
testuser1和testuser2,然后单击创建。-
选择用户类型:IAM 用户
-
用户名:
testuser1 -
说明:
testuser1 -
电子邮件:
testuser1@demo.com -
确认邮箱:
testuser1@demo.com
-
-
将 testuser1 添加到 DB_Users 组。

-
重复步骤 3 以设置
testuser2。-
选择用户类型:IAM 用户
-
用户名:
testuser2 -
说明:
testuser2 -
电子邮件:
testuser2@demo.com -
确认邮箱:
testuser2@demo.com
-
-
将 testuser2 添加到 DB_Admins 和 DB_Users 组。


任务 2:为用户设置 IAM 数据库密码
-
定位至身份和用户。
-
选择
testuser1。数据库用户名是 testuser1。选择数据库密码并输入以下详细信息,然后单击创建数据库密码。-
说明:
password -
密码: password
-
确认口令: password

-
-
选择
testuser2。数据库用户名是 testuser2。选择数据库密码并输入下面给出的以下详细信息,然后单击创建数据库密码。-
说明:
password -
密码: password
-
确认口令: password
现在,您已成功创建
testuser1和testuser2的数据库密码。 -
任务 3:为创建 DB_Users 和 DB_Admins 组的全局用户方案映射和角色映射配置数据库
-
在 OCI 中,导航到 Autonomous Database 、 Database Actions 和 SQL 。将创建 SQL 会话。


-
使用以下查询验证 Autonomous Database 的当前外部身份提供者。
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
注意:它当前设置为无。
-
使用以下查询将 OCI IAM 配置为 Autonomous Database 的外部身份提供者。
EXEC DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION('OCI_IAM');
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
注意:它当前设置为 OCI_IAM 。
-
配置数据库,以便为 SQL 中的 DB_Users 和 DB_Admins 组创建全局用户方案映射和角色映射。
CREATE USER global_user IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=DB_Users'; CREATE ROLE global_role IDENTIFIED GLOBALLY AS 'IAM_GROUP_NAME=DB_Admins'; grant CREATE SESSION to global_user; grant DWROLE to global_role; grant CREATE SESSION to global_role;
任务 4:下载 SQL*Plus 数据库客户端
-
确保根据操作系统安装 Oracle Database 客户端发行版 19c - 19.20.0 的最新发行版更新。在本教程中,我们将使用 Windows OS 。
-
下载 SQL*Plus DB 客户端,请参阅安装 SQL*Plus DB 客户端。
任务 5:下载 Wallet
-
导航到 Oracle Cloud 、 Databases 、Autonomous Database ,然后选择预配的 Autonomous Database,然后单击数据库连接。

-
输入密码并下载 wallet。

任务 6:更新 sqlnet.ora 中的 Wallet 位置并设置 TNS 管理变量
-
在
sqlnet.ora中更新下载的 wallet 位置路径。

-
使用 wallet 位置路径设置环境变量 TNS_Admin。

任务 7:使用 PowerShell 连接到数据库
-
打开 Windows PowerShell 并输入以下查询。
sqlplus /nolog -
演示 Administrator User 的 Local Authentication(本地验证)。
conn admin/password@adwtest_highexit
现在,您已成功以管理员身份连接到 Autonomous Database 。
-
演示
testuser1和testuser2的基于口令的验证,并验证数据库中的用户和角色。执行以下 SQL 查询以 testuser2 身份连接到 Autonomous Database。conn testuser1/password@adwtest_high已以
testuser1身份连接。逐个执行下面的 SQL 查询并观察输出以验证用户和角色。SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;SELECT * FROM SESSION_ROLES;exit
现在,您已成功将 Autonomous Database 的连接测试为 testuser1 。
-
继续执行下面的 SQL 查询,以 testuser2 身份连接到 Autonomous Database 。
conn testuser2/password@adwtest_high已以
testuser2身份连接。现在,逐个执行下面的 SQL 查询并观察输出以验证用户和角色。SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;SELECT * FROM SESSION_ROLES;exit
现在,您已成功将 Autonomous Database 的连接测试为 testuser2 。
相关链接
确认
-
Authors(作者) -Indiradarshni Balasundaram,Alex Kovuru,Anuj Tripathi
-
贡献者 - Deepak Rao
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Use Oracle Cloud Infrastructure Identity and Access Management Authentication with Oracle Autonomous Database
F89542-01
November 2023
Copyright © 2023, Oracle and/or its affiliates.