GitHub
Example Configuration File
The configuration file is broken into 2 separate sections for basic functionality: providers
and permissions
.
Providers
The providers
section details Service Providers (e.g. what services can a GitHub Token be used to log in with), for example using AWS Federated Roles.
The key
in the aforementioned configuration (e.g. aws
) must match between the providers
and permissions
sections. This is how a permission
relates back to a particular provider
.
It contains information like the Assertion URLs, Entity ID and other SAML attributes.
You can also use some light Substitution Syntax (<#= ... #>
) for injection of variables when a SAML Assertion (i.e. Role Assumption) is requested by a user.
See Service Providers for a detail on supported Service Providers that can be configured in the configuration file.
For more information, see the Configuration Reference.
Permissions
The permissions
section details the Access Control Lists to various Service Providers and Roles.
The key
of the Permission (e.g. aws
) must be identical to the key
of a provider
.
For each role, you can define github
users:
and repos:
in their respective sections. Defining users and repositories is optional, you can define both, or one or the other.
See Service Providers for a detail on how to configure various Service Providers, such as AWS.
For more information, see the Configuration Reference.
Granting Access to Repos in Another Organization
If you use multiple organizations in GitHub that might need to use the same provider in GitHub Actions, you can simply add the specify the Organization Name.
Assuming your GitHub organization is my-org
and you have a repository my-repo
that needs access to the admin
role, and you have another organization my-other-org
with another repository my-other-repo
that needs access to the admin
role, the configuration would look like this:
You do not need to be a member or Administrator of the other Organization to make this work!
Last updated