如何进行MaxCompute 用户认证?

您可以通过以下两种方式进行用户认证。

检查请求Request发送者的真实身份

即请求发送后,参数包括用户名和密码,服务端会验证用户名和密码是否正确,以此判断Request发送者的身份是否可信。

使用此方法有可能在请求时间较长的情况下,受到黑客攻击,导致密码泄露。

使用消息签名机制

如何进行MaxCompute 用户认证?

通过(AccessID、请求时间、请求参数)+签名的方式,根据AccessID获取userID、key等信息服务,验证提交端和服务端是否一致,MaxCompute也是通过此方式进行验证。

验证过程中,根据消息签名算法HMAC-SHA1来保证消息在传输过程中的完整性(Integrity)和真实性(Authenticity)。

通过身份验证后,需要控制请求来源—IP白名单。

IP白名单作用于整个项目空间,它的格式有以下三种:

  • 设置IP:如101.132.236.134
  • 设置子网掩码:如100.116.0.0/16
  • 设置网段:如101.132.236.134-101.132.236.144

这三种格式可以写在同一个命令中,用逗号分割。

例如项目管理员执行setproject odps.security.ip.whitelist=101.132.236.134,100.116.0.0/16,101.132.236.134-101.132.236.144; 命令开启白名单设置。

IP白名单清空后,MaxCompute便默认Project关闭了白名单功能。

用户提交请求后的流程如下图所示:

如何进行MaxCompute 用户认证?

首先经过HTTPServer获取SourceIP,OdpsWorker根据您的SourceIP匹配元数据中的信息。

如果两边的信息一致,则该请求正常。

上一篇:MaxCompute 多租户数据安全体系


下一篇:MaxCompute 跨项目空间的访问控制和权限管理