Skip to content

Commit e77214d

Browse files
Merge pull request #314607 from MicrosoftDocs/main
Auto Publish – main to live - 2026-04-11 06:00 UTC
2 parents 963dbf5 + 97e6d47 commit e77214d

10 files changed

Lines changed: 289 additions & 81 deletions

articles/app-service/configure-ssl-app-service-certificate.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,49 @@ Currently, App Service certificates aren't supported in Azure national clouds.
5959

6060
1. After the deployment is finished, select **Go to resource**.
6161

62+
#### Authorize App Service certificate to access Azure Key Vault
63+
64+
By default, the App Service certificate resource provider doesn't have access to your key vault. To store, renew, and rekey a certificate in key vault, you must authorize access for the resource provider (App Service certificate) to the key vault. You can grant access with role-based access control (RBAC) or access policy.
65+
66+
#### [RBAC permissions](#tab/rbac)
67+
68+
| Resource provider | Service principal app ID / assignee | Key Vault RBAC role |
69+
|--|--|--|
70+
| Microsoft.Azure.CertificateRegistration | `f3c21649-0979-4721-ac85-b0216b2cf413` | Key Vault Secrets Officer |
71+
72+
The service principal app ID or assignee value is the application (client) ID for the App Service certificate resource provider.
73+
74+
#### [Access policy permissions](#tab/accesspolicy)
75+
76+
| Resource provider | Service principal app ID | Key Vault secret permissions | Key Vault certificate permissions |
77+
|--|--|--|--|
78+
| Microsoft.Azure.CertificateRegistration | `f3c21649-0979-4721-ac85-b0216b2cf413` | Get<br/>List<br/>Set<br/>Delete | Get<br/>List<br/>Set<br/>Delete |
79+
80+
The service principal app ID or assignee value is the ID for the App Service certificate resource provider. To learn how to authorize Key Vault permissions for the App Service certificate resource provider by using an access policy, see [Assign a Key Vault access policy](/azure/key-vault/general/assign-access-policy?tabs=azure-portal).
81+
82+
---
83+
84+
> [!NOTE]
85+
> Don't delete these permissions from the key vault. If you do, App Service certificate can't store, renew, or rekey the certificate in key vault.
86+
87+
> [!IMPORTANT]
88+
> The values in the table are application (client) IDs. If you grant the Key Vault Certificate User role by using infrastructure-as-code (for example, ARM templates or Bicep), you typically must use the object ID of the corresponding enterprise application (service principal) in your Microsoft Entra tenant. Using the application ID works with some tooling (for example, Azure CLI role assignment), but ARM/Bicep role assignments generally require the service principal object ID.
89+
90+
#### [Azure CLI](#tab/azure-cli/rbac)
91+
92+
```azurecli-interactive
93+
az role assignment create --role "Key Vault Secrets Officer" --assignee "f3c21649-0979-4721-ac85-b0216b2cf413" --scope "/subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}"
94+
```
95+
96+
#### [Azure PowerShell](#tab/azure-powershell/rbac)
97+
98+
```azurepowershell
99+
#Assign by Service Principal ApplicationId
100+
New-AzRoleAssignment -RoleDefinitionName "Key Vault Secrets Officer" -ApplicationId "f3c21649-0979-4721-ac85-b0216b2cf413" -Scope "/subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}"
101+
```
102+
---
103+
104+
62105
#### Store the certificate in Azure Key Vault
63106

64107
[Key Vault](/azure/key-vault/general/overview) is an Azure service that helps safeguard cryptographic keys and secrets used by cloud applications and services. For App Service certificates, we recommend that you use Key Vault. After you finish the certificate purchase process, you must complete a few more steps before you start using the certificate.

articles/app-service/configure-ssl-certificate.md

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,14 +81,13 @@ The free certificate comes with the following limitations:
8181
### [Apex domain](#tab/apex)
8282

8383
- Must have an A record pointing to your web app's IP address.
84-
- Must be on apps that are publicly accessible.
8584
- Isn't supported with root domains that are integrated with Azure Traffic Manager.
8685
- Must meet all the preceding criteria for successful certificate issuances and renewals.
8786

8887
### [Subdomain](#tab/subdomain)
8988

