Courseiva

CCNA Integration And Automation Questions

58 questions · Integration And Automation topic · All types, answers revealed

1
MCQhard

You are troubleshooting a REST API integration where Python scripts are failing to retrieve device information. The API returns a '403 Forbidden' error. What is the most likely cause?

A.The API Key is expired.
B.The JSON body is malformed.
C.The admin account lacks permissions for the requested object.
D.The API endpoint URL is incorrect.
AnswerC

A 403 Forbidden response means the request reached the device but was refused, so authentication succeeded. The admin account authenticated to the API lacks the role or permission profile required for the requested object, unlike 401, which signals failed authentication.

Why this answer

A 403 error indicates that the API key provided has insufficient permissions or the admin account associated with the key lacks the necessary role to access the resource.

2
MCQmedium

Which tool in the Palo Alto Networks ecosystem is designed specifically for automated orchestration of security workflows?

A.Panorama
B.AutoFocus
C.Cortex XSOAR
D.Expedition
AnswerC

Cortex XSOAR is the security orchestration, automation and response platform that chains playbooks, integrations and case management into automated workflows. It is purpose-built for orchestrating security operations, unlike management or analytics tools, satisfying the automated orchestration requirement in the stem.

Why this answer

Cortex XSOAR is the industry-leading SOAR platform designed for security orchestration and automation.

3
MCQeasy

An administrator needs to automate the process of updating a dynamic address group based on external threat intelligence. Which PAN-OS feature allows the firewall to automatically update the group members from an external HTTP source?

A.Dynamic User Groups with User-ID
B.Dynamic Address Groups with External Dynamic Lists (EDLs)
C.Static Address Groups with manual updates
D.Application Filters with dynamic updates
AnswerB

External Dynamic Lists (EDLs) allow the firewall to fetch IP addresses or URLs from an external HTTP/HTTPS source at regular intervals. When used with Dynamic Address Groups, the group membership is automatically updated based on the EDL content. This enables real-time enforcement of threat intelligence without manual intervention, exactly matching the requirement.

Why this answer

External Dynamic Lists (EDLs) enable the firewall to periodically fetch lists of IPs or URLs from external sources. When an EDL is referenced in a Dynamic Address Group, the group's members are automatically updated with the EDL content. This provides a seamless way to integrate threat intelligence feeds into security policies without manual updates.

Other features like static groups or user groups do not support external HTTP sources for IP lists.

Exam trap

The trap here is confusing dynamic user groups or application filters with dynamic address groups, but only EDLs provide the external HTTP-based IP list update capability.

4
MCQhard

In a complex automation environment, how can you ensure the integrity of the firewall configuration across multiple automated runs?

A.Using only the CLI.
B.Disabling the API after every run.
C.Performing periodic 'get' requests to verify current state against the desired state.
D.Using only static IP addresses.
AnswerC

Periodic 'get' requests compare the live device state against the desired configuration, detecting drift introduced by out-of-band changes or partial automation runs. This satisfies the integrity requirement across multiple runs by verifying actual state rather than assuming each push succeeded, catching divergence that write-only operations would silently miss.

Why this answer

Regularly fetching and verifying the 'running-config' against a known-good baseline or source-of-truth is critical for integrity.

5
MCQhard

A security engineer is writing a Python script to automate the creation of a security rule on a Palo Alto Networks NGFW using the PAN-OS XML API. The script must ensure that the rule is placed in the correct position in the rulebase and that the configuration is committed. Which sequence of API calls should the script perform?

A.Use 'edit' to create the rule, then 'commit' to apply the changes.
B.Use 'set' to create the rule, then 'commit' with a 'partial' parameter to apply only the rule change.
C.Use 'set' to create the rule with a specific 'loc' attribute, then 'commit' to apply the changes.
D.Use 'set' to create the rule, then 'move' to position it, then 'commit' to apply the changes.
AnswerD

The 'set' action creates the rule in the candidate configuration. The 'move' action is used to position the rule correctly within the rulebase by specifying 'where' and 'dst' parameters. Finally, 'commit' applies the changes to the running configuration. This sequence ensures proper rule placement and activation.

Why this answer

To create and position a security rule via the XML API, the script must first use 'set' to add the rule to the candidate configuration. Then, it must use 'move' with appropriate parameters to specify the rule's position relative to other rules. Finally, 'commit' applies the candidate configuration to the running configuration.

Exam trap

The trap here is assuming that the 'set' action can directly place a rule in a specific position, when in reality a separate 'move' action is required to reorder rules.

6
Multi-Selectmedium

Which TWO actions are required to successfully integrate a new External Dynamic List (EDL)?

Select 2 answers
A.Install an SSL certificate for the list source.
B.Enable threat prevention logs.
C.Configure the refresh interval.
D.Restart the firewall.
E.Define the URL/IP source location.
AnswersC, E

Setting the refresh interval ensures the firewall periodically re-fetches the external list, satisfying the requirement that EDL content stays current without manual intervention. Without a defined interval, the firewall cannot schedule retrieval, so newly published indicators never reach the policy. This is one of the two mandatory configuration actions.

Why this answer

You must define the source URL and set the update frequency in the EDL object.

7
MCQhard

You are troubleshooting a REST API integration issue where the firewall returns '400 Bad Request'. What should you check first?

A.The server's internal firewall status.
B.The request payload syntax.
C.The network latency between client and firewall.
D.The API Key expiry date.
AnswerB

A 400 Bad Request is a client-side syntax error, so the payload's structure, malformed JSON or XML, invalid field names or missing required parameters must be validated first. Checking payload syntax directly addresses the malformed-request constraint the firewall is rejecting before investigating authentication or endpoint issues.

Why this answer

A 400 error indicates that the request sent by the client is malformed or invalid according to the API schema.

8
MCQmedium

When using the Panorama XML API for a batch operation, what is the purpose of the 'type=config' parameter?

A.To commit changes.
B.To export configuration.
C.To perform configuration changes.
D.To fetch operational data.
AnswerC

The type=config parameter directs the Panorama XML API to the configuration subsystem, allowing the request to create, modify or delete configuration objects. This satisfies the stem's requirement for performing configuration changes in a batch operation.

Why this answer

