创建安全增强型实例时需要选择特定的操作系统。如果您使用阿里云可信系统,还需要开通一些权限以便安全增强型实例在启动时向阿里云云安全中心上报可信信息。本文介绍如何创建一台安全增强型实例。

在控制台创建安全增强型实例

在控制台创建安全增强型实例的步骤与创建普通实例的类似,但需要注意一些特定选项。本步骤重点介绍安全增强型实例相关的特定配置,如果您想了解其他通用配置,请参见使用向导创建实例

在控制台创建安全增强型实例时,系统会提示您开通以下权限:
  • 密钥管理服务KMS。开通后会自动创建一个服务密钥,您无需为该密钥付费。
  • 创建RAM角色并授权。阿里云为您提供了可信服务对应的系统策略,创建实例时按照向导完成设置即可。
  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 单击创建实例
  4. 完成基础配置。
    请注意以下选项:
    • 实例规格:筛选并选中一款安全增强型实例规格,安全增强型实例规格的详细信息,请参见实例规格族
      说明 g7t、c7t、r7t支持SGX加密计算,在ECS管理控制台创建这类实例时会自动安装阿里云SGX运行时,更多SGX加密计算的说明,请参见构建SGX加密计算环境
    • 镜像:根据实例规格族选择镜像版本,可用的镜像版本如下表所示。
      实例规格族 镜像版本
      g6t、c6t、r6t
      • Alibaba Cloud Linux 2.1903 64位 可信版
      • CentOS 7.8 64位 可信版
      g7t、c7t、r7t
      • Alibaba Cloud Linux 2.1903 LTS 64位 UEFI版
      • CentOS 8.4 64位 UEFI版
      • CentOS 8.3 64位 UEFI版
      • Ubuntu 20.04 64位 UEFI版
      • Ubuntu 18.04 64位 UEFI版
      说明 选中可信系统即可为实例启用阿里云可信系统,在实例启动时通过阿里云可信系统完成可信校验。如果您需要自建可信服务系统,可以取消选中可信系统
  5. 单击下一步:网络和安全组。如果出现开通KMS密钥管理服务对话框,单击开通
    创建安全增强型实例时必须开通KMS,否则会创建失败。如果您已经开通过KMS,则不会出现该对话框,请继续完成网络和安全组的配置。
  6. 单击下一步:系统配置
    如果您为实例选中了可信系统,则需要为实例设置一个RAM角色,该RAM角色必须拥有访问可信服务的权限。阿里云为您提供了对应的服务角色AliyunECSInstanceForYundunSysTrustRole,建议您按照以下步骤设置并选择该策略:
    说明 如果您需要更精确或定制化的配置,请自定义角色并根据需求进行授权。自定义RAM角色时需要注意一些事项,更多信息,请参见RAM角色权限注意事项
    1. 单击先授权
      先授权
    2. 在弹出的云资源访问授权对话框,单击同意授权
    3. 在新窗口中,单击同意授权
    4. 单击我已授权
      已授权确认
    5. 选择AliyunECSInstanceForYundunSysTrustRole作为RAM角色。
      选择RAM角色
    说明 您也可以跳过授权的步骤,在创建实例之后再去授权。具体操作,请参见授予实例RAM角色
  7. 按照向导指引,完成实例的创建。

调用API创建安全增强型实例

调用API创建安全增强型实例时,请注意:
  • 必须先开通KMS权限,否则实例会创建失败。具体操作,请参见开通密钥管理服务
  • 如果使用阿里云可信系统,您需要为安全增强型实例设置一个RAM角色,该角色必须拥有访问可信服务的权限,以便安全增强型实例在启动时向云安全中心上报可信信息。您可以调用相关的API创建RAM角色并自定义RAM角色权限,具体操作,请参见通过API使用实例RAM角色。自定义RAM角色时需要注意一些事项,更多信息,请参见RAM角色权限注意事项
    说明 如果您自建可信服务系统,则无需设置该RAM角色。
您可以调用RunInstancesCreateInstance创建实例,需要注意的参数如下表所示。
参数 说明 示例
InstanceType 指定安全增强型实例规格。目前安全增强型实例规格族包括:
  • g7t
  • c7t
  • r7t
  • g6t
  • c6t
ecs.c6t.large
ImageId 指定安全增强型实例专用镜像的ID。您可以调用DescribeImages查看镜像ID。 aliyun_2_1903_x64_20G_secured_alibase_20210120.vhd
SystemDisk.Category 安全增强型实例仅支持ESSD云盘。 cloud_essd
VSwitchId 安全增强型实例仅支持VPC,因此必须指定虚拟交换机ID。 vsw-bp134jzf285qg9u6w****
RamRoleName 指定RAM角色的名称。您也可以在创建实例后调用AttachInstanceRamRole为实例授予RAM角色。 AliyunECSInstanceForYundunSysTrustRole
UserData 指定安装阿里云可信系统的安装脚本,需要为Base64编码形式。

Base64编码前的明文脚本内容,请参见安装阿里云可信系统的脚本

