Cromwell IAM Addon 是为Cromwell工作流管理系统设计的身份与访问管理插件,旨在通过集成身份验证、权限控制和安全访问策略,提升Cromwell在多用户协作环境中的安全性、合规性和可管理性。该镜像与Cromwell原生架构无缝集成,无需修改Cromwell核心代码即可实现访问控制增强。
bashdocker run -d \ --name cromwell-iam-addon \ -p 8080:8080 \ -e CROMWELL_SERVER_URL="[***]" \ -e IAM_AUTH_PROVIDER="ldap" \ -e IAM_LDAP_URL="ldap://ldap-server:389" \ -e IAM_LDAP_BASE_DN="dc=example,dc=com" \ -v /path/to/iam-config:/etc/cromwell-iam/config \ -v /path/to/audit-logs:/var/log/cromwell-iam \ cromwell-iam-addon:latest
bashdocker run -d \ --name cromwell-iam-addon \ -p 8080:8080 \ -e CROMWELL_SERVER_URL="[***]" \ -e IAM_AUTH_PROVIDER="oauth2" \ -e IAM_OAUTH2_CLIENT_ID="your-client-id" \ -e IAM_OAUTH2_CLIENT_SECRET="your-client-secret" \ -e IAM_OAUTH2_ISSUER_URL="[***]" \ -e IAM_OAUTH2_REDIRECT_URI="[***]" \ -v /path/to/oauth2-config:/etc/cromwell-iam/oauth2 \ cromwell-iam-addon:latest
| 环境变量名 | 描述 | 可选值/示例 | 默认值 |
|---|---|---|---|
CROMWELL_SERVER_URL | Cromwell服务器API地址 | [***] | 无(必填) |
IAM_AUTH_PROVIDER | 身份验证提供者 | ldap, oauth2, api_key | api_key |
IAM_PORT | 插件服务端口 | 8080, 9090 | 8080 |
IAM_LOG_LEVEL | 日志级别 | DEBUG, INFO, WARN | INFO |
IAM_CONFIG_PATH | 配置文件路径(容器内) | /etc/cromwell-iam/config | /config |
IAM_AUDIT_LOG_PATH | 审计日志存储路径(容器内) | /var/log/cromwell-iam | /logs |
插件支持通过配置文件(config.yaml)自定义权限规则和认证细节,示例配置如下:
yaml# 权限规则配置 permissions: roles: - name: "admin" permissions: ["workflow:create", "workflow:delete", "task:manage", "user:manage"] - name: "user" permissions: ["workflow:create", "workflow:read", "task:read"] - name: "viewer" permissions: ["workflow:read", "task:read"] user_roles: - user: "***" roles: ["admin"] - user_group: "research_team" roles: ["user"] # LDAP认证配置(当IAM_AUTH_PROVIDER=ldap时生效) ldap: user_search_base: "ou=users" user_filter: "(uid={username})" group_search_base: "ou=groups" group_filter: "(member={user_dn})" # API Key认证配置(当IAM_AUTH_PROVIDER=api_key时生效) api_key: key_file: "/etc/cromwell-iam/api-keys.json" # 存储API Key的JSON文件路径 header_name: "X-Cromwell-IAM-Key" # 客户端请求头中的API Key字段名
配置Cromwell使用IAM插件:修改Cromwell配置文件(application.conf),添加API拦截器:
hoconcromwell { services { api { interceptors = [ { class = "com.example.cromwell.iam.IamApiInterceptor" config { iamServerUrl = "[***]" } } ] } } }
重启Cromwell服务:使配置生效
验证集成:通过Cromwell CLI或API提交请求,验证权限控制是否生效
为确保配置和审计日志不丢失,建议挂载以下目录:
-v /host/path/to/config:/etc/cromwell-iam/config-v /host/path/to/logs:/var/log/cromwell-iam-v /host/path/to/api-keys.json:/etc/cromwell-iam/api-keys.jsonIAM_INIT_ADMIN_USER指定)来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429