'type=config' is used to perform create, read, update, or delete operations on the device configuration.

9
Multi-Selecthard

Which THREE actions should be performed during a standard automation failure troubleshooting process?

Select 3 answers
A.Validate API key permissions for the target object.
B.Verify the API service status on the firewall.
C.Review system logs for 'auth' or 'API' errors.
D.Update the hardware firmware.
E.Perform a factory reset of the firewall.
AnswersA, B, C

Authorization is a frequent source of failures.

Why this answer

Check logs, verify credentials, and test connectivity to the management interface.

10
MCQmedium

When managing multiple firewalls through Panorama, what is the best way to ensure an automation script performs the same action on all devices in a device group?

A.Looping through each firewall IP.
B.Targeting the device group via the API.
C.Manually logging into each firewall.
D.Using a broadcast address.
AnswerB

Panorama's device group is the logical container that maps one policy or API call to every managed firewall it holds, so a script targeting the device group applies the action consistently across all members without enumerating individual serial numbers or IP addresses.

Why this answer

The API allows targeting the device group directly, which Panorama then propagates to the individual firewalls.

11
Multi-Selecthard

A security automation team is using the PAN-OS XML API to programmatically create and commit a new security policy rule. The script authenticates with an API key and sends an XML document to the /api/ endpoint. The rule is created but does not appear in the running configuration. Which TWO actions must the script perform to make the rule active? (Choose two.)

Select 2 answers
A.Use the <key> element to provide the API key for authentication.
B.Include the <type>config</type> and <action>set</action> elements in the API request.
C.Use the <location> element to define whether the rule is for a shared or device-specific policy.
D.Send a subsequent API request with <action>commit</action> to commit the candidate configuration.
E.Include the <vsys> element to specify the virtual system for the rule.
AnswersB, D

The XML API requires the 'type' and 'action' parameters to specify the operation. For configuration changes, 'type=config' and 'action=set' are mandatory. Without them, the API may accept the request but not apply the change to the candidate configuration. Including these ensures the rule is added to the candidate configuration, which is a prerequisite for it to become active after commit.

Why this answer

To activate a new security rule created via the XML API, the script must first ensure the rule is added to the candidate configuration by including 'type=config' and 'action=set' in the request. Then, a separate commit request with 'action=commit' is required to push the candidate configuration to the running configuration. Without both steps, the rule will not take effect.

Exam trap

The trap here is assuming that creating a rule via the API automatically activates it, when in fact a separate commit operation is always required to apply candidate configuration changes.

12
Multi-Selecthard

Which THREE data sources can an NGFW use to dynamically populate address objects?

Select 3 answers
A.Static IP addresses only.
B.Manual packet captures.
C.External Dynamic Lists.
D.User-ID mapping via agents.
E.API injection.
AnswersC, D, E

External Dynamic Lists are vendor-hosted or self-hosted URL or IP feeds the NGFW polls on a schedule, importing entries straight into address objects without manual edits. This satisfies dynamic population because list changes propagate automatically to policy.

Why this answer

EDLs, User-ID mapping, and API-based injection are primary methods.

13
MCQmedium

An administrator wants to trigger a script automatically when a security policy is matched. Which feature can be used to send a notification to an external web server?

A.SNMP Trap Profile
B.Service Route Configuration
C.Syslog Server Profile
D.Log Forwarding Profile (HTTP destination)
AnswerD

A Log Forwarding Profile with an HTTP destination sends matched-policy logs directly to an external web server, satisfying the automatic notification requirement. Unlike syslog or email, the HTTP destination posts structured payloads to a URL, which can trigger server-side scripts. This is the native mechanism for webhook-style alerting on policy matches.

Why this answer

Log Forwarding Profiles allow for HTTP/S integration to send notifications to webhooks or external servers when a log is generated.

14
MCQeasy

A security engineer needs to retrieve the current running configuration from a Palo Alto Networks firewall using the XML API. The engineer wants to ensure the response is in a structured format that can be easily parsed by a Python script. Which API request type should be used?

A.type=config&action=get&xpath=/config/devices/entry[@name='localhost.localdomain']
B.type=op&cmd=<show><config><running></running></config></show>
C.type=export&category=configuration
D.type=keygen&user=admin&password=admin
AnswerA

The type=config API with action=get and an XPath retrieves the specified configuration subtree in a structured XML format. This is the correct method for programmatic parsing, as it returns elements and attributes that map directly to the configuration hierarchy. It allows precise retrieval of specific sections.

Why this answer

To retrieve configuration data in a structured XML format suitable for parsing, the type=config API with action=get and an XPath is the correct approach. Operational commands return text blobs, keygen is for authentication, and export is for file downloads.

Exam trap

The trap here is assuming that any API call returning XML is equally parseable, when operational commands often embed configuration as a text string within XML.

15
MCQmedium

An administrator is using the PAN-OS REST API to retrieve the list of all security rules in the 'Shared' policy. Which HTTP method and endpoint should be used?

A.GET /restapi/v10.0/Policies/SecurityRules?type=shared
B.POST /restapi/v10.0/Policies/SecurityRules with a JSON body specifying 'location': 'shared'
C.GET /restapi/v10.0/Policies/SecurityRules?location=shared
D.GET /restapi/v10.0/Policies/SecurityRules/Shared
AnswerC

The correct endpoint for retrieving security rules in the Shared location is GET /restapi/v10.0/Policies/SecurityRules?location=shared. The REST API uses the 'location' query parameter to specify the scope, such as 'shared' for shared policies. This returns a JSON list of all security rules, which can be parsed for automation tasks.

Why this answer

The PAN-OS REST API uses the 'location' query parameter to specify the scope for policy retrieval. For shared policies, the value is 'shared'. The correct HTTP method is GET, as it is used to retrieve data without modifying it.

Other methods or parameters would not correctly return the desired list of security rules.

Exam trap

The trap here is using POST or incorrect query parameters, such as 'type' instead of 'location', which would fail to retrieve the correct policy list.

16
MCQmedium

An engineer is writing a Python script using the pan-os-python library to update an address group on a PA-VM firewall. The script must ensure that the change is only staged and not committed until a separate approval process completes. Which method should be used to push the modified configuration to the firewall's candidate configuration?

