管理环境运维授权
使用AutoMQ Cloud BYOC 产品的过程中, BYOC 环境底层会产生系统日志、Metrics 等数据,AutoMQ 服务方需要用户提供相应的运维授权,以进行系统稳定性监控和故障自愈等运维操作。
本文中提及 AutoMQ 产品服务方、AutoMQ 服务方、AutoMQ,均特指安托盟丘(杭州)科技有限公司。
授权原理
AutoMQ 的运维授权包含两个场景:
场景 1:系统监控报警,需要读权限。 AutoMQ Cloud BYOC 环境运行过程中,环境控制台以及 AutoMQ 数据面集群会产生系统日志、巡检日志、系统Metrics 数据。上述数据会自动上传到用户创建环境时指定的运维 Bucket 中。AutoMQ 服务方需要用户云账号授权对该运维 Bucket 的读权限,这样 AutoMQ 运维平台可以对用户的集群进行稳定性监控和故障自愈。
场景 2:订阅 License 动态更新、新版本更新推送,需要写权限。 AutoMQ BYOC 环境的订阅 License 在触发续费、升降配、新版本 Release 后,环境内控制组件需要感知新的订阅信息、新版本的元数据。此时,AutoMQ 服务方通过运维 Bucket 写入新信息,环境控制台动态加载。
授权操作通过云厂商对象存储提供的 Bucket 授权策略完成,即用户作为 Bucket 所有者,授予 AutoMQ 服务方云账号读取指定运维 Bucket 的权限。
需要授予的读权限明细如下:
云厂商 | AutoMQ 服务方云账号 ID | 授予权限列表 |
---|---|---|
阿里云 | 1431115939942888 |
|
AWS | 381492316447 |
|
环境运维授权申明:
运维 Bucket 必须和数据 Bucket 以及其他应用使用的 Bucket隔离,运维 Bucket 内仅存储系统日志和 Metrics 数据,不包含用户的业务消息等数据,无数据安全风险。
授权操作
阿里云环境授权
阿里云 OSS 提供了Web 界面以及简化的授权模板,无需用户自行编写授权 Policy。
控制台操作步骤
登录运维 Bucket 所属云账号,或者是拥有授权操作能力的子账号,前往 OSS 控制台:
- 前往 Bucket 列表页,找到目标 Bucket。 用户访问OSS 控制台,点击左侧导航栏 Bucket 列表 ,进入列表页。搜索找到当前环境配置的运维 Bucket,点击详情。
- 前往权限控制菜单,找到 Bucket 授权策略。 点击访问 Bucket 授权策略,打开新增授权表单。
填写授权信息,创建 Bucket 授权策略。 参照如下说明,填写相应的授权信息,点击确定,完成授权策略创建。
授权资源:选择整个 Bucket。
资源路径:检查是否是当前运维 Bucket。
授权用户:选择其他账号,填写上方 AutoMQ 服务方云账号 ID。
授权操作:选择简单设置,选择读/写操作。
AWS 环境授权
AWS S3 控制台提供了 Bucket Policy 授权功能,操作步骤参考下方文档。
控制台操作步骤
登录运维 Bucket 所属云账号,或者是拥有授权操作能力的子账号,前往S3 控制台:
- 前往 Bucket 列表页,找到目标 Bucket。 用户访问 S3 控制台,点击左侧导航栏 Bucket 列表 ,进入列表页。搜索找到当前环境配置的运维 Bucket,点击详情。
- 前往 Permissions 菜单,找到 Bucket Policy。 点击 编辑 ,打开授权表单。
填写授权信息,创建 Bucket 授权策略。 参照如下说明,填写相应的授权信息,点击确定,完成授权策略创建。
授权资源:选择指定的 Ops Bucket。
授权用户:填写上方 AutoMQ 服务方云账号 ID。
授权操作:参考下方的 Policy。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::381492316447:root"
},
"Action": [
"s3:GetObject",
"s3:GetObjectVersion",
"s3:GetObjectAcl",
"s3:GetObjectTagging",
"s3:GetObjectVersionAcl",
"s3:GetObjectVersionTagging",
"s3:ListBucket",
"s3:ListBucketVersions",
"s3:ListBucketMultipartUploads",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::{Ops Bucket Name}",
"arn:aws:s3:::{Ops Bucket Name}/*"
]
}
]
}