注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
使用标记和 OCI 函数自动执行 OCI IAM 身份域用户功能管理
简介
作为一种安全优秀实践,客户希望禁用 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 用户未使用的功能。这有助于他们通过非标准凭据(例如 API 密钥、验证令牌等)避免任何攻击。
用户功能由管理员在用户的详细信息中进行管理。每个用户都可以查看其功能,但只有管理员可以启用或禁用它们。联盟用户可用的用户功能包括:
- 控制台口令
- API 签名密钥
- 验证令牌
- Simple Mail Transfer Protocol (SMTP) 凭证
- 客户密钥
- OAuth 2.0 客户端身份证明
注:控制台密码功能对联合用户不可用。联合用户通过其身份提供者 (IdP) 对控制台进行验证,在控制台中管理其登录密码。
默认情况下,在预配新用户时会启用这些功能,从而允许用户为自己创建这些身份证明。有关这些用户身份证明的更多信息,请参见使用用户身份证明。
此解决方案利用标记功能自动管理现有用户或新用户的功能。这种自动化有两种模式:
-
批量模式:处理域中的所有用户,不包含任何输入有效负载。可以使用 OCI 资源调度程序执行或调用此操作,也可以手动执行或调用。
-
单模式:根据使用配置事件规则生成的创建事件(用户创建的事件)对单个用户自动执行函数。
与 OCI 事件服务集成可确保根据创建时提供的标记为新用户正确管理功能。
目标
- 实施原生解决方案,基于标记和功能管理 OCI IAM 身份域用户功能。
先决条件
-
访问 OCI 租户。
-
管理 OCI 事件服务规则、Oracle 应用、OCI 函数和 OCI 标记的权限。
任务 1:设置所需的策略和 OCI IAM 权限
此解决方案的每个组件都必须有权访问与之交互的 OCI 资源。要遵循本教程,需要以下权限。
-
用户策略:管理 OCI 事件服务规则和 OCI 函数。
-
服务策略:授予管理用户功能的功能权限。需要动态组。
有关详细策略的更多信息,请参见 Details for the Events Service 和 Details for Functions 。
任务 2:定义标记名称空间、标记键和标记值
标记是此解决方案的基础,因此所需的标记名称空间和标记键应就位。
任务 2.1:创建标记名称空间
-
转到 OCI 控制台,导航到监管和管理、租户管理,然后单击标记名称空间。
-
此时将显示当前区间中标记名称空间的列表。单击创建标记名称空间。
-
在创建标记名称空间页中,输入以下信息。
- 在区间中创建:选择要创建名称空间定义的区间。
- 名称空间定义名称:为此标记集输入唯一的名称。该名称在您的租户中必须是唯一的。标记名称空间不区分大小写。稍后无法更改此值。请避免输入机密信息。
- 说明:输入友好说明。您可以在以后需要时更改此值。
-
单击创建标记名称空间。

任务 2.2:创建标记键定义
-
在标记名称空间页中,单击要将标记键定义添加到的标记名称空间。
-
在 Tag Namespace Details(标记名称空间详细信息)页中,单击 Create Tag Key Definition(创建标记键定义)。
-
在创建标记键定义页中,输入以下信息。
- 标记键:输入密钥。值应为以下值之一:api_keys 、console_password 、auth_tokens 、customer_secret_keys 、db_credentials 、o_auth2_client_credentials 和 smtp_credentials 。
- 说明:输入友好说明。
- 成本跟踪:选择此项可启用此标记以进行成本跟踪。在租户中至多可以使用 10 个成本跟踪标记。
-
在标记值类型中,选择值列表并在需要这些功能的值中输入是,否则将为用户禁用这些功能。
-
单击创建标记键定义。

任务 2.3:向用户添加标记
-
将标记添加到现有用户。
-
转到 OCI 控制台,导航到身份和安全、身份,然后单击域。
-
此时将显示当前区间中的域列表。选择域并单击用户。查找并单击要添加标记的用户。
-
从 More Actions(更多操作)下拉菜单中,单击 Add Tags(添加标记)。
-
在添加标记页中,输入以下信息。
- 选择标记名称空间。
- 选择标记密钥。
- 在值中,从列表中选择一个。
- 要应用其他标记,请单击添加标记。
-
添加完标记后,单击添加标记。
-
-
添加到新用户。创建新用户时,从显示高级选项添加标记。

注:为要启用的所有功能添加标记。
任务 3:开发和部署 OCI 函数
该函数将读取用户上的标记并对该功能执行操作。为此,它执行了以下操作:
-
从函数配置中读取标记名称空间 (
tag_namespace)。 -
从函数配置中读取管理 (
manage_capability) 的功能。 -
从函数配置中读取函数功能输入 (
function_feature)。 -
从函数配置中读取目标域 (
domain_ocids)(如果是批量模式)。 -
检查用户上的标记。
-
根据缺少的标记禁用或启用用户功能。
从 GitHub 下载函数代码,自定义代码并部署它。
-
从以下位置下载 GitHub 系统信息库: iam-user-capability-management 。
-
请按照创建和部署 OCI 函数中所述的说明操作。
有关详细信息,请参阅创建函数。
任务 4:在 OCI 资源调度程序中创建调度
-
转到 OCI 控制台,导航到监管和管理、资源调度器,然后单击计划。
-
单击创建调度。
-
在 Basic information(基本信息)中,输入 schedule name(计划名称)、 schedule description(计划说明)以及要作为 start 执行的操作,然后单击 Next(下一步)。
-
在资源中,选择函数区间和函数,然后单击下一步。
-
在调度中,选择每日并根据您的要求配置其他参数。
-
重复间隔:输入您希望调度运行的频率,或使用菜单选择间隔。最小值为 1。最大值为 99。
-
开始时间:以 24 小时制格式输入以小时和分钟为单位的时间。
-
-
单击下一步并复核信息。单击创建调度。
这将按调度的时间间隔运行函数。有关更多信息,请参阅创建计划。
任务 5:在 OCI 事件服务中设置事件规则
-
转到 OCI 控制台,导航到观测和管理、事件服务,然后单击规则。
-
选择根区间,然后单击创建规则。
-
输入显示名称和说明。
-
在规则条件部分中,输入以下信息。
- 条件:选择事件类型。
- Service Name(服务名称):选择 Identity(身份)。
- 事件类型:选择用户创建。
-
在操作部分中,输入以下信息。
- 操作类型:选择函数。
- 选择 Function Application(函数应用程序)和 Function(函数)。
-
单击创建规则。
这将在创建新用户时调用函数。有关更多信息,请参阅创建事件规则。

注:为事件规则和函数应用程序启用日志将提供其他监视功能。
相关链接
确认
- 作者 - Bhanu Prakash Lohumi
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Automate OCI IAM Identity Domain Users Capability Management using Tags and OCI Functions
G24404-01
January 2025