Group Access to Secrets
As an additional layer of security, you can employ user groups to further limit access to the secrets defined in credential stores.
- Required group argument in credential functions
- Credential functions include a group argument that defines the group that can access the secret. The group argument ensures that the user who attempts to preview, validate, or start a pipeline that includes a credential function belongs to the group specified in the function. The user must also have execute permission on the pipeline.
- Optional group secrets in the credential store
In addition to using the group argument in credential functions, you can configure Transformer to require group secrets for a credential store.
To require the use of group secrets, in the $TRANSFORMER_CONF/credential-stores.properties fileTransformer credential store configuration properties, set the
credentialStore.<cstore ID>.config.enforceEntryGroup
property totrue
.A group secret is a secret defined in the credential store that contains a comma-delimited list of Transformer user groups permitted to access the associated secret.
When the credential store ID requires group secrets, you must define a group secret for every secret that Transformer accesses in that credential store. The name of the group secret is based on the secret name, as follows:
When you configure a credential function to call a secret, the user group specified in the credential function must be listed in the associated group secret that is defined in the credential store.<secret name>-groups
azure
credential
store:${credential:get("azure", "production@MyCompany", sharedAccessKey)}
When you run the pipeline, Transformer
validates all of the following: - The user who starts the pipeline is in the
production
user group. - The
sharedAccessKey
secret has an associatedsharedAccessKey-groups
secret defined in the credential store. - The
sharedAccessKey-groups
secret includes theproduction
user group.
When Transformer is not configured to require group secrets, Transformer validates only the first point, verifying that the user belongs to the specified group.