community.general.tss 查找 – 从 Thycotic Secret Server 获取密钥
注意
此查找插件是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。您需要其他要求才能使用此查找插件,请参阅 要求 了解详细信息。
要在剧本中使用它,请指定:community.general.tss
。
community.general 1.0.0 中的新增功能
概要
要求
在执行此查找的本地控制器节点上需要以下要求。
python-tss-sdk - https://pypi.ac.cn/project/python-tss-sdk/
术语
参数 |
注释 |
---|---|
密钥的整数 ID。 |
关键字参数
这描述了查找的关键字参数。这些是以下示例中的值 key1=value1
、key2=value2
等:lookup('community.general.tss', key1=value1, key2=value2, ...)
和 query('community.general.tss', key1=value1, key2=value2, ...)
参数 |
注释 |
---|---|
服务器的基本 URL,例如 配置
|
|
用于请求 OAuth2 访问授权的域。 当未提供 需要 默认值: 配置
|
|
一个布尔标志,指示是否通过文件夹 ID 获取文件夹中的密钥 ID。
选项
|
|
指示文件附件的下载位置。 |
|
当密钥 ID 设置为 0 时,指示密钥的完整路径,包括文件夹和密钥名称。 |
|
说明
注意
当关键字参数和位置参数一起使用时,位置参数必须列在关键字参数之前:
lookup('community.general.tss', term1, term2, key1=value1, key2=value2)
和query('community.general.tss', term1, term2, key1=value1, key2=value2)
示例
- hosts: localhost
vars:
secret: >-
{{
lookup(
'community.general.tss',
102,
base_url='https://secretserver.domain.com/SecretServer/',
username='user.name',
password='password'
)
}}
tasks:
- ansible.builtin.debug:
msg: >
the password is {{
(secret['items']
| items2dict(key_name='slug',
value_name='itemValue'))['password']
}}
- hosts: localhost
vars:
secret: >-
{{
lookup(
'community.general.tss',
102,
base_url='https://secretserver.domain.com/SecretServer/',
username='user.name',
password='password',
domain='domain'
)
}}
tasks:
- ansible.builtin.debug:
msg: >
the password is {{
(secret['items']
| items2dict(key_name='slug',
value_name='itemValue'))['password']
}}
- hosts: localhost
vars:
secret_password: >-
{{
((lookup(
'community.general.tss',
102,
base_url='https://secretserver.domain.com/SecretServer/',
token='thycotic_access_token',
) | from_json).get('items') | items2dict(key_name='slug', value_name='itemValue'))['password']
}}
tasks:
- ansible.builtin.debug:
msg: the password is {{ secret_password }}
# Private key stores into certificate file which is attached with secret.
# If fetch_attachments=True then private key file will be download on specified path
# and file content will display in debug message.
- hosts: localhost
vars:
secret: >-
{{
lookup(
'community.general.tss',
102,
fetch_attachments=True,
file_download_path='/home/certs',
base_url='https://secretserver.domain.com/SecretServer/',
token='thycotic_access_token'
)
}}
tasks:
- ansible.builtin.debug:
msg: >
the private key is {{
(secret['items']
| items2dict(key_name='slug',
value_name='itemValue'))['private-key']
}}
# If fetch_secret_ids_from_folder=true then secret IDs are in a folder is fetched based on folder ID
- hosts: localhost
vars:
secret: >-
{{
lookup(
'community.general.tss',
102,
fetch_secret_ids_from_folder=true,
base_url='https://secretserver.domain.com/SecretServer/',
token='thycotic_access_token'
)
}}
tasks:
- ansible.builtin.debug:
msg: >
the secret id's are {{
secret
}}
# If secret ID is 0 and secret_path has value then secret is fetched by secret path
- hosts: localhost
vars:
secret: >-
{{
lookup(
'community.general.tss',
0,
secret_path='\folderName\secretName'
base_url='https://secretserver.domain.com/SecretServer/',
username='user.name',
password='password'
)
}}
tasks:
- ansible.builtin.debug:
msg: >
the password is {{
(secret['items']
| items2dict(key_name='slug',
value_name='itemValue'))['password']
}}
返回值
键 |
描述 |
---|---|
对 请参阅 https://updates.thycotic.net/secretserver/restapiguide/TokenAuth/#operation–secrets–id–get。 返回值: 成功 |