4 设置用户、访问角色和权限

在使用 Oracle Blockchain Platform 设置服务后,需要完成的一个首要任务是在 Oracle Identity Cloud Service (IDCS) 或身份和访问管理 (Identity and Access Management,IAM) 身份域中添加用户账户,以便您期望使用该服务并在服务中为其分配适当的权限。

如果您是其区域尚不支持 IAM 身份域的现有客户或新客户,则您的 Oracle Blockchain Platform 账户提供 IDCS。使用 IDCS 添加用户和组,然后为其分配角色来控制其对 Oracle Blockchain Platform 的使用。请参阅管理 Oracle Identity Cloud Service 用户管理 Oracle Identity Cloud Service 组

如果您是新客户,并且您的 OCI 区域已迁移到使用 IAM 身份域,则会使用您的实例创建默认域。您可以使用此项添加用户和组,然后为其分配角色来控制其对 Oracle Blockchain Platform 的使用。请参阅管理用户管理组

使用 Oracle Identity Cloud Service 进行验证

Oracle Blockchain Platform 使用 Oracle Identity Cloud Service 进行身份管理和身份验证。

Oracle Identity Cloud Service 为 Oracle Cloud 管理员提供了一个中央安全平台来管理用户与应用的关系,包括与 Oracle Blockchain Platform 等其他 Oracle Cloud 服务的关系。借助 Oracle Identity Cloud Service ,您可以创建定制密码策略和电子邮件通知,引导新用户,将用户和组分配给应用程序,以及运行安全报告。请参见《管理 Oracle Identity Cloud Service 》中的以下主题:

账户中的每个 Oracle Cloud 服务实例都与 Oracle Identity Cloud Service 安全应用程序关联。每个安全应用程序定义一个或多个应用程序角色。将用户和组分配给这些应用程序角色,以便向他们授予对服务的管理访问权限。请参见《管理 Oracle Identity Cloud Service 》中的以下主题:

在 Oracle Cloud Infrastructure 控制台中连接到 Oracle Identity Cloud Service

Oracle Blockchain Platform 租户将自动与 Oracle Identity Cloud Service 联合,并配置为在 Oracle Cloud Infrastructure 中预配联合用户。

您可以通过 Oracle Identity Cloud Service 管理用户和组,如在 Oracle Cloud Infrastructure 控制台中管理 Oracle Identity Cloud Service 用户和组中所述。

注意:

在早期版本的 Oracle Identity Cloud Service 中,区块链平台应用程序位于应用程序下的导航抽屉中。Oracle Identity Cloud Service 已与 Oracle Cloud Infrastructure 集成,因此不再具有单独的 URL。现在,您可以在 Oracle Cloud Services 下的 Identity & Security (身份和安全)和 Domains(域)下的导航抽屉中找到区块链平台应用程序。
用户创建和权限流程概览:
  1. 在 Oracle Cloud Infrastructure 中,转至身份和安全,然后选择。创建必需的用户。
  2. 创建一个或多个组,并根据需要将用户分配给相应的组。
  3. 定义控制访问所需的策略。
  4. 授予 Oracle Cloud Infrastructure 中的用户对访问特定区间和 Oracle Blockchain Platform 实例的相应权限。

添加 Oracle Identity Cloud Service 用户

要访问使用 Oracle Identity Cloud Service 进行验证的 Oracle Blockchain Platform 实例,Oracle Blockchain Platform 用户必须首先具有有效的 Oracle Identity Cloud Service 身份证明。管理员在 Oracle Identity Cloud Service 中管理用户的预配,并执行添加用户的任务。

要添加用户并为他们提供对 Oracle Blockchain Platform 的访问权限:
  1. 在 Oracle Identity Cloud Service 中打开与 Oracle Blockchain Platform 实例关联的安全应用程序。
  2. 单击页面顶部的 Identity Cloud Service 用户选项卡(而不是 Oracle Blockchain Platform 实例的“用户”选项卡)。
  3. 单击添加并提供用户详细信息,然后单击完成

    此时将为用户显示“详细信息”页。将向用户发送一封包含登录信息的电子邮件。

使用身份和访问管理身份域进行验证

如果您的实例使用身份域进行身份管理,则可以使用 Oracle Cloud Infrastructure 控制台为期望使用 Oracle Blockchain Platform 的每个人设置和管理用户账户。设置用户和组后,可为其分配适当的权限(也称为应用程序角色)

要确定您的云账户是否提供身份域,请在 Oracle Cloud Infrastructure 控制台中导航到身份和安全。在身份下,查找

要访问使用身份域进行验证的 Oracle Blockchain Platform 实例,Oracle Blockchain Platform 用户必须首先具有有效的域身份证明。身份域管理员管理域中用户的预配,并执行添加用户的任务。

