Skip to content

Commit 44eff84

Browse files
committed
Added specific roles required for gdap integration
1 parent 953efeb commit 44eff84

File tree

2 files changed

+45
-13
lines changed

2 files changed

+45
-13
lines changed

azure-graph-permissions-setup.md

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,19 @@ After creating an ImmyBot tenant, link it to an Azure tenant by navigating to th
1111
Once your ImmyBot tenant has been linked to Azure, you can set the **Azure Permission Level** from the tenant Azure tab. This allows ImmyBot to:
1212

1313
1. Sync all users from the Azure tenant
14-
2. Sync all users from your customer's tenants (if your Azure tenant is a Partner tenant)
15-
3. Install the 365 applications a user is licensed for (Apps for business/Apps for entrprise/Project/Visio)
16-
4. Deploy software to Teams, On-Premises Security Groups (Ex. Everyone in the Engineering Team gets AutoCAD 2022)
14+
2. Sync all users from your GDAP customers **(please see [GDAP Customers](#gdap-customers))**
15+
3. Install the 365 applications a user is licensed for
16+
- Apps for business/Apps for entrprise/Project/Visio
17+
4. Deploy software to Teams, On-Premises Security Groups
18+
- Ex. Everyone in the Engineering Team gets AutoCAD 2022
1719

1820
The **Azure Permission Level** has two modes: _Default_ and _Custom_
1921

20-
**NB: In both the _Default_ and _Custom_ modes, you must manually provide consent for each customer you want to sync!**<br />
21-
**NB: When consenting to an Azure customer, you must authenticate using an administrator account from that customer!**<br />
22-
Consent can be initiated from within ImmyBot by clicking on the `Consent` (or `Reconsent`) button for the customer on either the Azure Settings page or on the Azure tab of the ImmyBot tenant linked to the customer.
22+
**NB: In both the _Default_ and _Custom_ modes, consent must be provided for each customer you want to sync. Please see [GDAP Customers](#gdap-customers) for requirements**
2323

2424
### Default
2525

26-
In this mode, you don't need to create an app registration. You consent as an administrator, allowing ImmyBot access users in your tenant and your customers tenants (if you have established GDAP relationships with your customers and have consented with an admin from that customer).
26+
In this mode, you don't need to create an app registration. You consent as an administrator, allowing ImmyBot access users in your tenant and your customers tenants. **Please see [GDAP Customers](#gdap-customers) if you want ImmyBot to access your customers' users**.
2727

2828
### Custom
2929

@@ -59,14 +59,46 @@ See the screenshots below for the minimum permissions.
5959

6060
![](./.vitepress/images/2021-08-16-13-23-26.png)
6161

62-
#### Assign GDAP Permissions to ImmyBot Service Principal
63-
64-
- Create a Security Group in Azure AD called "ImmyBot Security Group"
65-
- Add the ImmyBot Service Principal to that group
66-
- For each customer in the Partner Center, add the "ImmyBot Security Group" and add the "Directory Readers" and "Global Reader" role.
62+
**Please see [GDAP Customers](#gdap-customers) if you want ImmyBot to access your customers' data**.
6763

6864
#### Copy the `Application (client) ID` and `Client Secret Value` into the form in ImmyBot.
6965

66+
## GDAP Customers
67+
68+
To sync users from GDAP customers of your Azure Partner, permission must be granted in the customer
69+
tenants to Immy's app registration (_Default_ or _Custom_). This can be achieved either by clicking
70+
on the `Consent` button for each customer individually ("Manual consent") or by using the
71+
Pre-consent button ("Pre-consent").
72+
73+
### Manual Consent
74+
75+
This can be done by clicking on the `Consent` or `Reconsent` button for the customer on either the
76+
Azure Settings page or ont he Azure tab of the ImmyBot tenat linked to the customer.
77+
78+
**NB: When manually consenting to an Azure customer, you must authenticate using an administrator account from that customer!**
79+
80+
### Pre-Consent
81+
82+
Immy can automatically grant consent to your GDAP customers using the Partner Center API, removing
83+
the need to consent to each customer individually. To do this, you must authenticate to the Partner
84+
Center API with a user in the partner tenant that meets these requirements:
85+
1. Is a member of the `AdminAgents` security group
86+
2. Is given the `Application administrator` and `Privileged role administrator` Entra roles at the customer through the GDAP relationship
87+
88+
#### Example: GDAP Role Assignments
89+
90+
Here is an example GDAP relationship configuration that will work with Immy's pre-consent functionality:
91+
92+
1. Create security group in the partner tenant named `Application Administrators`
93+
2. Create security group in the partner tenant named `Privileged Role Administrators`
94+
3. Assign the `Application administrator` Entra role to the `Application Administrators` security group on the customer's admin relationship
95+
4. Assign the `Privileged role administrator` Entra role to the `Privileged Role Administrators` security group on the customer's admin relationship
96+
5. Add the partner user that you wish to sign-in to the Partner Center API with to `AdminAgents`, `Application Administrators` and `Privileged Role Administrators` security groups
97+
98+
For more information, see these Azure docs:
99+
- [Obtain permissions to manage customer](https://learn.microsoft.com/en-us/partner-center/gdap-obtain-admin-permissions-to-manage-customer)
100+
- [Assign Microsoft Entra roles](https://learn.microsoft.com/en-us/partner-center/gdap-assign-microsoft-entra-roles)
101+
70102
## Common Issues
71103

72104
### Consent

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"vue": "^3.3.4"
1010
},
1111
"scripts": {
12-
"docs:dev": "vitepress dev",
12+
"docs:dev": "vitepress dev --port 5175",
1313
"docs:build": "vitepress build",
1414
"docs:preview": "vitepress preview"
1515
},

0 commit comments

Comments
 (0)