panos_match_rule - Test for match against a security rule on PAN-OS devices or Panorama management console.¶
New in version 2.5.
Synopsis¶
- Security policies allow you to enforce rules and take action, and can be as general or specific as needed.
Requirements¶
The below requirements are needed on the host that executes this module.
- pan-python can be obtained from PyPi https://pypi.org/project/pan-python/
- pandevice can be obtained from PyPi https://pypi.org/project/pandevice/
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
api_key |
API key that can be used instead of username/password credentials.
|
|
application |
The application.
|
|
category |
URL category
|
|
destination_ip |
The destination IP address.
|
|
destination_port |
The destination port.
|
|
destination_zone |
The destination zone.
|
|
ip_address
required |
IP address (or hostname) of PAN-OS device being configured.
|
|
password
required |
Password credentials to use for auth unless api_key is set.
|
|
protocol |
The IP protocol number from 1 to 255.
|
|
rule_type |
Default: security
|
Type of rule. Valid types are security or nat.
|
source_ip
required |
The source IP address.
|
|
source_port |
The source port.
|
|
source_user |
The source user or group.
|
|
source_zone |
The source zone.
|
|
to_interface |
The inbound interface in a NAT rule.
|
|
username |
Default: admin
|
Username credentials to use for auth unless api_key is set.
|
vsys_id
required |
Default: vsys1
|
ID of the VSYS object.
|
Examples¶
- name: check security rules for Google DNS
panos_match_rule:
ip_address: '{{ ip_address }}'
username: '{{ username }}'
password: '{{ password }}'
rule_type: 'security'
source_ip: '10.0.0.0'
destination_ip: '8.8.8.8'
application: 'dns'
destination_port: '53'
protocol: '17'
register: result
- debug: msg='{{result.stdout_lines}}'
- name: check security rules inbound SSH with user match
panos_match_rule:
ip_address: '{{ ip_address }}'
username: '{{ username }}'
password: '{{ password }}'
rule_type: 'security'
source_ip: '0.0.0.0'
source_user: 'mydomain\jsmith'
destination_ip: '192.168.100.115'
destination_port: '22'
protocol: '6'
register: result
- debug: msg='{{result.stdout_lines}}'
- name: check NAT rules for source NAT
panos_match_rule:
ip_address: '{{ ip_address }}'
username: '{{ username }}'
password: '{{ password }}'
rule_type: 'nat'
source_zone: 'Prod-DMZ'
source_ip: '10.10.118.50'
to_interface: 'ethernet1/2'
destination_zone: 'Internet'
destination_ip: '0.0.0.0'
protocol: '6'
register: result
- debug: msg='{{result.stdout_lines}}'
- name: check NAT rules for inbound web
panos_match_rule:
ip_address: '{{ ip_address }}'
username: '{{ username }}'
password: '{{ password }}'
rule_type: 'nat'
source_zone: 'Internet'
source_ip: '0.0.0.0'
to_interface: 'ethernet1/1'
destination_zone: 'Prod DMZ'
destination_ip: '192.168.118.50'
destination_port: '80'
protocol: '6'
register: result
- debug: msg='{{result.stdout_lines}}'
- name: check security rules for outbound POP3 in vsys4
panos_match_rule:
ip_address: '{{ ip_address }}'
username: '{{ username }}'
password: '{{ password }}'
vsys_id: 'vsys4'
rule_type: 'security'
source_ip: '10.0.0.0'
destination_ip: '4.3.2.1'
application: 'pop3'
destination_port: '110'
protocol: '6'
register: result
- debug: msg='{{result.stdout_lines}}'
Status¶
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Maintenance¶
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Author¶
- Robert Hagen (@rnh556)
Hint
If you notice any issues in this documentation you can edit this document to improve it.