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