ceph
local_engine
使用保存在RGW的meta pool中的AccessKey和SecretKey对请求中的AccessKeyId和Signature进行验证,可由bool配置项rgw_s3_auth_use_rados控制是否启用。
external_engine
递归地引入外部身份验证Engine的支持
keystone_engine(swift)
类型为EC2Engine,由配置项rgw_s3_auth_use_keystone和rgw_keystone_url控制是否启用。
rgw与openstack keystone集成:https://blog.csdn.net/litianze99/article/details/47780691
ceph 官方文档:http://docs.ceph.com/docs/master/radosgw/keystone/
ldap_engine
LDAP统一认证服务
ceph官方文档:http://docs.ceph.com/docs/master/radosgw/ldap-auth/
anonymous_engine
对RADOS网关(RGW)的请求可以进行身份验证,也可以不进行身份验证。RGW假定未经身份验证的请求是由匿名用户发送的。RGW支持 canned acl。
rgw与openstack keystone集成后,用户可以使用openstack ec2 credentials create命令生成AWS-style access key and secret key
STS LITE
( https://github.com/ceph/ceph/pull/23504 )在上面的提交中,社区为 RGW 实现了对 STS(Secure Token Service) 认证的支持。通过 STS,可以临时为某些用户颁发自定义时效和权限的访问凭证。
RGW STS 认证的相关接口与 Amazon STS 的 API 接口保持兼容,但当前仅支持部分接口。当前 RGW STS 的实现机制是与已有的 Keystone 认证进行集成,通过 Keystone 服务来生成临时访问凭证,并对这些访问凭证进行认证。
看代码,这是14版本才开始合入的功能。
与anonymous_engine功能是一样的,也是使用keystone和ec2 credentials。
腾讯云对象存储
API密钥
由APPID,SecretId,SecretKey组成,访问cos时需要使用COS 签名工具生成有时效,指定[GET,POST,PUT]等操作的签名。
https://cloud.tencent.com/document/api/213/30654
接口鉴权 v3
腾讯云 API 会对每个访问请求进行身份验证,即每个请求都需要在公共请求参数中包含签名信息(Signature)以验证请求者身份。 签名信息由安全凭证生成,安全凭证包括 SecretId 和 SecretKey。
请求API时,需要拼接待签名字符串,计算签名,拼接 Authorization
项目管理密钥
由ID,SecretId,SecretKey组成,目前项目密钥仅支持对象存储V4、数据万象(原万象优图)等产品。
使用项目密钥访问上述产品的 API 前, 需要 SecretId 和 SecretKey 获取鉴权签名,否则将无法访问上述产品的 API。
访问cos时需要使用COS 签名工具生成有时效,指定[GET,POST,PUT]等操作的签名。
https://cloud.tencent.com/document/product/436/7778
请求签名
适用于 COS XML 版本,不适用于 POST object 的 HTTP 请求。
匿名请求:HTTP 请求不携带任何身份标识和鉴权信息,通过 RESTful API 进行 HTTP 请求操作。
签名请求:HTTP 请求时添加签名,COS 服务器端收到消息后,进行身份验证,验证成功则可接受并执行请求,否则将会返回错误信息并丢弃此请求。
腾讯云对象存储目前提供了 COS 签名工具 供用户生成签名。
临时密钥
Web、iOS、Android 使用 COS 的场景时,通过固定密钥计算签名方式不能有效地控制权限,同时把永久密钥放到客户端代码中有极大的泄露风险。如若通过临时密钥方式,则可以方便、有效地解决权限控制问题。
例如,在申请临时密钥过程中,可以通过设置权限策略 policy 字段,限制操作和资源,将权限限制在指定的范围内。
获取临时密钥,可以通过提供的 COS STS SDK 方式获取,也可以直接请求 STS 云 API 的方式获取。
使用cos python sdk时可以使用临时密钥访问资源。
https://cloud.tencent.com/document/product/436/12269
https://cloud.tencent.com/document/product/436/14048