A.firewall.commit(sync=True)
B.firewall.add(address_group)
C.firewall.op('edit')
D.firewall.apply()
AnswerD

The apply() method pushes the current state of the Python object to the firewall's candidate configuration, staging the change without committing. This matches the requirement to update an address group and defer the commit until approval. It is the standard way to synchronize local object changes to the candidate config in pan-os-python.

Why this answer

The requirement is to stage a configuration change without committing it. The apply() method in pan-os-python synchronizes the local object's state to the firewall's candidate configuration, leaving the commit for a later step. commit() would immediately apply the change, add() only creates new objects, and op() is for operational commands.

Exam trap

The trap here is confusing the method that stages changes to the candidate configuration with the method that commits those changes to the running configuration.

17
MCQmedium

An automation engineer is deploying a new firewall using a bootstrapping process. The engineer needs to ensure that the firewall automatically registers with Panorama and receives its license and configuration after the initial boot. Which component must be included in the bootstrap package to enable automatic registration with Panorama?

A.An init-cfg.txt file with Panorama IP addresses and a registration PIN
B.A license key file obtained from the Palo Alto Networks support portal
C.A VM-Series auth key file
D.A Panorama registration PIN file
AnswerA

The init-cfg.txt file is the core configuration file in a bootstrap package. It can include parameters such as panorama-server, panorama-server-2, and vm-auth-key or registration-pin. When the firewall boots, it reads this file and automatically registers with the specified Panorama servers using the provided PIN, enabling centralized management without manual intervention.

Why this answer

Bootstrap packages streamline initial firewall deployment. The init-cfg.txt file contains essential parameters for zero-touch provisioning, including Panorama server IP addresses and a registration PIN. When the firewall boots, it reads this file and automatically registers with Panorama, allowing centralized management and policy push.

Other files like auth keys or license keys serve different purposes and do not enable Panorama registration.

Exam trap

The trap here is confusing licensing or authentication files with the configuration file that actually contains Panorama server details and registration credentials.

18
Multi-Selectmedium

An engineer is integrating a Palo Alto Networks NGFW with a CI/CD pipeline to automate policy updates. The pipeline uses the XML API and must ensure that changes are validated before committing. Which two actions are required to achieve this? (Choose two.)

Select 2 answers
A.Use type=commit&action=commit to validate the candidate configuration.
B.Use type=op&cmd=<validate><full></full></validate> to validate the candidate configuration.
C.Use type=commit&action=partial to commit only validated changes.
D.Use type=config&action=delete to remove invalid objects before committing.
E.Use type=config&action=set to stage the configuration changes in the candidate configuration.
AnswersB, E

The operational command <validate><full></full></validate> checks the candidate configuration for errors without committing. This is the correct way to validate changes before committing, ensuring that the pipeline can catch issues early. It is a required step for validation.

Why this answer

To validate before committing, the pipeline must first stage changes in the candidate configuration using type=config&action=set, and then run validation using the operational command <validate><full></full></validate>. These two steps ensure that changes are checked for errors before being committed.

Exam trap

The trap here is confusing validation with commit; a commit action applies changes, while a validate command only checks them.

19
MCQeasy

A security team wants Panorama to automatically push a new security policy rule to all managed firewalls as soon as a change is saved in a specific device group. Which Panorama feature should they configure to accomplish this?

A.A dynamic address group that includes the newly created rule's source addresses.
B.A log forwarding profile applied to the device group.
C.A commit trigger that fires when the device group configuration changes.
D.A scheduled commit that runs every five minutes on all managed devices.
AnswerC

Commit triggers in Panorama allow an administrator to define an action, such as a commit to managed devices, that fires when a configuration change is committed in a specified device group or template. This gives event-driven propagation of the new rule as soon as the change is saved and committed on Panorama, satisfying the immediate push requirement.

Why this answer

Commit triggers in Panorama are designed for automated, event-driven configuration pushes. When a change is committed in a device group or template, the trigger can immediately commit that configuration to the managed firewalls, ensuring the new rule takes effect without waiting for a scheduled interval. This is the standard mechanism for near-real-time policy distribution from Panorama.

Exam trap

The trap here is confusing scheduled commits, which run on a timer, with commit triggers, which run in response to a specific configuration event.

20
MCQhard

You are configuring an Auto-Scaling Group in AWS with the VM-Series. During the bootstrap process, which file is mandatory to ensure the firewall registers with Panorama successfully?

A.license.txt
B.init-cfg.txt
C.bootstrap.xml
D.config.cfg
AnswerB

The init-cfg.txt file is mandatory because it supplies the bootstrap parameters — including the Panorama IP address, device group, and template stack — that the VM-Series reads at first boot to register with Panorama. Without it, the firewall boots with no management-plane configuration and cannot authenticate to Panorama.

Why this answer

The 'init-cfg.txt' file is required for bootstrapping and contains the Panorama IP and authorization key to register the VM.

21
MCQhard

A security automation script uses the XML API to retrieve logs from a Palo Alto Networks firewall. The script needs to filter logs for a specific source IP and time range. Which API request correctly retrieves the filtered logs?

A.type=config&action=get&xpath=/config/devices/entry[@name='localhost.localdomain']/log-settings
B.type=log&log-type=traffic&query=(addr.src in 10.1.1.1) and (receive_time geq '2023/01/01 00:00:00')
C.type=export&category=traffic&filter=src-10.1.1.1
D.type=op&cmd=<show><log><traffic><query>(addr.src in 10.1.1.1)</query></traffic></log></show>
AnswerB

The type=log API with log-type=traffic and a query parameter allows filtering logs by source address and time range. The query syntax uses the same as the firewall's log filter, with 'addr.src in' for source IP and 'receive_time geq' for time. This correctly retrieves the filtered logs.

Why this answer

The correct API for retrieving filtered logs is type=log with log-type and a query parameter. The query uses the firewall's log filter syntax to specify source IP and time range. Operational commands have a different structure, and config or export APIs are not for log retrieval.

Exam trap

The trap here is assuming that any API call that mentions logs will return log entries, when in fact only type=log is designed for that purpose.

22
Multi-Selectmedium

Which TWO types of files can be included in a bootstrap package?

