Security

The security measures implemented for a Pivotal Cloud Foundry (PCF) foundation and for Pivotal Cloud Cache (PCC) service instances within that foundation attempt to reduce harm from agents with foundation access. See Cloud Foundry Security for a general presentation on PCF security. Transport-Layer Security (TLS) encryption prevents easy access to communication between components, and role-based authentication and authorization limits access to data.

TLS Encryption for the PCC Service Instance

Without TLS encryption with and within the PCC service instance, The diagram below identifies via green dotted-and-dashed lines the unencrypted, plaintext communication that a bad agent with PCF foundation access could listen to without TLS encryption.

PCF foundation without TLS encryption

Each of these unencrypted communication paths may be TLS-encrypted. To encrypt these communications, follow the directions in Migrating to a TLS-Enabled Cluster and ensure that apps also use TLS as described in Developing an App Under TLS. Enabling TLS encryption implements a one-way authentication of apps, verifying the identity of GemFire cluster members.

You must also secure gfsh communication. Follow directions in Connect with gfsh over HTTPS.

Networking

To allow app access to the PCC network, create application security groups. Allow access on the following ports:

  • 1099
  • 8080
  • 40404
  • 55221

For more information, see PCF: Application Security Groups.

PCC works with the IPsec Add-on for PCF (see Securing Data in Transit with the IPsec Add-on).

Security within the GemFire Cluster

The GemFire cluster within a PCC service instance implements role-based authentication and authorizes cluster operations based upon the roles.

There are two sets of roles:

  • One set has four roles for users that integrate an authentication and enterprise single-sign-on (SSO) system, such as LDAP. See Configuring UAA Roles for a description of the roles and the configuration that completes the integration.

  • The other set of roles defaults when there is no authentication and enterprise SSO system integrated during the PCC tile installation. The identifiers assigned for these roles are detailed in Create Service Keys. PCC service instances are created with three default GemFire user roles for interacting with clusters:

    • Cluster operator: manages the GemFire cluster and can access region data. Has the permissions CLUSTER:MANAGE, CLUSTER:WRITE, CLUSTER:READ, DATA:MANAGE, DATA:WRITE, and DATA:READ.
    • Developer: can access region data. Has the permissions CLUSTER:READ, DATA:WRITE, and DATA:READ.
    • Gateway sender: propagates region data to another PCC service instance. Has the permission DATA:WRITE.

Which set is used for a PCC service instance depends on the options chosen during PCC tile installation.

All gfsh and JMX clients must authenticate as one of these user roles to access the cluster. To authorize operations, each user role is given predefined permissions for cluster operations. To accomplish a cluster operation, the user authenticates using one of the roles. Prior to initiating the requested operation, there is a verification that the authenticated user role has permission to do the operation. Read more about these permissions in GemFire: Implementing Authorization.