限制用户仅通过HTTPS方式访问OSS

一、当前存在的问题

  当前OSS支持用户使用HTTPS/HTTP协议访问Bucket。但由于HTTP存在安全漏洞。大型企业客户都要求使用HTTPS方式访问OSS,并且拒绝HTTP访问请求。

  目前OSS可以通过RAM policy方式实现:限制某个用户、角色拒绝通过HTTP协议访问指定的Bucket和对象。但是RAM Policy是一种基于用户的授权方式,无法针对资源进行授权。也就是说无法针对Bucket或者对象级别,拒绝所有用户的HTTP请求。目前我们正在基于Bucket Policy开发该功能,后续用户可以直接通过Bucket Policy设置HTTPS访问策略。

二、通过RAM Policy实现“限制用户仅通过HTTPS方式访问OSS”

  阿里云RAM Policy有丰富的Condition参数,可以限制对资源的访问。这里我们利用"Secure Transport"条件参数生成RAM Policy,以实现拒绝指定的用户通过HTTP方式访问Bucket。

Condition功能合法取值
acs:SecureTransport是否是https协议“true”或者”false”

2.1RAM Policy示例

  • 为了简化配置,我们事先给账号赋予“AliyunOSSFullAccess”,然后模拟拒绝一切通过HTTP的请求。
  • 添加“拒绝HTTP访问请求”RAM Policy。具体RAM Policy内容如下:
{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "oss:*"
      ],
      "Resource": [
        "acs:oss:*:*:*"
      ],
      "Condition": {
        "Bool": {
          "acs:SecureTransport": [
            "false"
          ]
        }
      }
    }
  ]
}

官网说明:https://developer.aliyun.com/article/686003

Comments

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注