Giter Club home page Giter Club logo

prisma-access-skillets's Introduction

Prisma Access Skillets

A suite of deployment, configuration, and service information skillets for Prisma Access Service Setup, Mobile Users, and Remote Networks including:

* Panorama instantiation in Azure or AWS
* Panorama licensing, content updates, sw updates, and basic configuration
* Prisma Access service setup, mobile user, and remote network configuration/onboarding
* Prisma Access API queries to view service information

The skillets are grouped into functional Collections:

* Prisma Access Deploy Panorama: initial cloud deployment and setup (licensing, updates, plugin)
* Prisma Access Configure Service Setup: initial Prisma Access infrastructure configuration
* Prisma Access Configure Mobile Users: mobile user configuration elements
* Prisma Access Configure Remote Network: remote network configuration elements
* Prisma Access Assess Tools: utilities for post-configuration information

Prerequisites

License Activation and Customer Support Portal SuperUser Access

This is used to ensure Panorama can be dynamically licensed in Step 3. Also required is superuser access to generate the One Time Password (OTP) to authorize Panorama connectivity to the cloud instance.

See How to Activate Cortex Data Lake and Prisma Access for Evals if additional information needed for license activation.

Accept the EULA for Panorama in Azure or AWS

In the Azure Portal, open Azure Cloud Shell and run the following command (BASH ONLY!):

# Accept VM-Series EULA for desired currently-available version of Panorama (see above command for urn)
$ az vm image terms accept --urn paloaltonetworks:panorama:byol:8.1.2

For AWS, visit this link to accept the EULA: https://aws.amazon.com/marketplace/pp?sku=eclz7j04vu9lf8ont8ta3n17o

Ensure you have the latest Panhandler

For GUI driven deployments using docker containers, ensure you have the latest Panhandler installed on your machine. The only requirement for Panhandler is Docker.

$ curl -s -k -L http://bit.ly/2xui5gM | bash

You can reference the panHandler Quick Start Guide for more information about using panHandler to import and run skillets.

Deployment

Step 1 - Deploy Panorama

First, Choose which public cloud you will use for Panorama Deployment. Currently suppored options are:

  • Azure
  • AWS

Second, the skillet uses a set of Terraform templates to deploy a new Panorama instance.

Ensure the region selected supports the required image type

Azure Products by Region gives information about Azure VM compute resources per region.

Step 2 - Initial Panorama Setup

Initial Panorama staging is done using Ansible playbooks. Includes:

* DNS and NTP configuration
* Licensing
* Content and Software Updates
* Prisma Access Plug-in installation
* Changed Cloud Services Plugin to 1.6.0

Panorama is upgraded to version 9.0.7

Cloudservice plugin 1.5.0 is installed

Step 2.1 - Verify the Cloud Plugin using the One Time Password (OTP)

Before configuring Panorama, you must generate the OTP in the Customer Support Portal and add to Panorama

* Access the Customer Support Portal (Must be a SuperUser) and generate the OTP
* Go to Panorama > Cloud Services > Configuration and Click ```Verify```
* Paste in the OTP and Submit

Serivce Setup Configuration

Step 1 - Initial Prisma Access Configuration

Prior to this step enter the Prisma Access OTP using the Panorama Web UI

Add the service infrastructure subnet and BGP AS.

Mobile User Configuration

Step 1 - Generate Config File and Import to Panorama

This skillet will capture configuration web form data and then generate a full xml config file that is then imported to Panorama. This file will be referenced in Steps 5 and 6 using load config partial to merge configuration elements into the candidate configuration.

The default filename for import is prisma_access_full_config.xml

If API access is not available, use the Manual skillet option to generate a configuration file to import to Panorama

Step 2 - Initial Load Config Partial for Service Setup

After the file is imported, this skillet will configure service setup and add the mobile user template

At the completion of Step 2 a Panorama commit is required before proceeding to step 3

Step 3 - Generate Certificates and Complete Mobile User Configuration

COMMIT to Panorama before running step 3

This skillet will run through a series of load config partial commands and a certificate generation to:

* Configure Mobile User Setup and Onboarding
* Generate certificates used as part of onboarding configuration

At the completion of Step 3 commit to Panorama and push the configuration to Prisma Access

GUI instructions to commit the changes and push to Prisma Access are found in the Admin Guide

Optional non-API Config File Generation

If API access to Panorama is not available, the following steps can be used as an alternative to steps 1, 2, and 3.

  1. Run the Optional Manual skillet to generate a config file
  2. Copy the xml file output to a file with name prisma_access_full_config.xml
  3. Import the file to Panorama (Panorama > Setup > Operations)
  4. Use the CLI and follow the manual steps for load config partial