Select 2 answers
A.init-cfg.txt
B.Hardware drivers.
C.SSL Certificate private key.
D.Binary user database.
E.Firmware/Software image.
AnswersA, E

init-cfg.txt is the bootstrap configuration file holding management interface settings, IP addresses, and licensing details. The firewall reads it on first boot to self-configure, which is precisely why it qualifies as an includable bootstrap package file type.

Why this answer

Init-cfg.txt and software images are common components of bootstrap packages.

23
MCQhard

When automating log forwarding to an external SIEM, what is the best practice regarding the management plane load?

A.Enable debug logging on all policies.
B.Increase the log rate limit on the firewall.
C.Use Log Collectors to offload log processing.
D.Send logs via serial console.
AnswerC

Log Collectors receive and process logs from managed firewalls, then forward them to the SIEM, so the management plane avoids the CPU and session overhead of parsing and exporting high-volume traffic, threat and URL logs. This offloads log processing, satisfying the constraint of protecting management plane resources.

Why this answer

Offloading log management to dedicated log collectors or using efficient forwarding profiles prevents management plane degradation.

24
MCQmedium

A security engineer needs to programmatically create a new address object in a Palo Alto Networks NGFW using the XML API. The engineer authenticates with an API key and sends a POST request to /api/?type=config&action=set&xpath=/config/devices/entry/vsys/entry[@name='vsys1']/address&element=<entry name='WebServer'><ip-netmask>10.1.1.5/32</ip-netmask></entry>. The API returns a success response. However, the address object does not appear in the candidate configuration when checked via the web interface. What is the most likely cause?

A.The API key used lacks the necessary permissions to modify the candidate configuration, so the change was silently discarded.
B.The API request must include the parameter &commit=true to apply the change to the candidate configuration.
C.The XML API requires a two-step process: first create the object with action=set, then activate it with action=enable.
D.The xpath specified is incorrect for the target vsys, so the object was created in a different location or not at all.
AnswerD

The xpath must exactly match the configuration hierarchy. If the vsys name is misspelled or the path is wrong, the object may be created in a different vsys or the request might succeed but not affect the intended vsys. The engineer should verify the vsys name and the full xpath. A success response does not guarantee the object is in the expected location.

Why this answer

The XML API's set action writes directly to the candidate configuration. A success response indicates the request was syntactically valid and processed, but it does not confirm the object is in the expected vsys. The xpath must accurately reflect the target vsys and hierarchy.

A mismatch can cause the object to be created elsewhere or the request to succeed without the desired effect. Verifying the xpath and checking the candidate config in the correct vsys resolves the issue.

Exam trap

The trap here is assuming that a success response from the XML API guarantees the object is in the intended location, when in fact the xpath determines the exact placement and a wrong path can still yield success.

25
MCQeasy

An administrator wants to use a script to back up firewall configurations daily. Which management interface service must be enabled to allow the script to download the config file?

C.XML API
D.SSH
AnswerC

The XML API exposes configuration retrieval operations over HTTPS, allowing a script to authenticate and download the running configuration file programmatically. Enabling this service satisfies the requirement for automated daily backups without using the web GUI.

Why this answer

The XML API is the standard method for scripts to programmatically export configurations (running-config).

26
MCQhard

A security team is integrating a Next-Generation Firewall with an orchestration platform using the XML API. The platform needs to retrieve the current running configuration of a specific security policy rule named 'Allow-Web'. Which API request should the engineer use?

A.GET /api/?type=op&cmd=<show><running-config><security-policy><rule>Allow-Web</rule></security-policy></running-config></show>
B.GET /api/?type=op&cmd=<show><config><running><security><rules><entry name='Allow-Web'></entry></rules></security></running></config></show>
C.GET /api/?type=config&action=show&xpath=/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='Allow-Web']
D.GET /api/?type=config&action=get&xpath=/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='Allow-Web']
AnswerD

This request uses the config API with the get action and an XPath that precisely targets the security rule named 'Allow-Web' within the vsys1 rulebase. It returns the rule's configuration from the running configuration. The XPath correctly navigates the configuration hierarchy, making it the right choice for retrieving a specific policy rule's settings.

Why this answer

The XML API's config type with the get action allows retrieval of specific configuration objects using an XPath expression. The XPath must accurately reflect the configuration hierarchy, including the device entry, vsys, and the path to the security rule. This method returns the exact rule configuration without requiring a full configuration dump.

It is the most efficient and precise way to fetch a single policy rule's settings.

Exam trap

The trap here is confusing the config API with the operational API, and using an invalid action like 'show' instead of 'get' for configuration retrieval.

27
MCQeasy

An administrator needs to quickly identify if an API call was successful from the firewall side. Which log should be reviewed?

A.Traffic logs
B.System logs
C.Threat logs
D.URL logs
AnswerB

System logs record management-plane events, including API calls made to the firewall, capturing their success or failure status directly. This satisfies the requirement to quickly identify whether an API call succeeded, since the API interaction is a system-level administrative event rather than traffic, threat, or URL filtering data.

Why this answer

The 'System' logs contain entries for web interface and API interactions.

28
MCQmedium

Which feature allows an NGFW to dynamically update security objects based on an external feed such as an IP list or URL list?

A.User-ID Mapping
B.Log Forwarding Profiles
C.External Dynamic Lists
D.Dynamic Address Objects
AnswerC

External Dynamic Lists let the firewall periodically fetch an IP or URL list from an external server and reference it directly in policy, so objects update automatically as the feed changes. This satisfies the requirement for dynamic, feed-driven object updates without manual edits.

Why this answer

External Dynamic Lists (EDL) allow the firewall to consume lists from external web servers and use them in policies automatically.

29
MCQmedium

An engineer is automating a Next-Generation Firewall to dynamically register IP addresses from a custom cloud inventory system. The solution must update a Dynamic Address Group (DAG) using the XML API. After authenticating, the engineer sends a request to the /api/?type=user-id&action=set endpoint with an XML payload containing <entry ip="10.1.1.5" persistent="0"/> inside a <register> tag. The API responds with success, but the address does not appear in the DAG. What is the most likely cause?

