authentik开源身份认证与管理平台-介绍与安装(1)

文章目录

什么是 authentik?

https://docs.goauthentik.io/

authentik 是一个 IdP(Identity Provider 身份提供者)和 SSO(Single Sign On 单点登录)平台,其安全性是每个代码、每个功能的首要任务,强调灵活性和多功能性。

有了 authentik,网站管理员、应用程序开发人员和安全工程师几乎可以在任何环境中使用可靠的、安全的认证解决方案。用户和应用程序可以使用强大的恢复操作,包括用户配置文件和密码管理。您可以快速编辑、停用甚至冒充用户配置文件,并为新用户设置新密码或重置现有密码。

您可以使用现有的环境中的 authentik 来支持新的协议,因此将 authentik 引入到当前的技术堆栈中不会带来重新架构的挑战。我们支持所有主要的提供者,例如 OAuth2、SAML、LDAP 和 SCIM,因此您可以选择每个应用程序所需的协议。

使用 authentik 更加高效:

以用户为中心、以任务为导向的仪表板,authentik 产品提供以下控制台:

  • 流接口 : 流 是登录和身份验证过程各个 阶段 的步骤。一个阶段代表登录过程中的单个验证或逻辑步骤。authentik 允许对这些流进行自定义和精确定义。
  • 用户界面 :在 authentik 中,此控制台视图显示了您已实现 authentik 的所有应用程序和集成。单击要访问的应用程序以打开该应用程序,或者向下滚动以在管理界面中编辑其配置。
  • 管理界面 :一个用于创建和管理用户和组、令牌和凭据、应用程序集成、事件以及定义标准和可定制登录和身份验证流程的流程的可视化工具。易于阅读的可视化仪表板显示系统状态、最近的登录和身份验证事件以及应用程序使用情况。

安装

Docker Compose

https://docs.goauthentik.io/install-config/install/docker-compose/

此安装方法适用于测试和小型生产环境。

下载 Compose 文件

bash 复制代码
wget https://docs.goauthentik.io/compose.yml

生成 PostgreSQL 密码和秘密密钥

如果这是第一次安装 authentik,您需要生成一个 PostgreSQL 密码和一个秘密密钥。使用您选择的安全密码生成器,例如 pwgen,或者可以使用以下命令使用 openssl。

运行以下命令以生成 PostgreSQL 密码和秘密密钥,并将其写入您的 .env 文件:

bash 复制代码
echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env
echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env

要启用错误报告,请运行以下命令:

bash 复制代码
echo "AUTHENTIK_ERROR_REPORTING__ENABLED=true" >> .env

配置自定义端口

默认情况下,authentik 会监听端口 9000 用于 HTTP 和 9443 用于 HTTPS。要使用不同的端口,例如 80 和 443,可以在 .env 中设置以下变量:

bash 复制代码
echo "COMPOSE_PORT_HTTP=80" >> .env
echo "COMPOSE_PORT_HTTPS=443" >> .env

请参见 配置 更改内部端口。请确保运行 docker compose up -d 重新构建新端口号。

安装并启动 authentik

下载了 docker-compose.yml 文件、生成了密码和私钥,以及可选地配置了全局电子邮件后,运行以下命令以检索和安装当前版本的 authentik:

bash 复制代码
docker compose pull
docker compose up -d

compose.yml 文件在下载 compose 文件时会静态引用最新可用版本。每次升级到 authentik 的最新版本时,都会下载一个指向最新可用版本的新 compose.yml 文件。有关更多信息,请参见 升级 一节,位于 版本说明 中。

访问认证

要开始初始设置,请导航至 http://<your server's IP or hostname>:9000/if/flow/initial-setup/ 。

您将被提示为 akadmin 用户(默认用户)设置密码。

Kubernetes

https://docs.goauthentik.io/install-config/install/kubernetes/

您可以使用 Helm 图表在 Kubernetes 上安装 authentik。

生成密码

首先为数据库和缓存生成密码。您可以使用以下命令之一:

bash 复制代码
pwgen -s 50 1
openssl rand 60 | base64 -w 0

设置值

创建一个 values.yaml 文件,其中包含以下最少的设置:

yaml 复制代码
# -- Authentik configuration. See the [authentik configuration docs] for details about which values are accepted here. See the note at the top of that page for details about transforming environment variable names into values here.
# @default -- See [values.yaml]
authentik:
  # -- Secret key used for cookie singing and unique user IDs,
  # don't change this after the first install
  secret_key: "PleaseGenerateASecureKey"
  postgresql:
    # -- set the postgresql hostname to talk to
    # if unset and .Values.postgresql.enabled == true, will generate the default
    # @default -- `{{ .Release.Name }}-postgresql`
    host: "postgresql"
    # -- postgresql Database name
    # @default -- `authentik`
    name: "authentik"
    # -- postgresql Username
    # @default -- `authentik`
    user: "authentik"
    # -- postgresql password
    password: "ThisIsNotASecurePassword"
    # -- postgresql port
    port: 5432