要添加用户并为其提供对 Oracle Blockchain Platform 的访问权限,请执行以下操作:
  1. 打开导航菜单并单击身份和安全。在身份下,单击
  2. 选择要使用的身份域,然后单击用户
  3. 单击 Create user(创建用户) 输入用户信息。
有关其他详细信息,请参阅 Oracle Cloud Infrastructure 文档中的下列主题:

为 Oracle Blockchain Platform 网络和 REST API 分配角色

此概览介绍与 Oracle Blockchain Platform 网络用户、管理员和控制台 REST API 用户相关的角色。使用或管理 Oracle Blockchain Platform 的任何人都必须在 Oracle Identity Cloud Service 或 Identity and Access Management 中添加,并被授予正确的用户角色。

如何将角色关联到用户

如果您使用 IDCS,则需要为 IDCS 中的每个用户添加相应的角色。有关如何在 IDCS 中添加或管理用户角色的信息,请参阅管理用户的 Oracle Identity Cloud Service 角色

如果您将 IAM 用于身份域,则需要为域中的每个用户添加适当的角色。
  1. 打开导航菜单并单击身份和安全,然后单击
  2. 选择要使用的身份域,然后选择 Oracle Cloud Services ,然后从列表中选择您的服务。
  3. 资源下,选择应用程序角色
  4. 选择要分配给用户的角色,单击该角色右侧的“更多”图标,然后选择分配用户

使用或管理网络或 REST API 所需的角色

下面是可用于 Oracle Blockchain Platform 的角色。

用户角色 是否自动授予实例创建者? 说明
ADMIN

此角色是 Oracle Blockchain Platform 云应用程序的整体管理员。

有关可用于此用户角色的控制台功能的完整列表,请参见 Access Control List for Console Function by User Roles 中的表。

要使用管理区块链网络 REST API,您必须将此角色与您的用户 ID 关联。

请注意,管理区块链平台(控制层)REST API 使用 OCI 的身份验证机制,如下所述:Oracle Cloud Infrastructure 文档:REST API 。此表中介绍的 ADMIN 角色仅适用于网络管理、应用程序操作和统计信息 REST API 调用。

用户   有关可用于此用户角色的控制台功能的完整列表,请参见 Access Control List for Console Function by User Roles 中的表。
CA_USER 此用户角色已分配给 Oracle Blockchain Platform 参与者,以授予用户对调用证书颁发机构 API 的访问权限。
REST_CLIENT

授予用户访问权限,以调用 REST 代理节点上具有相同编号的所有可用 REST 代理端点。

请注意,管理区块链平台(控制层)REST API 使用 OCI 的身份验证机制,如下所述:Oracle Cloud Infrastructure 文档:REST API 。此表中介绍的 REST_CLIENT 角色仅适用于网络管理、应用程序操作和统计信息 REST API 调用。

按用户角色列出的控制台功能的访问控制列表

下表列出了 ADMIN 和 USER 角色可以使用的控制台功能。

功能 ADMIN USER

仪表板

网络:列出组织

网络:添加组织

网络:订购服务设置

网络:导出证书

网络:导出 orderer 设置

网络:添加 OSN

网络:导出网络配置块

节点:列表

节点:start/stop/restart

节点:添加/删除

节点:查看属性

节点:编辑属性

节点:查看度量

节点:查看日志

节点:导出/导入对等节点

对等节点:列出通道

对等节点:加入通道

对等节点:列表链代码

排序者:导出 OSN 设置

Orderer:导入网络配置块

渠道:列表

渠道:创建

渠道:将组织添加到渠道

渠道:更新排序服务设置

渠道:查看/查询分类帐

渠道:列出实例化的链代码

渠道:列出联接的对等节点

通道:设置锚点对等点

渠道:升级链代码

渠道:管理 OSN 管理员

渠道:将排序者加入渠道

渠道:从渠道中删除排序者

链码:列表

链码:安装

链代码:实例化

链代码样例:install

链代码示例:实例化

链代码示例:调用

CRL

使用权限和策略管理 Oracle Blockchain Platform

Oracle Cloud Infrastructure 中的每个服务都与身份和访问管理 (Identity and Access Management,IAM) 集成,以便对所有接口(控制台、SDK 或 CLI 以及 REST API)进行身份验证和授权。您使用 IAM 授权策略来控制对租户中资源的访问权限。例如,您可以创建策略以授权用户创建和管理 Oracle Blockchain Platform 实例。