IyEvYmluL3NoCkNVUlBBVEg9YHB3ZGAKU0NSSVBUX1BBVEg9Ii9kb3dubG9hZC9saW51eC9zY3JpcHQvVHJ1c3RBZ2VudEluc3RhbGwuc2giClJFR0lPTl9JRD1gY3VybCAtcyAtLXJldHJ5IDEgLS1tYXgtdGltZSAzIGh0dHA6Ly8xMDAuMTAwLjEwMC4yMDAvbGF0ZXN0L21ldGEtZGF0YS9yZWdpb24taWRgClVQREFURV9TSVRFMT1odHRwOi8vdHJ1c3RjbGllbnQtJHtSRUdJT05fSUR9Lm9zcy0ke1JFR0lPTl9JRH0taW50ZXJuYWwuYWxpeXVuY3MuY29tClVQREFURV9TSVRFMj1odHRwOi8vdHJ1c3RjbGllbnQtJHtSRUdJT05fSUR9Lm9zcy0ke1JFR0lPTl9JRH0uYWxpeXVuY3MuY29tClVQREFURV9TSVRFMz1odHRwOi8vdC10cnVzdGNsaWVudC0ke1JFR0lPTl9JRH0ub3NzLXskUkVHSU9OX0lEfS1pbnRlcm5hbC5hbGl5dW5jcy5jb20KTVNHX0lORk89ImRvd25sb2FkaW5nIGluc3RhbGwgc2NyaXB0IGZyb20gc2l0ZSIKTVNHX0VSUj0iZG93bmxvYWQgZmlsZSBlcnJvci4iCk1TR19PSz0idHJ1c3QgY2xpZW50IGluaXQgZG9uZS4iCgppbnN0YWxsKCkKewogIGVjaG8gIiR7TVNHX0lORk99IiIgMS4uLiIKICBjdXJsIC1mc1NMICIke1VQREFURV9TSVRFMX0iIiR7U0NSSVBUX1BBVEh9InxzaAogIGlmIFsgJD8gPT0gMCBdOyB0aGVuCiAgICByZXR1cm4gMQogIGZpCiAgZWNobyAiJHtNU0dfSU5GT30iIiAyLi4uIgogIGN1cmwgLWZzU0wgIiR7VVBEQVRFX1NJVEUyfSIiJHtTQ1JJUFRfUEFUSH0ifHNoCiAgaWYgWyAkPyA9PSAwIF07IHRoZW4KICAgIHJldHVybiAyCiAgZmkKICBlY2hvICIke01TR19JTkZPfSIiIDMuLi4iCiAgY3VybCAtZnNTTCAiJHtVUERBVEVfU0lURTN9IiIke1NDUklQVF9QQVRIfSJ8c2gKICBpZiBbICQ/ID09IDAgXTsgdGhlbgogICAgcmV0dXJuIDMKICBmaQogIGVjaG8gIiIgMT4mMgogIGV4aXQgMQp9CgppbnN0YWxsCmVjaG8gIiR7TVNHX09LfSIKCmV4aXQgMAo=
SecurityOptions.TrustedSystemMode 可信系统模式。当您调用RunInstances创建安全增强型实例时,如果InstanceType参数取值为g7t、c7t或者r7t,则需要设置SecurityOptions.TrustedSystemMode=vTPM
说明 通过OpenAPI创建可信系统的ECS实例时,只能调用RunInstances实现,CreateInstance目前不支持设置可信系统模式参数(SecurityOptions.TrustedSystemMode)。
vTPM
请求示例:
https://ecs.aliyuncs.com/?Action=RunInstances
&RegionId=cn-hangzhou
&InstanceType=ecs.c6t.large
&ImageId=aliyun_2_1903_x64_20G_secured_alibase_20210120.vhd
&SystemDisk.Category=cloud_essd
&VSwitchId=vsw-bp134jzf285qg9u6w****
&SecurityGroupId=sg-bp1c3o8hzd14dovh****
&RamRoleName=AliyunECSInstanceForYundunSysTrustRole
&UserData=IyEvYmluL3NoCkNVUlBBVEg9YHB3ZGAKU0NSSVBUX1BBVEg9Ii9kb3dubG9hZC9saW51eC9zY3JpcHQvVHJ1c3RBZ2VudEluc3RhbGwuc2giClJFR0lPTl9JRD1gY3VybCAtcyAtLXJldHJ5IDEgLS1tYXgtdGltZSAzIGh0dHA6Ly8xMDAuMTAwLjEwMC4yMDAvbGF0ZXN0L21ldGEtZGF0YS9yZWdpb24taWRgClVQREFURV9TSVRFMT1odHRwOi8vdHJ1c3RjbGllbnQtJHtSRUdJT05fSUR9Lm9zcy0ke1JFR0lPTl9JRH0taW50ZXJuYWwuYWxpeXVuY3MuY29tClVQREFURV9TSVRFMj1odHRwOi8vdHJ1c3RjbGllbnQtJHtSRUdJT05fSUR9Lm9zcy0ke1JFR0lPTl9JRH0uYWxpeXVuY3MuY29tClVQREFURV9TSVRFMz1odHRwOi8vdC10cnVzdGNsaWVudC0ke1JFR0lPTl9JRH0ub3NzLXskUkVHSU9OX0lEfS1pbnRlcm5hbC5hbGl5dW5jcy5jb20KTVNHX0lORk89ImRvd25sb2FkaW5nIGluc3RhbGwgc2NyaXB0IGZyb20gc2l0ZSIKTVNHX0VSUj0iZG93bmxvYWQgZmlsZSBlcnJvci4iCk1TR19PSz0idHJ1c3QgY2xpZW50IGluaXQgZG9uZS4iCgppbnN0YWxsKCkKewogIGVjaG8gIiR7TVNHX0lORk99IiIgMS4uLiIKICBjdXJsIC1mc1NMICIke1VQREFURV9TSVRFMX0iIiR7U0NSSVBUX1BBVEh9InxzaAogIGlmIFsgJD8gPT0gMCBdOyB0aGVuCiAgICByZXR1cm4gMQogIGZpCiAgZWNobyAiJHtNU0dfSU5GT30iIiAyLi4uIgogIGN1cmwgLWZzU0wgIiR7VVBEQVRFX1NJVEUyfSIiJHtTQ1JJUFRfUEFUSH0ifHNoCiAgaWYgWyAkPyA9PSAwIF07IHRoZW4KICAgIHJldHVybiAyCiAgZmkKICBlY2hvICIke01TR19JTkZPfSIiIDMuLi4iCiAgY3VybCAtZnNTTCAiJHtVUERBVEVfU0lURTN9IiIke1NDUklQVF9QQVRIfSJ8c2gKICBpZiBbICQ/ID09IDAgXTsgdGhlbgogICAgcmV0dXJuIDMKICBmaQogIGVjaG8gIiIgMT4mMgogIGV4aXQgMQp9CgppbnN0YWxsCmVjaG8gIiR7TVNHX09LfSIKCmV4aXQgMAo=
&<公共请求参数>
正常返回示例:
  • XML格式
    <RunInstancesResponse>
          <RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>
          <InstanceIdSets>
                <InstanceIdSet>i-bp16byi4f3fti5b3****</InstanceIdSet>
          </InstanceIdSets>
    </RunInstancesResponse>
  • JSON格式
    {
        "RequestId": "BB694A51-7860-4B5C-B906-9B4077798672",
        "InstanceIdSets": {
            "InstanceIdSet": [
                "i-bp16byi4f3fti5b3****"
            ]
        }
    }

