You need to enable JavaScript to run this app.
文档中心
云手机

云手机

复制全文
下载 pdf
最佳实践
获取临时密钥(STS)
复制全文
下载 pdf
获取临时密钥(STS)
在使用云手机提供的客户端服务前,必须通过鉴权流程。为了最大程度地保障密钥的安全,我们建议您通过客户端动态请求服务端发放临时 AK/SK,用以生成一个仅短时间内有效的一次性 Token 来完成鉴权,而不是将长期的 AK/SK 存储在客户端。通过这种方式获取到的临时凭证仅在有限的时间内有效,即使被非法获取,也会很快失效,极大降低了密钥泄露的风险。
本文介绍如何通过安全令牌服务(STS)换取临时鉴权凭证。
步骤
1. 进入控制台
使用已有的火山引擎账号登录控制台
2. 进入访问控制
点击右上角 用户名 ,选择 访问控制
Image
3. 新建角色并添加权限
3.1 新建角色
在左侧导航栏中选择身份管理-角色 ,点击 新建角色
Image
3.2 选择信任身份
信任身份类型选择 账号 ,身份选择 当前账号 ,点击下一步。
Image
3.3 配置角色信息
填写 角色名 和其他信息,点击下一步。
3.4 添加权限
搜索并添加 STSAssumeRoleAccessACEPFullAccess 策略,点击提交。
Image
4. 新建子账户并添加权限
4.1 新建子账户
在左侧导航栏选择 身份管理-用户 ,点击 新建用户
Image
点击 通过用户名创建,输入 用户名 并点击下一步。
Image
4.2 为新建的子账户赋权限
搜索并添加 STSAssumeRoleAccessACEPFullAccess 权限,点击下一步进行信息确认,确认无误后点击提交完成子账户创建。
Image
4.3 为新建的子账户新建访问密钥
选择刚创建的用户进入用户详情,点击 密钥-新建密钥 ,获取到子账户 AK、SK。
Image
5. 获取临时鉴权密钥
测试环境
测试环境下,你可以使用子账户的 AK、SK,在控制台生成临时鉴权密钥。
在控制台左侧导航栏点击新手入门,选择存储方案后点击生成临时鉴权密钥
Image
正式环境
正式环境下,推荐您使用子账户的 AK、SK,通过安全令牌服务(STS)来换取临时鉴权密钥,详情参见 STS 接口说明
指定资源权限范围
STS 接口提供了参数 Policy 用于进一步限制临时密钥的权限,基于权限最小化原则,推荐您设置 Policy 参数,限制临时密钥可以访问的云手机资源范围。
以下提供了 Policy 示例值:
{
"Statement": [
{
"Effect": "Allow", // 声明当前权限效果为允许
"Action": [ // 需要限制的Action
"ACEP:ListPod",
"ACEP:DetailPod",
"ACEP:PodStart"
],
"Resource": [
"trn:ACEP::20000****:product_id/198670449019506****", // 需要限制的业务资源
"trn:ACEP::20000****:product_id/679850906414910****",
"trn:ACEP::20000****:pod_id/756989046484640****", // 需要限制的实例资源
"trn:ACEP::20000****:pod_id/590849764404646****",
"trn:ACEP::20000****:pod_id/696445848236401****",
"trn:ACEP::21000****:user_id/14235****", // 需要限制的用户 ID,暂仅使用 start 接口中的 PodStart 时生效
"trn:ACEP::21000****:user_id/14345****",
"trn:ACEP::21000****:user_id/11235****"
]
}
]
}
参数说明:
  • Action 用于指定服务及操作,格式为 服务ID:接口Action,支持传入多个。
  • 例如上述示例值表示临时密钥可以调用云手机(ACEP)的 ListPod、DetailPod 接口。
注意
  • 由于 SDK 中的接口实际会调用云手机 OpenAPI 进行对应操作(例如 SDK 中的 start 接口会调用 PodStart 启动实例)。因此,您需要在 Action 中为各客户端 SDK 使用到的 OpenAPI 添加允许(Allow)权限。
  • 若您换取的临时鉴权密钥(STS)供客户端 SDK 使用,请确保您为各客户端 SDK 使用到的 OpenAPI(如下)均添加了允许(Allow)权限。
  • Web H5 SDK:StartScreenShot、MonitorPod、PodStart、BatchPodStart、StartPodEventSync、UpdatePodEventSync、GetMediaToken、ListPod、GetTaskInfo
  • Windows SDK:PodStart、BatchPodStart、StartPodEventSync、UpdatePodEventSync、GetMediaToken、ListPod、GetTaskInfo
  • Resource 参数用于指定业务、实例资源、用户 ID,格式如下,支持传入多个。
  • 指定业务:trn:服务ID::火山账号ID:product_id/您的云手机业务ID
  • 指定实例:trn:服务ID::火山账号ID:pod_id/您的云手机实例ID
  • 指定用户:trn:服务ID::火山账号ID:user_id/用户ID
  • 例如上述示例值表示临时密钥可以访问云手机(ACEP)内 ID 为 198670449019506****679850906414910****的业务、ID 为 756989046484640****590849764404646****696445848236401****的实例、用户 ID 为 14235****14345****11235**** 的实例。
注意
  • 仅当 Action 中指定的接口包含实例相关参数(如 PodId、PodIdlist)时,Resource 中指定的实例资源才生效。
  • 仅当 Action 中指定的接口包含 PodStart 时,Resource 中指定的用户 ID 才生效,且仅对该接口生效
SDK 调用 STS 接口示例代码
基于火山引擎 SDK 调用 STS 接口获取临时密钥的示例代码如下:
最近更新时间:2026.04.15 19:15:58
这个页面对您有帮助吗?
有用
有用
无用
无用