流集数据收集器配置:凭据存储

凭据存储

数据收集器管道阶段与外部系统通信以读取和写入数据。其中许多外部系统需要凭据(用户名或密码)才能访问数据。为这些外部系统配置管道阶段时,可以定义该阶段用于连接到系统的凭据。

如果直接在阶段属性中输入凭据值,则会向有权访问管道的任何用户公开凭据。若要在不公开凭据的情况下访问外部系统,请在凭据存储中定义凭据,然后使用阶段属性中的数据收集器凭据函数来检索这些值。

数据收集器具有与以下凭据存储系统集成的凭据存储 API:
重要:仅在开发环境中使用 Java 密钥库凭证存储系统。在生产环境中,使用集中式密钥库(如机密管理器、网络方舟、哈希科尔普保管库或 Azure 密钥保管库)来更好地保护凭据。Java 密钥库凭证存储系统需要分发密钥库文件,这会使安全性变得复杂。在使用 Java 密钥库系统之前,请确定密钥库的分发方式,并咨询您的 IT 安全团队,以确保系统符合 IT 策略。

可以将数据收集器配置为同时使用多个凭据存储。每个凭据存储都由唯一 ID 标识。

提示:在凭据存储中定义凭据而不是直接在阶段属性中定义凭据时,还可以更轻松地将管道迁移到另一个环境。例如,如果将多个管道从开发环境迁移到生产环境,则无需编辑每个管道即可为生产环境定义正确的凭据。您只需将开发凭证存储替换为生产版本即可。

对凭据的组访问

在管道中使用凭据函数时,可以通过仅允许特定组验证、预览或运行管道来进一步保护凭据值。

凭据函数包括一个组参数,该参数定义可以访问凭据的组。只有对管道具有执行权限且属于此组的用户才能验证、预览或运行检索凭据值的管道。

仅使用数据收集器时,只需指定组名称,例如“devOps”。使用控制中心时,请使用所需的命名约定指定组:<组 ID>@<组织 ID>。例如,“devops@MyCompany”。

如果不想限制对凭据的访问,请在仅使用数据收集器时指定默认的“全部”组,或在使用 Control Hub 时指定默认的“all@<组织 ID>”组。

注意:如果数据收集器在运行使用凭据函数的管道时关闭,则数据收集器将重新启动管道而不检查组访问权限。

AWS 密钥管理器

要使用 AWS 密钥管理器凭证存储系统,请安装 AWS 密钥管理器凭证存储阶段库,并定义用于连接到密钥管理器的配置属性。然后,使用管道阶段属性中的凭据函数来检索凭据值。

在机密管理器中,必须配置具有正确权限的访问密钥和机密密钥对才能读取密钥。若要遵循最佳做法,请将机密设置为只读并限制访问。请参阅有关身份和访问管理 (IAM) 策略的机密管理器文档。

注意:本文档包括配置过程所需的机密管理器信息。有关更多信息,请参阅  AWS 密钥管理器文档

步骤 1.安装凭据存储阶段库

默认情况下,完整的数据收集器安装包括 AWS 密钥管理器凭证存储阶段库。核心安装不包括库。

要验证数据收集器是否安装了 AWS Secrets Manager 凭证存储阶段库,请单击程序包管理器图标 () 以显示已安装阶段库的列表。如果未安装库,请在配置机密管理器凭据存储之前安装库。

步骤2.配置凭据存储属性

要使数据收集器能够连接到 AWS 密钥管理器凭证存储,请在 $SDC_CONF/凭证存储.properties 文件中配置机密管理器属性

