更新时间:2025-08-28 GMT+08:00

配置实例元数据选项

操作场景

用户可以通过配置元数据选项来控制实例内元数据的行为。

约束与限制

该功能当前仅上线“拉美-圣保罗一”区域,如需使用,可以在管理控制台右上角,通过新建工单,提交申请开通。

实例元数据选项

实例元数据选项可在购买ECS时配置,也可在ECS运行时配置。

元数据支持两种访问模式,如表1所示。

表1 元数据访问模式

版本

V1传统模式

V2加固模式

交互方式

请求/响应,单次交互返回消息

会话,需要先申请动态临时凭证做鉴权,再访问对应API。

鉴权方式

实例元数据访问需要携带凭证:

  • 校验时效:凭证超过有效期会被拒绝访问,有效期在申请凭证时可指定。

    有效期取值为1分钟到360分钟,默认为360分钟。

  • 校验实例:凭证跨实例使用会被拒绝访问。
  • 拒绝代理:凭证获取请求携带x-forwarded-for字段会拒绝访问。

安全级别

攻击者通过操作系统内应用漏洞跳板进行SSRF攻击,可造成实例元数据泄露。

访问元数据需要提供有效的访问凭证,通过凭证来拦截跳板攻击的请求路径,实现对绝大多数SSRF攻击的拦截。

为了进一步增强安全性,华为云支持您设置实例元数据访问模式为仅V2加固模式(强制加固模式)。设置后,V1传统模式访问的流量会被拒绝,以防范普通模式访问可能带来的大多数SSRF相关风险

从ECS访问元数据样例

分Linux和Windows,按元数据访问模式进行介绍。

  • Linux实例:
    curl -X GET http://169.254.169.254/openstack/latest/meta_data.json
  • Windows实例:
    Invoke-RestMethod -Method GET -Uri http://169.254.169.254/openstack/latest/meta_data.json
  • Linux实例:
    # 获取元数据访问凭证,X-Metadata-Token-Ttl-Seconds推荐设置6h即21600
    TOKEN=`curl -X PUT http://169.254.169.254/meta-data/latest/api/token -H "X-Metadata-Token-Ttl-Seconds:21600"`
    # 访问实例元数据
    curl -X GET http://169.254.169.254/openstack/latest/meta_data.json -H "X-Metadata-Token:$TOKEN"
  • Windows实例:
    # 获取元数据访问凭证,需设置有效期,不可包含标头X-Forwarded-For
    $token = Invoke-RestMethod -Headers @{"X-Metadata-Token-Ttl-Seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/meta-data/latest/api/token
    # 访问实例元数据
    Invoke-RestMethod -Headers @{"X-Metadata-Token" = $token} -Method GET -Uri http://169.254.169.254/openstack/latest/meta_data.json

配置元数据(购买ECS时)

  1. 登录控制台,进入购买弹性云服务器页面。

    根据业务需要,完成相关购买参数的设置。详细内容,请参见购买弹性云服务器

  2. 在“高级配置”中,设置“元数据访问”为“启用”。
  3. 设置“元数据版本”为“仅V2(Token)”。
    图1 设置元数据版本
  4. 确认参数并单击“立即购买”,完成弹性云服务器的购买。

配置元数据(ECS运行时)

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 单击“”,选择“计算 > 弹性云服务器”。
  4. 弹性云服务器列表,单击待配置的弹性云服务器名称进入“基本信息”页面。
  5. 单击“元数据版本”参数右侧的编辑按钮。
    图2 编辑元数据版本
  6. 选择元数据版本并单击“确定”。
    图3 修改元数据版本

    修改完成后,可在弹性云服务器的“基本信息”页面查看修改后的“元数据版本”。