API网关通常都支持通过安全策略定义的方式(security policy)来进行API安全访问控制,常用的安全策略包括身份认证、授权,有的还把报文的安全性(数字签名、加解密)作为安全访问控制的一部分。常用的认证授权方式包括APPKey/APP Secret, 以及OAuth。在API的描述标准Swagger中有专门的security部分。好的API平台都能支持Swagger security 所能描述的标准。
API系统提供的企业级安全防护能力通常包括:
• 基于角色的访问控制(Role Based Access Control ,RBAC),在每一层实行“职责分离”,并保护敏感信息,包括API密钥,SSL证书,OAuth的令牌和审计日志等;
• 采用开放标准如OAuth, SAML 和LDAP的APIs,用户,开发人员,系统管理员的身份认证;
• 通过OAuth Token, APP Key 和RBAC策略来进行 细粒度授权管理;
• 利用SSL/TLS来保护通讯链路层的安全;
• 利用日志,监控和审计进行安全分析;
• 对XML, JSON, 和DoS攻击防护。