4.3. 为基于 Operator 的代理部署创建安全配置
以下流程演示了如何使用自定义资源(CR)实例将用户和关联的安全配置添加到基于 Operator 的代理部署中。
先决条件
您必须已安装 AMQ Broker Operator。有关安装 Operator 的两种替代方法的详情,请参考:
- 您应该熟悉代理安全,如安全 代理所述
- 您应该熟悉如何使用 CR 实例创建基本的代理部署。如需更多信息,请参阅 第 3.4.1 节 “部署基本代理实例”。
您可以在创建代理部署前或之后部署安全 CR。但是,如果您在创建代理部署后部署安全 CR,则代理 Pod 会被重启以接受新配置。
开始配置自定义资源(CR)实例,以定义代理部署的用户和相关安全配置。
使用 OpenShift 命令行界面:
以具有特权的用户身份登录 OpenShift,以便在项目中为代理部署部署 CR。
oc login -u <user> -p <password> --server=<host:port>
-
打开名为
broker_activemqartemissecurity_cr.yaml
的示例 CR 文件,该文件包括在您下载并提取的 Operator 安装的deploy/crs
目录中。
使用 OpenShift Container Platform Web 控制台:
- 以具有特权的用户身份登录到控制台,以便在用于代理部署的项目中部署 CR。
-
根据地址 CRD 启动一个新的 CR 实例。在左侧窗格中,单击
。 - 单击 ActiveMQArtemisSecurity CRD。
- 点 实例 选项卡。
单击 Create ActiveMQArtemisSecurity。
在控制台中,会打开 YAML 编辑器,供您配置 CR 实例。
在 CR 的
spec
部分中,添加行来定义用户和角色。例如:apiVersion: broker.amq.io/v1alpha1 kind: ActiveMQArtemisSecurity metadata: name: ex-prop spec: loginModules: propertiesLoginModules: - name: "prop-module" users: - name: "sam" password: "samsecret" roles: - "sender" - name: "rob" password: "robsecret" roles: - "receiver" securityDomains: brokerDomain: name: "activemq" loginModules: - name: "prop-module" flag: "sufficient" securitySettings: broker: - match: "#" permissions: - operationType: "send" roles: - "sender" - operationType: "createAddress" roles: - "sender" - operationType: "createDurableQueue" roles: - "sender" - operationType: "consume" roles: - "receiver" ...
上述配置定义了两个用户:
-
个名为
prop-module
的propertiesLoginModule
,它定义了名为sam
的用户,其角色名为sender
。 -
个名为
prop-module
的propertiesLoginModule
,它定义了名为rob
的用户,其角色名为receiver
。
这些角色的属性在
securityDomains
部分的broker
Domainsend
角色,以允许具有该角色的用户在任何地址上创建持久队列。默认情况下,配置会应用到当前命名空间中的 CR 定义的所有已部署代理。要将配置限制为特定的代理部署,请使用 第 8.1.3 节 “安全自定义资源配置参考” 中描述的applyToCrNames
选项。注意在
metadata
部分中,您需要包含namespace
属性,只有在 使用 OpenShift Container Platform Web 控制台创建 CR 实例时才需要指定一个值。您应指定的值是代理部署的 OpenShift 项目的名称。-
个名为
部署 CR 实例。
使用 OpenShift 命令行界面:
- 保存 CR 文件。
切换到代理部署的项目。
$ oc project <project_name>
创建 CR 实例。
$ oc create -f <path/to/address_custom_resource_instance>.yaml
使用 OpenShift Web 控制台:
- 配置完 CR 后,点 Create。