community.general.onepassword_info 模块 – 从 1Password 收集项目
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定: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 子域名 (<子域名>.1password.com)。 如果未指定此项,将使用最近的子域名。 |
|
1Password 用户名。 仅在初始登录时需要。 |
|
用于指定 默认值: |
|
一个或多个搜索项的列表。 每个搜索项可以是简单的字符串,也可以是用于更多控制的字典。 当传递一个简单的字符串时,假定 当传递字典时,可以使用以下字段。 |
|
要在此项中搜索的字段的名称(可选,默认为 “password”(如果该项有附件,则默认为 “document”)。 |
|
要搜索的 1Password 项的名称(必需)。 |
|
此项中包含指定字段的部分的名称(可选,如果未指定,将搜索所有部分)。 |
|
要搜索的特定 1Password Vault 的名称,如果您 1Password 用户有权访问多个 Vault,则此项很有用(可选)。 |
属性
属性 |
支持 |
描述 |
---|---|---|
支持:完全 此操作不修改状态。 |
可以在 |
|
支持: 不适用 此操作不修改状态。 |
当处于差异模式时,将返回有关已更改(或可能需要在 |
备注
注意
使用
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 条目的字典,显示了上面第三个示例的返回结果。 返回: 成功 示例: |