RAM角色权限注意事项

建议您创建包含所需最小权限的自定义权限策略,并为RAM角色添加该策略。您可以将权限类型选为可信服务对应的系统策略AliyunSysTrustFullAccess),也可以将权限类型选为自定义策略,以便精确授权。访问可信服务的精确策略如下所示:
说明 虽然您也可以选择任意一个权限较大的系统策略,例如AdministratorAccess。但是,RAM权限关乎信息安全风险,强烈建议您按照实际需要分配最小权限,不要给予角色过多权限,更多信息请参见什么是访问控制
{
    "Statement": [
        {
            "Action": [
                "yundun-systrust:GenerateNonce",
                "yundun-systrust:GenerateAikcert",
                "yundun-systrust:RegisterMessage",
                "yundun-systrust:PutMessage"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ],
    "Version": "1"
}
自定义策略

安装阿里云可信系统的脚本

#!/bin/sh
CURPATH=`pwd`
SCRIPT_PATH="/download/linux/script/TrustAgentInstall.sh"
REGION_ID=`curl -s --retry 1 --max-time 3 http://100.100.100.200/latest/meta-data/region-id`
UPDATE_SITE1=http://trustclient-${REGION_ID}.oss-${REGION_ID}-internal.aliyuncs.com
UPDATE_SITE2=http://trustclient-${REGION_ID}.oss-${REGION_ID}.aliyuncs.com
UPDATE_SITE3=http://t-trustclient-${REGION_ID}.oss-{$REGION_ID}-internal.aliyuncs.com
MSG_INFO="downloading install script from site"
MSG_ERR="download file error."
MSG_OK="trust client init done."

install()
{
echo "${MSG_INFO}"" 1..."
curl -fsSL "${UPDATE_SITE1}""${SCRIPT_PATH}"|sh
if [ $? == 0 ]; then
return 1
fi
echo "${MSG_INFO}"" 2..."
curl -fsSL "${UPDATE_SITE2}""${SCRIPT_PATH}"|sh
if [ $? == 0 ]; then
return 2
fi
echo "${MSG_INFO}"" 3..."
curl -fsSL "${UPDATE_SITE3}""${SCRIPT_PATH}"|sh
if [ $? == 0 ]; then
return 3
fi
echo "" 1>&2
exit 1
}

install
echo "${MSG_OK}"

exit 0