You need to enable JavaScript to run this app.
导航
权限管理
最近更新时间:2024.11.28 20:11:41首次发布时间:2024.04.30 15:17:22

SaaS-云原生版本的DataFinder也支持通过角色和用户对项目进行权限管控,且在SaaS-云原生环境中支持联合火山引擎访问控制(IAM)进行灵活的用户账号和权限管控。本文为您介绍SaaS-云原生版本下的角色权限和用户管理操作。

背景信息

在SaaS-云原生环境中,DataFinder可联合火山引擎IAM和自身的用户角色功能,从粗粒度和细粒度来灵活进行权限管控。
Image
通常情况下,开通DataFinder的火山引擎主账号为权限最大的管理员账号,管理员可根据团队业务情况创建多个IAM子账号,并为子账号进行不同粒度的授权操作。

  1. 授权时,管理员需先在IAM创建子账号,并通过权限策略对子账号进行较粗粒度的权限管控,并为子账号设置开放的DataFinder的项目范围。
  2. 完成粗粒度的权限设置后,管理员可在DataFinder的角色管理页面创建用户角色,通过对角色设置细粒度的功能模块、数据范围的权限范围,将角色关联到已创建的IAM子账号上,实现对子账号的细粒度权限管控。

详细操作步骤和操作指导请参见下文。

粗粒度权限管控:IAM Policy权限管控

step1:开启IAM权限管控

注意

  • DataFinder的IAM Policy权限管控功能仅SaaS-云原生环境支持,且默认关闭,如果您希望使用IAM Policy进行粗粒度权限管控,可使用主账号开启功能。
  • 开启IAM权限管控后:
    • 开启后将优先检验在官网控制台的访问控制(IAM)配置的权限,历史在增长分析产品中配置的权限将与IAM权限以“且”关系进行二次校验。
    • 同主账号下的存量子账号用户,均需再次进行IAM授权操作,否则存量子账号将不能正常使用DataFinder。
    • 如果此前邀请过跨主账号的子账号成为项目成员,则不支持开启IAM授权功能,此场景下如果希望使用IAM全想管控功能,需联系火山引擎技术支持人员协助删除跨主账号的子账号成员,完成后再开启功能开关。
  • 如果开启IAM授权功能后,再次关闭IAM授权功能,则子账号的DataFinder权限会恢复至历史配置过权限状况。
  1. 使用主账号登录DataFinder控制台后,单击右上角的集团设置按钮,进入集团设置页面。
  2. 在集团设置页面的右上角打开IAM鉴权开关。
    Image

step2:创建IAM子账号

管理员可根据业务团队的人员情况创建IAM子账号,后续将子账号的登录链接、登录账号密码同步给对应人员后,后续业务人员即可使用IAM子账号登录、使用DataFinder。创建子账号的操作指导如下。
Image

  1. 登录火山引擎控制台后,单击右上角的账号名称>访问控制,进入访问控制控制台。
  2. 参考访问控制-用户管理文档,新建一个用户,后续将子账号分配给其他研发、数据分析人员等角色,用于后续的操作。
    • 如果后续需使用子账号创建项目,则创建子账号时,需给子账号项目全局权限。
    • 如果后续需使用子账号进入DataFinder产品,则需添加子账号至DataFinder项目并授予DataFinder的操作权限。

step3:为IAM子账号授权

  1. 在访问控制的用户页面中,单击用户后的添加权限按钮,在弹出的页面中配置权限策略。

  2. 根据界面提示,选择给子账号授权的权限策略和开放的项目范围。
    Image

    配置要点

    配置说明

    授权策略

    选择给IAM子账号授权的权限策略。当前DataFinder为您预置了两个系统预设策略:

    • UBAFullAccess:拥有DataFinder的全部权限,权限范围与DataFinder预置的项目管理员+数据分析师角色等同。
    • UBAReadOnlyAccess:拥有查看DataFinder功能页面的权限,不可操作使用功能,权限范围与DataFinder预置的数据分析师角色等同。

    同时,DataFinder也支持您创建自定义的权限策略,创建完成后,将自定义权限策略授权给IAM子账号。自定义权限策略的创建操作指导请参见访问控制的新建自定义策略帮助文档,当前DataFinder支持的自定义权限策略的细分策略如下。

    • 基本格式:

      {
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "uba:*"
            ],
            "Resource": [
              "*"
            ]
          }
        ]
      }
      
    • Effect:支持Allow(允许访问)、Deny(拒绝访问)。

      • IAM子账号最终实际拥有的权限范围为历史在DataFinder中配置的角色权限与IAM权限策略的叠加结果。
      • IAM权限策略中的Deny的优先级高于IAM权限策略中的Allow和DataFinder用户角色的授权。
    • Action:支持 * (全部权限)、Read(只读权限)、Manage(管理权限)

    限制到项目资源

    根据业务情况,选择对当前子账号开放全量项目,还是仅开放部分指定项目。

权限策略配置示例

示例1:仅对部分项目开放管理员/数据分析师权限,其他项目没有任何权限

您可以对IAM子账号授权预置的UBAFullAccess/UBAReadOnlyAccess 策略,并仅开放指定项目的权限给子账号。

示例2:仅对部分项目开放管理员权限,其他项目有数据分析师权限

授权策略