A.The API key used for authentication does not have permissions to modify User-ID entries.
B.The XML payload must include a <tag> element specifying the DAG's tag name.
C.The persistent attribute must be set to 1 for the address to appear in the DAG.
D.The API call must use the /api/?type=config&action=set endpoint to modify DAG membership.
AnswerB

For an IP address to be registered into a Dynamic Address Group, the XML API payload must include a <tag> element that matches the tag defined in the DAG's match criteria. Without a tag, the firewall cannot associate the address with any DAG. The register action alone adds the IP to the User-ID table, but the tag is what links it to the DAG.

Why this answer

Dynamic Address Groups rely on tags to map registered IP addresses to the correct group. The User-ID API's register action adds an IP to the User-ID table, but the DAG only includes addresses that carry the tag specified in the group's match criteria. The payload must include a <tag> element with the appropriate tag name.

Without it, the address is registered but not associated with any DAG.

Exam trap

The trap here is assuming that a successful API response means the address was correctly added to the Dynamic Address Group, when in fact the tag element is mandatory for DAG membership.

30
MCQmedium

An administrator is using Terraform to manage Palo Alto Networks security policies. Which provider resource is used to create a security rule?

A.panos_firewall_rule
B.panos_policy_rule
C.panos_security_policy
D.panos_security_rule
AnswerD

The panos_security_rule resource in the Palo Alto Networks Terraform provider declares a security policy rule, mapping its attributes to the firewall's rulebase. Applying it creates or updates the rule, which is the correct resource for this task.

Why this answer

The 'panos_security_rule' resource is the standard Terraform resource for managing security policies on Palo Alto Networks devices.

31
MCQhard

In an AWS Lambda function automating firewall changes, why should you use the 'pan-os-python' library with 'xapi' directly rather than the higher-level classes?

A.To avoid installing dependencies.
B.To reduce latency and overhead in serverless environments.
C.Because higher-level classes are not compatible with Python.
D.To bypass authentication requirements.
AnswerB

The xapi interface issues direct XML API calls, bypassing the object model's class instantiation, validation and dependency resolution. In AWS Lambda, where cold starts and execution time are billed, this lowers latency and memory overhead, satisfying the serverless efficiency constraint that higher-level classes cannot meet.

Why this answer

In serverless environments like Lambda, managing long-lived sessions or complex object hierarchies is often less efficient than raw XML requests via XAPI.

32
MCQmedium

When utilizing the Panorama plugin for AWS, what is the primary benefit of the 'S3 bucket' integration for log ingestion?

A.It provides a scalable destination for log archival and external analysis.
B.It enables real-time packet inspection of S3 traffic.
C.It automatically updates the device's software version.
D.It acts as a primary firewall policy source.
AnswerA

The S3 bucket integration offloads logs to Amazon S3, giving a scalable, durable destination for log archival and external analysis. This satisfies the requirement for long-term retention and third-party tooling without consuming local firewall or Panorama storage.

Why this answer

The S3 integration allows the firewall to offload logs to cloud storage, providing long-term retention and cost-effective storage for compliance without requiring local disk expansion.

33
MCQhard

You are automating firewall policy updates using the XML API. You have successfully authenticated and retrieved an API key. When attempting to perform an 'edit' operation on a security policy, the API returns an 'Invalid Object' error, even though the object exists in the GUI. What is the most likely cause?

A.The API key does not have the 'Superuser' role.
B.The XPath in the API call does not correctly specify the Device Group or Vsys context.
C.The XML document must be wrapped in a <request> tag.
D.The API service is disabled on the management interface.
AnswerB

The XML API requires the XPath to include the correct Device Group or Vsys container, since the same object name can exist in multiple contexts. Omitting or mis-specifying that context causes the API to resolve a non-existent object, producing the 'Invalid Object' error despite the object appearing in the GUI.

Why this answer

The XML API requires precise XPath syntax. If the object exists in the GUI but the API fails, it is often due to the object being nested within a specific Device Group or Vsys that was not properly specified in the XPath.

34
MCQeasy

What is the default port for the Panorama XML API?

A.80
B.22
C.8080
D.443
AnswerD

The Panorama XML API listens on TCP port 443 by default, serving HTTPS requests for configuration, operational commands and commit operations. Port 443 satisfies the default secure web access constraint, distinguishing it from the SSH management port 22 used for CLI access.

Why this answer

The XML API operates over the standard HTTPS port, 443.

35
MCQeasy

Which file type is required for an External Dynamic List (EDL) to function correctly?

A.Plain text (.txt)
B.Binary (.bin)
C.Executable (.exe)
D.Encrypted (.zip)
AnswerA

An External Dynamic List must be served as a plain text file containing one IP address, CIDR block, URL or domain per line, which the firewall parses on each refresh. Other formats such as CSV, JSON or XML are not parsed, so plain text satisfies the EDL ingestion constraint.

Why this answer

EDLs expect raw text files formatted appropriately for the list type, accessible via HTTP/HTTPS.

36
MCQhard

An administrator is using the 'pan-os-python' library to automate address object creation. The script succeeds, but objects do not appear in the GUI. What is missing?

A.The object is hidden in the GUI.
B.The API key has insufficient scope.
C.The object was not defined as a constant.
D.The 'commit()' method was not called.
AnswerD

The pan-os-python library stages configuration changes in the candidate configuration, which remains invisible in the GUI until committed. Calling commit() pushes the candidate configuration to the running configuration, satisfying the requirement that objects appear in the GUI. Without it, the API call succeeds but nothing is applied.

Why this answer

The script modifies the candidate configuration; a 'commit' must be performed to push those changes to the running configuration.

37
MCQeasy

Which Palo Alto Networks tool provides a programmatic interface to automate firewall configuration and operational tasks via Python?

A.GlobalProtect API
B.ACC (Application Command Center)
C.Pan-python
D.Panorama XML CLI
AnswerC

Pan-python is a third-party Python library that wraps the PAN-OS XML API, letting scripts authenticate and issue configuration or operational commands directly to firewalls. It satisfies the stem's requirement for a programmatic Python interface, unlike GUI-only tools or CLI utilities that lack native Python bindings.

Why this answer

Pan-python is the standard library provided by Palo Alto Networks for interacting with the XML API using Python.

38
MCQhard

