为 Ansible Automation Platform 安装和配置中央身份验证

Red Hat Ansible Automation Platform 2.1

为 Ansible Automation Platform 启用中央身份验证功能

Red Hat Customer Content Services

摘要

提供反馈:
如果您对本文档有任何改进建议,或发现错误,请联系技术支持 https://access.redhat.com,使用 Docs组件在 Ansible Automation PlatformJIRA 项目中创建一个问题。

前言

Ansible Automation Platform Central Authentication 是第三方身份提供程序(idP)解决方案,允许在 Ansible Automation Platform 中使用简化的单点登录解决方案。平台管理员可以利用集中身份验证来测试连接和身份验证,也可添加新用户,并通过配置和管理用户权限来管理用户权限。除了基于 OpenID Connect 和 LDAP 支持,中央身份验证还提供受支持的 REST API,可用于引导客户使用。

使开源包含更多

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息

第 1 章 用于自动化的 Ansible Automation Platform Central Authentication

要为您的自动化中心启用 Ansible Automation Platform 中央身份验证,请从下载 Red Hat Ansible Automation Platform 安装程序开始,然后执行本指南中详述的必要的设置步骤。

重要

本指南中的安装程序将为基本单机部署安装中央身份验证。单机模式仅运行一个中央身份验证服务器实例,因此不适用于集群部署。单机模式可用于测试和试用中央身份验证功能,但不建议在生产环境中使用它,因为其具有单点故障。

要在不同的部署模式下安装中央身份验证,请参阅本指南以了解更多部署选项。

1.1. 系统要求

安装和运行 Ansible Automation Platform Central 身份验证有几个最低要求:

  • 任何运行 Java 的操作系统
  • Java 8 JDK
  • zip 或 gzip 和 tar
  • 至少 512mb RAM
  • 至少 1gb 磁盘空间
  • 如果要在集群中运行中央身份验证,需要一个如 PostgreSQL、MySQL、Oracle 等的共享外部数据库。如需更多信息,请参阅本指南的数据库配置部分
  • 如果要在集群中运行,需要在您的机器上支持网络多播。中央身份验证虽然可以在没有多播的情况下实现,但这需要一些配置更改。如需更多信息,请参阅本指南的集群部分
  • 在 Linux 上,建议使用 /dev/urandom 作为随机数据源,以防止因为缺少可用熵而导致集中身份验证挂起,除非安全策略强制使用 /dev/random。要在 Oracle JDK 8 和 OpenJDK 8 上达到此目的,请在启动时将 java.security.egd 系统属性设置为 file:/dev/urandom

1.2. 安装 Ansible Automation Platform Central 身份验证以用于自动化 hub

Ansible Automation Platform Central Authentication 安装将包含在您的 Red Hat Ansible Automation Platform 安装程序中。按照以下步骤安装 Ansible Automation Platform,然后在清单文件中配置必要的参数,以成功安装 Ansible Automation Platform 和中央身份验证。

1.2.1. 选择并获取 Red Hat Ansible Automation Platform 安装程序

根据您的 Red Hat Enterprise Linux 环境互联网连接,选择您需要的 Red Hat Ansible Automation Platform 安装程序。查看以下场景,并确定哪个 Red Hat Ansible Automation Platform 安装程序满足您的需求。

注意

需要有效的红帽客户帐户才能访问红帽客户门户上的 Red Hat Ansible Automation Platform 安装程序下载。

使用互联网访问进行安装

如果您的 Red Hat Enterprise Linux 环境连接到互联网,请选择 Red Hat Ansible Automation Platform 安装程序。通过互联网访问进行安装将检索最新的软件仓库、软件包和依赖项。

  1. 进入 https://access.redhat.com/downloads/content/480
  2. Ansible Automation Platform <latest-version> SetupDownload Now
  3. 解压文件:

    $ tar xvzf ansible-automation-platform-setup-<latest-version>.tar.gz

在没有互联网访问的情况下安装

如果您无法访问互联网,或者不想从在线存储库安装独立的组件和依赖项,请使用 Red Hat Ansible Automation PlatformBundle 安装程序。仍然需要访问 Red Hat Enterprise Linux 软件仓库。所有其他依赖项都包含在 tar 归档中。

  1. 进入 https://access.redhat.com/downloads/content/480
  2. Ansible Automation Platform <latest-version> Setup BundleDownload Now
  3. 解压文件:

    $ tar xvzf ansible-automation-platform-setup-bundle-<latest-version>.tar.gz

1.2.2. 配置 Red Hat Ansible Automation Platform 安装程序

