Alfresco Identity Service将成为Alfresco软件所需身份相关功能的中央组件,负责管理用户、组、角色、配置文件和身份验证等。目前该服务主要处理身份验证功能,本项目包含此服务的开源核心部分。
安装和https://github.com/Alfresco/alfresco-identity-service/blob/master/upgrade.mdIdentity Service可选择Kubernetes发行版或独立发行版,以下将详细介绍这两种方法。
以下说明适用于在EKS上的Kubernetes集群部署。
请参考ACS部署https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/eks-deployment.md%E3%80%82
如果将Identity Service部署到包含其他Alfresco组件(如Content Services和Process Services)的集群中,建议使用具有5个节点的VPC和集群,每个节点应为m4.xlarge EC2实例。
如果命名空间不存在,创建命名空间以避免集群冲突:
bashexport DESIREDNAMESPACE=example kubectl create namespace $DESIREDNAMESPACE
此环境变量将在部署步骤中使用。
通过部署ingress准备EKS集群,详见https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/eks-deployment.md#ingress%E8%AF%B4%E6%98%8E%E3%80%82
从ingress部署(步骤1)获取发布名称并设为变量:
bashexport INGRESS_RELEASENAME=<YOUR_INGRESS_RELEASE_NAME>
bashexport RELEASENAME=ids
bashhelm repo add alfresco-stable https://kubernetes-charts.alfresco.com/stable helm install $RELEASENAME alfresco-stable/alfresco-identity-service --devel \ --namespace $DESIREDNAMESPACE
bashhelm status $RELEASENAME
bashexport ELBADDRESS=$(kubectl get services $INGRESS_RELEASENAME-ingress-nginx-controller --namespace=$DESIREDNAMESPACE -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
上述步骤将部署应用默认示例领域的_alfresco-identity-service_,默认值如下:
| 属性 | 值 |
|---|---|
| 管理员用户名 | admin |
| 管理员密码 | admin |
| 管理员*** | admin@app.activiti.com |
| Alfresco客户端重定向URI | http://localhost* |
(注意:APS期望使用***作为用户名)
可通过alfresco-identity-service.client.alfresco.redirectUris属性覆盖环境的默认重定向URI http://localhost*:
bashhelm install $RELEASENAME alfresco-stable/alfresco-identity-service --devel \ --set alfresco-identity-service.realm.alfresco.client.redirectUris="{$DNSNAME}" \ --namespace $DESIREDNAMESPACE
包含多个重定向URI:
bashhelm install $RELEASENAME alfresco-stable/alfresco-identity-service --devel \ --set alfresco-identity-service.realm.alfresco.client.redirectUris="{$DNSNAME,$DNSNAME1,$DNSNAME2}" \ --namespace $DESIREDNAMESPACE
注意:多个重定向URI值必须用逗号分隔,且逗号前后无空格。
如需部署自定义领域进行进一步定制,详见下文“自定义领域”。
与redirectUris类似,可通过覆盖alfresco-identity-service.client.alfresco.webOrigins属性修改webOrigins:
bashhelm install $RELEASENAME alfresco-stable/alfresco-identity-service --devel \ --set alfresco-identity-service.realm.alfresco.client.webOrigins="{$DNSNAME}" \ --namespace $DESIREDNAMESPACE
多个webOrigins:
bashhelm install $RELEASENAME alfresco-stable/alfresco-identity-service --devel \ --set alfresco-identity-service.realm.alfresco.client.webOrigins="{$DNSNAME,$DNSNAME1,$DNSNAME2}" \ --namespace $DESIREDNAMESPACE
为提高弹性,可依赖Keycloak chart支持指定多个副本。启用此功能需在部署identity chart时添加以下设置:
bash--set alfresco-identity-service.keycloak.replicas=3
此外,Keycloak支持集群以实现高可用。有关配置高可用和集群的更多信息,可参考以下文档:
https://github.com/codecentric/helm-charts/tree/master/charts/keycloak#high-availability-and-clustering
Keycloak Standalone Clustered configuration
Keycloak Clustering
注意:Keycloak建议使用粘性会话,因此如果选择使用非nginx的ingress类型,请务必注意这一点。
需要一个领域文件,提供了示例领域文件。
使用领域json文件创建secret
注意:secret名称必须为realm-secret,且领域文件名不能为alfresco-realm.json。
bashkubectl create secret generic realm-secret \ --from-file=./realm.json \ --namespace=$DESIREDNAMESPACE
yamlkeycloak: extraEnv: | - name: KEYCLOAK_USER value: admin - name: KEYCLOAK_PASSWORD value: admin - name: KEYCLOAK_IMPORT value: /realm/realm.json
注意:上述设置使用默认的_keycloak用户名和密码admin/admin_,可替换为自定义值。
bashhelm repo add alfresco-stable https://kubernetes-charts.alfresco.com/stable helm install $RELEASENAME alfresco-stable/alfresco-identity-service --devel \ -f custom-values.yaml \ --namespace $DESIREDNAMESPACE
更多详情见https://github.com/codecentric/helm-charts/tree/master/charts/keycloak#setting-a-custom-realm%E3%80%82
Keycloak启动后,登录管理控制台配置所需领域。
手动配置
添加领域,命名为"Alfresco"
在Alfresco领域内创建OIDC客户端,命名为"alfresco"
创建组,命名为"admin"
添加新用户,用户名为"testuser",为"",姓名为"test"
使用示例领域文件
进入添加领域页面,点击Import标签旁的"Select File"按钮。
选择https://github.com/Alfresco/alfresco-identity-service/blob/master/helm/alfresco-identity-service/alfresco-realm.json%E6%96%87%E4%BB%B6%EF%BC%8C%E7%82%B9%E5%87%BB%22Create%22%E6%8C%89%E9%92%AE%E3%80%82
我们鼓励并欢迎对此项目的贡献。详情请查看https://github.com/Alfresco/alfresco-identity-service/blob/master/CONTRIBUTING.md%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务