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: articles/azure-resource-manager/managed-applications/publish-service-catalog-app.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -140,9 +140,9 @@ Add the following JSON and save the file. It defines the resources to deploy an
140
140
}
141
141
```
142
142
143
-
## Define your create experience
143
+
## Define your portal experience
144
144
145
-
As a publisher, you define the portal experience to create the managed application. The _createUiDefinition.json_ file generates the portal interface. You define how users provide input for each parameter using [control elements](create-uidefinition-elements.md) like drop-downs and text boxes.
145
+
As a publisher, you define the portal experience to create the managed application. The _createUiDefinition.json_ file generates the portal's user interface. You define how users provide input for each parameter using [control elements](create-uidefinition-elements.md) like drop-downs and text boxes.
146
146
147
147
Open Visual Studio Code, create a file with the case-sensitive name _createUiDefinition.json_ and save it. The user interface allows the user to input the App Service name, App Service plan's name, storage account prefix, and storage account type. During deployment, the `uniqueString` function appends a 13 character string to the name prefixes so the names are globally unique across Azure.
148
148
@@ -311,29 +311,29 @@ For more information about storage authentication, see [Choose how to authorize
311
311
312
312
In this section you'll get identity information from Azure Active Directory, create a resource group, and create the managed application definition.
313
313
314
-
### Create an Azure Active Directory user group or application
314
+
### Get group ID and role definition ID
315
315
316
-
The next step is to select a user, group, or application for managing the resources for the customer. This identity has permissions on the managed resource group according to the assigned role. The role can be any Azure built-in role like Owner or Contributor. To create a new Azure Active Directory user group, go to [Manage Azure Active Directory groups and group membership](../../active-directory/fundamentals/how-to-manage-groups.md).
316
+
The next step is to select a user, security group, or application for managing the resources for the customer. This identity has permissions on the managed resource group according to the assigned role. The role can be any Azure built-in role like Owner or Contributor.
317
317
318
-
This example uses a user group, so you need the object ID of the user group to use for managing the resources. Replace the placeholder `mygroup` with your group's name.
318
+
This example uses a security group, and your Azure Active Directory account should be a member of the group. To get the group's object ID, replace the placeholder `managedAppDemo` with your group's name. You'll use this variable's value when you deploy the managed application definition.
319
+
320
+
To create a new Azure Active Directory group, go to [Manage Azure Active Directory groups and group membership](../../active-directory/fundamentals/how-to-manage-groups.md).
principalid=$(az ad group show --group mygroup --query id --output tsv)
331
+
principalid=$(az ad group show --group managedAppDemo --query id --output tsv)
330
332
```
331
333
332
334
---
333
335
334
-
### Get the role definition ID
335
-
336
-
Next, you need the role definition ID of the Azure built-in role you want to grant access to the user, group, or application. Typically, you use the Owner, Contributor, or Reader role. The following command shows how to get the role definition ID for the Owner role:
336
+
Next, get the role definition ID of the Azure built-in role you want to grant access to the user, group, or application. You'll use this variable's value when you deploy the managed application definition.
337
337
338
338
# [PowerShell](#tab/azure-powershell)
339
339
@@ -351,9 +351,7 @@ roleid=$(az role definition list --name Owner --query [].name --output tsv)
351
351
352
352
### Create the managed application definition
353
353
354
-
If you don't already have a resource group for storing your managed application definition, create a new resource group.
355
-
356
-
**Optional**: If you want to deploy your managed application definition with an ARM template in your own storage account, see [bring your own storage](#bring-your-own-storage-for-the-managed-application-definition).
354
+
Create a resource group for your managed application definition.
357
355
358
356
# [PowerShell](#tab/azure-powershell)
359
357
@@ -369,7 +367,7 @@ az group create --name appDefinitionGroup --location westcentralus
369
367
370
368
---
371
369
372
-
Create the managed application definition resource. In the `Name` parameter, replace the placeholder `demostorageaccount` with your unique storage account name.
370
+
Create the managed application definition in the resource group.
373
371
374
372
The `blob` command that's run from Azure PowerShell or Azure CLI creates a variable that's used to get the URL for the package _.zip_ file. That variable is used in the command that creates the managed application definition.
Copy file name to clipboardExpand all lines: articles/azure-resource-manager/managed-applications/publish-service-catalog-bring-your-own-storage.md
+37-40Lines changed: 37 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -140,9 +140,9 @@ Add the following JSON and save the file. It defines the resources to deploy an
140
140
}
141
141
```
142
142
143
-
## Define your create experience
143
+
## Define your portal experience
144
144
145
-
As a publisher, you define the portal experience to create the managed application. The _createUiDefinition.json_ file generates the portal interface. You define how users provide input for each parameter using [control elements](create-uidefinition-elements.md) like drop-downs and text boxes.
145
+
As a publisher, you define the portal experience to create the managed application. The _createUiDefinition.json_ file generates the portal's user interface. You define how users provide input for each parameter using [control elements](create-uidefinition-elements.md) like drop-downs and text boxes.
146
146
147
147
Open Visual Studio Code, create a file with the case-sensitive name _createUiDefinition.json_ and save it. The user interface allows the user to input the App Service name, App Service plan's name, storage account prefix, and storage account type. During deployment, the `uniqueString` function appends a 13 character string to the name prefixes so the names are globally unique across Azure.
148
148
@@ -314,7 +314,7 @@ You store your managed application definition in your own storage account so tha
314
314
> [!NOTE]
315
315
> Bring your own storage is only supported with ARM template or REST API deployments of the managed application definition.
316
316
317
-
### Create your storage account
317
+
### Create a storage account
318
318
319
319
Create a storage account for your managed application definition. The storage account name must be globally unique across Azure and the length must be 3-24 characters with only lowercase letters and numbers.
320
320
@@ -333,7 +333,7 @@ New-AzStorageAccount `
333
333
-Kind StorageV2
334
334
```
335
335
336
-
Use the following command to store the storage account's resource ID in a variable named `storageId`. You use this variable when you deploy the managed application definition.
336
+
Use the following command to store the storage account's resource ID in a variable named `storageId`. You use this variable's value when you deploy the managed application definition.
Use the following command to store the storage account's resource ID in a variable named `storageId`. You use the variable's value when you deploy the managed application definition.
355
+
Use the following command to store the storage account's resource ID in a variable named `storageId`. You use this variable's value when you deploy the managed application definition.
356
356
357
357
```azurecli-interactive
358
358
storageId=$(az storage account show --resource-group byosStorageRG --name definitionstorage --query id)
@@ -395,29 +395,29 @@ If you're running CLI commands with Git Bash for Windows, you might get an `Inva
395
395
396
396
The _Appliance Resource Provider_ is a service principal in your Azure Active Directory's tenant. From the Azure portal, you can see if it's registered by going to **Azure Active Directory** > **Enterprise applications** and change the search filter to **Microsoft Applications**. Search for _Appliance Resource Provider_. If it isn't found, [register](../troubleshooting/error-register-resource-provider.md) the `Microsoft.Solutions` resource provider.
397
397
398
-
## Create an Azure Active Directory user group or application
398
+
## Get group ID and role definition ID
399
399
400
-
The next step is to select a user, group, or application for managing the resources for the customer. This identity has permissions on the managed resource group according to the assigned role. The role can be any Azure built-in role like Owner or Contributor. To create a new Azure Active Directory user group, go to [Manage Azure Active Directory groups and group membership](../../active-directory/fundamentals/how-to-manage-groups.md).
400
+
The next step is to select a user, security group, or application for managing the resources for the customer. This identity has permissions on the managed resource group according to the assigned role. The role can be any Azure built-in role like Owner or Contributor.
401
401
402
-
This example uses a user group, so you need the object ID of the user group to use for managing the resources. Replace the placeholder `mygroup` with your group's name.
402
+
This example uses a security group, and your Azure Active Directory account should be a member of the group. To get the group's object ID, replace the placeholder `managedAppDemo` with your group's name. You'll use this variable's value when you deploy the managed application definition.
403
+
404
+
To create a new Azure Active Directory group, go to [Manage Azure Active Directory groups and group membership](../../active-directory/fundamentals/how-to-manage-groups.md).
principalid=$(az ad group show --group mygroup --query id --output tsv)
415
+
principalid=$(az ad group show --group managedAppDemo --query id --output tsv)
414
416
```
415
417
416
418
---
417
419
418
-
## Get the role definition ID
419
-
420
-
Next, you need the role definition ID of the Azure built-in role you want to grant access to the user, group, or application. Typically, you use the Owner, Contributor, or Reader role. The following command shows how to get the role definition ID for the Owner role:
420
+
Next, get the role definition ID of the Azure built-in role you want to grant access to the user, group, or application. You'll use this variable's value when you deploy the managed application definition.
421
421
422
422
# [PowerShell](#tab/azure-powershell)
423
423
@@ -433,9 +433,9 @@ roleid=$(az role definition list --name Owner --query [].name --output tsv)
433
433
434
434
---
435
435
436
-
## Create the managed application definition ARM template
436
+
## Create the managed application definition template
437
437
438
-
Use the following ARM template to deploy the managed application definition in your service catalog. The definition files are stored and maintained in your storage account.
438
+
Use the following ARM template to deploy the managed application definition in your service catalog. The definition files are stored in your storage account.
439
439
440
440
Open Visual Studio Code, create a file with the name _azuredeploy.json_ and save it.
441
441
@@ -450,7 +450,7 @@ Add the following JSON and save the file.
450
450
"type": "string",
451
451
"defaultValue": "[resourceGroup().location]"
452
452
},
453
-
"applicationName": {
453
+
"managedApplicationDefinitionName": {
454
454
"type": "string",
455
455
"metadata": {
456
456
"description": "Name of the managed application definition."
@@ -459,7 +459,7 @@ Add the following JSON and save the file.
459
459
"definitionStorageResourceID": {
460
460
"type": "string",
461
461
"metadata": {
462
-
"description": "Storage account's resource ID where you're storing your managed application definition."
462
+
"description": "Resource ID for the storage account where the definition is stored."
463
463
}
464
464
},
465
465
"packageFileUri": {
@@ -471,36 +471,33 @@ Add the following JSON and save the file.
471
471
"principalId": {
472
472
"type": "string",
473
473
"metadata": {
474
-
"description": "Principal ID with access the managed resource group."
474
+
"description": "Publishers Principal ID that needs permissions to manage resources in the managed resource group."
475
475
}
476
476
},
477
477
"roleId": {
478
478
"type": "string",
479
479
"metadata": {
480
-
"description": "Role ID for permissions to managed resource group."
480
+
"description": "Role ID for permissions to the managed resource group."
@@ -528,9 +525,9 @@ Parameters used in the template:
528
525
529
526
-**package file URI**: The location of the _.zip_ package file that contains the managed application definition's files.
530
527
531
-
## Create a parameter file
528
+
## Create the parameter file
532
529
533
-
The managed application defintion's template needs input for several parameters. The deployment command will prompt for the values or you can create a parameter file for the values. In this example, we use a parameter file to pass the parameter values to the deployment command.
530
+
The managed application definition's template needs input for several parameters. The deployment command prompts you for the values or you can create a parameter file for the values. In this example, we use a parameter file to pass the parameter values to the deployment command.
534
531
535
532
In Visual Studio Code, create a new file named _azuredeploy-parameters.json_ and save it.
536
533
@@ -541,7 +538,7 @@ Add the following to your parameter file and save it. Then, replace the `{placeh
"value": "{placeholder for managed application name}"
546
543
},
547
544
"definitionStorageResourceID": {
@@ -560,17 +557,19 @@ Add the following to your parameter file and save it. Then, replace the `{placeh
560
557
}
561
558
```
562
559
560
+
The following table describes the parameter values for the managed application definition.
561
+
563
562
| Parameter | Value |
564
563
| ---- | ---- |
565
-
|`applicationName`|Choose a name for your managed application definition. For this example, use _sampleManagedAppDefintion_.|
566
-
|`definitionStorageResourceID`|Enter your storage account's resource ID. You created the `storageId` variable with this value in an earlier step. |
567
-
|`packageFileUri`| Enter the URI to your _.zip_ package file. Use the URI for the _.zip_[package file](#package-the-files) you created in an earlier step. The format is `https://yourStorageAccountName.blob.core.windows.net/appcontainer/app.zip`. |
568
-
|`principalId`| The publishers Principal ID that needs access to manage resources in the managed resource group. Your`principalid` variable's value. |
569
-
|`roleId`| Role ID for permissions to the managed resource group. For example Read, Contributor, Owner. Your`roleid` variable's value. |
564
+
|`applicationName`|Name of the managed application definition. For this example, use _sampleManagedAppDefintion_.|
565
+
|`definitionStorageResourceID`|Resource ID for the storage account where the definition is stored. Use the `storageId` variable's value. |
566
+
|`packageFileUri`| Enter the URI for your _.zip_ package file. Use the URI for the _.zip_[package file](#package-the-files) you created in an earlier step. The format is `https://yourStorageAccountName.blob.core.windows.net/appcontainer/app.zip`. |
567
+
|`principalId`| The publishers Principal ID that needs permissions to manage resources in the managed resource group. Use your`principalid` variable's value. |
568
+
|`roleId`| Role ID for permissions to the managed resource group. For example Owner, Contributor, Reader. Use your`roleid` variable's value. |
570
569
571
-
###Deploy the definition
570
+
## Deploy the definition
572
571
573
-
When you deploy the managed application's definition it becomes available in your service catalog. This process doesn't deploy the managed application's resources.
572
+
When you deploy the managed application's definition, it becomes available in your service catalog. This process doesn't deploy the managed application's resources.
574
573
575
574
Create a resource group named _byosDefinitionRG_ and deploy the managed application definition to your storage account.
576
575
@@ -598,9 +597,7 @@ az deployment group create \
598
597
599
598
---
600
599
601
-
602
-
603
-
### Verify definition files storage
600
+
## Verify definition files storage
604
601
605
602
During deployment, the template's `storageAccountId` property uses your storage account's resource ID and creates a new container with the case-sensitive name `applicationdefinitions`. The files from the _.zip_ package you specified during the deployment are stored in the new container.
0 commit comments