An automation script uses the PAN-OS XML API to modify a security rule. After a successful edit request, the script immediately calls the commit endpoint, but the firewall commits an older version of the rule than the script intended. The script does not use a candidate configuration lock. What is the most likely cause?

A.The firewall rejected the edit because the rule name already existed and the API returned a success code while ignoring the change.
B.Another administrator or automation process changed the candidate configuration between the script's edit and its commit, and the commit included that other change.
C.The edit request was applied to the running configuration instead of the candidate configuration.
D.The commit endpoint requires an API key with superuser role, and the script's key lacks the necessary permission, so the commit silently reverted the change.
AnswerB

Without a config lock, multiple sessions can modify the same candidate configuration. If another session edited the rule after the script's edit but before the commit, the commit captures the candidate as it exists at commit time, which may reflect the other session's change. The script's edit is overwritten or superseded, so the committed rule is not what the script intended.

Why this answer

The candidate configuration is shared among management sessions, and the commit operation commits whatever is in the candidate at the moment it runs. Without acquiring a config lock, a script's edit can be interleaved with changes from another session, and the subsequent commit will include those other changes. Locking the candidate before editing and releasing it after committing prevents this race condition.

Exam trap

The trap here is assuming an edit is atomic with the commit, when in fact the shared candidate can be modified by other sessions between the edit and the commit unless a config lock is held.

39
MCQmedium

A company uses a SOAR platform to enrich and block indicators of compromise. The SOAR playbook must add malicious IP addresses to an External Dynamic List (EDL) hosted on an internal web server that the firewall already consumes. Which action should the playbook take?

A.Use the SOAR platform to push a new security policy rule directly to the firewall for each malicious IP.
B.Configure the SOAR platform as a syslog target and send the IPs as log entries for the firewall to parse.
C.Update the file on the internal web server that the firewall retrieves as the EDL source.
D.Call the firewall XML API to create a new address object for each IP and add it to a security policy rule.
AnswerC

An External Dynamic List is populated by fetching a file from a configured URL on a schedule. Adding the new IPs to that file and letting the firewall refresh the list is the intended, low-overhead integration. The firewall picks up the change on its next refresh interval without a configuration commit, so the playbook only needs to write to the source file.

Why this answer

External Dynamic Lists are designed for exactly this use case: a firewall retrieves a list from an HTTP or HTTPS URL on a refresh interval, and any change to the source file is picked up automatically without a commit. A SOAR playbook can simply append or rewrite the file on the internal web server, and the firewall will enforce the new indicators after its next refresh. This keeps policy static and indicator management dynamic.

Exam trap

The trap here is reaching for a firewall API or policy change when the EDL mechanism already provides a commit-free way to add indicators by updating the source file.

40
MCQhard

A cloud automation team is deploying VM-Series firewalls in AWS using Terraform. They need to bootstrap the firewalls with a Panorama server configuration. The team wants to ensure the firewalls automatically connect to Panorama upon deployment. Which file must be included in the bootstrap package to specify the Panorama server IP address and auth key?

A.bootstrap.xml
B.auth-key.txt
C.init-cfg.txt
D.panorama-config.txt
AnswerC

The init-cfg.txt file is the bootstrap configuration file for VM-Series firewalls. It contains parameters such as panorama-server, panorama-server-2, and auth-key, which are used to connect to Panorama. Placing this file in the bootstrap package ensures the firewall registers with Panorama automatically during initial boot.

Why this answer

For VM-Series firewalls, the init-cfg.txt file is the correct bootstrap configuration file. It includes parameters like panorama-server and auth-key that enable automatic registration with Panorama. Other filenames are not recognized by the bootstrap process, so they would not achieve the desired automatic connection.

Exam trap

The trap here is assuming that any configuration file with a descriptive name will work, when in fact the bootstrap process requires the specific filename init-cfg.txt.

41
MCQmedium

A security engineer is using the PAN-OS XML API to update the description of an existing address object named 'WebServer' in the 'Shared' location. The API request is sent with the correct API key and the following XPath: /config/shared/address/entry[@name='WebServer']. The server responds with a '403 Forbidden' error. What is the most likely cause?

A.The API request is missing the required 'type=config' parameter.
B.The XPath is malformed and does not match any existing object.
C.The admin account used to generate the API key lacks write permission for the 'Shared' location.
D.The API key is invalid or expired.
AnswerC

A 403 Forbidden error indicates that the server understood the request but refuses to authorize it. Since the API key is correct, the issue is likely that the admin role associated with the key does not have write access to the 'Shared' location. By default, admin roles may have read-only access to certain areas, and modifying objects requires appropriate permissions.

Why this answer

The 403 Forbidden response indicates an authorization failure. Even with a valid API key, the admin account's role must have write permission for the target location. In this case, the 'Shared' location requires sufficient privileges to modify address objects.

Checking the admin role's permissions and ensuring it includes write access to the relevant configuration area resolves the issue.

Exam trap

The trap here is assuming that a valid API key automatically grants full access, when in fact role-based permissions still apply.

42
MCQmedium

A security automation team uses the PAN-OS XML API to programmatically create a new security policy rule. The script authenticates with an API key and sends a POST request to the firewall. The API returns a success status, but the rule does not appear in the web interface. What is the most likely reason?

A.The API key has expired and needs to be regenerated.
B.The rule was created in the wrong virtual system (vsys).
C.The firewall requires a reboot to apply new security rules.
D.The rule was added to the candidate configuration but not committed.
AnswerD

The PAN-OS XML API modifies the candidate configuration by default. A success response means the change was staged, but it is not active until a commit is performed. The rule will not appear in the web interface's running configuration until committed. This is a common oversight in automation scripts.

Why this answer

The PAN-OS XML API writes to the candidate configuration. A successful API response only confirms that the configuration was staged. To make the rule active and visible in the running configuration, a commit operation must be performed.

The web interface shows the running configuration by default, so without a commit, the new rule will not appear. This is a frequent pitfall in automation workflows.

Exam trap

The trap here is assuming that a successful API response means the change is immediately active; many forget that PAN-OS uses a candidate configuration model requiring an explicit commit.

43
Multi-Selecthard