安装 authentik Helm 图表

现在,执行以下命令安装 authentik:

bash 复制代码
helm repo add authentik https://charts.goauthentik.io
helm repo update
helm upgrade --install -n authentik --create-namespace authentik authentik/authentik -f values.yaml

在安装过程中,数据库迁移将在启动时自动应用。

访问认证

安装完成后,访问 https:///if/flow/initial-setup/ 的 authentik。在这里,您可以为默认的 akadmin 用户设置密码。

集成概览

什么是集成?

https://integrations.goauthentik.io/

集成是 authentik 与第三方应用程序、目录和其他身份提供者连接的方式。集成分为两类: 应用程序 和 源 。

Applications 应用

https://integrations.goauthentik.io/applications/

大多数支持 SAML、OAuth 和 OpenID Connect 等身份验证协议的第三方服务都可以与 authentik 集成,允许用户使用 authentik 帐户登录这些服务。

所有已记录的应用程序集成都将带有以下徽章之一:

支持级别:社区:社区维护。

支持级别:供应商:由供应商支持。

支持级别:authentik:authentik 团队定期对其进行测试。

支持级别:已弃用:已弃用,可能被移除。

Proxmox VE

https://integrations.goauthentik.io/hypervisors-orchestrators/proxmox-ve/

参见我的博文:authentik开源身份认证与管理平台-与 Proxmox VE 集成(2)

Portainer

https://integrations.goauthentik.io/hypervisors-orchestrators/portainer/

参见我的博文:authentik开源身份认证与管理平台-与 Portainer 集成(3)

Node-RED

https://integrations.goauthentik.io/development/node-red/

参见我的博文:authentik开源身份认证与管理平台-与 Node-RED 集成(4)

Jenkins

https://integrations.goauthentik.io/development/jenkins/

参见我的博文:authentik开源身份认证与管理平台-与 Jenkins 集成(5)

Gitea

https://integrations.goauthentik.io/development/gitea/

参见我的博文:authentik开源身份认证与管理平台-与 Gitea 集成(6)

SonarQube

https://integrations.goauthentik.io/development/sonar-qube/

参见我的博文:authentik开源身份认证与管理平台-与 SonarQube 集成(7)

MinIO

https://integrations.goauthentik.io/infrastructure/minio/

参见我的博文:authentik开源身份认证与管理平台-与 MinIO 集成(8)

Immich

https://integrations.goauthentik.io/media/immich/

参见我的博文:authentik开源身份认证与管理平台-与 Immich 集成(9)

Home Assistant

https://integrations.goauthentik.io/miscellaneous/home-assistant/

参见我的博文:

相关推荐
Hommy8818 小时前
【开源剪映小助手】调试与故障排除
开源·github·aigc
空中海18 小时前
Redis 专家实战:生产架构设计 × 容量规划 × 安全治理 × 37道高频面试题全解
数据库·redis·安全
GitCode官方18 小时前
Qwen3.6-27B 开源:昇腾适配已到位,AtomGit AI 开放体验
人工智能·开源
摘星编程18 小时前
抛弃CUDA生态,万亿参数全栈国产化——拆解DeepSeek V4的「飞行换引擎」
开源
地球资源数据云18 小时前
1951-2025年中国逐年1千米逐月总降水量区域统计数据集_年表_县
大数据·数据结构·数据库·数据仓库·人工智能
l1t18 小时前
DeepSeek v4辅助生成的单文件SQL查询示例页面
javascript·数据库·sql
地知通18 小时前
推荐1款开源WebGPU高性能地图渲染库
开源·webgpu·二三维地图
云飞云共享云桌面19 小时前
精密机械制造工厂研发部门使用SolidWorks和ug,三维设计云桌面如何选择?
大数据·运维·服务器·网络·数据库·人工智能·制造
冬奇Lab19 小时前
一天一个开源项目(第82篇):Harness Engineering —— 从“提示语工程”到“驭缰工程”的范式跃迁
人工智能·开源·资讯
IntMainJhy19 小时前
【flutter for open harmony】第三方库 Flutter 二维码生成的鸿蒙化适配与实战指南
数据库·flutter·华为·sqlite·harmonyos