Oracle 数据库用户管理
1.1、创建用户Oracle 数据库中创建用户的语法有了显著增强支持更多安全选项。-- 基础创建用户 CREATE USER hr_user IDENTIFIED BY Hr2024!Secure DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp QUOTA 500M ON users ACCOUNT UNLOCK PASSWORD EXPIRE; -- 强制密码区分大小写 ALTER SYSTEM SET sec_case_sensitive_logon TRUE; -- 创建用户时指定 Profile CREATE USER fin_user IDENTIFIED BY Fin2024!Strong PROFILE fin_profile DEFAULT TABLESPACE fin_ts QUOTA UNLIMITED ON fin_ts; -- 创建时指定认证方式 -- OS 认证 CREATE USER os_user IDENTIFIED EXTERNALLY; -- LDAP 认证 CREATE USER ldap_user IDENTIFIED GLOBALLY AS CNJohn,OUDev,DCcorp; -- Kerberos 认证 CREATE USER kerb_user IDENTIFIED GLOBALLY AS johnCORP.EXAMPLE.COM;1.2、用户属性管理Oracle 用户的关键属性包括属性说明USERNAME用户名CDB 中公共用户需以 C## 开头IDENTIFIED BY密码认证12c 默认区分大小写DEFAULT TABLESPACE默认表空间存储用户创建的对象TEMPORARY TABLESPACE临时表空间用于排序和临时操作QUOTA表空间配额限制用户可使用的空间PROFILE资源限制和密码策略配置文件ACCOUNT STATUS账户状态LOCKED/UNLOCKED/EXPIREDCONTAINERALL公共用户或 CURRENT本地用户1.3、用户认证方式1.3.1、数据库认证Database Authentication最常见的认证方式用户密码存储在数据库中12c 默认区分大小写。-- 查看密码大小写敏感设置 SELECT name, value FROM v$parameter WHERE name sec_case_sensitive_logon; -- 修改密码 ALTER USER hr_user IDENTIFIED BY NewPss2024 REPLACE OldPss2023; -- 锁定/解锁账户 ALTER USER hr_user ACCOUNT LOCK; ALTER USER hr_user ACCOUNT UNLOCK; -- 密码过期 ALTER USER hr_user PASSWORD EXPIRE;1.3.2、操作系统认证OS Authentication通过操作系统用户映射到数据库用户常用于本地 DBA 管理。-- 创建 OS 认证用户 CREATE USER ops$admin IDENTIFIED EXTERNALLY; -- 使用 OS 认证连接无需输入密码 -- sqlplus /orcl -- 12c 增强支持区分大小写的 OS 用户名 ALTER SYSTEM SET os_authent_prefix OPS$;1.3.3、目录服务认证LDAP/Kerberos企业级环境中常用的集中认证方式。-- 配置 LDAP 认证需先配置 ldap.ora CREATE USER enterprise_user IDENTIFIED GLOBALLY AS CNEnterprise User,OUUsers,DCcorp,DCcom; -- 配置 Kerberos 认证 -- sqlnet.ora 配置 -- SQLNET.AUTHENTICATION_SERVICES (KERBEROS5) -- SQLNET.KERBEROS5_CONF /etc/krb5.conf -- SQLNET.KERBEROS5_REALM CORP.COM -- SQLNET.KERBEROS5_CONF_MIT TRUE CREATE USER kerberos_user IDENTIFIED GLOBALLY AS userCORP.COM;1.3.4、多因素认证MFA- 12c 新特性Oracle 12c 开始支持与第三方 MFA 集成如 RSA、Gemalto 等。-- 配置 RADIUS 认证用于 MFA 集成 -- sqlnet.ora 配置 -- SQLNET.AUTHENTICATION_SERVICES (RADIUS) -- SQLNET.RADIUS_AUTHENTICATION radius_server -- SQLNET.RADIUS_AUTHENTICATION_PORT 1812 -- SQLNET.RADIUS_SECRET /opt/oracle/radius_secret -- 创建 RADIUS 认证用户 CREATE USER mfa_user IDENTIFIED BY InitPss AUTHENTICATION USING radius;实例制造业用户生命周期管理体系S — Situation场景某大型制造企业有 200 个数据库用户分布在 Oracle 的 8 个 PDB 中。用户使用简单密码频繁出现暴力破解事件且离职员工账户未及时清理。T — Task任务建立一套完整的用户生命周期管理机制包含强密码策略、账户自动锁定、定期审计。A — Action行动1、创建统一的密码验证函数要求最少12位、大小写数字特殊字符、不能包含用户名。2、创建 Profile 绑定到所有用户设置密码历史10次、失败5次锁定30分钟。3、编写 PL/SQL 脚本自动识别90天未登录的账户并锁定。4、集成企业 LDAP实现统一身份管理。5、建立月度用户审计报告机制。R — Result结果密码暴力破解事件降至零90天未活跃账户自动锁定覆盖率达100%离职员工账户平均清理时间从7天缩短到当天安全审计报告自动生成并邮件通知安全团队。

相关新闻

最新新闻

日新闻

周新闻

月新闻