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

自定义委托授权

操作场景

在使用SWR企业仓库实例时,需要访问租户的某些资源。只有通过委托授权后,SWR服务才能访问这些资源。委托是IAM提供的一种权限管理方式。

委托是您与其他云服务、华为云账号或者代运维公司创建的一种信任关系。如果您在华为云购买了多种云资源,其中一种云资源希望让更专业、高效的公司、账号或者云服务来代运维,您可以通过IAM的委托功能,与云服务、账号或者代运维公司创建委托关系,实现安全高效的资源代运维工作。被委托的云服务、账号或公司可以根据权限代替您进行资源运维工作。

创建委托授权有两种形式:

  • 【推荐】由于容器镜像服务企业版目前处于公测阶段,如果您的租户登录页面后看不到“企业版”链接,请提交工单申请入口。申请成功后,登录容器镜像服务企业版控制台时,弹出授权指引提示框。

    此种方式需要登录的用户具有Tenant Administrator的权限。

  • 由用户自己创建委托并授权完成。

    如果您的账号没有Tenant Administrator的权限,您可以在统一身份认证服务控制台手动创建委托来实现。

通过IAM创建委托

以下是在IAM新版控制台和IAM旧版控制台中,用户自行创建自定义委托并完成授权的操作指南。

  • 委托名称不能重复,即如果您在IAM新版控制台创建的的信任委托A,则不能在IAM旧版控制台创建同名的委托A,反之亦然。
  • 当使用第二种方式即由用户自己创建委托并授权的场景下,如果使用了IAM新版控制台的委托,则不能再使用IAM旧版控制台的委托,即所有的局点都只能使用IAM新版控制台的委托。而第一种通过SWR控制台弹框授权的方式无此限制,故建议使用第一种方式进行委托的创建并授权。

IAM新版控制台

SWR 服务仅在拉美-圣保罗一局点支持通过 IAM 新版控制台创建的信任委托。

  1. 登录统一身份认证服务新版控制台
  2. 在左侧导航窗格中,选择“身份策略”页签,单击右上方的“创建自定义身份策略”。
  3. 策略名称填写为“SWR_EE_Policies”。策略配置方式选择“JSON视图”策略内容复制粘贴如下内容,单击“确定”。

    {
      "Version": "5.0",
      "Statement": [
        {
          "Action": [
            "vpc:securityGroups:create",
            "vpc:securityGroups:delete",
            "vpc:securityGroups:get",
            "vpc:securityGroupRules:create",
            "vpc:securityGroupRules:delete",
            "vpc:ports:create",
            "vpc:ports:delete",
            "vpc:ports:update",
            "vpc:ports:get",
            "vpc:subnets:get",
            "vpc:vpcs:get",
            "vpcep:endpoints:create",
            "vpcep:endpoints:delete",
            "vpcep:endpoints:get",
            "kms:cmk:getMaterial",
            "kms:cmk:get",
            "kms:cmk:list",
            "kms:cmk:scheduleKeyDeletion",
            "kms:cmk:sign",
            "kms:cmk:create",
            "kms:cmk:getPublicKey",
            "kms:cmk:decryptDataKey",
            "kms:cmk:createDataKey",
            "ces:metricData:list"
          ],
          "Effect": "Allow"
        }
      ]
    }
    • 如果不需要由SWR服务来创建或删除内网访问,可以删除json中的 vpcep:endpoints:createvpcep:endpoints:delete 两行记录。
    • 如果不需要由SWR服务来创建或删除加密的obs桶,可以删除json中的 kms:cmk:create、kms:cmk:scheduleKeyDeletion 两行记录。

  4. 再创建一条自定义身份策略,策略名称填写为“SWR_EE_OBS_Policies”。策略配置方式选择“JSON视图”,策略内容复制粘贴如下内容,单击“确定”。

    {
      "Version": "5.0",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "obs:bucket:getBucketStorage",
            "obs:bucket:getEncryptionConfiguration",
            "obs:bucket:getLifecycleConfiguration",
            "obs:bucket:headBucket",
            "obs:bucket:createBucket",
            "obs:bucket:deleteBucket",
            "obs:bucket:listBucket",
            "obs:bucket:listBucketMultipartUploads",
            "obs:bucket:putEncryptionConfiguration",
            "obs:bucket:putLifecycleConfiguration",
            "obs:object:abortMultipartUpload",
            "obs:object:deleteObject",
            "obs:object:getObject",
            "obs:object:listMultipartUploadParts",
            "obs:object:putObject"
          ]
        }
      ]
    }

    如果不需要由SWR服务创建或删除OBS桶,可以删除json中的 obs:bucket:createBucketobs:bucket:deleteBucket 两行记录。

  5. 再创建一条自定义身份策略,策略名称填写为“SWR_EE_IAM_Policies”。策略配置方式选择“JSON视图”,策略内容复制粘贴如下内容,单击“确定”。

    {
        "Version": "5.0",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "iam:users:getUser"
                ]
            }
        ]
    }

  6. 在左侧导航窗格中,选择“委托”页签,单击“创建信任委托”。
  7. 在创建信任委托页面,委托名称填写为“swr_ee_trust”,信任主体类型选择“云服务”,云服务选择“容器镜像服务”,最大会话持续时长选择“12小时”,单击“完成”。
  8. 创建成功后,单击“立即授权”,勾选步骤3步骤4创建的两条自定义身份策略SWR_EE_Policies和SWR_EE_OBS_Policies,单击“下一步”,选择授权范围,单击“确定”。
  9. 如需支持制品扫描功能,还需要在SWR_EE_Policies 策略下增加以下权限:

    hss:image:batchScanSwrImage
    hss:image:vulnerabilities
    hss:image:listVulnerabilityCve
    hss:image:runImageSynchronizeTask
    hss:image:listRegistryImages
    hss:container:listImageScanTask
    swr:instance:createTempCredential
    swr:instance:list
    swr:repository:listRepositories
    swr:repository:listArtifacts
    swr:repository:downloadArtifact
    swr:repository:getTag

    授权完成后需等待15-30分钟方可生效,请耐心等待!

