API 鉴权


EnOS API 身份验证采用服务账号 SA(Service Account)来验证应用或开发者的身份。在请求 EnOS API 请求时,应用开发人员需要将 SA 发送到 EnOS,通过它验证用户身份并执行所需的授权访问。

前提条件


确保你在 EnOS 应用门户的账号拥有 设备接入和管理人员应用开发人员 角色,可以访问 开发者控制台。若无可联系 OU 管理员为账号分配角色。

步骤 1:获取服务账号


操作人:应用开发人员


SA 由应用的 AccessKeySecretKey 组成,1 个应用对应 1 个 SA。你需要先获取应用的 SA,作为调用 EnOS API 的身份凭证。

  1. 登录 EnOS 应用门户,选择右上角的 portal 按钮,进入 开发者控制台,在左侧导航栏中选择 应用 > 应用注册

  2. 选择 1 个已有应用,或通过以下任意一种方式为当前 OU 添加新应用:

    • 注册应用:在当前 OU 内从头创建新应用。参见 注册应用

    • 获取应用:从其它 OU 获取 1 个已有应用至当前 OU。参见 获取应用

  3. 组织应用已获取 的标签页下,点击应用卡片,打开 应用详情 页面,查看应用的 AccessKeySecretKey

步骤 2:(可选)获取 API 调用权限


操作人:应用开发人员


备注

默认情况下,你可以调用 EnOS API,无需任何授权。仅当调用以下 API 前,你需要为应用获取 API 调用权限:

若不需要调用这些 API,可跳过此步骤。


按照以下步骤为应用分配 API 调用权限:

  1. 登录 EnOS 应用门户,选择右上角的 portal 按钮,进入 开发者控制台,在左侧导航栏中选择 应用 > API 管理 > API 授权

  2. 选择 添加授权,进入添加授权页面,配置以下信息:

    • 授权应用名称:选择你的应用名称。

    • 授权方式:选择 手动配置,在下方 API 列表中勾选需要授权的 API。


_images/api_authorize.png

步骤 3:(可选)获取资源权限


操作人:OU 管理员


备注

默认情况下,你可以通过 EnOS APIs 读写 EnOS 上的所有资源,不受任何权限限制。只有当调用 通用数据服务 时,需要联系 OU 管理员为应用分配资源权限,才可以读取或更新这些资源。若不需要调用通用数据服务 API,可跳过此步骤。


OU 管理员可按照以下步骤,为应用分配资源权限:

  1. 登录 EnOS 应用门户,选择右上角的 portal 按钮,进入 管理员控制台

  2. 选择 应用管理 菜单,在应用列表中查找需要授权的应用,选择 … > 管理,进入应用详情页面。

  3. 在应用详情页面中的 授予资源权限 中,为应用分配对应的资源权限:

    • 不授予资源权限:该应用无法通过 API 获取当前 OU 的任何资源。

    • 允许此应用以 OU 管理员身份获取所有资源权限:该应用可通过 API 获取当前 OU 的所有资源。

    • 允许此应用同步获取指定用户的资源权限:该应用的权限范围将与指定用户的权限范围保持一致。

      • 若已有用户的权限范围不适用,可参考 分配资源权限,为用户配置权限范围。

      • 若不存在可用资源,可使用 注册资源 API,为当前 OU 注册资源。


_images/app_authorize.png


结果


你可以使用应用 SA,参照 通过 EnOS SDK 调用 EnOS API通过 Access Token 调用 EnOS API,获取或更新指定资源。