everpure.flashblade.purefb_tls_policy module – Manage FlashBlade TLS policies
Note
This module is part of the everpure.flashblade collection (version 1.29.0).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install everpure.flashblade.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: everpure.flashblade.purefb_tls_policy.
New in everpure.flashblade 1.28.0
Synopsis
Create, update or delete FlashBlade TLS policies and manage the network interfaces they are applied to.
A TLS policy controls the server certificate presented on a network interface, the TLS versions and ciphers permitted, and optional mutual-TLS settings for verifying client certificates.
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.9
py-pure-client
netaddr
datetime
pytz
distro
pycountry
urllib3
Parameters
Parameter |
Comments |
|---|---|
FlashBlade API token for admin privileged user. |
|
Name of the certificate to present as the server certificate during TLS negotiation with clients connecting to network interfaces covered by this policy. Required when creating a policy; the array rejects a policy without an appliance certificate. Use Set to |
|
If If The array only accepts Requires Purity//FB REST API 2.18 or later. Choices:
|
|
ID of the API Client that issues the identity token. Used with private_key_file. |
|
Disable insecure certificate warnings Choices:
|
|
List of TLS ciphers to disable. |
|
If Defaults to Choices:
|
|
List of TLS ciphers to enable. When supplied, only these ciphers will be enabled. |
|
FlashBlade management IP address or Hostname. |
|
A pre-signed JWT to authenticate with, as an alternative to api_token. The token is exchanged by the array for a short-lived access token. Requires a matching API Client to be registered on the array (see everpure.flashblade.purefb_apiclient). |
|
The API Client’s trusted identity issuer registered on the array. Used with private_key_file. |
|
Key ID of the API Client that issues the identity token. Used with private_key_file. |
|
Minimum TLS version permitted for inbound connections.
Choices:
|
|
Name of the TLS policy. |
|
Desired set of network interfaces this policy should be applied to. On update, the set of attached interfaces is reconciled against this list - missing interfaces are attached, extras are detached. Omit entirely to leave existing attachments untouched. Use an empty list to detach the policy from all interfaces. On create, an empty list creates the policy with no interfaces attached; this is equivalent to omitting the parameter. |
|
Path to the PEM RSA private key used to sign an identity token, as an alternative to api_token. Requires client_id, key_id, issuer and username. |
|
Password protecting private_key_file, if encrypted. |
|
Define whether the TLS policy should exist or not. Choices:
|
|
Name of a certificate, or certificate group, used to verify certificates presented by clients when verify_client_certificate_trust is Set to an empty string ( Requires Purity//FB REST API 2.18 or later. |
|
Username the issued token should be granted to. Must be a valid user on the array. Used with private_key_file. |
|
If Requires Purity//FB REST API 2.18 or later. Choices:
|
Notes
Note
You must set
PUREFB_URLandPUREFB_APIenvironment variables if fb_url and api_token arguments are not passed to the module directlyToken-based authentication (id_token, or private_key_file with client_id, key_id, issuer and username) may be used as an alternative to api_token, and requires a matching API Client registered on the array via everpure.flashblade.purefb_apiclient
Examples
- name: Create TLS policy with a server cert and minimum TLS 1.2
everpure.flashblade.purefb_tls_policy:
name: secure_data_plane
appliance_certificate: my_cert
min_tls_version: '1.2'
fb_url: 10.10.10.2
api_token: T-68618f31-0c9e-4e57-aa44-5306a2cf10e3
- name: Require mutual TLS using a trusted CA group
everpure.flashblade.purefb_tls_policy:
name: secure_data_plane
client_certificates_required: true
verify_client_certificate_trust: true
trusted_client_certificate_authority: corp_ca_group
fb_url: 10.10.10.2
api_token: T-68618f31-0c9e-4e57-aa44-5306a2cf10e3
- name: Apply the policy to a specific set of data network interfaces
everpure.flashblade.purefb_tls_policy:
name: secure_data_plane
network_interfaces:
- data1.eth0
- data2.eth0
fb_url: 10.10.10.2
api_token: T-68618f31-0c9e-4e57-aa44-5306a2cf10e3
- name: Detach the TLS policy from all network interfaces
everpure.flashblade.purefb_tls_policy:
name: secure_data_plane
network_interfaces: []
fb_url: 10.10.10.2
api_token: T-68618f31-0c9e-4e57-aa44-5306a2cf10e3
- name: Disable a TLS policy without deleting it
everpure.flashblade.purefb_tls_policy:
name: secure_data_plane
enabled: false
fb_url: 10.10.10.2
api_token: T-68618f31-0c9e-4e57-aa44-5306a2cf10e3
- name: Reset appliance cert to the built-in global cert and clear the trusted CA
everpure.flashblade.purefb_tls_policy:
name: secure_data_plane
appliance_certificate: global
trusted_client_certificate_authority: ""
fb_url: 10.10.10.2
api_token: T-68618f31-0c9e-4e57-aa44-5306a2cf10e3
- name: Delete a TLS policy
everpure.flashblade.purefb_tls_policy:
name: secure_data_plane
state: absent
fb_url: 10.10.10.2
api_token: T-68618f31-0c9e-4e57-aa44-5306a2cf10e3