仅允许HTTPS访问ECS OpenAPI

建议使用加密的HTTPS协议,从而保障访问凭证(AccessKey)和敏感数据的传输安全,防止信息泄露和中间人攻击。

安全风险

使用http://协议访问ECS OpenAPI,就如同在网络上发送明文数据。从客户端到阿里云服务器的整个路径上,任何中间节点(如路由器、交换机、网络运营商)都能轻易读取全部内容。这会直接导致以下安全风险:

  1. 凭证与数据泄露:API请求中包含您的身份凭证 AccessKey (AK/SK) 以及操作的敏感信息(如实例ID、磁盘数据等)。通过HTTP传输时,这些信息完全以明文形式暴露,攻击者可通过网络嗅探等手段轻松截获,导致账户权限被盗用。

  2. 中间人攻击 (Man-in-the-Middle, MitM):攻击者不仅能窃听,还能在您和阿里云服务器之间冒充双方,篡改通信内容。例如,将您创建ECS实例的请求,替换为删除您核心业务实例的恶意指令,或者在返回给您的数据中植入错误信息。

  3. 身份伪造与钓鱼:HTTP协议无法验证您所连接的服务器是否为真实的阿里云官方服务器。攻击者可以伪造一个DNS记录或搭建一个假冒的服务器,诱导您的API请求发往恶意地址,从而窃取您的凭证。

最佳实践

使用HTTPS协议访问OpenAPI时,SDK会默认开启校验SSL/TLS证书有效性,若您代码环境没有证书环境,则会报错证书校验失败。

为保障通信安全,建议设置运行时参数IgnoreSSL = false开启证书校验。

语言

V 2.0

V 1.0

Java

HTTPS请求配置

HTTPS 请求配置

Python

HTTPS请求配置

HTTPS配置

PHP

HTTPS请求配置

HTTPS请求配置

Node.js/TypeScript

HTTPS请求配置

.NET

HTTPS请求配置

HTTPS 请求配置

Go

HTTPS请求配置

SSL 验证

合规能力

拦截:禁止未使用HTTPS访问ECS OpenAPI请求

在组织或账户层面通过RAM Policy策略,禁止未使用HTTPS进行安全访问的ECS OpenAPI请求。

  • 针对企业用户:

    1. 使用阿里云主账号登录资源目录控制台,单击左侧菜单栏的管控策略创建自定义权限策略,粘贴以下JSON内容。

      {
        "Statement": [
          {
            "Action": "ecs:*",
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
              "Bool": {
                "acs:SecureTransport": "true"
              }
            }
          }
        ],
        "Version": "1"
      }
    2. 在资源目录中选择合适的节点绑定策略,策略将对目录下的账号产生拦截效果。

  • 针对非企业用户:

    1. 使用阿里云主账号登录RAM控制台,单击左侧菜单栏的权限策略,创建一条与上述内容相同的自定义策略。

    2. 通过管理权限策略授权将该条权限策略授权给RAM用户、RAM用户组或RAM角色。