azure.azcollection.azure_rm_applicationfirewallpolicy module – Manage the Application firewall policy instance
Note
This module is part of the azure.azcollection collection (version 3.2.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 azure.azcollection
.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: azure.azcollection.azure_rm_applicationfirewallpolicy
.
New in azure.azcollection 3.1.0
Synopsis
Creating, Updating or Deleting the application firewall policy instance.
Requirements
The below requirements are needed on the host that executes this module.
python >= 2.7
The host that executes this module must have the azure.azcollection collection installed via galaxy
All python packages listed in collection’s requirements.txt must be installed via pip on the host that executes modules from azure.azcollection
Full installation instructions may be found https://galaxy.ansible.com/azure/azcollection
Parameters
Parameter |
Comments |
---|---|
Active Directory username. Use when authenticating with an Active Directory user rather than service principal. |
|
Azure AD authority url. Use when authenticating with Username/password, and has your own ADFS authority. |
|
Selects an API profile to use when communicating with Azure services. Default value of Default: |
|
Use to control if tags field is canonical or just appends to existing tags. When canonical, any tags not found in the tags parameter will be removed from the object’s metadata. Choices:
|
|
Controls the source of the credentials to use for authentication. Can also be set via the When set to When set to When set to When set to When set to The Choices:
|
|
Controls the certificate validation behavior for Azure endpoints. By default, all modules will validate the server certificate, but when an HTTPS proxy is in use, or against Azure Stack, it may be necessary to disable this behavior by passing Choices:
|
|
Azure client ID. Use when authenticating with a Service Principal or Managed Identity (msi). Can also be set via the |
|
For cloud environments other than the US public cloud, the environment name (as defined by Azure Python SDK, eg, Default: |
|
The custom rules inside the policy. |
|
Type of Actions. Choices:
|
|
List of user session identifier group by clauses. |
|
List of group by clause variables. |
|
User Session clause variable. Choices:
|
|
List of match conditions. |
|
Match value. |
|
List of match variables. |
|
The selector of match variable. |
|
Match Variable. Choices:
|
|
Whether this is negate condition or not. Choices:
|
|
The operator to be matched. Choices:
|
|
List of transforms. Choices:
|
|
The name of the resource that is unique within a policy. This name can be used to access the resource. |
|
Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. |
|
Duration over which Rate Limit policy will be applied. Applies only when ruleType is RateLimitRule. Choices:
|
|
Rate Limit threshold to apply in case ruleType is RateLimitRule. Must be greater than or equal to 1. |
|
The rule type. Choices:
|
|
Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified. Choices:
|
|
Determines whether or not instance discovery is performed when attempting to authenticate. Setting this to true will completely disable both instance discovery and authority validation. This functionality is intended for use in scenarios where the metadata endpoint cannot be reached such as in private clouds or Azure Stack. The process of instance discovery entails retrieving authority metadata from https://login.microsoft.com/ to validate the authority. By setting this to **True**, the validation of the authority is disabled. As a result, it is crucial to ensure that the configured authority host is valid and trustworthy. Set via credential file profile or the Choices:
|
|
Valid Azure location. Defaults to the location of the resource group. |
|
Parent argument. |
|
Parent argument. |
|
Describes the managedRules structure. |
|
The Exclusions that are applied on the policy. |
|
The managed rule sets that are associated with the exclusion. |
|
Defines the rule groups to apply to the rule set. |
|
The managed rule group for exclusion. |
|
List of rules that will be excluded. If none specified, all rules in the group will be excluded. |
|
Identifier for the managed rule. |
|
Defines the rule set type to use. |
|
Defines the version of the rule set to use. |
|
The variable to be excluded. Choices:
|
|
When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to. |
|
When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to. Choices:
|
|
The managed rule sets that are associated with the policy. |
|
Defines the rule group overrides to apply to the rule set. |
|
The managed rule group to override. |
|
List of rules that will be disabled. If none specified, all rules in the group will be disabled. |
|
Describes the override action to be applied when rule matches. Choices:
|
|
Identifier for the managed rule. |
|
Describes the override sensitivity to be applied when rule matches. Choices:
|
|
The state of the managed rule. Defaults to Choices:
|
|
Defines the rule set type to use. |
|
Defines the version of the rule set to use. |
|
The name of the application firewall policy’s name. |
|
Active Directory user password. Use when authenticating with an Active Directory user rather than service principal. |
|
The PolicySettings for policy. |
|
If the action type is block, customer can override the response body. The body must be specified in base64 encoding. |
|
If the action type is block, customer can override the response status code. |
|
Whether allow WAF to enforce file upload limits. Choices:
|
|
Maximum file upload size in Mb for WAF. |
|
Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. |
|
To scrub sensitive log fields. |
|
The rules that are applied to the logs for scrubbing. |
|
The variable to be scrubbed from the logs. Choices:
|
|
When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to. |
|
When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to. Choices:
|
|
Defines the state of log scrubbing rule. Choices:
|
|
State of the log scrubbing config. Choices:
|
|
Maximum request body size in Kb for WAF. |
|
The mode of the policy. Choices:
|
|
Whether to allow WAF to check request Body. Choices:
|
|
Whether allow WAF to enforce request body limits. Choices:
|
|
Max inspection limit in KB for request body inspection for WAF. |
|
The state of the policy. Choices:
|
|
Security profile found in ~/.azure/credentials file. |
|
The name of the resource group., |
|
Azure client secret. Use when authenticating with a Service Principal. |
|
Assert the state of the firewall policy. Use Choices:
|
|
Your Azure subscription Id. |
|
Dictionary of string:string pairs to assign as metadata to the object. Metadata tags on the object will be updated with any provided values. To remove tags set append_tags option to false. Currently, Azure DNS zones and Traffic Manager services also don’t allow the use of spaces in the tag. Azure Front Door doesn’t support the use of Azure Automation and Azure CDN only support 15 tags on resources. |
|
Azure tenant ID. Use when authenticating with a Service Principal. |
|
The thumbprint of the private key specified in x509_certificate_path. Use when authenticating with a Service Principal. Required if x509_certificate_path is defined. |
|
Path to the X509 certificate used to create the service principal in PEM format. The certificate must be appended to the private key. Use when authenticating with a Service Principal. |
Notes
Note
For authentication with Azure you can pass parameters, set environment variables, use a profile stored in ~/.azure/credentials, or log in before you run your tasks or playbook with
az login
.Authentication is also possible using a service principal or Active Directory user.
To authenticate via service principal, pass subscription_id, client_id, secret and tenant or set environment variables AZURE_SUBSCRIPTION_ID, AZURE_CLIENT_ID, AZURE_SECRET and AZURE_TENANT.
To authenticate via Active Directory user, pass ad_user and password, or set AZURE_AD_USER and AZURE_PASSWORD in the environment.
Alternatively, credentials can be stored in ~/.azure/credentials. This is an ini file containing a [default] section and the following keys: subscription_id, client_id, secret and tenant or subscription_id, ad_user and password. It is also possible to add additional profiles. Specify the profile by passing profile or setting AZURE_PROFILE in the environment.
See Also
See also
- Sign in with Azure CLI
How to authenticate using the
az login
command.
Examples
- name: Create a new application firewall policy
azure_rm_applicationfirewallpolicy:
resource_group: "{{ resource_group }}"
name: "new{{ rpfx }}02"
location: australiasoutheast
policy_settings:
file_upload_enforcement: true
file_upload_limit_in_mb: 88
js_challenge_cookie_expiration_in_mins: 30
max_request_body_size_in_kb: 128
mode: Detection
request_body_check: true
request_body_enforcement: true
request_body_inspect_limit_in_kb: 128
state: Enabled
custom_block_response_status_code: 200
custom_block_response_body: Fredtest
log_scrubbing:
state: Enabled
scrubbing_rules:
- match_variable: RequestHeaderNames
selector_match_operator: Equals
selector: '*'
state: Enabled
custom_rules:
- action: Block
match_conditions:
- match_values:
- 10.1.0.0/24
- 10.2.0.0/24
match_variables:
- variable_name: RemoteAddr
negation_conditon: true
operator: IPMatch
transforms:
- Uppercase
- Lowercase
name: ruledefine01
priority: 21
rule_type: MatchRule
state: Enabled
- action: Block
group_by_user_session:
- group_by_variables:
- variable_name: ClientAddr
match_conditions:
- match_values:
- 10.1.0.0/24
- 10.2.0.0/24
match_variables:
- variable_name: RemoteAddr
negation_conditon: false
operator: IPMatch
name: ruledefine02
priority: 22
rule_type: RateLimitRule
rate_limit_threshold: 100
rate_limit_duration: OneMin
state: Enabled
managed_rules:
exclusions:
- match_variable: RequestHeaderNames
selector_match_operator: Equals
selector: IPMatch
exclusion_managed_rule_sets:
- rule_set_type: Microsoft_DefaultRuleSet
rule_set_version: 2.1
managed_rule_sets:
- rule_set_type: Microsoft_BotManagerRuleSet
rule_set_version: 1.0
- rule_set_type: Microsoft_DefaultRuleSet
rule_set_version: 2.1
- name: Delete the application firewall policy
azure_rm_applicationfirewallpolicy:
resource_group: "{{ resource_group }}"
name: firewallpolicy
state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
A list of the application firewall policy facts Returned: always |
|
The custom rules inside the policy. Returned: when used |
|
The name of the resource that is unique within a policy. This name can be used to access the resource. Returned: always Sample: |
|
List of match conditions. Returned: always Sample: |
|
The name of the resource that is unique within a policy. This name can be used to access the resource. Returned: always Sample: |
|
Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value. Returned: always Sample: |
|
The rule type. Returned: always Sample: |
|
Describes if the custom rule is in enabled or disabled state. Returned: always Sample: |
|
The application firewall policy’s ID. Returned: always Sample: |
|
Location of application firewall policy. Returned: always Sample: |
|
Describes the managedRules structure. Returned: when used |
|
The exceptions that are applied on the policy. Returned: always Sample: |
|
The managed rule sets that are associated with the policy. Returned: always Sample: |
|
Name of application firewall policy. Returned: always Sample: |
|
The PolicySettings for policy. Returned: when used |
|
Whether allow WAF to enforce file upload limits. Returned: always Sample: |
|
Maximum file upload size in Mb for WAF. Returned: always Sample: |
|
Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes. Returned: always Sample: |
|
Maximum request body size in Kb for WAF. Returned: always Sample: |
|
The mode of the policy. Returned: always Sample: |
|
Whether to allow WAF to check request Body. Returned: always Sample: |
|
Whether allow WAF to enforce request body limits. Returned: always Sample: |
|
The state of the policy. Returned: always Sample: |
|
Provisioning state of application firewall policy. Returned: always Sample: |
|
Name of resource group. Returned: always Sample: |
|
The application firewall policy tags. Returned: always Sample: |
|
The type of the application firewall policy. Returned: always Sample: |