A security automation team is integrating a Palo Alto Networks NGFW with a third-party orchestration platform. The platform requires the firewall to send logs to an external syslog server for correlation. The team must configure the firewall to forward traffic logs to the syslog server. Which two configuration elements are required on the firewall to forward traffic logs to an external syslog server? (Choose two.)

Select 2 answers
A.An SSL/TLS certificate for syslog communication
B.A decryption policy to inspect syslog traffic
C.A security policy rule with logging enabled at session end
D.A syslog server profile defining the server IP address and port
E.A log forwarding profile that matches traffic logs and references the syslog server profile
AnswersD, E

A syslog server profile is required to specify the destination server's IP address, port, and other parameters such as facility and format. Without this profile, the firewall does not know where to send the logs. The profile is referenced in the log forwarding configuration. Therefore, this is a necessary element for forwarding traffic logs to an external syslog server.

Why this answer

To forward traffic logs to an external syslog server, the firewall requires a syslog server profile that defines the server's address and port, and a log forwarding profile that matches traffic logs and references that syslog profile. The log forwarding profile is then attached to security policies. Enabling logging on a rule generates logs but does not forward them externally.

Certificates and decryption policies are not required for basic syslog forwarding.

Exam trap

The trap here is thinking that enabling logging on a security rule is sufficient to forward logs externally, when actually a log forwarding profile and syslog server profile are needed.

44
Multi-Selecthard

A security engineer is automating the deployment of security policies using Panorama and the PAN-OS XML API. The engineer must ensure that the API calls are properly authenticated and that the changes are committed to the managed firewalls. Which TWO steps are required to successfully push the configuration to the managed devices? (Choose two.)

Select 2 answers
A.Generate an API key on Panorama using an admin account with sufficient privileges.
B.Use the 'set' action to modify the device group configuration directly on each managed firewall.
C.Use the 'validate' action to ensure the configuration is valid before committing.
D.Use the 'commit' action with the 'partial' parameter to commit only the policy changes to the managed devices.
E.Use the 'commit-all' action to push the configuration to the managed firewalls.
AnswersA, E

Generating an API key on Panorama is necessary for authenticating subsequent API calls. The admin account must have permissions to modify and commit configurations. Without a valid API key, the API requests will be rejected, so this step is essential for automation.

Why this answer

To automate policy deployment with Panorama, first generate an API key for authentication. Then, after modifying the candidate configuration on Panorama, use the 'commit-all' action to push the changes to the managed firewalls. This ensures the policies are applied to the devices.

Exam trap

The trap here is confusing 'commit' with 'commit-all'; 'commit' applies changes locally on Panorama, while 'commit-all' is required to push to managed devices.

45
MCQeasy

A security engineer is writing a Python script to automate the creation of address objects on a Next-Generation Firewall using the PAN-OS XML API. The script must authenticate using an API key. Which HTTP header should be used to pass the API key in the request?

A.Authorization: Bearer <API_KEY>
B.key=<API_KEY> as a query parameter
C.X-API-Key: <API_KEY>
D.X-PAN-KEY
AnswerB

The PAN-OS XML API requires the API key to be included as a query parameter named 'key' in the request URL. For example, https://firewall/api/?type=config&key=APIKEY. This is the standard method for authenticating API requests. It is simple and effective, though it requires securing the API key in scripts and transmission via HTTPS to prevent interception.

Why this answer

The PAN-OS XML API authenticates requests using an API key passed as a query parameter named 'key'. This is the documented and supported method. Other headers like Authorization or X-API-Key are not used.

The API key must be included in every request, and it is recommended to use HTTPS to protect the key during transmission.

Exam trap

The trap here is assuming that standard authentication headers like Authorization or X-API-Key are used, when the PAN-OS XML API specifically requires the key as a query parameter.

46
Multi-Selectmedium

Which TWO methods can be used to update the security policy on a Palo Alto Networks NGFW programmatically?

Select 2 answers
A.FTP configuration upload.
C.XML API.
D.SNMP SET commands.
E.Serial console access.
AnswersB, C

The REST API exposes policy objects as URI-addressable resources, letting scripts create, read, update and delete security rules over HTTPS. This satisfies the stem's programmatic-update constraint without requiring the web UI or manual CLI sessions.

Why this answer

The XML API and the REST API (on newer versions) are the primary programmatic methods.

47
MCQhard

When using the Panorama API to push a configuration, what is the 'xpath' parameter used for?

A.To define the XML path of the object to modify.
B.To set the commit message.
C.To authenticate the API session.
D.To specify the target firewall IP.
AnswerA

The xpath parameter carries the XML location path identifying which configuration node the API call reads or edits, so the request targets the exact object rather than the whole candidate configuration. This satisfies the need to specify precisely which object to modify when pushing configuration through Panorama.

Why this answer

The 'xpath' specifies the exact location in the configuration hierarchy where the change is being applied.

48
MCQmedium

You are configuring an External Dynamic List (EDL) on the firewall. What is the required format for the list file?

B.XML
C.CSV
D.Plain text
AnswerD

External Dynamic Lists are ingested as plain text, with one IP address, CIDR block, URL or domain per line. This satisfies the EDL format constraint, since the firewall parses simple line-delimited entries rather than JSON, XML or CSV structures.

Why this answer

EDLs must be text files containing entries separated by newlines, with specific formatting depending on the type (IP, Domain, or URL).

49
Multi-Selectmedium

Which TWO protocols are commonly used for log forwarding to SIEMs?

Select 2 answers
AnswersB, E

HTTPS provides encrypted, TLS-protected transport over TCP port 443, letting firewalls and collectors forward log events across untrusted networks to SIEM endpoints without exposing plaintext payloads. It is widely supported by syslog and API-based forwarders as a secure alternative to cleartext syslog.

Why this answer

Syslog (E) is correct because it is the de facto standard protocol for forwarding log and event messages from network devices, servers, and appliances to a central SIEM collector, typically over UDP/TCP port 514 or TLS port 6514. HTTPS (B) is correct because many SIEM and log-ingestion APIs accept log data over HTTPS (TCP 443), providing encryption and authentication for agent- or API-based forwarding. DNS (A) is a name-resolution protocol, not a log transport, so it does not belong.

ICMP (C) is used for diagnostics and error messaging (e.g., ping), not log delivery. Telnet (D) is a cleartext remote-terminal protocol and is not used for forwarding logs to SIEMs.

