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 添加权限​
搜索并添加 STSAssumeRoleAccess 和 ACEPFullAccess 策略,点击提交。​
​Image​​
4. 新建子账户并添加权限​
4.1 新建子账户​
在左侧导航栏选择 身份管理-用户 ,点击 新建用户。​
​Image​​
点击 通过用户名创建,输入 用户名 并点击下一步。​
​Image​​
4.2 为新建的子账户赋权限​
搜索并添加 STSAssumeRoleAccess 和 ACEPFullAccess 权限,点击下一步进行信息确认,确认无误后点击提交完成子账户创建。​
​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
这个页面对您有帮助吗?
有用
有用
无用
无用