Skip to content

Commit bda5adf

Browse files
updated README for customers using Azure MCA platform integration
1 parent 623edeb commit bda5adf

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

README.md

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Terraform module to integrate Azure as a meshPlatform into meshStack instance. With this module, service principals used by meshStack are created with the required permissions. The output of this module is a set of credentials that need to be configured in meshStack as described in [meshcloud public docs](https://docs.meshcloud.io/docs/meshstack.how-to.integrate-meshplatform.html).
44

5+
We currently support [Microsoft Enterprise Agreements](https://www.microsoft.com/en-us/licensing/licensing-programs/enterprise?activetab=enterprise-tab%3aprimaryr2) and [Microsoft Customer Agreements](https://www.microsoft.com/en-us/licensing/how-to-buy/microsoft-customer-agreement) when integrating Azure as a meshPlatform.
6+
57
<p align="center">
68
<img src="/.github/Icon_Azure_Meshi_Hugs.png" width="250">
79
</p>
@@ -10,18 +12,25 @@ Terraform module to integrate Azure as a meshPlatform into meshStack instance. W
1012

1113
To run this module, you need the following:
1214

13-
- Permissions on AAD level. An Azure account with one of the following roles:
15+
- [Terraform installed](https://learn.hashicorp.com/tutorials/terraform/install-cli) (already installed in Azure Portal)
16+
- [Azure CLI installed](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) (already installed in Azure Portal)
17+
- Permissions on AAD level. If using Microsoft Customer Agreement, AAD level permissions must be set in the Tenant Directory that will create the subscriptions (*Source Tenant*) as well as the Tenant Directory that will receive the subscriptions (*Destination Tenant*). An Azure account with one of the following roles:
1418
1. Global Administrator
1519
2. Privileged Role Administrator AND (Cloud) Application Administrator
1620
- Permissions on Azure Resource Level: User Access Administrator on the Management Group that should be managed by meshStack
21+
22+
### If using an Enterprise Agreement
1723
- Permissions on [Enterprise Agreement level](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/understand-ea-roles): Account Owner for the enrollment account that should be used for creating subscriptions
18-
- [Terraform installed](https://learn.hashicorp.com/tutorials/terraform/install-cli) (already installed in Azure Portal)
19-
- [Azure CLI installed](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli) (already installed in Azure Portal)
24+
25+
### If using a Microsoft Customer Agreement
26+
- Permissions in Source Tenant for granting access to the billing account used for subscription creation: Account Administrator
2027

2128
## How to Use This Module
2229

2330
### Using Azure Portal
2431

32+
> If using a **Microsoft Customer Agreement**, go through these steps in the **Destination Tenant**
33+
2534
1. Login into [Azure Portal](https://portal.azure.com/) with your Admin user.
2635

2736
2. Open a cloud shell.
@@ -52,7 +61,21 @@ To run this module, you need the following:
5261
terraform output -json
5362
```
5463
55-
7. Grant access on the enrollment account as described in the [meshcloud public docs](https://docs.meshcloud.io/docs/meshstack.how-to.integrate-meshplatform-azure-manually.html#set-up-subscription-provisioning).
64+
#### If Using an Enterprise Agreement
65+
1. Grant access on the enrollment account as described in the section [Use an Enteprise Enrollment](https://docs.meshcloud.io/docs/meshstack.how-to.integrate-meshplatform-azure-manually.html#use-an-enterprise-enrollment).
66+
67+
#### If Using Microsoft Customer Agreement
68+
1. Switch to the Tenant Directory that contains your Billing Account and follow the steps to [Register an Application](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#register-an-application) and [Add Credentials](https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#add-credentials). Make sure to copy down the **Directory (tenant) ID**, **Application (client) ID**, **Object ID** and the **App Secret** value that was generated. The App Secret is only visible during the creation process.
69+
2. You must grant the Enterprise Application permissions on the Billing Account, Billing Profile, or Invoice Section so that it can generate new subscriptions. Follow the steps in [this guide](https://learn.microsoft.com/en-us/azure/cost-management-billing/manage/understand-mca-roles#manage-billing-roles-in-the-azure-portal) to grant the necessary permissions. You must grant one of the following permissions
70+
- Billing Account or Billing Profile: Owner, Contributor
71+
- Invoice Section: Owner, Contributor, Azure Subscription Creator
72+
3. Write down the Billing Scope ID that looks something like this <samp>/providers/Microsoft.Billing/billingAccounts/5e98e158-xxxx-xxxx-xxxx-xxxxxxxxxxxx:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_xxxx-xx-xx/billingProfiles/AW4F-xxxx-xxx-xxx/invoiceSections/SH3V-xxxx-xxx-xxx</samp>
73+
4. Use the following information to configure the platform in meshStack
74+
- Billing Scope
75+
- Destination Tenant ID
76+
- Source Tenant ID
77+
- Billing Account Principal Client ID (Application Client ID that will be used to create new subscriptions)
78+
- Principal Client Secret (Application Secret created in the Source Tenant)
5679
5780
### Using CLI
5881

0 commit comments

Comments
 (0)