Download PDF
      
      
      
    
    
    
    
    Cloud NGFW for AWS
Terraform Support for Cloud NGFW AWS
Table of Contents
                    
          Expand All
          |
          Collapse All
        
        Cloud NGFW for AWS Docs
Terraform Support for Cloud NGFW AWS
Cloud NGFW Terraform Provider used for communication between the firewall and the AWS
        APIs.
    | Where Can I Use This? | What Do I Need? | 
|---|---|
                                
  | 
                                
  | 
HashiCorp Terraform is an open-source infrastructure as code tool for teams managing
                multicloud environments. It allows you to define a configuration that describes the
                target state of your cloud infrastructure and uses it to automatically calculate the
                necessary steps to reach the defined target while executing the relevant changes to
                provision and manage the cloud infrastructure. These Terraform configurations use
                plugins called providers. The plugins interact with the providers such as AWS
                to facilitate reuse by creating repeatable steps for building and maintaining the
                cloud infrastructure, ensuring easy additions to your CI/CD pipeline.
            Palo Alto Networks adds the cloudngfwaws provider to automate the process of building
                the security infrastructure and to maintain the network security posture using NGFW
                rulestacks. This provider acts as a translation layer that facilitates communication
                between the client (the device running Terraform) and the APIs that the Cloud NGFW
                for AWS service offers. 
            Visit the Palo Alto Networks developer documentation to learn more about deploying
                    Cloud NGFW on AWS using Terraform and view the Terraform
                    reference information.
            You can use the Terraform provider in your configuration to:
            - Launch the Cloud NGFW.
 - Configure the rulestack used by the Cloud NGFW to retrieve policy information. The rulestack contains relevant policy information, like security rules, intelligent feeds, and various objects.
 
Use the cloudngfwaws Terraform provider to access resources to
                manage the Cloud NGFW for AWS. The cloudngfwaws provider
                authenticates to AWS using the STS assume role, which generates temporary credentials. These
                temporary credentials, used briefly during the initial authentication sequence,
                include the access key, secret key, and a session token. During this sequence:
            - Authentication leverages the AWS STS assume role using the AWS API. You must enable API access.
 - STS credentials are used to refresh the Cloud NGFW admin token using the Cloud NGFW for AWS API. These credentials are also used to refresh the rulestack admin token.
 - The Cloud NGFW admin token and the rulestack admin token are used for configuration management using the Cloud NGFW for AWS API.
 
Consider:
            - After successfully authenticating to AWS, the provider retrieves the JWTs for firewall and rulestack administration.
 - You can statically specify the AWS access and secret key in the provider block. If you don't specify these credentials, they are automatically retrieved from the shared credentials file. Use the access_key and secret_key parameters to statically provide AWS credentials.
 - When setting up the provider, the AWS authentication workflow uses the AWS Go SDK to control variables related to authentication. You can use AWS environment variables to configure credentials used for AWS authentication.
 - The provider requires API access.
 
Provider parameters are prioritized in different ways. In the presence of overlapping
                values, these parameters are addressed in the following order:
            - Statically configured in the provider block.
 - Environment variables.
 - Retrieved from the JSON configuration file.
 
Example Terraform Provider for Cloud NGFW
            
            Terraform 0.13 and later:
            terraform { required_providers { cloudngfwaws = { source = "paloaltonetworks/terraform-provider-cloudngfwaws" version = "1.0.0" } } } provider "cloudngfwaws" { json_config_file = "~/.cloudngfwaws_creds.json" }
JSON configuration file:
            { "host": "api.us-east-1.aws.cloudngfw.paloaltonetworks.com", "region": "us-east-1", "arn": "arn:aws:iam::123456789:role/MyRole" }