Remote Network Configuration

Initial Remote Network configuration and per-site onboarding.

Step 1 - Initial Configuration

Setup the device-group, template, template-stack, and zone configuration.

Step 2 - Site Onboarding

Configure the IKE/IPSEC crypto profiles, IKE gateway, IPSEC tunnel, and plugin onboarding.

Details for each elements can be found by reviewing the Remote Network onboarding skillet content.

Assess

Retrieve Service Information

The details for using the API and information returned are found in the Admin Guide

As an alternative to the curl commands and generating and update the option.txt file, this skillet creates a simple web interface to input the API key and capture user selections for the arguments and choices.

The output of the API is shown on screen.

Support Policy

The code and templates in the repo are released under an as-is, best effort, support policy. These scripts should be seen as community supported and Palo Alto Networks will contribute our expertise as and when possible. We do not provide technical support or help in using or troubleshooting the components of the project through our normal support options such as Palo Alto Networks support teams, or ASC (Authorized Support Centers) partners and backline support options. The underlying product used (the VM-Series firewall) by the scripts or templates are still supported, but the support is only for the product functionality and not for help in deploying or using the template or script itself. Unless explicitly tagged, all projects or work posted in our GitHub repository (at https://github.com/PaloAltoNetworks) or sites other than our official Downloads page on https://support.paloaltonetworks.com are provided under the best effort policy.

prisma-access-skillets's People

Contributors

dependabot[bot] avatar kwelshons avatar nembery avatar scotchoaf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

prisma-access-skillets's Issues

[Community Health Assessment] Changes needed

This issue was opened by a bot called Community Health (PANW) because this repo has failed too many community health checks.

Repo maintainers: Please take the time to fix the issues in the table to reach the target score. These improvements will help others find your work and contribute to it. This issue will update as your score improves until it hits the target score.

Click More info for instructions to fix each item.

Health Check Pass Score More Info
Contains a meaningful README.md file 20 / 20 More info
SUPPORT.md file exists 0 / 20 More info
Repo has a description 15 / 15 More info
Has a recognized open source license 15 / 15 More info
Has a descriptive repo name 15 / 15 More info
Required topics attached to repo 15 / 15 More info
CONTRIBUTING.md file with contribution guidelines 0 / 5 More info
Has custom issue and pull request templates 0 / 5 More info

Current score: 80
Target threshold: 100
Total possible: 110

Azure Authorization Token Error - Prisma Access Skillet

When attempting to run the Prisma Access Deploy Panorama skillet for Azure, specifically, I run into an error during the plan stage.

Expected behavior

As I am authenticating via login token in a prior step from the browser of the OS hosting the Panhandler docker image, it should be able to reference the successful login during the planning stage.

Current behavior

The following error is shown:

Error: Error running plan: 1 error(s) occurred:

  • provider.azurerm: Error obtaining Authorization Token from the Azure CLI: Error parsing json result from the Azure CLI: Error launching Azure CLI: exec: "az": executable file not found in $PATH

Possible solution

I am not sure what I am missing. I have another machine (LIAB) that is able to perform the plan steps just fine. I am assuming that the docker image may have the ability to reference the Azure token on the base OS, perhaps? Maybe I am missing that on my other builds. If so, I don't see that documented anywhere.

Steps to reproduce with screenshots

  1. Run the Prisma Access Deploy Panorama skillet from Panhandler and log in from the OS browser where the docker image resides.

image

  1. Enter credentials and other specifics (i.e. resource group name) to deploy in Azure (validate, init, and apply)
  2. Validate is successful
  3. Plan error

image

Context

I am simply testing the skillet.

Your Environment

This works in the standard LIAB for SEs without issue. I am trying to replicate in Mac OS (Catalina 15.5.5) and Ubuntu 18.04. I deploy Panhandler via curl without any custom parameters.

Support for AWS temporary access credentials

Is your feature request related to a problem?

Yes. In our environment we do not use IAM users in our workload accounts. Access to these accounts is always via an assumed role using temporary credentials. Temporary credentials have the following attributes:

Describe the solution you'd like

The UI should cater for temporary credentials being supplied in this format with an extra text field to enter it.

Describe alternatives you've considered

None

Additional context

I am unable to deploy anything to AWS because we are not permitted to use IAM users in accounts directly. This is a common corporate policy so I would imagine many people are affected the same way.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.