跨租户转储授权
操作场景
如果用户想要对管理类事件进行统一管理,可以设置管理类追踪器将多个账号记录的事件统一转储到一个OBS桶。本节介绍如何配置跨租户转储。
操作步骤
- 租户B登录管理控制台。
- 租户A为需要配置跨租户转储的账号,租户B为OBS桶所在的账号。
- OBS不支持跨region转储,目前OBS桶所处区域只能是不同租户的同一个region。
- 在管理控制台左上角单击
图标,选择区域和项目。
- 单击左上角
,选择“存储 > 对象存储服务OBS”,进入对象存储服务详情页面。
- 左侧导航栏选择“桶列表”。在桶列表单击云审计服务需要配置转储的桶名称,进入“对象”页面。
- 在左侧导航栏,单击“访问权限控制 > 桶策略”。
- 在界面右上方选择“JSON视图”,单击“编辑”,按照如下格式给租户A授权。桶策略由JSON描述,详细格式定义请参考桶策略参数说明。
{ "Statement": [{ "Sid": "xxxx", "Effect": "Allow", "Principal": { "ID": [ "domain/{{租户A domainId}}:agency/*" ] }, "Action": [ "PutObject", "PutObjectAcl" ], "Resource": [ "{{bucketName}}/*" ] }, { "Sid": "xxxx1", "Effect": "Allow", "Principal": { // 租户B OBS桶授权给租户A下的所有子用户后,A的子用户即可配置跨租户转储。 "ID": [ "domain/{{租户A domainId}}:user/*" ] // 联合身份用户场景配置如下。授权给租户A下指定身份提供商名称后,联邦登录账号即可配置跨租户转储。如果不涉及联合身份场景,可删除该行。 // "Federated": "domain/{{租户A domainId}}:identity-provider/{{provider-name}}" }, "Action": [ "HeadBucket" // 部分不支持HeadBucket action的reigon,可以用ListBucket替代。 ], "Resource": [ "{{bucketName}}" ] } ] }
表1 桶策略参数说明 参数
描述
Sid
statement Id,描述statement的字符串。
Action
指定本条statement作用的操作,Action字段为OBS支持的所有操作集合,以字符串形式表示,不区分大小写。CTS只需要 "PutObject","PutObjectAcl"和"HeadBucket"三个action。
Effect
指定本条statement的权限是允许还是拒绝,Effect的值必须为Allow或者Deny。
Principal
桶策略被授权租户A,domainId可以通过控制台在“我的凭证”页面获取。Principal格式:
- “domain/账号ID:agency/*”(表示被授权用户A下的所有委托)。参考桶策略参数说明。
- “domain/账号ID:user/*”(表示被授权用户A下的所有子用户)。
Resource
指定statement起作用的一组资源,支持通配符“*”,表示所有资源。CTS配置跨账号转储时需要bucketName/*和bucketName。
- 单击“保存”,完成桶策略配置。
- 如果租户B下的OBS桶配置了桶加密功能,且加密密钥类型选择了“自定义密钥”,则需要在数据加密服务(DEW)对租户A进行授权,详细操作请参考创建授权。
跨租户桶配置加密时,建议使用自定义密钥。默认密钥有可能使用租户A的OBS默认密钥进行加密,会存在租户B无法下载转储文件的风险。
- 租户A登录管理控制台。
- 在管理控制台左上角单击
图标,选择区域和项目。
- 单击左上角
,选择“管理与监管 >云审计服务 CTS”,进入云审计服务详情页面。
- 单击左侧导航树的“追踪器”,进入追踪器信息页面。
- 在管理事件追踪器信息右侧,单击操作下的“配置”。
- 选择是否转储OBS为“转储”,OBS桶所属用户设置为“其他用户”,需要手动输入待转储的租户B已授权OBS桶的桶名。
- 单击“配置”,完成配置追踪器。