ansible.builtin.fortios_system_password_policy (v2.9.27) — module

Configure password policy for locally defined administrator passwords and IPsec VPN pre-shared keys in Fortinet's FortiOS and FortiGate.

| "added in version" 2.9 of ansible.builtin"

Authors: Miguel Angel Munoz (@mamunozgonzalez), Nicolas Thomas (@thomnico)

preview | supported by community

Install Ansible via pip

Install with pip install ansible==2.9.27

Description

This module is able to configure a FortiGate or FortiOS (FOS) device by allowing the user to set and modify system feature and password_policy category. Examples include all parameters and values need to be adjusted to datasources before usage. Tested with FOS v6.0.5


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- hosts: localhost
  vars:
   host: "192.168.122.40"
   username: "admin"
   password: ""
   vdom: "root"
   ssl_verify: "False"
  tasks:
  - name: Configure password policy for locally defined administrator passwords and IPsec VPN pre-shared keys.
    fortios_system_password_policy:
      host:  "{{ host }}"
      username: "{{ username }}"
      password: "{{ password }}"
      vdom:  "{{ vdom }}"
      https: "False"
      system_password_policy:
        apply_to: "admin-password"
        change_4_characters: "enable"
        expire_day: "5"
        expire_status: "enable"
        min_lower_case_letter: "7"
        min_non_alphanumeric: "8"
        min_number: "9"
        min_upper_case_letter: "10"
        minimum_length: "11"
        reuse_password: "enable"
        status: "enable"

Inputs

    
host:
    description:
    - FortiOS or FortiGate IP address.
    required: false
    type: str

vdom:
    default: root
    description:
    - Virtual domain, among those defined previously. A vdom is a virtual instance of
      the FortiGate that can be configured and used as a different unit.
    type: str

https:
    default: true
    description:
    - Indicates if the requests towards FortiGate must use HTTPS protocol.
    type: bool

password:
    default: ''
    description:
    - FortiOS or FortiGate password.
    type: str

username:
    description:
    - FortiOS or FortiGate username.
    required: false
    type: str

ssl_verify:
    default: true
    description:
    - Ensures FortiGate certificate must be verified by a proper CA.
    type: bool

system_password_policy:
    default: null
    description:
    - Configure password policy for locally defined administrator passwords and IPsec
      VPN pre-shared keys.
    suboptions:
      apply_to:
        choices:
        - admin-password
        - ipsec-preshared-key
        description:
        - Apply password policy to administrator passwords or IPsec pre-shared keys or
          both. Separate entries with a space.
        type: str
      change_4_characters:
        choices:
        - enable
        - disable
        description:
        - Enable/disable changing at least 4 characters for a new password (This attribute
          overrides reuse-password if both are enabled).
        type: str
      expire_day:
        description:
        - Number of days after which passwords expire (1 - 999 days).
        type: int
      expire_status:
        choices:
        - enable
        - disable
        description:
        - Enable/disable password expiration.
        type: str
      min_lower_case_letter:
        description:
        - Minimum number of lowercase characters in password (0 - 128).
        type: int
      min_non_alphanumeric:
        description:
        - Minimum number of non-alphanumeric characters in password (0 - 128).
        type: int
      min_number:
        description:
        - Minimum number of numeric characters in password (0 - 128).
        type: int
      min_upper_case_letter:
        description:
        - Minimum number of uppercase characters in password (0 - 128).
        type: int
      minimum_length:
        description:
        - Minimum password length (8 - 128).
        type: int
      reuse_password:
        choices:
        - enable
        - disable
        description:
        - Enable/disable reusing of password (if both reuse-password and change-4-characters
          are enabled, change-4-characters overrides).
        type: str
      status:
        choices:
        - enable
        - disable
        description:
        - Enable/disable setting a password policy for locally defined administrator passwords
          and IPsec VPN pre-shared keys.
        type: str
    type: dict

Outputs

build:
  description: Build number of the fortigate image
  returned: always
  sample: '1547'
  type: str
http_method:
  description: Last method used to provision the content into FortiGate
  returned: always
  sample: PUT
  type: str
http_status:
  description: Last result given by FortiGate on last operation applied
  returned: always
  sample: '200'
  type: str
mkey:
  description: Master key (id) used in the last call to FortiGate
  returned: success
  sample: id
  type: str
name:
  description: Name of the table used to fulfill the request
  returned: always
  sample: urlfilter
  type: str
path:
  description: Path of the table used to fulfill the request
  returned: always
  sample: webfilter
  type: str
revision:
  description: Internal revision number
  returned: always
  sample: 17.0.2.10658
  type: str
serial:
  description: Serial number of the unit
  returned: always
  sample: FGVMEVYYQT3AB5352
  type: str
status:
  description: Indication of the operation's result
  returned: always
  sample: success
  type: str
vdom:
  description: Virtual domain used
  returned: always
  sample: root
  type: str
version:
  description: Version of the FortiGate
  returned: always
  sample: v5.6.3
  type: str