community.general.onepassword_info 模块 – 从 1Password 收集项目
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。
要在剧本中使用它,请指定:community.general.onepassword_info
。
概要
community.general.onepassword_info 封装了
op
命令行实用程序,用于获取关于一个或多个 1Password 项目的数据。如果找不到任何正在搜索的项目,则会发生严重错误。
建议使用
no_log
选项以避免记录正在检索的密钥的值。
要求
执行此模块的主机需要以下要求。
op
1Password 命令行实用程序。请参阅 https://support.1password.com/command-line/
参数
参数 |
注释 |
---|---|
包含身份验证详细信息的字典。如果设置了此选项,community.general.onepassword_info 将尝试自动登录 1Password。 如果没有此选项,则必须在运行 Ansible 之前已通过 1Password CLI 登录。 强烈建议将 1Password 凭据存储在 Ansible Vault 中。确保用于加密 Ansible Vault 的密钥的强度等于或高于 1Password 主密码。 |
|
子域的主密码。 指定 |
|
子域的密钥。 仅首次登录时需要。 |
|
1Password 子域名称 (<subdomain>.1password.com)。 如果未指定此参数,则将使用最近的子域。 |
|
1Password 用户名。 仅首次登录时需要。 |
|
用于指定 默认值: |
|
一个或多个搜索词的列表。 每个搜索词可以是一个简单的字符串,也可以是一个字典以实现更精细的控制。 传递简单字符串时, 传递字典时,可以使用以下字段。 |
|
要在项目中搜索的字段名称(可选,默认为“password”(如果项目有附件,则为“document”)。 |
|
要搜索的 1Password 项目的名称(必填)。 |
|
包含指定字段的项目中某个区域的名称(可选,如果未指定,则搜索所有区域)。 |
|
要搜索的特定 1Password 存储库的名称,如果您的 1Password 用户可以访问多个存储库,则此参数很有用(可选)。 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全支持 此操作不会修改状态。 |
可以在 |
|
支持: N/A 此操作不会修改状态。 |
在差异模式下,将返回有关已更改内容(或可能需要在 |
备注
注意
已使用
op
版本 0.5.5 进行测试基于 Scott Buchanan <sbuchanan@ri.pn> 编写的 community.general.onepassword 查找插件。
示例
# Gather secrets from 1Password, assuming there is a 'password' field:
- name: Get a password
community.general.onepassword_info:
search_terms: My 1Password item
delegate_to: localhost
register: my_1password_item
no_log: true # Don't want to log the secrets to the console!
# Gather secrets from 1Password, with more advanced search terms:
- name: Get a password
community.general.onepassword_info:
search_terms:
- name: My 1Password item
field: Custom field name # optional, defaults to 'password'
section: Custom section name # optional, defaults to 'None'
vault: Name of the vault # optional, only necessary if there is more than 1 Vault available
delegate_to: localhost
register: my_1password_item
no_log: true # Don't want to log the secrets to the console!
# Gather secrets combining simple and advanced search terms to retrieve two items, one of which we fetch two
# fields. In the first 'password' is fetched, as a field name is not specified (default behaviour) and in the
# second, 'Custom field name' is fetched, as that is specified explicitly.
- name: Get a password
community.general.onepassword_info:
search_terms:
- My 1Password item # 'name' is optional when passing a simple string...
- name: My Other 1Password item # ...but it can also be set for consistency
- name: My 1Password item
field: Custom field name # optional, defaults to 'password'
section: Custom section name # optional, defaults to 'None'
vault: Name of the vault # optional, only necessary if there is more than 1 Vault available
- name: A 1Password item with document attachment
delegate_to: localhost
register: my_1password_item
no_log: true # Don't want to log the secrets to the console!
- name: Debug a password (for example)
ansible.builtin.debug:
msg: "{{ my_1password_item['onepassword']['My 1Password item'] }}"
返回值
常用的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
每个与给定搜索词匹配的 1password 项目的字典,显示上面第三个示例将返回的内容。 返回:成功 示例: |