赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 容器镜像服务
  4. 操作指南
  5. 授权管理
  6. 配置 RAM 访问控制
  7. 配置使用自定义OSS Bucket时的RAM访问控制

配置使用自定义OSS Bucket时的RAM访问控制

  • 配置 RAM 访问控制
  • 发布于 2025-04-18
  • 0 次阅读
文档编辑
文档编辑

本文将为您介绍在容器镜像服务使用自定义OSS Bucket时的RAM访问控制配置。

背景说明

  • 默认OSS Bucket

    当使用容器镜像服务的默认OSS Bucket时,您需为账号授权容器镜像服务访问云服务资源,这样容器镜像服务才能创建OSS Bucket并初始化ACR实例。

  • 自定义OSS Bucket

    当您需要使用自定义OSS Bucket,则需要为账号添加RAM角色,并授予该角色对OSS Bucket操作权限,以确保容器镜像服务能够正常访问该Bucket。

步骤一:创建RAM角色

容器镜像服务访问自定义OSS Bucket时,需要为阿里云账号创建的角色名为AliyunContainerRegistryCustomizedOSSBucketRole。

操作步骤

  1. 使用RAM管理员登录RAM控制台。

  2. 在左侧导航栏,选择身份管理 > 角色。

  3. 在角色页面,单击创建角色。

    image

  4. 在创建角色页面,选择信任主体类型为云账号,然后设置具体的阿里云账号,最后单击确定。

    image

    • 当前云账号:当您允许当前阿里云账号下的所有RAM用户和RAM角色扮演当前正在创建的RAM角色时,您可以选择当前云账号。

    • 其他云账号:当您允许其他阿里云账号下的所有RAM用户和RAM角色扮演当前正在创建的RAM角色时,您可以选择其他云账号,然后输入其他阿里云账号(主账号)ID。该项主要针对跨阿里云账号的资源授权访问场景,相关教程,请参见跨阿里云账号的资源授权。您可以在安全设置页面查看阿里云账号(主账号)ID。

  5. (可选)如果您想设置RAM角色只能被可信阿里云账号下的指定RAM用户或RAM角色扮演,您可以单击切换编辑器,在编辑器中修改RAM角色的信任策略。

    编辑器支持可视化编辑和脚本编辑两种模式,您可以任选其一。以下示例表示当前创建的RAM角色只能被当前阿里云账号(AccountID=100******0719)下的RAM用户Alice扮演。

    • 可视化编辑

      在主体中指定具体的RAM用户名称。

      image

      image

    • 脚本编辑

      在Principal的RAM字段中指定具体的RAM用户。

      {
        "Version": "1",
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "RAM": "acs:ram::100******0719:user/Alice"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }

  6. 在创建角色对话框,输入角色名称,然后单击确定。

步骤二:配置RAM角色的权限策略

配置该RAM角色的策略,使其拥有对指定的OSS Bucket资源读取容器镜像仓库信息的权限,RAM角色的权限策略名为AliyunContainerRegistryCustomizedOSSBucketRolePolicy。当需要获取多个自定义OSS Bucket信息时,可向Resource中添加多个OSS Bucket值。


{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "oss:GetObject",
                "oss:PutObject",
                "oss:DeleteObject",
                "oss:ListParts",
                "oss:AbortMultipartUpload",
                "oss:InitiateMultipartUpload",
                "oss:CompleteMultipartUpload",
                "oss:DeleteMultipleObjects",
                "oss:ListMultipartUploads",
                "oss:ListObjects",
                "oss:DeleteObjectVersion",
                "oss:GetObjectVersion",
                "oss:ListObjectVersions",
                "oss:PutObjectTagging",
                "oss:GetObjectTagging",
                "oss:DeleteObjectTagging"
            ],
            "Resource": [
                "acs:oss:*:*:cri-*",
                "acs:oss:*:*:cri-*/*",
                "acs:oss:*:*:<YOUR_BUCKET_NAME>",  # 请将<YOUR_BUCKET_NAME>替换为您实际需要授权的Bucket名称。
                "acs:oss:*:*:<YOUR_BUCKET_NAME>/*" # 请将<YOUR_BUCKET_NAME>替换为您实际需要授权的Bucket名称。
            ],
            "Effect": "Allow",
            "Condition": {

            }
        },
        {
            "Action": [
                "oss:PutBucket",
                "oss:GetBucket",
                "oss:GetBucketLocation",
                "oss:PutBucketEncryption",
                "oss:GetBucketEncryption",
                "oss:PutBucketAcl",
                "oss:GetBucketAcl",
                "oss:PutBucketLogging",
                "oss:GetBucketReferer",
                "oss:PutBucketReferer",
                "oss:GetBucketLogging",
                "oss:PutBucketVersioning",
                "oss:GetBucketVersioning",
                "oss:GetBucketLifecycle",
                "oss:PutBucketLifecycle",
                "oss:DeleteBucketLifecycle",
                "oss:GetBucketTransferAcceleration"
            ],
            "Resource": [
                "acs:oss:*:*:cri-*",
                "acs:oss:*:*:cri-*/*",
                "acs:oss:*:*:<YOUR_BUCKET_NAME>",  # 请将<YOUR_BUCKET_NAME>替换为您实际需要授权的Bucket名称。
                "acs:oss:*:*:<YOUR_BUCKET_NAME>/*" # 请将<YOUR_BUCKET_NAME>替换为您实际需要授权的Bucket名称。
            ],
            "Effect": "Allow",
            "Condition": {

            }
        },
        {
            "Effect": "Allow",
            "Action": "oss:ListBuckets",
            "Resource": [
                "acs:oss:*:*:*",
                "acs:oss:*:*:*/*"
            ],
            "Condition": {

            }
        },
        {
            "Action": [
                "vpc:DescribeVpcs"
            ],
            "Resource": "acs:vpc:*:*:vpc/*",
            "Effect": "Allow",
            "Condition": {

            }
        },
        {
            "Action": [
                "cms:QueryMetricLast",
                "cms:QueryMetricList"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

步骤三:配置RAM角色的信任策略

为该RAM角色的信任策略中添加容器镜像服务,使容器镜像服务可以访问用户自定义的OSS Bucket。

{
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "cr.aliyuncs.com"
                ]
            }
        }
    ],
    "Version": "1"
}
相关文章

授予RAM用户系统策略 2025-04-18 15:16

阿里云权限管理机制包括访问控制(简称RAM)和安全凭证管理(简称STS),灵活使用RAM和STS,可以极大地提高管理的灵活性和安全性。本文介绍如何授予RAM用户系统策略。

授予RAM用户自定义策略 2025-04-18 15:16

如果您想对权限进行细粒度控制,您可以自定义策略,然后授予RAM用户自定义策略权限。本文以授予RAM用户容器镜像服务控制台企业版实例下的某个命名空间的读写权限为例,介绍如何自定义策略。 创建自定义策略

RAM授权信息 2025-04-18 15:16

通过了解资源描述,明确每种资源的特性和访问方式。您可以制定相应的鉴权规则,来有效地管理系统中的各种资源。 资源描述

配置使用自定义OSS Bucket时的RAM访问控制 2025-04-18 15:16

本文将为您介绍在容器镜像服务使用自定义OSS Bucket时的RAM访问控制配置。 背景说明 默认OSS Bucket 当使用容器镜像服务的默认OSS Bucket时,您需

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号