科学工具
科学工具让世界更美好
让世界更美好

服务器与集群的认证访问管理工具 Infra服务器与集群的认证访问管理工具 Infra

Infra能为服务器、集群和数据库提供认证与访问管理功能。

Infra包含三个核心组件,分别是中央API服务器、连接器和客户端。

中央API服务器

这一组件负责用户与服务的认证、角色和权限映射、关联基础设施索引,以及生成短期访问凭证。

认证:Infra作为客户端对接身份提供者,通过OpenID Connect(OIDC)实现集成,对于本地用户,Infra自身充当身份提供者。

访问控制:通过将用户、用户组和服务映射到特定系统的角色和权限实现访问控制,以Kubernetes为例,Infra会检测集群角色,在授予访问权限时为用户/组/服务创建绑定,还支持将集群角色限定在特定命名空间。

短期凭证:为用户、用户组和服务生成短期凭证,用于访问通过Infra连接器关联的基础设施,凭证有效期短,由连接器验证,在凭证有效期内,可避免Infra服务器成为单点故障。

连接器

连接器是运行在目标环境(如同一VPC)中的代理,需能访问待管理的基础设施,对于不支持代理的基础设施(如数据库),连接器可安装在同一VPC中,只要能以某种方式访问目标即可。

客户端

Infra CLI是可用客户端之一,用于向客户机分发短期凭证,此外,Infra的API可用于创建自定义客户端,支持内部CLI工具或内部平台。

快速使用Infra

部署Infra

部署Infra可参考部署指南。

通过CLI连接

下载Infra CLI

macOS:通过homebrew下载

brew install infrahq/tap/infra

Windows:通过scoop下载

scoop bucket add infrahq https://github.com/infrahq/scoop.git
scoop install infra

Ubuntu & Debian:从GitHub下载最新Debian包,用dpkg或apt安装

sudo dpkg -i infra_*.deb

sudo apt install ./infra_*.deb

Fedora & RHEL:从GitHub下载最新RPM包,用rpm或dnf安装

sudo rpm -i infra-*.rpm

sudo dnf install infra-*.rpm

手动安装:从GitHub下载最新版本,解压文件并将二进制文件添加到PATH中。

登录与创建访问密钥

登录Infra:

infra login <your infra host>

创建访问密钥:

INFRA_ACCESS_KEY=$(infra keys add --connector -q)

访问集群

授予自己集群访问权限:

infra grants add <your user email> example --role view

验证访问权限:

infra list

切换到已连接的集群,可用kubectl命令:

kubectl config use-context infra:example

也可以通过infra use命令切换:

infra use example

在Kubernetes集群上执行命令试试:

kubectl get pods -A

默认情况下,Infra会为安装者提供查看权限,修改权限或授予额外访问权限,可用Infra仪表盘或CLI。

后续步骤

成功连接第一个集群后,Infra在团队使用时效果更佳,接下来,可以通过关联身份提供者配置用户认证方式,或直接邀请用户添加用户。