Skip to content

Commit 07d629e

Browse files
committed
Added Managed Identity permission steps
1 parent b8d31bc commit 07d629e

File tree

1 file changed

+59
-7
lines changed

1 file changed

+59
-7
lines changed

README.md

Lines changed: 59 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
# Microsoft Assent
22
## Assent <sub>**A***pproval* **S***olution* **S***implified for* **ENT***erprise*<sub>
33
Microsoft Assent (*a.k.a Approvals*) as a platform provides the "one stop shop" solution for approvers via a model that brings together disparate different approval requests in a consistent and ultra-modern model. Approvals delivers a unified approvals experience for any approval on multiple form factors - Website, Outlook Actionable email, Teams. It consolidates approvals across organization's line of business applications, building on modern technology and powered by Microsoft Azure. It serves as a showcase for solving modern IT scenarios using the latest technologies.
4-
- Payload API - Accepts payload from tenant system.
5-
- Audit Agent Processor - Logs the payload data into Cosmos db.
6-
- Primary Processor - Processes the payload pushed by payload API to service bus.
7-
- Notification Processor - Sends email notifications to Approvers/ Submitters.
8-
- Core API - Set of Web APIs to support the Approvals UI.
4+
- Payload Receiver Service API - Accepts payload from tenant system.
5+
- Audit Processor - Azure Function that logs the payload data into Azure Cosmos DB.
6+
- Primary Processor - Azure Function that processes the payload pushed by payload receiver service API to service bus.
7+
- Notification Processor - Azure Function that sends email notifications to Approvers/ Submitters as per configurations.
8+
- WatchdogProcessor - as per configurations from tenant sends reminder email notifications to Approvers for pending approvals as per configurations from tenant.
9+
- Core Services API - Set of Web APIs to support the Approvals UI.
910

1011
## Getting Started
1112

@@ -197,15 +198,66 @@ Select the 'Label' under which the configurations needs to be added (e.g., DEV)
197198
i.e. Enter the value in this format: @Microsoft.KeyVault(SecretUri=<keyvault Secret Identifier url for AzureAppConfigurationConnectionString>)
198199
```
199200
#### Setup Authentication/Access Permission
200-
* For all the System assinged Managed Identity created earlier assign the following roles to the Azure Storage Account
201-
> Storage Blob Data Contributor
202201

203202
* Setup Authentication for APIs and Function Apps
204203
* Update the Reply Urls section of the AzureAD App created earlier with the URLs of the App Services and FunctionApps (HttpTriggered) URLs suffixed with '/auth/login/aad/callback'
205204
* In the 'Authentication' section of the AppServices / FunctionApps (HttpTriggered),
206205
* Add or update the Authentication values (ClientId/Secret/Issuer/Audience)
207206
* Select 'Login with Azure Active Directory' for the option 'Action to take when the request is not authenticated'
208207

208+
* Permissions needed needed for System assigned Managed Identity of below Azure Components
209+
* Payload Receiver Service API:
210+
* App Configuration Data Reader
211+
* Azure Service Bus Data Sender
212+
* Cosmos DB Built-in Data Contributor
213+
* Key Vault Secrets User
214+
* Storage Blob Data Contributor
215+
* Storage Table Data Contributor
216+
217+
* Audit Processor:
218+
* App Configuration Data Reader
219+
* Azure Service Bus Data Owner
220+
* Cosmos DB Built-in Data Contributor
221+
* Key Vault Secrets User
222+
* Storage Blob Data Contributor
223+
* Storage Table Data Contributor
224+
225+
* Primary Processor:
226+
* App Configuration Data Reader
227+
* Azure Service Bus Data Owner
228+
* Cosmos DB Built-in Data Contributor
229+
* Key Vault Secrets User
230+
* Storage Blob Data Contributor
231+
* Storage Table Data Contributor
232+
233+
* Notification Processor:
234+
* App Configuration Data Reader
235+
* Azure Service Bus Data Owner
236+
* Cosmos DB Built-in Data Contributor
237+
* Key Vault Secrets User
238+
* Storage Blob Data Contributor
239+
* Storage Table Data Contributor
240+
241+
* Watchdog Processor:
242+
* App Configuration Data Reader
243+
* Cosmos DB Built-in Data Contributor
244+
* Key Vault Secrets User
245+
* Storage Blob Data Contributor
246+
* Storage Table Data Contributor
247+
248+
* Core Services API:
249+
* App Configuration Data Reader
250+
* Cosmos DB Built-in Data Contributor
251+
* Key Vault Secrets User
252+
* Storage Blob Data Contributor
253+
* Storage Table Data Contributor
254+
255+
*Note: As of today only way to assign Cosmos DB Built-in Data Contributor is via the PowerShell or az cli below is the command fot the same:*
256+
```
257+
az cosmosdb sql role assignment create --account-name "Cosmosdb account name" --resource-group "Name of resource group where cosmosdb exists" --scope "/" --principal-id "System assigned identity to to which this Role Assignment is being granted" --role-definition-id "00000000-0000-0000-0000-000000000002"
258+
```
259+
For more information please read: [Configure role-based access control for your Azure Cosmos DB account with Azure AD | Microsoft Learn](https://learn.microsoft.com/en-us/azure/cosmos-db/how-to-setup-rbac)
260+
209261
## Deploy
210262
Deploy the code in these new components using Azure DevOps (Build and Release pipelines)
211263

0 commit comments

Comments
 (0)