在运行安装程序前,请编辑安装程序软件包中找到的清单文件,以配置自动化中心和 Ansible Automation Platform Central 身份验证的安装。

注意

为 [automationhub] 主机提供可访问的 IP 地址,以确保用户可以从不同节点同步私有 Automation Hub 中的内容,并将新镜像推送到容器注册表。

  1. 进入安装程序目录:

    1. 在线安装程序:

      $ cd ansible-automation-platform-setup-<latest-version>
    2. 捆绑的安装程序:

      $ cd ansible-automation-platform-setup-bundle-<latest-version>
  2. 使用文本编辑器打开 inventory 文件。
  3. 编辑 [automationhub] 下的清单文件参数以指定自动化 hub 主机的安装:

    1. 使用 IP 地址或 FQDN 作为自动化中心位置,在 [automationhub] 下添加组主机信息。
    2. 根据您的安装规格,输入 automationhub_admin_password, automation_pg_password 的密码以及其他参数。
  4. sso_keystore_password 字段中输入密码。
  5. 编辑 [SSO] 下的清单文件参数,以指定要在其上安装中央身份验证的主机:

    1. sso_console_admin_password 字段中输入密码,并根据您的安装规格输入其他参数。

1.2.3. 运行 Red Hat Ansible Automation Platform 安装程序

更新清单文件后,使用安装程序软件包中找到的 setup.sh playbook 运行安装程序。

  1. 运行 setup.sh playbook:

    $ ./setup.sh

1.2.4. 以中央身份验证管理员用户身份登录

安装 Red Hat Ansible Automation Platform 后,以 admin 用户身份使用您在清单文件中指定的 admin 凭据登录中央身份验证服务器。

  1. 进入到您的 Ansible Automation Platform Central Authentication 实例。
  2. 使用在清单文件的 sso_console_admin_usernamesso_console_admin_password fields 中指定的 admin 凭证进行登录。

成功安装 Ansible Automation Platform Central 身份验证后,并且登录 admin 用户后,您可以按照以下步骤添加用户存储提供商(如 LDAP)。

第 2 章 将用户存储提供程序(LDAP/Kerberos)添加到 Ansible 自动化平台中央身份验证中

Ansible Automation Platform Central 身份验证附带内置 LDAP/AD 提供程序。您可以添加 LDAP 提供程序到中央身份验证,以便能够从 LDAP 数据库导入用户属性。

先决条件

  • 以 SSO admin 用户身份登录。

流程

  1. 以 SSO admin 用户身份登录 Ansible 自动化平台中央身份验证。
  2. 在导航栏中,选择 Configure sectionUser Federation
  3. 利用标有 Add provider 的下拉菜单,选择您的 LDAP 提供程序,以进入 LDAP 配置页面。

下表列出了 LDAP 配置的可用选项:

配置选项

Description

存储模式

如果要将用户导入到中央身份验证用户数据库,请将用户设置为 On。如需更多信息,请参阅本节

编辑模式

决定管理员可以对用户元数据进行的修改类型。如需更多信息,请参阅本节

控制台显示名称

在管理控制台中引用此提供程序时使用的名称

优先级

查找用户或添加用户的优先级

同步注册

如果要在管理控制台或注册页面中添加 Ansible Automation Platform Central Authentication 创建的新用户,请启用

允许 Kerberos 身份验证

通过从 LDAP 调配的用户数据,在域中启用 Kerberos/SPNEGO 身份验证。如需更多信息,请参阅本节

第 3 章 分配自动化 hub 管理员权限

需要为 hub 管理用户分配 hubadmin 角色,以便管理用户权限和组。您可以通过 Ansible Automation Platform Central Authentication 客户端将 hubadmin 角色分配给用户。

先决条件

  • 用户存储提供程序(如 LDAP)已添加到您的中央身份验证中

流程

  1. 进入 SSO 客户端上的 ansible-automation-platform 域。
  2. 从导航栏中,选择 ManageUsers
  3. 点用户 ID,从列表中选择用户。
  4. Role Mappings 选项卡。
  5. 使用客户端角色下的下拉菜单 ,选择 automation-hub
  6. Available Roles 字段中点 hubadmin,然后点 Add selected >

用户现在是 hubadmin。重复步骤 3-6,为 hubadmin 角色分配任何其他用户。

第 4 章 将身份代理添加到 Ansible Automation Platform 中央身份验证中

Ansible Automation Platform Central Authentication 支持社交供应商和基于协议的提供程序。您可以将身份代理添加到中央身份验证中,以便为域启用社交身份验证,允许用户使用现有的社交网络帐户(如 Google、Facebook、GitHub 等)登录。

注意

有关支持的社交网络列表以及启用它们的更多信息,请参阅本节

基于协议的供应商是指那些依赖特定协议来验证和授权用户的供应商。它们允许您连接到符合特定协议的任何身份提供程序。Ansible Automation Platform Central Authentication 提供对 SAML v2.0 和 OpenID Connect v1.0 协议的支持。

流程

  1. 以管理员用户身份登录 Ansible Automation Platform 中央身份验证。
  2. 在侧面导航栏上的 Configure 部分下,点 Identity Providers
  3. 利用标记为 Add provider 的下拉菜单,选择您的身份提供程序以前往身份提供程序配置页面。

下表列出了您的身份提供程序配置的可用选项:

表 4.1. Identity Broker 配置选项

配置选项

Description

Alias

alias 是身份提供程序的唯一标识符。它用于在内部引用身份提供程序。OpenID Connect 等协议需要重定向 URI 或回调 URL,以便与身份提供程序通信。在这种情况下,别名用于构建重定向 URL。

Enabled

打开/关闭提供程序。

在登录页中隐藏

如果启用,此提供程序不会在登录页面中显示为登录选项。客户端仍然可以通过在用于请求登录的 URL 中使用 kc_idp_hint 参数来请求使用此提供程序。

仅限客户链接

如果启用,则此提供程序无法用于登录用户,也不会在登录页面中显示为选项。现有帐户仍可与此供应商相关联。

存储令牌

是否存储从身份提供程序收到的令牌。

存储的令牌可读

是否允许用户检索已存储的身份提供商令牌。这也适用于代理客户端级别的角色读取令牌。

信任电子邮件

身份提供商提供的电子邮件地址是否受信任。如果域需要验证电子邮件,则从此 IDP 登录的用户不必通过电子邮件验证过程。

GUI 顺序

登录页面中列出了如何列出可用 IDP 的排序顺序号。

第一个登录流

选择将为首次通过此 IDP 登录集中身份验证的用户触发的身份验证流程。

后登录流

选择用户完成与外部身份提供程序登录后触发的身份验证流。

4.1. 使用 Ansible Automation Platform Central Authentication 管理组权限

您可以通过为用户组分配特定权限来管理 Ansible Automation Platform 上的用户访问权限。当用户第一次登录 Ansible Automation Platform 时,它们的组将出现在自动化 hub 中的用户访问页面中,允许您为各个组分配用户访问权限和权限。

4.1.1. 为组分配权限

您可以为自动化中心中的组分配权限,以便用户访问系统中的特定功能。

先决条件

hubadmin 用户身份登录。

流程

  1. 登录到您的本地自动化中心。
  2. 进入 Groups
  3. 点击组名称。
  4. Edit
  5. 在字段中点击权限类型,然后选择列表中显示的权限。
  6. 完成后,点 Save 来分配权限。

组现在可以访问自动化 hub 中的功能,与其分配的权限相关联。

4.1.2. Automation Hub 权限

权限为每个组提供了在给定对象上执行的一组定义的操作的权利。根据以下权限确定您的组所需的访问权限级别:

表 4.2. 权限参考表

对象权限描述

namespace

Add namespace(添加命名空间)

Upload to namespace(上传到命名空间)

更改命名空间

删除命名空间

具有这些权限的组可以创建、上传集合或删除命名空间。

collections

修改 Ansible repo 内容

删除集合

具有此权限的组可以使用 Approval 功能在存储库间移动内容,认证或拒绝功能,将内容从 staging 移到 publishedrejected 存储库,abd 删除集合。

users

查看用户

Delete user(删除用户)

Add user(添加用户)

更改用户

具有这些权限的组群可以在 Automation Hub 中管理用户配置和访问。

groups

View group(查看组)

Delete group(删除组)

Add group(添加组)

更改组

使用这些权限的组可以在 Automation Hub 中管理组配置和访问。

collection remotes

更改集合远程

查看集合远程

具有这些权限的组可以通过进入到 CollectionsRepo Management 来配置远程存储库。

containers

更改容器命名空间权限

更改容器

更改镜像标签

创建新容器

推送到现有容器

删除容器仓库

具有这些权限的组可以在 automation hub 中管理容器存储库。

remote registries

添加远程 registry

更改远程 registry

删除远程 registry

具有这些权限的组可以添加、更改或删除添加到 automation hub(自动化中心)的远程 registry。

task management

更改任务

删除任务

查看所有任务

带有这些权限的组可以管理加入到 automation hub 中的 Task Management 中的任务。

法律通告

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.