您可以使用 Oracle Cloud Infrastructure 控制台创建策略。有关 IAM 策略的更多信息,请参阅 Oracle Cloud Infrastructure 文档中的 Oracle Cloud Infrastructure Identity and Access Management 概述。有关编写策略的详细信息,请参见 Policy SyntaxPolicy Reference

Oracle Blockchain Platform 的资源类型

资源种类 权限 说明

区块链技术平台

  • BLOCKCHAIN_PLATFORM_CREATE
  • BLOCKCHAIN_PLATFORM_UPDATE
  • BLOCKCHAIN_PLATFORM_INSPECT
  • BLOCKCHAIN_PLATFORM_READ
  • BLOCKCHAIN_PLATFORM_DELETE
一个或多个 Oracle Blockchain Platform 实例。

区块链平台工作请求

  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_INSPECT
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_READ
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_DELETE
单个 Oracle Blockchain Platform 工作请求。

Oracle Blockchain Platform 实例上执行的每个操作都会创建一个工作请求。例如,创建、启动、停止等操作。

操作到权限映射

下表列出了特定于 Oracle Blockchain Platform 的 IAM 操作。您可以编写包含这些操作的 IAM 策略,也可以编写使用封装这些操作的已定义动词的策略。

操作 ID 使用操作所需的授权 API 操作
createBlockchainPlatform BLOCKCHAIN_PLATFORM_CREATE CreateBlockchainPlatform
deleteBlockchainPlatform BLOCKCHAIN_PLATFORM_DELETE DeleteBlockchainPlatform
getAllPlatformsInCompartment BLOCKCHAIN_PLATFORM_INSPECT GetBlockchainPlatforms
getBlockchainPlatformInformation BLOCKCHAIN_PLATFORM_READ GetBlockchainPlatformInformation
getWorkRequest BLOCKCHAIN_PLATFORM_WORK_REQUEST_READ GetWorkRequest
getWorkRequestErrors BLOCKCHAIN_PLATFORM_WORK_REQUEST_READ ListWorkRequestErrors
getWorkRequestLogs BLOCKCHAIN_PLATFORM_WORK_REQUEST_READ ListWorkRequestLogs
listWorkRequests BLOCKCHAIN_PLATFORM_WORK_REQUEST_INSPECT ListWorkRequests
restartBlockchainPlatform BLOCKCHAIN_PLATFORM_UPDATE RestartBlockchainPlatform
startBlockchainPlatform BLOCKCHAIN_PLATFORM_UPDATE StartBlockchainPlatform
stopBlockchainPlatform BLOCKCHAIN_PLATFORM_UPDATE StopBlockchainPlatform
updateBlockchainPlatform BLOCKCHAIN_PLATFORM_UPDATE UpdateBlockchainPlatform

有关动词和资源类型组合的详细信息

Oracle Cloud Infrastructure 提供了一组标准的动词来定义各种 Oracle Cloud Infrastructure 资源的权限( InspectReadUseManage )。这些表列出了与每个动词关联的 Oracle Blockchain Platform 权限。从 InspectRead 、再到 Use 、再到 Manage ,访问级别是累加。

INSPECT

资源 - 类型 INSPECT 权限
  • 区块链技术平台
  • BLOCKCHAIN_PLATFORM_INSPECT
  • 区块链平台工作请求
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_INSPECT

READ

资源 - 类型 READ 权限
  • 区块链技术平台
  • BLOCKCHAIN_PLATFORM_INSPECT
  • BLOCKCHAIN_PLATFORM_READ
  • 区块链平台工作请求
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_INSPECT
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_READ

USE

资源 - 类型 使用权限
  • 区块链技术平台
  • BLOCKCHAIN_PLATFORM_READ
  • BLOCKCHAIN_PLATFORM_UPDATE
  • 区块链平台工作请求
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_INSPECT
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_READ

管理

资源 - 类型 管理权限
  • 区块链技术平台
  • BLOCKCHAIN_PLATFORM_READ
  • BLOCKCHAIN_PLATFORM_UPDATE
  • BLOCKCHAIN_PLATFORM_CREATE
  • BLOCKCHAIN_PLATFORM_DELETE
  • 区块链平台实例工作请求
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_INSPECT
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_READ
  • BLOCKCHAIN_PLATFORM_WORK_REQUEST_DELETE

特定于操作的属性

这些变量的值由 Oracle Blockchain Platform 提供。此外,还支持其他通用变量。请参阅适用于所有请求的通用变量

对于给定的资源类型,所有操作(get、list、delete 等)都应具有相同的属性集。一个例外是 create 操作,在该操作中,您还没有该对象的 ID,因此您不能具有 createtarget.RESOURCE-KIND.id 属性。

资源种类 名称 类型
区块链技术平台      
区块链平台工作请求