You need to enable JavaScript to run this app.
导航

基于 IAM 角色实现跨账号访问日志服务

最近更新时间2024.04.29 17:31:19

首次发布时间2024.04.29 17:31:19

通过 IAM 角色,可实现火山引擎账号 B 访问火山引擎账号 A 中的日志服务资源。 本文介绍基于 IAM 角色跨账号访问日志服务的操作步骤。

场景示例

企业 A 为提升业务开发效率与数据分析能力,已开通了日志服务。然而企业 A 希望聚焦核心业务的发展,将日常运营与数据分析工作委托给合作企业 B。在这种合作模式下,企业 A 需要确保数据安全的前提下,向企业 B 提供必要的日志服务访问权限。针对该需求,日志服务提供基于 IAM 角色跨账号访问资源的解决方案。具体流程如下:

  1. 企业 A 使用其火山引擎主账户 A 创建一个 IAM 角色并授予业务相关的日志服务权限。
  2. 企业 B 使用其火山引擎主账户 B 创建一个 IAM 用户并授予扮演 IAM 角色的权限。
  3. 企业 B 使用主账户 B 下 IAM 用户访问企业 A (主账号 A )中的日志服务。

操作步骤

1 主账号 A 创建 IAM 角色并授予日志服务访问权限

企业 A 通过火山引擎主账号 A 创建一个 IAM 角色并为其授权,明确 IAM 角色在被扮演时所拥有的日志服务权限。在本示例中,您可以授予 IAM 角色检索日志和管理仪表盘的权限。

  1. 火山引擎主账号 A 登录 IAM 控制台

  2. 创建自定义权限策略。

    1. 在左侧导航栏中,单击策略管理
    2. 策略管理页面,单击新建自定义策略
    3. 新建自定义策略页面,完成如下配置,然后单击提交
      • 设置策略名称,例如 TLSDashboardAccess。
      • JSON编辑器中添加如下权限策略。
        {
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "tls:DescribeProjects",
                        "tls:DescribeProject",
                        "tls:DescribeTopics",
                        "tls:DescribeTopic"
                    ],
                    "Resource": [
                        "*"
                    ]
                },
                {
                    "Effect": "Allow",
                    "Action": [
                        "tls:SearchLogs",
                        "tls:DescribeIndex",
                        "tls:DescribeSavedSearches",
                        "tls:DescribeHistogram"
                    ],
                    "Resource": [
                        "*"
                    ]
                },
                {
                    "Effect": "Allow",
                    "Action": [
                        "tls:CreateDashboard",
                        "tls:DeleteDashboard",
                        "tls:ModifyDashboard",
                        "tls:DescribeDashboard",
                        "tls:DescribeDashboards"
                    ],
                    "Resource": [
                        "*"
                    ]
                }
            ]
        }
        
  3. 创建 IAM 角色。

    1. 在左侧导航栏中,选择身份管理 > 角色
    2. 角色页面,单击新建角色
    3. 新建角色面板中,完成如下配置,然后单击下一步
      • 设置选择信任身份类型账号。
      • 设置选择身份其他账号。
      • 账号ID中输入主账户 B 的 ID。
        该设置用于允许主账户 B 下的 IAM 用户扮演该 IAM 角色。
    4. 设置角色名,然后单击下一步
    5. 添加权限步骤中,选择您所创建的自定义权限策略(TLSDashboardAccess),然后单击提交。

2 主账号 B 创建 IAM 用户并授予允许扮演 IAM 角色的权限

企业 B 通过火山引擎主账号 B 创建一个 IAM 用户并为其授予 STSAssumeRoleAccess 授权,允许该 IAM 用户扮演主账户 A 所创建的 IAM 角色。

  1. 火山引擎主账号 B 登录 IAM 控制台
  2. 创建 IAM 用户。
    1. 在左侧导航栏中,选择身份管理 > 用户
    2. 用户页面,单击新建用户
    3. 创建用户页面,单击通过用户名创建
    4. 根据页面提示,完成信息填写登录设置,然后单击下一步
    5. 权限设置步骤,选择 STSAssumeRoleAccess,并单击下一步
    6. 审阅步骤,确认用户名信息,单击提交

3 主账号 B 的 IAM 用户访问主账号 A 的日志服务

主账户 B 的 IAM 用户可按照以下步骤登录控制台访问主账号 A 的日志服务资源。

  1. 在浏览器中打开 IAM 用户登录入口
  2. IAM 子用户登录页面上,输入主账户 B 的用户名、IAM 用户名和密码,单击立即登录
  3. 将鼠标移到右上角头像上,并在悬浮框中单击切换角色
  4. 切换角色页面,输入主账户 A 的 ID 以及 IAM 角色名,单击切换角色
  5. 打开日志服务控制台,访问主账户 A 的日志服务资源。