創建可信實例時如果需要使用阿里云的可信系統,還需要開通一些權限以便可信實例在啟動時向阿里云云安全中心上報可信信息。本文介紹如何創建一臺使用阿里云可信系統的可信實例。
創建可信實例
通過控制臺創建
在控制臺創建可信實例的步驟與創建普通實例類似,但需要注意一些特定選項。本步驟重點介紹可信實例相關的特定配置,如果您想了解其他通用配置,請參見自定義購買實例。
登錄ECS管理控制臺。
在左側導航欄,選擇 。
單擊創建實例。
在實例和鏡像區域,選擇實例和鏡像。
實例:篩選并選中一款支持vTPM特性的實例規格。更多信息,請參見支持可信計算能力的實例規格族。
鏡像:
根據實例規格族選擇支持的鏡像版本。
(可選)選中可信系統。
說明選中可信系統即可為實例啟用阿里云可信系統,在實例啟動時通過阿里云可信系統完成可信校驗。如果您需要自建可信服務系統,可以跳過該步驟。
在帶寬和安全組區域,選擇安全組。如果出現開通KMS密鑰管理服務對話框,單擊開通。
創建可信實例時必須開通KMS,否則會創建失敗。如果您已經開通了KMS,則不會出現該對話框,請繼續完成網絡和安全組的配置。
(條件必選)單擊高級選項,選擇實例RAM角色。
如果您為實例選中了可信系統,則需要為實例設置一個RAM角色,該RAM角色必須擁有訪問可信服務的權限。阿里云為您提供了對應的服務角色AliyunECSInstanceForYundunSysTrustRole,建議您按照以下步驟設置并選擇該策略:
說明如果您需要更精確或定制化的配置,請自定義角色并根據需求進行授權。自定義RAM角色時需要注意一些事項,更多信息,請參見RAM角色權限注意事項。
單擊先授權。
在彈出的云資源訪問授權對話框,單擊同意授權。
在新窗口中,單擊同意授權。
單擊我已授權。
選擇AliyunECSInstanceForYundunSysTrustRole作為RAM角色。
說明您也可以跳過授權的步驟,在創建實例之后再進行授權。具體操作,請參見通過ECS實例RAM角色授權ECS訪問其他云服務。
按照頁面提示,完成實例的創建。
通過API創建
調用API創建可信實例時,請注意:
必須先開通KMS權限,否則實例會創建失敗。具體操作,請參見開通密鑰管理服務。
如果使用阿里云可信系統,您需要為可信實例設置一個RAM角色,該角色必須擁有訪問可信服務的權限,以便可信實例在啟動時向云安全中心上報可信信息。具體操作,請參見通過ECS實例RAM角色授權ECS訪問其他云服務。自定義RAM角色時的注意事項,請參見RAM角色權限注意事項。
說明如果您自建可信服務系統,則無需設置該RAM角色。
您可以調用RunInstances或CreateInstance創建實例,需要注意的參數如下表所示。
參數 | 說明 | 示例 |
InstanceType | 指定一款支持vTPM特性的實例規格。更多信息,請參見支持可信計算能力的實例規格族。 | 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編碼前的明文腳本內容,請參見安裝阿里云可信系統的腳本。 |
|
SecurityOptions.TrustedSystemMode | 可信系統模式。當您調用RunInstances創建可信實例時,如果InstanceType參數取值為g7t、c7t或者r7t,則需要設置 說明 通過OpenAPI創建可信系統的ECS實例時,只能調用RunInstances實現,CreateInstance目前不支持設置可信系統模式參數( | 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