ECS镜像(二)ECS实例标识实践

简介: 实例标识 一、背景 随着云技术的普及,越来越多的用户大到企业客户,软件供应商,小到普通创业者逐步开始将自己的基础设施搬迁到云上,同时越来越多用户对云主机的“可信任性”提出了需求,比如以下场景: 场景一: 软件license安全问题 场景描述 比如某isv想在阿里云云市场上架其软件,区别于传...

实例标识

一、背景

随着云技术的普及,越来越多的用户大到企业客户,软件供应商,小到普通创业者逐步开始将自己的基础设施搬迁到云上,同时越来越多用户对云主机的“可信任性”提出了需求,比如以下场景:

场景一: 软件license安全问题

场景描述

比如某isv想在阿里云云市场上架其软件,区别于传统的软件license计费模式,一般云计算厂商的计费模式相对复杂,isv想通过一种与云资源比如ecs协同计费的方式进行收费,比如按照该软件在ecs上的运行时间进行计费,那么对应的计费方案可能是如果运行该软件的 虚拟机是阿里云的ecs那么该软件默认license校验通过,isv通过镜像市场镜像进行收费。

问题

  1. isv该如何验证其软件运行环境是阿里云ecs而不是其它云主机

场景二: 向虚拟机发送敏感数据

在虚拟机启动后,可能需要向虚拟机发送一些敏感数据,比如证书等,此时用户需要一种机制来验证虚拟机的身份

问题

  1. 如何让用户信任该虚拟机是阿里云ecs
  2. 如何表达每一台ecs的“身份”

以上场景需要云计算厂商为用户提供一种机制来验证虚拟机的身份 ,“实例标识” 应运而生,其通过数字签名的方式来保障数据信息的真实性,准确性,来源

二、了解实例标识

2.1 基本概念

需要理解的核心概念列表:

  1. 实例标识文档
  2. 实例标识签名
  3. 公有证书

image.png

综上,阿里云ECS实例标识通过实例身份+动态数字签名的方式来保证数据的真实性与准确性,从而为用户提供了一种验证数据来源可靠性的有效方式。

2.2 工作原理

工作原理图

image.png

上图简单表达了一个用户app通过阿里云ecs使用实例标识的流程:

  1. 用户在vm内部调用 100.100.100.200/latest/dynamic/instnace-identify/document获取实例标识文档
  2. 用户在vm内部调用 100.100.100.200/latest/dynamic/instnace-identify/pkcs7获取实例标识签名
  3. 用户从官方渠道比如官方帮助文档获取公开证书,保存为ecs.cer
  4. 用户通过实例标识文档来获取ecs相关的身份信息,可以通过身份信息进行第一步认证比如:私网ip,归属aliuid,mac等
  5. 通过openssl工具验证签名有效性
  6. smime -verify -in signature -inform PEM -content document -certfile ecs.cer -noverify > /dev/null

附上简单的验证脚本代码

#!/usr/bin/env bash
function verify_signature_without_audience(){
    curl 100.100.100.200/latest/dynamic/instance-identity/document > document
    echo "-----BEGIN CERTIFICATE-----" > signature
    curl 100.100.100.200/latest/dynamic/instance-identity/pkcs7 >> signature
    echo "" >> signature
    echo "-----END CERTIFICATE-----" >> signature

    openssl smime -verify -in signature -inform PEM -content document -certfile ecs.cer -noverify > /dev/null
}
verify_signature_without_audience

需要在脚本运行目录提前将官网证书保存为ecs.cer

三、audience参数高阶用法

如上所述“实例标识” 提供了一种简单的ecs身份签名验证机制,为了提供更高的可扩展性来满足用户更高的安全需求,我们在签名计算上提供了一个可扩展参数audience,用户可以自定义audience来增强安全性,比如使用动态生成的md5值作为audience参数传入可以降低服务伪造的风险。

推荐用法

  • 使用方式:100.100.100.200/latest/dynamic/instance-identity/pkcs7?audience=xxx
  • audience参数最好是变化值且最好是通过不可逆加密算法生成的比如md5等加密算法

以下提供一个简单的随机数作为audience参数传入的demo

#!/usr/bin/env bash
function verify_signature_with_changeable_audience(){
    audience=$RANDOM
    document=$(curl 100.100.100.200/latest/dynamic/instance-identity/document)
    audience_json=',"audience":''"'${audience}'"}'

    echo -n ${document%?}${audience_json} > document
    echo "-----BEGIN CERTIFICATE-----" > signature
    curl 100.100.100.200/latest/dynamic/instance-identity/pkcs7?audience=${audience} >> signature
    echo "" >> signature
    echo "-----END CERTIFICATE-----" >> signature

    openssl smime -verify -in signature -inform PEM -content document -certfile cert.cer -noverify > /dev/null
}

verify_signature_with_changeable_audience

四、典型场景最佳实践

4.1 镜像市场镜像通过实例标识进行license控制

背景

isv在阿里云云市场上架其软件,以镜像市场收费镜像的方式进行计费,比如按量付费模式,isv通过实例标识识别虚拟机身份进行license控制。