重要提示:对于云端管理器安装,请通过云端管理器配置所有凭证存储属性。在云端管理器中,选择流集服务,然后单击配置。将每个凭据存储属性的行添加到 sdc.properties 的数据收集器高级配置代码段(安全阀)字段中,如下所示:
<span style="color:#333333"><span style="background-color:#eeeeee"><code>credentialStores=aws</code></span></span>
  1. 取消注释文件中的凭据存储属性。

    如果仅启用机密管理器凭据存储,请将属性设置为 。如果启用多个凭据存储,请将属性设置为每个凭据存储类型。例如,要同时使用 Java 密钥库和机密管理器凭证存储,请将值设置为 。awsjks,aws

  2. 在文件的 AWS 密钥管理器凭证存储部分中配置以下属性。
    重要:无需在配置文件中输入敏感数据(如明文形式的密码),而是可以通过将数据存储在外部位置,然后使用函数检索 数据来保护敏感数据。

    AWS 凭证存储定义、区域、访问密钥和私有密钥是必需的属性。根据需要取消注释并配置其他属性。

    该文件包括以下属性:

    机密管理器属性 描述: __________
    CredentialStore.aws.def 必填。定义 AWS 密钥管理器凭证存储的实现。

    不要更改默认值。

    CredentialStore.aws.config.nameKey.separator 自选。用于凭据函数使用的凭据名称参数中的名称和键值的分隔符。对名称参数使用以下格式:

    <name><separator><key>

    例如,如果保留默认的 & 符号 (),则 name 参数的格式为:&<name>&<key>

    注意:在机密管理器中,名称可以包含字母数字和以下特殊字符:。因此,请避免使用这些字符作为分隔符。 / _ + = . @ -
    CredentialStore.aws.config.region 必填。托管机密管理器的 AWS 区域。有关可用区域的列表,请参阅 AWS 区域表
    credentialStore.aws.config.access.key 必填。AWS 访问密钥。
    credentialStore.aws.config.secret.key 必填。AWS 密钥。
    credentialStore.aws.config.cache.max.size 自选。数据收集器可以在本地缓存的最大机密数。默认值为 1024。
    credentialStore.aws.config.cache.ttl.millis 自选。数据收集器在要求刷新之前认为缓存的机密有效的毫秒数。默认值为 1 小时。
  3. 重新启动数据收集器以启用更改。

第3步.从管道调用凭据

使用管道阶段属性中的 或 函数从 AWS 密钥管理器检索凭证值。credential:get()credential:getWithOptions()

在任何显示其旁边的密钥图标的 stage 属性中使用凭据函数。例如:

重要:在阶段属性中使用凭据函数时,该函数必须是属性中定义的唯一值。例如,不能在凭据函数中包含其他函数或文本值。
凭据函数使用以下参数:
  • 存储 Id - 要使用的凭据存储的唯一 ID。输入以访问 AWS 密钥管理器凭证存储。aws
  • 用户组 - 用户必须属于才能访问凭据的组。只有对管道具有执行权限且属于此组的用户才能验证、预览或运行检索凭据值的管道。

    如果使用控制中心,请使用所需的命名约定指定组:<组 ID>@<组织 ID>。要向所有用户授予访问权限,请在仅使用数据收集器时指定默认的“所有”组,或在使用 Control Hub 时指定默认的“all@<组织 ID>”组。

  • name - 要从机密管理器检索的凭据值或机密。使用以下格式:,其中:"<name><separator><key>"
    • <name>是机密管理器中要读取的机密的名称。
    • <separator>是在 $SDC_CONF/凭据存储.properties 文件或函数调用中定义的分隔符。
    • <key>是要返回的值的键。
  • 存储选项 - 仅由函数使用。用于与凭据存储进行通信的其他选项。对于机密管理器,可以使用以下选项:credential:getWithOptions()
    • separator- 指定凭据函数中名称和键值的分隔符,并覆盖属性。credentialStore.aws.config.nameKey.separator
    • alwaysRefresh- 设置为 true 时,强制键在数据收集器检索该值之前刷新其缓存值,并覆盖该属性。credentialStore.aws.config.cache.ttl.millis
    使用以下格式指定选项:
    <span style="color:#333333"><span style="background-color:#eeeeee"><code>"<option1>=<value>,<option2>=<value>"</code></span></span>
    例如,要使用管道符号 (|) 作为分隔符,请在 options 参数中输入以下内容:
    <span style="color:#333333"><span style="background-color:#eeeeee"><code>"separator=|"</code></span></span>
例如,以下表达式从秘密 SQL 密码的密钥 SQLk1 返回值。该表达式允许 DevOps 组中的任何用户在验证、预览或运行管道时访问凭据:
<span style="color:#333333"><span style="background-color:#eeeeee"><code>${credential:get("aws", "devops"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JAVASoftEngineer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值