赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. Serverless应用引擎(新版)
  4. 实践教程
  5. 镜像
  6. 跨账号拉取阿里云镜像

跨账号拉取阿里云镜像

  • 镜像
  • 发布于 2025-04-17
  • 1 次阅读
文档编辑
文档编辑

SAE能够通过RAM角色扮演的方式实现跨账号拉取阿里云镜像,即用户A扮演用户B的角色拉取用户B的私有镜像。本文介绍跨账号拉取阿里云镜像的操作步骤。

步骤一:创建RAM角色

通过用户B的阿里云账号,创建用户A的受信实体为阿里云账号类型的RAM角色。

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

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

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

    image

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

    image

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

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

  5. 在配置角色页签,输入角色名称和备注,选择其他云账号并输入用户A的阿里云账号,然后单击完成。

    说明

    如果您仅允许指定的RAM用户扮演该RAM角色,而不是阿里云账号(主账号)下的所有RAM用户,您可以采取以下两种方式:

    • 修改RAM角色的信任策略。具体操作,请参见修改RAM角色的信任策略。

    • 修改RAM用户的角色扮演权限策略。具体操作,请参见RAM角色和STS Token常见问题。

  6. 单击关闭。

步骤二:为RAM角色授权

为步骤一创建的RAM角色,配置拉取用户B私有镜像的权限和信任策略。本步骤以在现有权限策略里添加镜像相关权限为例,如果您需要新建权限策略,请参见创建自定义权限策略。

  1. 使用阿里云账号登录RAM控制台。

  2. 在左侧导航栏,选择权限管理 > 权限策略。

  3. 在权限策略页面,单击目标权限策略名称。

  4. 在策略内容页签,单击修改策略内容。

  5. 通过可视化编辑或脚本编辑模式修改权限策略内容,然后单击继续编辑基本信息。

    重要

    请确保该RAM角色有cr.*的相关权限。

    需要添加的相关权限如下。

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:GetAuthorizationToken",
                    "cr:ListInstanceEndpoint",
                    "cr:PullRepository",
                    "cr:GetRepository",
                    "cr:ListRepositoryTag"
                ],
                "Resource": "*"
            }
        ]
    }
  6. 修改备注,然后单击确定。

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

  8. 在角色页面,单击目标RAM角色操作列的新增授权。

    image

    您也可以选中多个RAM角色,单击角色列表下方的新增授权,为RAM角色批量授权。

  9. 在新增授权面板,按需添加权限,单击确定,然后单击完成。

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

在创建的用户B的RAM角色上配置信任策略,允许用户A账号对应的SAE服务账号进行角色扮演。

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

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

  3. 在角色页面,单击目标RAM角色名称。

  4. 在信任策略页签,单击编辑信任策略。将Principal中的RAM字段修改为Service字段,然后单击保存信任策略。

    示例代码如下。

    修改前

    修改后

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                    "RAM": [
                        "acs:ram::123456789012****:root"
                    ]
                }
            }
        ],
        "Version": "1"
    }

    该RAM角色可以被阿里云账号(AccountID=123456789012****)下授权的任何RAM用户、RAM角色扮演。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "123456789012****@sae.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }

    该RAM角色可以被阿里云账号(AccountID=123456789012****)对应的SAE服务账号(123456789012****@sae.aliyuncs.com)扮演。

    说明

    本示例中的Service为待跨账号拉取镜像的服务。

步骤四:部署SAE应用

您可以登录RAM控制台,在RAM角色的基本信息页面一键复制ARN。在设置镜像页面选择其它阿里云账号私有镜像,在acrAssumeRoleArn文本框输入用户B的Worker RAM角色的ARN。具体操作,请参见通过镜像部署应用。

相关文章

SAE中如何运行镜像 2025-04-17 10:58

SAE底层基于Kubernetes,因此对于可以执行docker run命令的镜像或者能部署到Kubernetes的镜像,都可以直接在SAE中运行。本文介绍在

SAE控制台镜像部署 2025-04-17 10:58

Serverless 应用引擎 SAE(Serverless App Engine)支持以镜像方式部署应用与任务模板。本文介绍SAE拉取镜像的方式、配置路径以及如何通过SAE控制台选择并部署不同类型的镜像。

跨账号拉取阿里云镜像 2025-04-17 10:58

SAE能够通过RAM角色扮演的方式实现跨账号拉取阿里云镜像,即用户A扮演用户B的角色拉取用户B的私有镜像。本文介绍跨账号拉取阿里云镜像的操作步骤。

容器镜像服务ACR企业版使用指引 2025-04-17 10:58

Serverless 应用引擎 SAE(Serverless App Engine)支持以镜像方式部署应用。当您指定部署应用的镜像文件时,如果选择阿里云容器镜像服务ACR企业版实例(ACR EE),会存在各种限制条件。本文介绍创建和部署SAE应用时,首次选择ACR EE的使用流程与注意事项。 <

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