基于Keycloak的身份和访问控制系统

通过此解决方案您可以快速在亚马逊云科技云上构建高可用架构的Keycloak集群,用以实现标准化的身份及访问控制系统。Keycloak 是一款开源的身份及访问控制软件,提供单点登录(SSO)功能,支持 OpenID Connect、OAuth 2.0、SAML 2.0 标准协议。Keycloak 提供可自定义的用户界面,用于登录,注册和帐户管理等。您可将其集成到现有的 LDAP 和 Azure Active Directory 服务器中,还可以将身份验证委派给第三方身份提供商。

亚马逊云科技解决方案概述

下图显示了本解决方案的架构图。您可以使用该解决方案的部署指南和随附的 Amazon CloudFormation 模板或以Cloud Development Kit(CDK)的方式进行自动部署。

Architecture of Serverless Image Handler

此解决方案使用Amazon Fargate服务运行Amazon ECS集群,该服务是针对容器的无服务器计算服务。 使用Amazon Fargate,您无需管理服务器,并且可以通过设计隔离应用程序来分配和支付每个应用程序的资源并提高安全性。为确保高系统可用性,Amazon ECS服务中定义了两个任务,因此,如果一个任务无法提供服务,则另一任务将继续提供服务。Amazon ECS支持Docker,并使您能够运行和管理Docker容器。 无需任何配置更改即可在Amazon ECS上部署和运行Keycloak的容器映像。

Amazon ECR用于存储Keycloak的Docker镜像文件。

Amazon Certificate Manager 用于管理用做负载均衡(ALB)的SSL 证书。

Amazon Identity and Access Management(IAM)将用于创建角色(Role)。角色被用于与Keycloak一起进行用户身份验证的Amazon Cognito身份池。 通常情况下,可以有两个角色,一个由未登录的用户拥有,一个由登录的用户拥有,并且根据角色所拥有的策略,用户可以访问不同的服务。

Amazon Secrets Manager服务将自动为Keycloak管理员帐户生成并存储初始用户名和密码自动生成并存储数据库的初始管理员帐户用户名,密码以及连接域(connection domain)和端口信息。

此解决方案默认使用Amazon RDS数据库,您还可以选择Amazon Aurora Serverless或者单个Amazon RDS实例。您可以根据实际需要调整默认参数:

– 数据库类型为Amazon RDS for MySQL。

– 数据库实例类型为db.r5.large。

– 使用Amazon RDS多可用区部署

– 自动备份时间为7天。

– 会启用KMS加密。

https://s3.cn-north-1.amazonaws.com.cn/aws-dam-prod/china/Solutions/Keycloak_on_AWS/Deployment_guide_keycloak.pdf

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/96038.html

(0)
上一篇 2021年8月18日
下一篇 2021年8月18日

相关推荐

发表回复

登录后才能评论