降低恶意访问风险 以IAM用户的方式访问OOS 一个账户可以建立多个子用户,您可以通过IAM为不同的操作人员创建独立的IAM子用户。根据操作人员的职能范围,授予相应的管理权限。同时建议您也为根用户创建子用户,并授予该子用户管理权限,使用该用户进行日常管理工作,保护账户安全。 创建IAM用户详见IAM用户、或用户管理接口。 创建IAM用户后,您可以根据IAM用户进行分组及附加权限,可以参考用户管理。 对子用户启用多因子认证(MFA) 多因子认证(MultiFactor Authentication,简称MFA)是一种简单安全的二次认证方式,为用户增加了一层安全保护。 启用多因子认证可以参考MFA。 STS临时授权访问OOS STS(Security Token Service)是为云计算用户提供临时访问令牌的Web服务。通过STS,可以为第三方应用或用户颁发一个自定义时效的访问凭证。第三方应用或用户可以使用该访问凭证直接调用OOS API,或者使用OOS提供的SDK来访问OOS API。 OOS可以为用户提供临时访问密钥,详见GetSessionToken。 Bucket Policy Bucket Policy用于定义OOS资源的访问权限。通过Bucket Policy,您可以授权另一个账号访问或管理整个Bucket或Bucket内的部分资源,或者对同账号下的不同IAM用户授予访问或管理Bucket资源的不同权限。 配置Bucket Policy时,建议遵循权限最小化原则,降低数据的安全风险: 避免授权整个Bucket 资源授权过大容易导致用户数据被非法访问,所以请避免授权整个Bucket。 不授权匿名访问 允许匿名访问意味着用户只需要知道Endpoint和Bucket名称就可以访问OOS数据,而Endpoint是可以枚举的,Bucket名称也可以从已授权的访问文件URL中提取。由此可见,授权允许匿名访问会带来极大的安全风险。 设置合理的Action 通过控制台Bucket“属性”>“安全策略”配置Bucket Policy,在Action中授权您业务需求中必须的接口权限,给予授权用户最小的权限。 使用HTTPS访问 使用HTTPS访问可以解决网络中间人攻击以及域名劫持等问题,使访问更加安全。 限定源IP 如果访问OOS资源的IP地址是固定的,强烈建议配置Condition中IP Address的ctyun:SourceIp条件键,设置访问IP的白名单/黑名单。 对Bucket设置防盗链 通过对访问来源设置白名单/黑名单的机制,避免OOS资源被其他人盗用。 防盗链通过请求Header中的Referer地址判断访问来源。当浏览器向Web服务器发送请求的时候,请求Header中将包含Referer,用于告知Web服务器该请求的页面链接来源。OOS根据浏览器附带的Referer与用户配置的Referer规则来判断允许或拒绝此请求,如果Referer一致,则OOS将允许该请求的访问;如果Referer不一致,则OOS将拒绝该请求的访问。 示例1:examplebucket的权限为私有,通过Bucket Policy授予名为username1的IAM用户,仅能使用IP地址192.168.143.0/24、Referer为< { "Version":"20121017", "Id":"http referer policy example", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal":{ "CTYUN":"arn:ctyun:iam::accountId:user/username1"}, "Action":"oos:GetObject", "Resource":"arn:ctyun:oos:::examplebucket/1", "Condition":{ "StringLike":{ "ctyun:Referer":[ " " ] }, "Bool": { "ctyun:SecureTransport": "true" }, "IpAddress" : { "ctyun:SourceIp":"192.168.143.0/24" } } } ] } 示例2:如果examplebucket的权限为公共读写,通过Bucket Policy限制:仅Referer为< { "Version":"20121017", "Id":"", "Statement":[ { "Sid":"", "Effect":"Deny", "Principal":{ "CTYUN": [""] }, "Action":"oos:", "Resource":"arn:ctyun:oos:::examplebucket/", "Condition":{ "StringNotLike":{ "ctyun:Referer":[ " " ] } } } ] }