文档首页/ 湖仓构建 LakeFormation/ 常见问题/ 权限管理类/ 如何对LakeFormation服务委托权限最小化处理
更新时间:2025-07-11 GMT+08:00

如何对LakeFormation服务委托权限最小化处理

问:

用户在授权使用LakeFormation云服务时,默认自动创建lakeformation_admin_trust委托,其中包含IAM ReadOnlyAccess、VPCEndpoint Administrator、lakeformation_admin_additional_domain等权限。为了满足权限最小化的要求,如何修改系统创建的lakeformation_admin_trust委托权限,以减少安全风险。

答:

为了满足权限最小化的要求,可以参考如下操作,授予lakeformation_admin_trust委托最小权限并删除高等级权限,以减少安全风险。

修改完成后,只保留可以正常使用LakeFormation相关功能的最小权限。

  1. 创建自定义策略。

    1. 登录华为云管理控制台。
    2. 在左上角单击“”,选择“管理与监管 > 统一身份认证服务 IAM”,进入IAM控制台。
    3. 在左侧导航栏中选择“权限管理 > 权限”,进入权限管理页面。
    4. 创建LakeFormationIamAccess策略(如果已包含相同策略则忽略)。
      单击“创建自定义策略”,相关参数配置如下,配置完成后单击“确定”。
      • 策略名称:LakeFormationIamAccess
      • 策略配置方式:JSON视图
      • 策略内容:
        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "iam:groups:listGroupsForUser",
                        "iam:agencies:listAgencies",
                        "iam:roles:listRoles",
                        "iam:agencies:getAgency",
                        "iam:users:listUsers",
                        "iam:permissions:listRolesForAgency",
                        "iam:groups:listGroups",
                        "iam:permissions:listRolesForAgencyOnProject",
                        "iam:roles:getRole"
                    ]
                }
            ]
        }
      • 策略描述:Permissions required for LakeFormation to access IAM
    5. 创建LakeFormationObsAccess策略(如果已包含相同策略则忽略)。
      单击“创建自定义策略”,相关参数配置如下,配置完成后单击“确定”。
      • 策略名称:LakeFormationObsAccess
      • 策略配置方式:JSON视图
      • 策略内容:
        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "obs:bucket:ListAllMyBuckets"
                    ]
                },
                {
                    "Effect": "Allow",
                    "Action": [
                        "obs:bucket:GetLifecycleConfiguration",
                        "obs:bucket:GetBucketLocation",
                        "obs:bucket:PutLifecycleConfiguration",
                        "obs:bucket:PutBucketAcl",
                        "obs:bucket:HeadBucket",
                        "obs:bucket:GetBucketAcl",
                        "obs:bucket:ListBucket"
                    ],
                    "Resource": [
                        "OBS:*:*:bucket:*"
                    ]
                },
                {
                    "Effect": "Allow",
                    "Action": [
                        "obs:object:GetAccessLabel",
                        "obs:object:PutObjectVersionAcl",
                        "obs:object:DeleteAccessLabel",
                        "obs:object:PutObjectAcl",
                        "obs:object:PutAccessLabel",
                        "obs:object:GetObjectVersion",
                        "obs:object:GetObject",
                        "obs:object:GetObjectVersionAcl",
                        "obs:object:DeleteObject",
                        "obs:object:DeleteObjectVersion",
                        "obs:object:GetObjectAcl",
                        "obs:object:PutObject"
                    ],
                    "Resource": [
                        "OBS:*:*:object:*"
                    ]
                }
            ]
        }
      • 策略描述:Permissions required for LakeFormation to access OBS
    6. 创建LakeFormationVpcAccess策略(如果已包含相同策略则忽略)。
      单击“创建自定义策略”,相关参数配置如下,配置完成后单击“确定”。
      • 策略名称:LakeFormationVpcAccess
      • 策略配置方式:JSON视图
      • 策略内容:
        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "vpc:routes:get",
                        "vpc:routes:list",
                        "vpc:vpcs:get",
                        "vpc:subnets:get",
                        "vpc:vpcs:list",
                        "vpc:routes:create"
                    ]
                }
            ]
        }
      • 策略描述:Permissions required for LakeFormation to access VPC
    7. 创建LakeFormationVpcepAccess策略(如果已包含相同策略则忽略)。
      单击“创建自定义策略”,相关参数配置如下,配置完成后单击“确定”。
      • 策略名称:LakeFormationVpcepAccess
      • 策略配置方式:JSON视图
      • 策略内容:
        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "vpcep:epserviceDesc:get",
                        "vpcep:connections:list",
                        "vpcep:endpoints:get",
                        "vpcep:endpoints:delete",
                        "vpcep:connections:update",
                        "vpcep:endpoints:create",
                        "vpcep:endpoints:list"
                    ]
                }
            ]
        }
      • 策略描述:Permissions required for LakeFormation to access VPCEP
    8. 创建LakeFormationDnsAccess策略(如果已包含相同策略则忽略)。
      单击“创建自定义策略”,相关参数配置如下,配置完成后单击“确定”。
      • 策略名称:LakeFormationDnsAccess
      • 策略配置方式:JSON视图
      • 策略内容:
        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "dns:zone:list",
                        "dns:recordset:update",
                        "dns:zone:delete",
                        "dns:recordset:create",
                        "dns:recordset:list",
                        "dns:zone:get",
                        "dns:recordset:delete",
                        "dns:zone:create"
                    ]
                }
            ]
        }
      • 策略描述:Permissions required for LakeFormation to access DNS

  2. 为lakeformation_admin_trust添加新创建的策略。

    1. 在IAM服务左侧导航栏中选择“委托”,搜索“lakeformation_admin_trust”,单击操作列“授权”,打开授权页面。

    2. 查找并勾选1创建lakeformation服务定义的委托最小化权限策略,单击“下一步”。

    3. “设置最小授权范围”页面保持默认,单击“确定”,给委托完成授权。授权后,等待约15~30分钟,新增的委托权限即可生效。

  3. 删除高等级权限。

    1. 新增的委托权限生效后,在IAM服务左侧导航栏中选择“委托”,搜索“lakeformation_admin_trust”,单击委托名称进入委托详情页面。
    2. 单击“授权记录”页签,在权限列表页面勾选“LakeFormationDataAccess”、“IAM ReadOnlyAccess”、“lakeformation_admin_additional_domain”、“VPCEndpoint Administrator”(如果没有则忽略),并单击列表上方的“删除”,在弹窗中单击“确定”按钮完成高危权限删除。