Entra
This guide will walk you through integrating Common Fate with Entra (Formerly Azure AD). By the end of this guide, you’ll have a functioning integration with Common Fate, allowing it to provision access to Entra Groups.
Entra Setup
To configure the Microsoft Entra integration, follow these steps to create an App Registration in your Azure console.
To add an app registration to your tenant:
- Sign in to the Microsoft Entra admin center as at least a Cloud Application Administrator.
- Browse to Identity > Applications > App Registrations.
- Select New registration.
- Enter a name e.g ‘Common Fate’
- For Supported account types, select Accounts in this organizational directory only (should be selected by default).
- Click Register
You will now be on the app registration overview page.
- Browse to API permissions
- Under Configured permissions, select Microsoft Graph
- Select the following permissions Group.Read.All, User.Read.All, GroupMember.ReadWrite.All
- Remove the permission User.Read
- Click Update permissions
You will now create a client secret.
- Browse to Certificates & secrets > Client secrets
- Click New client secret
- Give it an optional description and configure the expiry as required. Be sure to set a reminder to renew the secret before it expires.
- Click Add
You will need to create a new SecretString
in SSM Parameter Store and then use the path when configuring your deployment in Terraform.
You can use the AWS CLI to create a secret in the region you are deploying to. you must use the following path "/<namespace>/<stage>/<secret name>"
.
Granting access to role-assignable groups
If you want to use Common Fate to grant access to role-assignable groups, you will need to give the integration the RoleManagement.ReadWrite.Directory
application permission.
Configuring Common Fate
In this section, you will register the Entra integration with your Common Fate deployment. At the end of this section you should have Common Fate ready to provision access. You’ll need to have set up the Common Fate Application Configuration repository using our Terraform provider.
Navigate to the overview page of your app registration, find the client id (Application (client) ID) and the tenant id (Directory (tenant) ID)
Inside your Application Configuration repository, add the following module:
Apply the changes. If the apply succeeds, you should see the integration appear on the settings page in the web dashboard.
Provisioning access to Entra Groups
You can now create an access workflow and availabilities:
Entra group selectors
To make Entra groups available for Just-In-Time (JIT) access you can add a commonfate_entra_group_selector
Selector resource to your Common Fate application Terraform code. As shown below, the when
clause in the resource is a Cedar expression. You can use any Cedar operator in the when
clause, such as &&
and ||
to combine conditions.
You’ll need to use the commonfate_entra_group_selector
in conjunction with a commonfate_entra_group_availabilities
and commonfate_access_workflow
resources, as shown above.
We’ve included some examples below.
Select a group by ID
Select multiple groups by ID
Select a group based on a naming pattern
Select groups with a name ending in -prod
:
Select groups with a name beginning with Develop
: