Automation hub 入门


Red Hat Ansible Automation Platform 2.4

将 Red Hat Automation Hub 配置为 Ansible 集合内容的默认服务器

Red Hat Customer Content Services

摘要

本指南指导您执行使用 Red Hat Automation Hub 作为认证 Ansible 集合内容的默认源所需的初始步骤。

前言

Red Hat Ansible Automation Hub 为红帽订阅的用户提供了一个途径,以便快速找到并使用红帽及我们的技术合作伙伴支持的内容,以便为最需要的环境提供额外的保证。

Ansible Galaxy 客户端(ansible-galaxy)通过命令行管理角色和集合。为确保 ansible-galaxy 客户端尽可能使用经过认证且受支持的 Ansible 集合,请更新 ansible.cfg 文件,以使用 Red Hat Automation Hub 作为 Ansible 集合的主要源。

对红帽文档提供反馈

如果您对本文档有任何改进建议,或发现错误,请通过 https://access.redhat.com 联系技术支持来创建一个请求。

第 1 章 Automation hub 和私有自动化中心之间的区别

Red Hat Ansible Automation Platform 使用自动化中心作为自动化内容的中央位置,您可以下载并集成到 Ansible 自动化中。有两种类型的 hub 可用:

Automation hub
由红帽在 Red Hat Hybrid Cloud Console 上托管的 hub,它只包括红帽支持或认证的内容。
私有自动化中心
这是自托管内容管理系统。您可以使用它来访问和管理所有类型的 Ansible 内容,然后选择哪些 Ansible 内容集合和版本可供您的自动化用户使用。

使用私有自动化中心,您可以访问以下三种类型的内容:

  • Red Hat Hybrid Cloud Console 上的自动化中心中包括的红帽认证并提供支持的内容。
  • 来自 Ansible Galaxy 的社区内容。
  • 由机构自行创建并策展的私有内容,在本地共享。

第 2 章 在自动化中心中中创建 API 令牌

在通过上传或下载集合与 Automation Hub 交互前,您需要创建 API 令牌。Automation Hub API 令牌将您的 ansible-galaxy 客户端与 Red Hat Automation Hub 服务器进行身份验证。

注意

Automation hub 不支持基本身份验证或通过服务帐户进行身份验证。您必须使用令牌管理进行身份验证。

创建 API 令牌的方法因所使用的自动化中心类型而异:

2.1. 在自动化 hub 中创建离线令牌

在自动化中心中,您可以使用 Token 管理 创建离线令牌。离线令牌是用来保护您的内容的 secret 令牌。

流程

  1. 进入 Red Hat Hybrid Cloud Console 上的 Ansible Automation Platform
  2. 在导航面板中,选择 Automation HubConnect to Hub
  3. 离线令牌下,点 Load Token
  4. Copy to clipboard 图标复制离线令牌。
  5. 将令牌粘贴到文件中,并存储在安全位置。
重要

离线令牌是用来保护您的内容的 secret 令牌。将您的令牌存储在安全的位置。

离线令牌现在可用于将自动化中心配置为默认集合服务器,或使用 ansible-galaxy 命令行工具上传集合。

注意

您的离线令牌在 30 天不活跃后过期。有关获取新的离线令牌的更多信息,请参阅 保持离线令牌处于活动状态

2.2. 在私有自动化中心中创建 API 令牌

在私有自动化中心中,您可以使用 API 令牌管理创建 API 令牌。API 令牌是用于保护内容的 secret 令牌。

先决条件

  • Red Hat Ansible Automation Platform 的有效订阅凭证。

流程

  1. 登录到您的私有自动化中心。
  2. 在导航面板中,选择 CollectionsAPI token
  3. Load Token
  4. 要复制 API 令牌,请点 Copy to clipboard 图标。
  5. 将 API 令牌粘贴到文件中,并存储在安全位置。
重要

API 令牌是用于保护内容的 secret 令牌。将 API 令牌存储在安全位置。

API 令牌现在可用于将自动化中心配置为默认集合服务器,或使用 ansible-galaxy 命令行工具上传集合。

注意

API 令牌不过期。

2.3. 保持离线令牌处于活跃状态

离线令牌在 30 天不活动后过期。您可以通过保持离线令牌保持活跃状态来保持离线令牌。

当应用程序代表用户执行操作时,保持离线令牌处于活跃状态时很有用;例如,这允许应用程序在用户离线时执行常规数据备份。

注意

如果离线令牌过期,则必须 获取一个新令牌

流程

  • 运行以下命令防止您的令牌过期:

    curl https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token -d grant_type=refresh_token -d client_id="cloud-services" -d refresh_token="{{ user_token }}" --fail --silent --show-error --output /dev/null
    Copy to Clipboard

第 3 章 将 Red Hat Automation Hub 配置为内容的主要来源

要访问 Ansible 认证的内容集合,请将 Red Hat Automation Hub 配置为您的主要内容源。您可以使用命令行界面 (CLI) 或 Web 控制台配置自动化中心。

3.1. 使用 CLI 将 Red Hat Automation Hub 配置为主要内容源

要配置自动化中心,您必须更新 ansible.cfg 配置文件。默认情况下,ansible.cfg 配置文件位于 /etc/ansible/ 目录中。使用自动化中心,您可以访问经过认证的支持的集合。

先决条件

重要

创建新令牌会撤销以前为自动化中心生成的所有令牌。更新使用之前令牌创建的任何自动化控制器或脚本,使其包含新令牌。

流程

  1. 打开 ansible.cfg 文件。
  2. [galaxy] 部分下添加 server_list 选项,并包含一个或多个服务器名称。
  3. 为每个服务器名称创建一个新部分:

    [galaxy_server._<server_name>_]
    Copy to Clipboard
  4. 为每个服务器名称设置 url 选项:

    https://<server_fully_qualified_domain_name>/api/galaxy/
    Copy to Clipboard
  5. 可选:设置 auth_url 选项。社区 Ansible Galaxy 不需要 auth_url
  6. 为 Automation Hub 服务器设置 API 令牌。

示例

以下 ansible.cfg 配置文件示例演示了如何按优先顺序配置多个服务器。Automation Hub 配置为您的主源和 Ansible Galaxy 服务器作为辅助源:

ansible.cfg

[galaxy]
server_list = automation_hub, my_org_hub

[galaxy_server.automation_hub]
url=https://console.redhat.com/api/automation-hub/content/published/ 
1

auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token

token=my_ah_token

[galaxy_server.my_org_hub]
url=https://automation.my_org/api/galaxy/content/rh-certified/ 
2

username=my_user
password=my_pass
Copy to Clipboard

1
在服务器 URL 后包括尾部的斜杠 /
2
在自动化中心服务器 URL 中包含 /api/galaxy/content/rh-certified/ 子目录。如果需要,您可以将 rh-certified 替换为 community 来引用社区存储库。
注意

要防止 301 重定向,所有 API URL 必须以尾部斜杠 / 结尾。

现在,已将自动化中心配置为您的主服务器。您可以开始下载并安装支持的集合。

3.2. 使用 Web 控制台将 Red Hat Automation hub 配置为主要内容源

要配置自动化中心,您必须创建一个凭证并将其添加到机构的 Galaxy Credentials 字段中。使用自动化中心,您可以访问经过认证的支持的集合。

先决条件

重要

创建新令牌会撤销以前为自动化中心生成的所有令牌。更新使用以前的令牌创建的自动化控制器或脚本。

流程

  1. 进入您的自动化控制器。
  2. 创建一个新凭据。

    1. 进入到 ResourcesCredentials
    2. Add
    3. Name 字段中输入新凭证的名称。
    4. 可选:输入描述信息,再输入或选择与凭证关联的机构名称。
    5. Organization 下,选择要为其使用凭证的机构。
    6. 选择 Ansible Galaxy/Automation Hub API Token 作为凭证类型。
    7. Type Details 下,输入前面创建的 Galaxy Server URL, Authentication Server URL, 和 API Token
    8. 点击 Save
  3. 从机构的 Galaxy Credentials 字段选择您创建的凭证。

    1. 进入 AccessOrganizations
    2. 选择您要添加 Galaxy 凭证的机构。
    3. Edit
    4. 在 Galaxy Credentials 下,点搜索图标。
    5. 选择您为自动化中心创建的凭证,并将其放在列表的开头。
    6. 可选: 如果您有二级内容源,如 Ansible Galaxy,请在您为自动化中心创建的凭证后放置此凭证。
    7. Select
    8. 点击 Save

验证

若要验证凭据,可通过选择项目并点 Sync Project 图标来更新基于该凭据的现有源控制管理(SCM)项目。

  1. 进入到您的项目存储库。
  2. 选择一个使用 collections/requirements.yml 文件的项目。
  3. Sync Project 图标,以更新该项目。

如果项目的 StatusSuccessful,则代表凭证有效。

现在,已将自动化中心配置为您的主服务器。您可以开始下载并安装支持的集合。

第 4 章 为您的私有自动化中心配置用户访问

您可以通过创建具有特定权限的用户组来管理用户对 Automation Hub 中的内容和功能的访问。

4.1. 实施用户访问

用户访问权限基于管理系统对象(用户、组、命名空间)的权限,而不是单独为特定用户分配权限。

您可以为您创建的组分配权限。然后,您可以为这些组分配用户。这意味着,组中的每个用户都有分配给该组的权限。

在私有的自动化中心中创建的组,其范围可以包括系统管理员所需进行的任务,包括负责管理内部集合、配置用户访问和存储库管理。这些组可具有组织并将内部开发的内容上传到私有自动化中心的权限。

4.1.1. 私有自动化中心的默认用户访问

安装自动化中心时,系统会在 Admin 组中自动创建默认的 admin 用户。Admin 组被分配了系统中的所有权限。

以下小节描述了与将访问私有自动化中心的用户关联的工作流,并为其提供达到其目标所需的权限。有关所有可用权限的完整列表和描述,请查看权限参考表。

4.1.2. 在私有自动化中心中创建新组

您可以创建并为私有自动化中心中的组分配权限,该组可让用户访问系统中指定的功能。默认情况下,自动化中心中的 Admin 组分配了所有权限,并在初始登录时可用。使用安装私有自动化中心时创建的凭证。

如需更多信息,请参阅开始使用 自动化中心指南中的在私有自动化中心中创建新组

4.1.3. 为组分配权限

默认情况下,新组没有任何分配的权限。您可以为私有自动化中心中的组分配权限,以便用户访问系统中的特定功能。

您可在首次创建一个组,或编辑现有的组,来添加或删除权限

如需更多信息,请参阅 Automation hub 入门指南中的将权限分配给组

4.1.4. 创建新用户并为其授予相关权限

在私有自动化中心中创建用户后,您可以通过将它们添加到组中来授予他们的权限。每个可以访问系统中与分配权限级别关联的功能的组。

先决条件

  • 您有 user 权限,可以在私有自动化中心中创建用户。

流程

  1. 登录到您的私有自动化中心。
  2. 在导航面板中,选择 User AccessUsers
  3. Create user
  4. 在字段中输入信息。UsernamePassword 是必需的。
  5. 可选: 要将用户分配给组,点 Groups 字段并从组列表中选择。
  6. 点击 Save

新用户现在显示在 Users 页面的列表中。

4.1.5. 创建一个超级用户

如果要在团队间分配管理,您可以在私有自动化中心中创建超级用户。

先决条件

  • 您必须是一个超级用户

流程

  1. 登录到您的私有自动化中心。
  2. 在导航面板中,选择 User AccessUsers
  3. 选择您要成为超级用户的用户。此时会显示该用户的用户详情
  4. User type 下,选择 Super User

用户现在具有 Super 用户权限。

4.1.6. 将用户添加到现有组中

您可以在创建组时将用户添加到组中。但是,您也可以手动将用户添加到现有组中。

如需更多信息,请参阅开始使用自动化中心指南中的 向现有组添加用户

4.1.7. 为内容 Curator 创建新组

您可以在私有自动化中心中创建一个新组,旨在支持机构中的内容策展。这个组可以贡献内部开发的集合,以便在私有自动化中心中发布。

为帮助内容开发人员创建命名空间并将其内部开发的集合上传到私有自动化中心,您必须首先创建和编辑组并分配所需的权限。

先决条件

  • 在私有自动化中心中具有管理权限,并可创建组。

流程

  1. 登录到您的私有自动化中心。
  2. 在导航面板中,选择 User AccessGroups,再点 Create
  3. 在界面中输入 Content Engineering 作为组的 Name,再点 Create。您已创建了新组,页将打开。
  4. Permissions 选项卡中,点 Edit
  5. Namespaces 下,为 Add NamespaceUpload to NamespaceChange Namespace 添加权限。
  6. 点击 Save

    使用您分配的权限创建新组。然后您可以将用户添加到组中。

  7. Groups 页面中的 Users 选项卡。
  8. Add
  9. 选择用户并点 Add

4.1.8. 自动化中心权限

权限提供一组定义的操作,每个组都可以对给定对象执行。根据此表中描述的权限,为您的组确定所需的访问权限级别。

表 4.1. 权限参考表
对象权限描述

集合命名空间

添加命名空间

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

更改命名空间

删除命名空间

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

collections

修改 Ansible repo 内容

删除集合

具有此权限的组可以执行以下操作:

使用 Approval 功能在仓库间移动内容。

认证或拒绝将内容从 staging 移到 publishedrejected 存储库的功能。

删除集合。

users

查看用户

Delete user(删除用户)

Add user(添加用户)

更改用户

具有这些权限的组群可以在私有自动化中心中管理用户配置和访问。

groups

View group(查看组)

Delete group(删除组)

Add group(添加组)

更改组

具有这些权限的组可以在私有自动化中心中管理组配置和访问。

collection remotes

更改集合远程

查看集合远程

具有这些权限的组可以通过导航到 CollectionRepositories 来配置远程存储库。

containers

更改容器命名空间权限

更改容器

更改镜像标签

创建新容器

推送到现有容器

删除容器仓库

具有这些权限的组可以在私有自动化中心中管理容器存储库。

remote registries

添加远程 registry

更改远程 registry

删除远程 registry

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

task management

更改任务

删除任务

查看所有任务

具有这些权限的组可以管理添加到私有自动化中心中的 Task Management 中的任务。

4.1.9. 从私有自动化中心删除用户

当您删除用户帐户时,用户的名称和电子邮件将从私有自动化中心永久删除。

先决条件

  • 在私有自动化中心中具有 user 权限。

流程

  1. 登录到私有自动化中心。
  2. 在导航面板中,选择 User AccessUsers
  3. 单击 Users 以显示当前用户列表。
  4. 点您要删除的用户旁边的 More Actions icon 图标,然后点 Delete
  5. 在警告消息中点 Delete 以永久删除用户。

4.2. 为您的私有自动化中心启用只查看访问

通过启用 view-only 权限,您可以授予用户查看私有自动化 hub 上的集合或命名空间的访问权限,而无需登录。view-only 权限允许您与未授权的用户共享内容,同时限制他们查看或下载源代码的能力。它们没有编辑私有自动化中心上的任何内容的权限。

要为私有自动化中心启用 view-only 访问,您必须编辑 Red Hat Ansible Automation Platform 安装程序中的清单文件。

  • 如果要安装 Ansible Automation Platform 的新实例,请将 automationhub_enable_unauthenticated_collection_accessautomationhub_enable_unauthenticated_collection_download 参数添加到您的清单(inventory)文件中,以及其他安装配置:
  • 如果您要更新现有的 Ansible Automation Platform 安装使其包含 view-only 访问权限,请将 automationhub_enable_unauthenticated_collection_accessautomationhub_enable_unauthenticated_collection_download 参数添加到 inventory 文件中,然后运行 setup.sh 脚本以应用更新:

流程

  1. 导航到安装程序。

    捆绑的安装程序
    $ cd ansible-automation-platform-setup-bundle-<latest-version>
    Copy to Clipboard
    在线安装程序
    $ cd ansible-automation-platform-setup-<latest-version>
    Copy to Clipboard
  2. 使用文本编辑器打开清单文件。
  3. automationhub_enable_unauthenticated_collection_accessautomationhub_enable_unauthenticated_collection_download 参数添加到清单文件,并把它设置为 True,如下例所示:

    [all:vars]
    
    automationhub_enable_unauthenticated_collection_access = True 
    1
    
    automationhub_enable_unauthenticated_collection_download = True 
    2
    Copy to Clipboard
    1
    允许未授权用户查看集合
    2
    允许未经过授权的用户下载集合
  4. 运行 setup.sh 脚本。安装程序启用对私有自动化中心的 view-only 权限。

验证

安装完成后,通过尝试在不登录的情况下查看私有自动化中心中的内容,验证您在私有自动化中心上具有 view-only 权限。

  1. 进入您的私有自动化中心。
  2. 在登录屏幕中,单击 View only mode

验证您是否能够在自动化 hub 上查看内容,如命名空间或集合,而无需登录。

第 5 章 将内容上传到 Red Hat Automation hub

Automation Hub 分发经过认证并支持的从合作伙伴提供的集合。每个集合包括模块、角色、插件和文档等内容。您第一次将集合上传到自动化中心时,我们的合作伙伴工程团队会对其进行检查以进行认证。

您可以使用自动化中心用户界面或 ansible-galaxy 客户端上传或删除集合来管理您的集合。

5.1. 将集合上传到自动化中心

如果要共享您与其余 Ansible 社区创建的集合,您可以将其上传到自动化中心。将集合上传到自动化中心时,我们的合作伙伴工程团队会对其进行检查以进行认证。

您可以使用自动化中心用户界面或 ansible-galaxy 客户端上传集合。

先决条件

  • 为 Red Hat Automation Hub 配置了 ansible-galaxy 客户端。
  • 您至少有一个命名空间。
  • 您已通过 ansible-test sanity 运行所有内容。
  • 您是一个红帽连接合作伙伴。请参阅红帽合作伙伴连接以了解更多信息。

流程

使用自动化中心用户界面:

  1. 在导航面板中,选择 CollectionsNamespaces
  2. My namespaces 选项卡中,找到您要上传集合的命名空间。
  3. View collections,再点 Upload collection
  4. New collection modal 中,点 Select file。在您的系统中找到该文件。
  5. Upload

使用 ansible-galaxy 客户端:

  • 输入以下命令:

    ansible-galaxy collection publish path/to/my_namespace-my_collection-1.0.0.tar.gz --api-key=SECRET
    Copy to Clipboard

5.2. 删除自动化中心中的集合

如果集合不依赖于其他集合,您可以通过删除不需要的集合来进一步管理集合。集合上的 Dependencies 选项卡显示使用当前集合的其他集合列表。

先决条件

  • 要删除的集合没有与其他集合的依赖关系。
  • 您有 Delete Collections 权限。

流程

  1. 登录到您的私有自动化中心。
  2. 在导航面板中,选择 CollectionsCollections
  3. 在删除集合前,请检查它是否有依赖的集合:

    • 点该集合的 Dependencies 选项卡。如果为空,您将能够删除集合。如果 Dependencies 选项卡不为空,您必须先删除这些依赖项,然后才能删除集合。
  4. 点要删除的集合。
  5. More Actions 图标 需要,然后选择一个选项:

    1. 删除整个集合,以删除此集合中的所有版本。
    2. 删除版本 [number] 以删除此集合的当前版本。您可以使用 Version 下拉菜单更改版本。

      注意

      如果所选集合有任何与其他集合的依赖项,则这些操作将被禁用,直到您删除这些依赖项为止。点 Dependencies 选项卡查看要删除的依赖项列表。

  6. 当确认窗口打开时,验证集合或版本号是否正确,然后选择 Delete

法律通告

Copyright © 2025 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.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.