方案

  1. 获取实例标识文档与签名,参考如上实现
  2. 验证实例标识文档正确性,验证私网ip,mac,instanceID等信息(可选)
  3. 通过openssl或者其它方式验证签名有效性(建议增加audience参数)
  4. 获取云市场镜像相关的metadata,根据付费类型(meta-data/image/market-place/charge-type )及商品code(meta-data/image/market-place/product-code )做license控制判断
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
弹性计算 监控 负载均衡
|
3天前
|
弹性计算 数据挖掘 测试技术
ECS e实例测评
ECS e实例是阿里云推出的经济型云服务器,适合中小规模应用。性能上能满足基本需求,但在高并发场景下表现一般。性价比高,价格亲民,适合预算有限的开发者。用户体验良好,配有丰富的技术文档,但部分高级功能操作说明有待优化。
30 18
|
9天前
|
存储 分布式计算 安全
阿里云服务器经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例介绍与选择参考
在阿里云现在的活动中,可选的云服务器实例规格主要有经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例,虽然阿里云在活动中提供了多种不同规格的云服务器实例,以满足不同用户和应用场景的需求。但是有的用户并不清楚他们的性能如何,应该如何选择。本文将详细介绍阿里云服务器中的经济型e、通用算力型u1、计算型c8i、通用型g8i、内存型r8i实例的性能、适用场景及选择参考,帮助用户根据自身需求做出合适的选择。
|
14天前
|
存储 人工智能 编解码
阿里云服务器计算型c8i、通用型g8i和计算型c8a、通用型g8a实例区别及选择参考
在选择阿里云服务器计算型和通用型实例规格的时候,有的用户不清楚计算型c8i、通用型g8i与计算型c8a、通用型g8a实例的区别,他们都是采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。但是计算型c8i和通用型g8i实例用的是Intel处理器,计算型c8a和通用型g8a实例用的是AMD处理器。本文将详细介绍阿里云服务器计算型c8i、通用型g8i与计算型c8a、通用型g8a实例各自的性能和区别,以及适合的用户群体,帮助用户更好地选择适合自己的云服务器实例。
|
16天前
|
弹性计算 监控 数据库
制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程
本文通过一个制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程,展示了企业级应用上云的实践方法与显著优势,包括弹性计算资源、高可靠性、数据安全及降低维护成本等,为企业数字化转型提供参考。
41 5
|
17天前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c8i实例解析:实例规格性能及使用场景和最新价格参考
计算型c8i实例作为阿里云服务器家族中的重要成员,以其卓越的计算性能、稳定的算力输出、强劲的I/O引擎以及芯片级的安全加固,广泛适用于机器学习推理、数据分析、批量计算、视频编码、游戏服务器前端、高性能科学和工程应用以及Web前端服务器等多种场景。本文将全面介绍阿里云服务器计算型c8i实例,从规格族特性、适用场景、详细规格指标、性能优势、实际应用案例,到最新的活动价格,以供大家参考。
|
22天前
|
存储 弹性计算 缓存
阿里云服务器通用型g8i实例性能与使用场景介绍及最新收费标准参考
阿里云ECS通用型g8i服务器采用阿里云全新CIPU架构,可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。ECS通用型g8i实例支持开启或关闭超线程配置,单台g8i实例最高支持100万IOPS。阿里云ECS通用型g8i实例CPU采用Intel®Xeon®Emerald Rapids或者Intel®Xeon®Sapphire Rapids,主频不低于2.7 GHz,全核睿频3.2GHz。本文为大家介绍通用型g8i实例性能与使用场景介绍及最新收费标准,以供参考。
|
23天前
|
弹性计算 缓存 数据挖掘
阿里云服务器经济型e和通用算力型u1实例区别及选择参考
在阿里云目前的活动中,经济型e和通用算力型u1实例是两个比较热门的云服务器实例规格,收费标准相对其他计算型、通用型和内存型实例来说要更低一些,经济型e实例ECS云服务器2核2G3M带宽新购和续费都是99元1年,通用算力型u1实例2核4G5M带宽新购和续费都只要199元1年、4核8G云服务器955.58元1年。有的新手用户并不清楚他们之间的区别及如何选择,本文将介绍阿里云服务器中的经济型e实例和通用算力型u1实例的特点、区别以及新手选择参考。
|
1月前
|
存储 缓存 安全
阿里云服务器内存型r7、r8a、r8y、r8i实例区别及选择参考
随着阿里云2024年金秋云创季的开始,目前在阿里云的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y和内存型r8i这几个实例规格,相比于活动内的经济型e和通用算力型u1等实例规格来说,这些实例规格等性能更强,虽然这几个实例规格的云服务器通常处理器与内存的配比为都是1:8,但是他们在处理器、存储、网络、安全等方面等性能并不是一样的,所以他们的适用场景也有着不同。本文为大家介绍内存型r7、r8a、r8y、r8i实例的性能、适用场景的区别以及选择参考。
|
1月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器c7/c8a/c8y/c8i/g7/g8a/g8y/g8i/r7/r8a/r8y/r8i实例区别及选择参考
在阿里云目前的活动中,除了特价的轻量应用服务器和经济型e及通用算力型u1实例之外,属于计算型实例的实例有计算型c7/c8a/c8y/c8i,属于通用型实例的有通用型g7/g8a/g8y/g8i,属于内存型实例的有内存型r7/r8a/r8y/r8i。本文将详细介绍阿里云服务器中的c7、c8a、c8y、c8i、g7、g8a、g8y、g8i、r7、r8a、r8y、r8i等实例规格的性能、适用场景及选择参考,帮助用户更好地选择合适的云服务器实例。

相关产品

  • 云服务器 ECS