These tutorials provide exercises to familiarize you with the capabilities of PingDataGovernance.

Before you begin

To complete these tutorials, you need:

The tutorials provide sample requests that use curl. However, you can use any program that can send HTTP requests, such as wget or Postman.

Setting up your environment

To help you quickly get started with PingDataGovernance, we provide Docker containers that have everything you need. You deploy these containers using Docker commands and then start using PingDataGovernance.

Clone the GitHub repository that contains the supporting source files.
git clone --branch 8.2 https://github.com/pingidentity/pingauthorize-tutorials && cd pingauthorize-tutorials
This command places the files in the pingauthorize-tutorials directory and changes to that directory. This directory contains a docker-compose.yml file that defines the containers used in the tutorial. You should not need to modify this file or understand its contents to follow the tutorial steps. You might, however, need to change some configuration values that the docker-compose environment uses. The env-template.txt file contains various configuration values, including the default port definitions used by the docker-compose containers. Copy the template to a new file .env at the root of the cloned repository and edit its contents using any text editor.
cp env-template.txt .env
vi .env

You might not need to modify any values if all the default ports are available. However, you must still have a .env file in place for the environment to start.

Starting PingDataGovernance

To start the docker-compose environment:

  1. Go to the pingauthorize-tutorials directory you cloned in Setting up your environment.
  2. Run the following command.
    docker-compose up --detach

Verifying proper startup

To verify that both PingDataGovernance Server and Policy Administration GUI started properly and are running, run the following command.
docker container ls --format '{{ .Names }}: {{ .Status }}'

The command shows the status of the containers started by the docker-compose command. Each of the four containers should initially have a status of "starting". Eventually, possibly up to 15 minutes, all four containers should reach an equilibrium state of "healthy".

If you encounter any issues, check the log files using the docker-compose logs command.

Accessing the GUIs

PingDataGovernance has two GUIs.

Note: If you have problems connecting because of self-signed certificates, try a different browser.
Administrative Console

Use this console to make configuration changes to PingDataGovernance Server.

URL https://localhost:5443/console/login
Details to enter at login

Server: pingdatagovernance:<port>

Username: administrator

Password: 2FederateM0re


If submitting the form results in a "Server unavailable" error, wait longer for the containers to reach an equilibrium "healthy" state, as described in Verifying proper startup.

Policy Administration GUI

Use this GUI to make and test policy changes. Also, this GUI calculates decision responses when you configure PingDataGovernance to use the GUI as an external policy decision point.

URL https://localhost:8443
Details to enter at login

user id: admin

password: password123

Stopping PingDataGovernance

If you have completed the tutorials and no longer need the containers, run the following commands to stop and remove the containers.


To simplify the prerequisites for using Docker with this tutorial, all of the changes you make are lost when you destroy your Docker Compose environment. For customer installations, persistent volumes are used to maintain data across container deployments.

  1. Go to the pingauthorize-tutorials directory you cloned in Setting up your environment.
  2. Run the following command.
    docker-compose down

About the tutorial configuration

The provided Docker containers are preconfigured so that you can begin developing policies immediately.

The following Docker containers are provided through the docker-compose environment.

Container Description

PingDataGovernance Server

The server enforces the policies you define.


PingDataGovernance Policy Administration GUI

Use this GUI to define the policies that determine access control and data protection.



A directory of user information.


PingDataGovernance does not require PingDirectory.

However, some of the tutorials do use PingDirectory as an attribute provider. You can reference the attributes in your policies.


Administrative Console

Use this GUI to configure PingDataGovernance.