更新时间:2026-04-30 GMT+08:00
分享

创建自定义委托

如果在开发作业时有访问其他服务的需求,例如访问DEW获取AK、SK,访问OBS上传或下载数据等场景,那么在创建Spark端点时您需要配置OBS存储的委托和作业委托,这些委托都是需要用户自行创建并配置权限才可以使用。

本节操作介绍创建自定义委托,完成服务授权,并在作业配置中添加新建的委托信息的操作步骤。

常见自定义委托场景

表1 自定义委托场景

委托应用场景

委托名称

说明

配置存储委托

自定义

AI DataLake Spark作业上传日志/临时数据至OBS桶。

配置作业委托

自定义

Spark作业访问LakeFormation元数据。

访问AI DataLake Spark作业上传日志/临时数据至OBS桶。

步骤1:在IAM控制台创建云服务委托并授权

  1. 新建自定义身份策略。
    1. 登录管理控制台。
    2. 单击右上方登录的用户名,在下拉列表中选择“统一身份认证”。
    3. 在左侧导航栏中,单击“身份策略”。
    4. 在“身份策略”页面,单击“创建自定义身份策略”。
    5. 配置策略信息。
      1. 策略名称:输入策略名称,本例:aidatalake-obs-agency。
      2. 策略配置方式:选择“JSON视图”。
      3. 策略内容:在策略内容中粘贴自定义策略。

        示例一:允许AI DataLake读写OBS将日志转储

        本例权限包含访问和使用OBS的权限,适用于以下场景:AI DataLake Spark作业上传日志/临时数据至OBS桶。
        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "obs:bucket:GetBucketPolicy",
                        "obs:bucket:GetLifecycleConfiguration",
                        "obs:bucket:GetBucketLocation",
                        "obs:bucket:ListBucketMultipartUploads",
                        "obs:bucket:GetBucketLogging",
                        "obs:object:GetObjectVersion",
                        "obs:bucket:GetBucketStorage",
                        "obs:bucket:GetBucketVersioning",
                        "obs:object:GetObject",
                        "obs:object:GetObjectVersionAcl",
                        "obs:object:DeleteObject",
                        "obs:object:ListMultipartUploadParts",
                        "obs:bucket:HeadBucket",
                        "obs:bucket:GetBucketAcl",
                        "obs:bucket:GetBucketStoragePolicy",
                        "obs:object:AbortMultipartUpload",
                        "obs:object:DeleteObjectVersion",
                        "obs:object:GetObjectAcl",
                        "obs:bucket:ListBucketVersions",
                        "obs:bucket:ListBucket",
                        "obs:object:PutObject"
                    ],
                    "Resource": [
                        "OBS:*:*:bucket:bucketName",//请替换bucketName为对应的桶名称
                        "OBS:*:*:object:*"
                    ]
                },
                {
                    "Effect": "Allow",
                    "Action": [
                        "obs:bucket:ListAllMyBuckets"
                    ]
                }
            ]
        }

        示例二:允许AI DataLake访问LakeFormation元数据,访问AI DataLake Spark作业上传日志/临时数据至OBS桶,需要同时配置自定义身份策略1和自定义身份策略2。

        自定义身份策略1:

        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "obs:bucket:GetBucketPolicy",
                        "obs:bucket:GetLifecycleConfiguration",
                        "obs:bucket:GetBucketLocation",
                        "obs:bucket:ListBucketMultipartUploads",
                        "obs:bucket:GetBucketLogging",
                        "obs:object:GetObjectVersion",
                        "obs:bucket:GetBucketStorage",
                        "obs:bucket:GetBucketVersioning",
                        "obs:object:GetObject",
                        "obs:object:GetObjectVersionAcl",
                        "obs:object:DeleteObject",
                        "obs:object:ListMultipartUploadParts",
                        "obs:bucket:HeadBucket",
                        "obs:bucket:GetBucketAcl",
                        "obs:bucket:GetBucketStoragePolicy",
                        "obs:object:AbortMultipartUpload",
                        "obs:object:DeleteObjectVersion",
                        "obs:object:GetObjectAcl",
                        "obs:bucket:ListBucketVersions",
                        "obs:bucket:ListBucket",
                        "obs:object:PutObject"
                    ],
                    "Resource": [
                        "OBS:*:*:bucket:bucketName",//请替换bucketName为对应的桶名称
                        "OBS:*:*:object:*"
                    ]
                },
                {
                    "Effect": "Allow",
                    "Action": [
                        "obs:bucket:ListAllMyBuckets"
                    ]
                }
            ]
        }
        自定义身份策略2:
        {
            "Version": "1.1",
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "lakeformation:table:drop",
                        "lakeformation:table:create",
                        "lakeformation:policy:create",
                        "lakeformation:database:create",
                        "lakeformation:database:drop",
                        "lakeformation:database:describe",
                        "lakeformation:catalog:alter",
                        "lakeformation:table:alter",
                        "lakeformation:database:alter",
                        "lakeformation:catalog:create",
                        "lakeformation:function:describe",
                        "lakeformation:catalog:describe",
                        "lakeformation:function:create",
                        "lakeformation:table:describe",
                        "lakeformation:function:drop",               
                        "lakeformation:transaction:operate"
                    ]
                }
            ]
        }
      4. 按需输入策略描述。
    6. 单击“确定”。
  2. 创建信任委托。
    1. 在左侧导航栏中,单击“委托”。
    2. 在“委托”页面,单击“创建信任委托”。
    3. 在“创建信任委托”页面,设置如下参数:
      • 委托名称:按需填写,例如“aidatalake_obs_agency_access”。
      • 委托主体类型:选择“云服务”。
      • 云服务:在下拉列表中选择“AI DataLake”。
      • 最大会话持续时长:即选择编程访问获取的临时访问凭证可持续的最大会话时长。例如:12小时。
      • (可选)描述:输入描述信息。
    4. 配置完委托的基本信息后,单击“完成”。
    5. 在弹出的“创建成功”对话框中,单击“立即授权”。
    6. 在“授权”页面,选择身份策略。
  3. 单击“确定”。

    您选中的权限由于系统设计的原因,授权后需等待15~30分钟才可生效。

    了解更多授权操作说明请参考创建用户组并授权

步骤2:在作业中设置委托权限

使用Spark端点引擎执行作业时,需要在作业配置中添加新建的委托信息。

作业指定委托后,授予委托的权限要谨慎修改,委托权限变动可能会影响作业的正常运行。

  1. 登录AI DataLake管理控制台。
  2. 在页面左上角切换至对应的工作空间。
  3. 在左侧导航栏选择“引擎端点 > 批处理引擎 Spark”进入端点列表页面。
  4. 单击页面右上角的“创建”,配置端点信息。
  5. 配置端点的基础信息。具体操作,请参考创建Spark引擎端点
  6. 在存储配置和委托配置区域配置委托信息:

    委托名:选择步骤1:在IAM控制台创建云服务委托并授权中新建的委托。

    图1 Spark作业指定委托

相关文档