50
MCQmedium

You need to automate the retrieval of URL filtering logs from the firewall. Which API endpoint type is used to execute a 'show' command?

A.type=op
B.type=show
C.type=log
D.type=config
AnswerA

Operational commands, including 'show' commands, are executed through the type=op endpoint, which runs CLI-style operational requests rather than configuration changes. This satisfies the requirement to retrieve URL filtering logs, since log retrieval is an operational action, not a config edit.

Why this answer

The 'op' type is used to execute operational commands, including 'show' commands to retrieve logs or status.

51
MCQhard

If a Python script interacting with the XML API experiences '503 Service Unavailable', what is the most likely reason?

A.The Management Plane is overloaded.
B.The endpoint is incorrect.
C.The API Key is invalid.
D.SSL handshake failed.
AnswerA

A 503 response indicates the Management Plane cannot service the request, typically because it is overloaded by too many concurrent API calls or heavy tasks. This satisfies the scenario by identifying management-plane saturation, not a credential or syntax fault, as the cause.

Why this answer

A 503 error often indicates that the management plane is overloaded, or the XML API service is busy processing a previous command.

52
MCQhard

In a cloud-init deployment, which directory must the bootstrap package be placed for the VM-Series firewall to automatically detect and process it during the first boot?

A./var/bootstrap/
B./config/bootstrap/
C./etc/bootstrap/
D./opt/paloalto/
AnswerB

The VM-Series firewall's cloud-init routine scans /config/bootstrap/ during first boot, automatically detecting and processing any bootstrap package placed there. This satisfies the stem's requirement for automatic detection without manual intervention, since the firewall's init scripts explicitly target that directory rather than /opt or /var paths.

Why this answer

The VM-Series looks for a specific directory structure on the attached storage device, starting with '/config/bootstrap/'.

53
MCQhard

An automation engineer is using the PAN-OS XML API to modify an existing security policy rule. The script retrieves the current rule configuration, changes the action from 'allow' to 'deny', and sends the updated XML back to the firewall. However, the API returns an error indicating that the rule already exists. What is the most likely cause?

A.The API call must use the 'set' action instead of 'edit' to modify existing objects.
B.The firewall requires a commit before any modifications can be made to existing rules.
C.The API key lacks the necessary permissions to modify security rules.
D.The script is attempting to create a new rule instead of modifying the existing one because it omitted the rule's unique identifier in the XPath.
AnswerD

To modify an existing rule, the XPath must target the specific rule entry, typically by including the rule name in the path, e.g., /config/devices/entry/vsys/entry/rulebase/security/rules/entry[@name='rule1']. If the script omits the name, the API may interpret it as a request to create a new rule, leading to an 'already exists' error if the name conflicts.

Why this answer

When modifying an existing rule via the XML API, the XPath must uniquely identify the rule, usually by including the rule name in a predicate. If the script omits the name, the API may treat the request as a creation attempt, resulting in an 'already exists' error. The correct approach is to use the 'edit' action with an XPath that targets the specific rule entry, ensuring the modification applies to the intended rule.

Exam trap

The trap here is assuming that any API call to modify a rule will work without specifying the rule's name; forgetting the unique identifier leads to creation attempts and conflicts.

54
Multi-Selecthard

Which THREE configuration items are required in the 'init-cfg.txt' file for a VM-Series firewall to join a Panorama server?

Select 3 answers
A.proxy-server
B.panorama-server
C.tplname
D.dgname
E.dhcp-client
AnswersB, C, D

Required to point to the Panorama IP.

Why this answer

The Panorama IP, the serial number (or auth code), and the device group are standard parameters.

55
MCQeasy

Which CLI command displays the API key if already generated for an admin?

A.show admin api-key
B.show config running
C.debug management-plane show-keys
D.The API key cannot be retrieved via CLI.
AnswerD

Panorama and PAN-OS store only a hashed representation of the API key, so the plaintext value cannot be displayed after generation. The CLI offers no retrieval command, meaning the key must be regenerated if lost.

Why this answer

Actually, the API key is never displayed via CLI once created. The admin must regenerate it if forgotten.

56
MCQeasy

A security engineer needs to retrieve the current running configuration from a Palo Alto Networks firewall using the XML API. Which API request type should be used?

A.type=op&cmd=<show><config><running></running></config></show>
B.type=export&category=configuration
C.type=config&action=show
D.type=config&action=get
AnswerB

The export API type with category=configuration retrieves the full running configuration in XML format. This is the correct method to obtain the entire configuration. It is commonly used for backups or analysis. The response includes the complete configuration, which can be saved or processed further.

Why this answer

To retrieve the full running configuration via the XML API, the export type with category=configuration is used. This returns the entire configuration in XML. Other methods like config get or op commands are for specific elements or operational tasks, not for exporting the complete running config.

Exam trap

The trap here is assuming that the config get action retrieves the entire configuration, when it only retrieves specified portions.

57
MCQeasy

What is the primary benefit of using Panorama templates for automation?

A.They replace the need for API access.
B.They automatically update firewall firmware.
C.They provide a single point to manage shared network configuration.
D.They automate the hardware installation process.
AnswerC

Templates hold shared network and device settings that Panorama pushes to many managed firewalls, so one edit propagates everywhere. This satisfies the automation benefit by removing per-firewall duplication, giving a single point to manage shared network configuration across the estate.

Why this answer

Templates allow for centralized network configuration management, ensuring consistency across firewalls.

58
MCQmedium

What is the purpose of the 'Pan-OS-Python' library's 'refresh_from_candidate' method?

A.To delete the configuration object.
B.To sync the Python object with the firewall's config.
C.To save the running config.
D.To commit the changes to the device.
AnswerB

The refresh_from_candidate method re-reads the firewall's candidate configuration and updates the local Python object's attributes to match it, discarding stale local values. This synchronises the Python object with the firewall's config, satisfying the constraint of reflecting uncommitted candidate changes in automation scripts.

Why this answer

This method updates the local Python object state to match the firewall's current candidate configuration.

Ready to test yourself?

Try a timed practice session using only Integration And Automation questions.

CCNA Integration And Automation Questions | Courseiva