You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+31-14Lines changed: 31 additions & 14 deletions
Original file line number
Diff line number
Diff line change
@@ -81,20 +81,32 @@ To run this module, you need the following:
81
81
82
82
### Using Microsoft Customer Agreement
83
83
84
-
> Until <https://github.com/hashicorp/terraform-provider-azurerm/issues/15211> is resolved, MCA service principal setup can only be done manually outside of terraform.
85
-
86
-
1. Ensure you have permissions in the source AAD Tenant for granting access to the billing account used for subscription creation using the `Account Administrator` role
87
-
2. 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.
88
-
3. 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
89
-
- Billing Account or Billing Profile: Owner, Contributor
4. 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>
92
-
5. Use the following information to configure the platform in meshStack
93
-
- Billing Scope
94
-
- Destination Tenant ID
95
-
- Source Tenant ID
96
-
- Billing Account Principal Client ID (Application Client ID that will be used to create new subscriptions)
97
-
- Principal Client Secret (Application Secret created in the Source Tenant)
84
+
**Prerequisites**:
85
+
86
+
- Ensure you have permissions in the source AAD Tenant for granting access to the billing account used for subscription creation using the `Account Administrator` role
> note that the source_tenant is the tenant ID of the AAD with the billing account in which you can create subscriptions. This module supports creating MCA and Replicator service principals in different AAD tenants.
98
110
99
111
### Using Pre-provisioned Subscriptions
100
112
@@ -147,6 +159,7 @@ Before opening a Pull Request, please do the following:
@@ -183,6 +197,7 @@ Before opening a Pull Request, please do the following:
183
197
| <aname="input_can_cancel_subscriptions_in_scopes"></a> [can\_cancel\_subscriptions\_in\_scopes](#input\_can\_cancel\_subscriptions\_in\_scopes)| The scopes to which Service Principal cancel subscription permission is assigned to. List of management group id of form `/providers/Microsoft.Management/managementGroups/<mgmtGroupId>/`. |`list(string)`|`[]`| no |
184
198
| <aname="input_can_delete_rgs_in_scopes"></a> [can\_delete\_rgs\_in\_scopes](#input\_can\_delete\_rgs\_in\_scopes)| The scopes to which Service Principal delete resource group permission is assigned to. Only relevant when `replicator_rg_enabled`. List of subscription scopes of form `/subscriptions/<subscriptionId>`. |`list(string)`|`[]`| no |
185
199
| <aname="input_create_passwords"></a> [create\_passwords](#input\_create\_passwords)| Create passwords for service principals. |`bool`|`true`| no |
| <aname="input_metering_assignment_scopes"></a> [metering\_assignment\_scopes](#input\_metering\_assignment\_scopes)| Names or UUIDs of the Management Groups that kraken should collect costs for. |`list(string)`| n/a | yes |
187
202
| <aname="input_metering_enabled"></a> [metering\_enabled](#input\_metering\_enabled)| Whether to create Metering Service Principal or not. |`bool`|`true`| no |
188
203
| <aname="input_metering_service_principal_name"></a> [metering\_service\_principal\_name](#input\_metering\_service\_principal\_name)| Service principal for collecting cost data. Kraken ist the name of the meshStack component. Name must be unique per Entra ID. |`string`|`"kraken"`| no |
@@ -201,6 +216,8 @@ Before opening a Pull Request, please do the following:
201
216
| Name | Description |
202
217
|------|-------------|
203
218
| <aname="output_azure_ad_tenant_id"></a> [azure\_ad\_tenant\_id](#output\_azure\_ad\_tenant\_id)| The Azure AD tenant id. |
219
+
| <aname="output_mca_service_principal"></a> [mca\_service\_principal](#output\_mca\_service\_principal)| MCA Service Principal. |
220
+
| <aname="output_mca_service_principal_password"></a> [mca\_service\_principal\_password](#output\_mca\_service\_principal\_password)| Password for MCA Service Principal. |
204
221
| <aname="output_metering_service_principal"></a> [metering\_service\_principal](#output\_metering\_service\_principal)| Metering Service Principal. |
205
222
| <aname="output_metering_service_principal_password"></a> [metering\_service\_principal\_password](#output\_metering\_service\_principal\_password)| Password for Metering Service Principal. |
206
223
| <aname="output_replicator_service_principal"></a> [replicator\_service\_principal](#output\_replicator\_service\_principal)| Replicator Service Principal. |
description="Enable workload identity federation by creating federated credentials for enterprise applications. Usually you'd receive the required settings when attempting to configure a platform with workload identity federation in meshStack."
0 commit comments