Using the System Plan

This topic explains how to use the system plan for the Single Sign-On (SSO) service for Pivotal Cloud Foundry (PCF). The system plan is the default plan meant for developer apps, not end-user apps.

SSO for PCF comes with a default system plan that has the following features:

  • Read-only
  • Minimal configuration options
  • Not deletable
  • Allows developer-level access to system components like Elastic Runtime and its APIs
  • Available only to PCF administrators

Restricting the visibility of this system plan to a single, developer-apps only org secures system components, following the principle of least privilege.

Examples of developer apps include scripts or pipelines that push other apps and services. Any app that uses the Cloud Foundry API is a developer app.

System Plan Best Practice

Pivotal recommends configuring your orgs and SSO plans as follows to prevent anyone from applying the system plan to end-user apps:

  1. Restrict all developer apps to a single org.

  2. Make the system plan visible only to the developer-apps org.

  3. Configure other orgs with SSO service plans of their own.

Developers can then self-register their developers apps in the developer-apps org for use by other developers.

Administrators: Configure the System Plan for an Org

PCF administrators follow the steps below to enable the system plan and provide access to app developers:

  1. Log into the SSO dashboard at https://p-identity.YOUR-SYSTEM-DOMAIN using your User Account and Authentication (UAA) administrator credentials.
    In your Elastic Runtime tile in Ops Manager, the Domain settings show your system domain, and the Credentials tab shows the UAA Admin Credentials.

  2. Navigate to the System Plan and enable the plan in the relevant org(s).

Enable System Plan for Org

Developers: Create a System Plan Instance for your App

Follow the steps below to create and use the system service plan with your developer apps.

  1. Follow the steps to Create a Service Instance of SSO. Create Service Instance

  2. If your app runs on PCF, bind the application with the service instance you created. See the Bind an Application Hosted on PCF topic for more information.

  3. If your app is a pipeline or a script that runs external to PCF but calls PCF APIs, do the following:

    1. Follow the instructions to Register an External Application and use the guidelines below:
      • Choose Native App for your application type.
      • In the app configuration, set a value for the Refresh token lifetime based on your use case for automated access.
    2. To give your your pipeline or script access to your resources without your presence, embed a refresh token instead of hardcoding your credentials:
      1. Run uaac token sso get.
      2. At the prompts, enter the Client ID and Secret from the Next Steps section of the SSO dashboard. Copy the authentication URL from the command output.
      3. Paste the authentication URL into a browser, and log in using your UAA Admin Credentials.
      4. Copy the Temporary Authentication Code from the browser into the UAAC to finish the authentication.
      5. Run uaac context.
      6. Copy the value of the refresh token and use that in your code to get a new token based on your client id and secret using the standard OAuth refresh token flow as described in the UAA API documentation.

Developers: Revoke System Plan Access for an External App

To revoke system plan access from an app that is external to PCF and is registered with the system plan to access PCF components, do one of the following:

  • Regenerate the App Secret

  • Delete the app