权限生效说明

您可以对IAM子账号进行两次IAM授权,两次策略和项目开放范围如下:

  • 对IAM子账号授权预置的UBAFullAccess策略,开放给指定项目
  • 对IAM子账号授权预置的UBAReadOnlyAccess策略,开放全部项目

Image
子账号最终生效的权限范围为两次授权操作的权限策略的叠加结果,即:

  • 全部项目均拥有数据分析师权限(UBAReadOnlyAccess
  • 其中指定项目叠加了管理员权限(UBAFullAccess),则此部分项目最终可拥有管理员+分析师的权限。

示例3:历史用户有某个项目的管理员角色,需修回收其管理员权限,改为数据分析师权限

示例场景说明:当某个历史存量用户在DataFinder的角色管理中授予了DataFinder项目管理员权限,当前打开了IAM权限功能,希望回收其项目管理员权限,改为数据分析师权限

授权策略

权限生效说明

在打开IAM权限功能后,您可以对IAM子账号进行两次IAM授权,两次策略和项目开放范围如下:

  • 对IAM子账号授权一个Deny-Manage的自定义权限策略权限,开放给指定项目

    {
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "uba:Manage"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }
    
  • 对IAM子账号授权预置的UBAReadOnlyAccess策略,开放指定项目

Image

子账号最终生效的权限范围为两次IAM授权操作的权限策略和历史DataFinder-用户角色权限的叠加结果,即:

  • IAM的Deny-Manage权限结果优先级最高,与历史DataFinder的用户角色的管理员权限相互抵消,即实现了回收管理员权限的效果
  • 在此基础上叠加了IAM的数据分析师权限(UBAReadOnlyAccess),则指定项目最终可拥有分析师的权限。

示例4:部分指定项目有分析师权限,其他项目有管理员+分析师权限

授权策略

权限生效说明

在打开IAM权限功能后,您可以对IAM子账号进行两次IAM授权,两次策略和项目开放范围如下:

  • 对IAM子账号授权预置的UBAFullAccess策略,开放给全部项目
  • 对IAM子账号授权一个Deny-Manage的自定义权限策略权限,开放给指定项目
    {
      "Statement": [
        {
          "Effect": "Deny",
          "Action": [
            "uba:Manage"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }
    

Image
子账号最终生效的权限范围为两次IAM授权操作的权限策略叠加结果,即:

  • IAM的Deny-Manage权限结果优先级最高,则指定项目中为管理员权限+数据分析师权限中去除管理员权限后的结果,即实现了指定项目仅拥有数据分析师权限的效果
  • 除指定项目外的其他项目拥有IAM的管理员+数据分析师权限(UBAFullAccess)。

细粒度权限管控:DataFinder角色管理

说明

主账号,或拥有全部权限、管理权限的IAM子账号,可参考下文进行细粒度的角色管理操作。

您可以登录DataFinder控制台后,在项目中心>权限管理>角色管理页面新建角色,并配置角色的详细权限列表等信息。在DataFinder角色管理页面:

  • 可通过新增和管理用户角色,并对角色进行详细的角色权限管控。
  • 后续为可通过邀请用户的方式,邀请其他用户成为项目成员,邀请时可设置邀请的用户是什么项目角色,则后续邀请成为项目成员的用户即拥有对应角色的权限,以实现对项目成员的权限管控。

step1:新增角色

在角色管理页面单击新增角色,配置角色名称、负责人等信息即可新增一个角色。
Image
角色新增完成后,后续您可以在角色管理页面查看当前项目已有的所有角色列表,单击某个角色名称即可进入角色详情页面,查看与配置角色的权限详情。

step2:配置角色

  1. 角色管理页面,单击角色名称,进入角色详情页面。
  2. 配置功能权限。
    在功能权限页签,单击配置,为角色配置DataFinder各个功能模块的操作权限细节。完成后单击保存
    Image
  3. 配置数据范围
    单击数据范围,根据界面提示,为角色配置可查询的实际属性、用户属性、事件列表权限细节。
  4. (可选)配置属性脱敏
    如果您希望该角色后续查询到的部分敏感属性需要脱敏,您可为角色添加属性脱敏的配置。
  5. (可选)配置成员角色
    您也可以直接添加已在项目中的用户为角色成员,添加进来后,该项目成员即拥有此角色配置的所有权限。

用户管理:邀请其他用户成为项目成员

前提条件

邀请其他用户加入项目成为项目成员前,您需先获得其他用户的火山账号信息。当前仅支持邀请同主账号下的子账号,您需获得子账号名称及子账号对应的火山引擎主账号的账号ID。
创建子账号并查看子账号相关信息的操作均需在访问控制控制台的用户页面进行操作,详情可参见访问控制-用户管理文档。
Image

邀请用户

登录DataFinder控制台后,在项目中心>权限管理>用户管理页面,单击左上角的+,在弹出的窗口中配置待邀请的子账号信息(子账号名称@主账号ID)及需要给用户的角色权限。

说明

DataFinder当前不再允许跨主账号邀请子账号为项目成员,仅支持邀请同一主账号下的子账号。

Image

后续操作

完成邀请操作后,对应被邀请的子账号可使用子账号登录DataFinder控制台,使用DataFinder的各个功能模块,确认权限细节没有问题。