IAM旧版控制台

  1. 登录IAM控制台
  2. 在左侧导航窗格中,选择“权限管理>权限”页签,单击右上方的“创建自定义策略”
  3. 策略名称填写为“SWR_EE_Policies”,策略名称不能填写其他值。策略配置方式选择“JSON视图”,策略内容复制粘贴如下内容,单击“确定”。

    {
        "Version": "1.1",
        "Statement": [
            {
                "Action": [
                    "vpc:securityGroups:create",
                    "vpc:securityGroups:delete",
                    "vpc:securityGroups:get",
                    "vpc:securityGroupRules:create",
                    "vpc:securityGroupRules:delete",
                    "vpc:ports:create",
                    "vpc:ports:delete",
                    "vpc:ports:update",
                    "vpc:ports:get",
                    "vpc:subnets:get",
                    "vpc:vpcs:get",
                    "vpcep:endpoints:create",
                    "vpcep:endpoints:delete",
                    "vpcep:endpoints:get",
                    "kms:cmk:create",
                    "kms:cmk:update",
                    "kms:cmk:getMaterial",
                    "kms:cmk:get",
                    "kms:cmk:list",
                    "kms:cmk:sign",
                    "kms:cmk:getPublicKey",
                    "kms:dek:create",
                    "kms:dek:decrypt",
                    "kms:dek:encrypt",
                    "ces:metricData:list"
                ],
                "Effect": "Allow"
            }
        ]
    }

  4. 再创建一条自定义策略,策略名称填写为“SWR_EE_OBS_Policies”,策略名称不能填写其他值。策略配置方式选择“JSON视图”,策略内容复制粘贴如下内容,单击“确定”。

    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "obs:bucket:GetBucketPolicy",
                    "obs:bucket:GetLifecycleConfiguration",
                    "obs:bucket:PutLifecycleConfiguration",
                    "obs:bucket:ListBucketMultipartUploads",
                    "obs:bucket:GetBucketStorage",
                    "obs:object:GetObject",
                    "obs:object:DeleteObject",
                    "obs:bucket:PutBucketPolicy",
                    "obs:object:ListMultipartUploadParts",
                    "obs:bucket:HeadBucket",
                    "obs:bucket:DeleteBucket",
                    "obs:object:AbortMultipartUpload",
                    "obs:bucket:GetEncryptionConfiguration",
                    "obs:bucket:CreateBucket",
                    "obs:bucket:DeleteBucketPolicy",
                    "obs:bucket:ListBucket",
                    "obs:object:PutObject",
                    "obs:bucket:PutEncryptionConfiguration"
                ]
            }
        ]
    }

  5. 再创建一条自定义身份策略,策略名称填写为“SWR_EE_IAM_Policies”,策略名称不能填写其他值。策略配置方式“选择JSON视图”,策略内容复制粘贴如下内容,单击“确定”。

    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "iam:users:getUser"
                ]
            }
        ]
    }

  6. 在左侧导航窗格中,选择“委托”页签,单击“创建委托”。
  7. 在创建委托页面,委托名称填写为“swr_ee_trust”,委托类型选择“云服务”,云服务选择“容器镜像服务”,最大会话持续时长选择“永久”,单击“完成”。
  8. 创建成功后单击“立即授权”,勾选中步骤3和创建步骤4创建的两条自定义身份策略SWR_EE_Policies以及SWR_EE_OBS_Policies,单击“下一步”,授权范围选择所有资源,单击“确定”。
  9. 如需支持制品扫描功能,还需要在SWR_EE_Policies策略下增加以下权限:

    hss:images:set
    hss:images:list
    hss:vuls:list
    hss:containers:list
    hss:containers:set
    swr:instance:createTempCredential
    swr:instance:list
    swr:repository:listRepositories
    swr:repository:listArtifacts
    swr:repository:downloadArtifact
    swr:repository:getTag

    授权完成后需等待15-30分钟方可生效,请耐心等待!

相关文档