9089
- Must have CNAME mapped _directly_ to `<app-name>.azurewebsites.net` or [trafficmanager.net](configure-domain-traffic-manager.md#enable-custom-domain). Mapping to an intermediate CNAME value blocks certificate issuance and renewal.
91-
- Must be on apps that are publicly accessible.
90+
- If using Azure Traffic Manager, the site must be configured as an [Azure endpoint](/azure/traffic-manager/traffic-manager-endpoint-types#azure-endpoints).
9291
- Must meet all the preceding criteria for successful certificate issuance and renewals.
9392

9493
---
@@ -144,9 +143,6 @@ By default, the App Service resource provider doesn't have access to your key va
144143

145144
The service principal app ID or assignee value is the application (client) ID for the App Service resource provider.
146145

147-
> [!IMPORTANT]
148-
> The values in the table are application (client) IDs. If you grant the Key Vault Certificate User role by using infrastructure-as-code (for example, ARM templates or Bicep), you typically must use the object ID of the corresponding enterprise application (service principal) in your Microsoft Entra tenant. Using the application ID works with some tooling (for example, Azure CLI role assignment), but ARM/Bicep role assignments generally require the service principal object ID.
149-
150146
### [Access policy permissions](#tab/accesspolicy)
151147

152148
| Resource provider | Service principal app ID | Key Vault secret permissions | Key Vault certificate permissions |
@@ -155,12 +151,13 @@ The service principal app ID or assignee value is the application (client) ID fo
155151

156152
The service principal app ID or assignee value is the ID for the App Service resource provider. To learn how to authorize Key Vault permissions for the App Service resource provider by using an access policy, see [Assign a Key Vault access policy](/azure/key-vault/general/assign-access-policy?tabs=azure-portal).
157153

158-
Don't delete these access policy permissions from the key vault. If you do, App Service can't sync your web app with the latest Key Vault certificate version.
159-
160154
---
161155

162156
> [!NOTE]
163-
> If Key Vault is configured to disable public access, select the **Allow trusted Microsoft services to bypass this firewall** checkbox to ensure that Microsoft services are allowed access. For more information, see [Key Vault firewall-enabled trusted services only](/azure/key-vault/general/network-security?WT.mc_id=Portal-Microsoft_Azure_KeyVault#key-vault-firewall-enabled-trusted-services-only).
157+
> Don't delete these permissions from Key Vault. If you do, App Service can't sync your web app with the latest Key Vault certificate version.
158+
159+
> [!IMPORTANT]
160+
> The values in the table are application (client) IDs. If you grant the Key Vault Certificate User role by using infrastructure-as-code (for example, ARM templates or Bicep), you typically must use the object ID of the corresponding enterprise application (service principal) in your Microsoft Entra tenant. Using the application ID works with some tooling (for example, Azure CLI role assignment), but ARM/Bicep role assignments generally require the service principal object ID.
164161
165162
#### [Azure CLI](#tab/azure-cli/rbac)
166163

@@ -175,11 +172,11 @@ az role assignment create --role "Key Vault Certificate User" --assignee "abfa0a
175172
New-AzRoleAssignment -RoleDefinitionName "Key Vault Certificate User" -ApplicationId "abfa0a7c-a6b6-4736-8310-5855508787cd" -Scope "/subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/{key-vault-name}"
176173
```
177174

178-
> [!NOTE]
179-
> Don't delete these RBAC permissions from Key Vault. If you do, App Service can't sync your web app with the latest Key Vault certificate version.
180-
181175
---
182176

177+
> [!NOTE]
178+
> If Key Vault is configured to disable public access, select the **Allow trusted Microsoft services to bypass this firewall** checkbox to ensure that Microsoft services are allowed access. For more information, see [Key Vault firewall-enabled trusted services only](/azure/key-vault/general/network-security?WT.mc_id=Portal-Microsoft_Azure_KeyVault#key-vault-firewall-enabled-trusted-services-only).
179+
183180
### Import a certificate from your vault to your app
184181

185182
1. In the [Azure portal](https://portal.azure.com), on the left pane, select **App Services** > *\<app-name>*.

0 commit comments

Comments
 (0)