共享镜像可用于同地域跨账号部署ECS实例。创建自定义镜像后,您可以将镜像共享给其他阿里云账号或者基于资源目录在企业组织内共享使用,共享对象就可以使用您共享的自定义镜像快速创建运行同一镜像环境的ECS实例。本文介绍共享自定义镜像的注意事项及操作流程。
操作场景
场景一:您希望将一个阿里云账号下的镜像资源,直接共享给另外一个或多个阿里云账号使用。
场景二:您在使用阿里云服务过程中,已通过资源目录将企业的多账号有序组织和集中管理起来,并希望将资源目录中某成员的镜像资源共享给整个资源目录(或者资源夹),此时可以通过资源目录实现资源共享。
如果您将镜像共享给整个资源目录(或者资源夹),则资源目录(或者资源夹)下所有账号都可以访问共享镜像。且当资源目录(或者资源夹)内有新账号加入时,系统将自动触发新账号的镜像共享。当账号从资源目录(或者资源夹)内移出时,系统将自动取消该账号的镜像共享。更多信息,请参见资源共享概述。
说明资源目录RD(Resource Directory)是阿里云面向企业用户提供的一套多级账号和资源关系管理服务。资源目录支持您快速建立一套符合企业业务关系的目录结构,并将企业多个账号分布到这个目录结构中的相应位置,从而形成资源间的多层级关系。更多信息,请参见资源目录概述。
如果您已通过资源目录操作镜像资源共享,建议您不要再使用场景一中的方式操作相同的镜像资源,避免造成资源目录中镜像共享数据不一致的问题。
注意事项
共享镜像之前,请仔细阅读以下注意事项:
注意项 | 说明 |
共享费用 | 不收取共享费用。 |
地域限制 |
|
使用限制 |
准备工作
共享镜像之前,请确认自定义镜像已清除敏感数据和文件。
需明确共享镜像的场景。
将镜像共享给其他阿里云账号使用时,请先获取阿里云账号ID。
获取方式:将鼠标移至控制台右上角的用户头像,在弹出的用户信息框中,如果标识了账号为主账号,则显示的账号ID即为阿里云账号ID。
基于资源目录在企业组织内共享使用时,请先使用管理账号或成员账号开通资源目录。具体操作,请参见开通资源目录。
操作步骤
共享非加密自定义镜像
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在自定义镜像页签,找到待共享的自定义镜像,在操作列单击共享镜像。
在共享镜像对话框中,根据实际的共享镜像场景完成操作。
将镜像共享给其他阿里云账号使用
在对端待共享账号ID处输入共享对象的阿里云账号ID。
选中安全确认信息:共享镜像后对方可获得该镜像中保存的数据,为防止数据泄露,请您再次确认是否将镜像共享给该UID。
单击确定。
基于资源目录在企业组织内共享使用
镜像共享成功后,将鼠标悬浮至共享镜像的图标处,可以查看共享对象的阿里云账号ID。
共享加密自定义镜像
步骤1:共享者创建角色并授权
当您需要共享加密自定义镜像时,需要先通过阿里云的访问控制创建名为AliyunECSShareEncryptImageDefaultRole
的角色并授予指定的权限与策略,然后才可以将加密自定义镜像共享给其他阿里云账号使用或基于资源目录在企业组织内共享使用。
使用共享者的阿里云账号登录RAM控制台。
在权限策略页面,设置权限策略。
如果您是服务密钥Default Service CMK加密,请授予系统权限策略
AliyunKMSFullAccess
权限,策略内容请参见AliyunKMSFullAccess。如果您是自定义密钥加密,您需要通过脚本编辑模式创建自定义权限策略以授予最小权限。具体操作,请参见通过脚本编辑模式创建自定义权限策略。
策略内容如下,限制只共享指定加密镜像中的加密密钥相关权限。
{ "Version": "1", "Statement": [ { "Action": "kms:List*", "Resource": "acs:kms:<密钥归属地域ID>:<密钥归属用户AliUid>:key", "Effect": "Allow" }, { "Action": [ "kms:DescribeKey", "kms:TagResource", "kms:UntagResource", "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "acs:kms:<密钥归属地域ID>:<密钥归属用户AliUid>:key/<镜像关联KMS加密密钥Key>", "Effect": "Allow" } ] }
说明其中
<密钥归属地域ID>
、<密钥归属用户AliUid>
和<镜像关联KMS加密密钥Key>
为变量,您需要分别修改为KMS密钥所在的地域ID、KMS密钥归属用户的阿里云账号ID和KMS密钥的密钥ID。
在角色页面创建可信实体为阿里云账号的RAM角色,角色名称为
AliyunECSShareEncryptImageDefaultRole
。具体操作,请参见创建可信实体为阿里云账号的RAM角色。
在角色列表页面,单击已创建的
AliyunECSShareEncryptImageDefaultRole
角色进入角色详情页面。在信任策略页签中,修改RAM角色的信任策略为以下内容,以确定可以将加密镜像共享给哪些共享对象。具体操作,请参见修改RAM角色的信任策略。
如果您的自定义镜像需要共享给阿里云账号,请使用如下信任策略进行替换。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "<UID>@ecs.aliyuncs.com" ] } } ], "Version": "1" }
说明其中
<UID>
为变量,您需要修改为共享对象的阿里云账号ID。如果您的镜像需要共享给多个阿里云账号,需要添加多个共享对象的阿里云账号ID。如果您是将镜像基于资源目录在企业组织内共享使用,请根据实际场景使用如下信任策略进行替换。
场景一:共享给整个资源目录,需指定资源目录ID
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "*@ecs.aliyuncs.com" }, "Condition": { "StringEquals": { "sts:ServiceOwnerRDId": "<资源目录ID>" } } } ], "Version": "1" }
说明其中
<资源目录ID>
为变量,您需要修改为共享对象的资源目录ID。关于如何查看资源目录ID的具体操作,请参见查看资源目录基本信息。场景二:共享给具体的资源夹,需指定资源夹RDPath,格式为
<资源目录ID>/<Root资源夹ID>/……/<当前资源夹ID*>
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "*@ecs.aliyuncs.com" }, "Condition": { "StringLike": { "sts:ServiceOwnerRDPath": "<资源目录ID>/<Root资源夹ID>/……/<当前资源夹ID*>" } } } ], "Version": "1" }
说明其中
<资源目录ID>/<Root资源夹ID>/……/<当前资源夹ID*>
为变量,您需要修改为共享对象的资源夹RDPath。关于如何查看资源夹RDPath的具体操作,请参见查看资源夹基本信息。
步骤2:共享者共享加密自定义镜像
登录ECS管理控制台。
在左侧导航栏,选择 。
在页面左侧顶部,选择目标资源所在的资源组和地域。
在自定义镜像页签,找到待共享的自定义镜像,在操作列单击共享镜像。
在共享镜像对话框中,根据实际的共享镜像场景完成操作。
将镜像共享给其他阿里云账号使用
在对端待共享账号ID处输入共享对象的阿里云账号ID。
选中安全确认信息:共享镜像后对方可获得该镜像中保存的数据,为防止数据泄露,请您再次确认是否将镜像共享给该UID。
单击确定。
基于资源目录在企业组织内共享使用
镜像共享成功后,将鼠标悬浮至共享镜像的图标处,可以查看共享对象的阿里云账号ID。