开发者社区> 问答> 正文

如何借助 STS 实现跨账号访问日志资源资源?


您创建的 project、logstore、config、machinegroup,都是您自己拥有的资源。默认情况下,您对自己的资源拥有完整的操作权限,可以使用本文档中列举的所有 API 对资源进行操作。
如果需要授权其它云账号访问各类资源,需要通过 STS 获取临时 ak/token 调用具体操作。在阅读以下说明之前,请先阅读 STS产品文档
假设用户 A 在日志服务创建了 project 和 logstore 等各类资源,用户 B 希望调用 API 接口进行访问,需要按照如下步骤进行操作。

用户 A 操作



创建角色


用户 A 通过 访问控制服务控制台 或者 API 创建角色信任用户 B 云账号,创建的角色详情如下:




您创建的 project、logstore、config、machinegroup,都是您自己拥有的资源。默认情况下,您对自己的资源拥有完整的操作权限,可以使用本文档中列举的所有 API 对资源进行操作。
如果需要授权其它云账号访问各类资源,需要通过 STS 获取临时 ak/token 调用具体操作。在阅读以下说明之前,请先阅读 STS产品文档
假设用户 A 在日志服务创建了 project 和 logstore 等各类资源,用户 B 希望调用 API 接口进行访问,需要按照如下步骤进行操作。

用户 A 操作



创建角色


用户 A 通过 访问控制服务控制台 或者 API 创建角色信任用户 B 云账号,创建的角色详情如下:


资源(Resource)设置说明:

  • 以上两类资源都是授权指定用户的所有 project 和 logstore
  • 如果授权指定 project:acs:log::{projectOwnerAliUid}:project/
  • 如果授权指定 logstore:acs:log::{projectOwnerAliUid}:project/{projectName}/logstore/{logstoreName}/

完整的资源说明请参考 日志服务 RAM 资源

用户 B 操作



创建子账号并授权


登录访问控制服务控制台或者使用 API/SDK 创建子账号并且授予 AssumeRole 权限( 控制台操作示例)。

调用 STS 接口获取临时 ak/token


STS SDK 使用说明

调用日志服务接口


日志服务 SDk 使用说明

示例代码


样例代码以用户 B 通过 STS 向用户 A 的 project 写入数据为例(基于 JavaSDK)。
代码链接

展开
收起
轩墨 2017-10-23 16:21:30 2277 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
PostgresChina2018_赖思超_PostgreSQL10_hash索引的WAL日志修改版final 立即下载
Kubernetes下日志实时采集、存储与计算实践 立即下载
日志数据采集与分析对接 立即下载