Skip to content

Commit abb1d4a

Browse files
authored
Merge branch 'MicrosoftDocs:master' into master
2 parents 3225af2 + a276fbf commit abb1d4a

File tree

100 files changed

+1037
-669
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+1037
-669
lines changed

articles/active-directory/develop/workload-identity-federation-create-trust-github.md

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ms.service: active-directory
1010
ms.subservice: develop
1111
ms.topic: how-to
1212
ms.workload: identity
13-
ms.date: 10/18/2021
13+
ms.date: 01/28/2022
1414
ms.author: ryanwi
1515
ms.custom: aaddev
1616
ms.reviewer: keyam, udayh, vakarand
@@ -44,7 +44,7 @@ In the **Federated credential scenario** drop-down box select **GitHub actions d
4444

4545
Specify the **Organization** and **Repository** for your GitHub Actions workflow.
4646

47-
For **Entity type**, select **Environment**, **Branch**, **Pull request**, or **Tag** and specify the value.
47+
For **Entity type**, select **Environment**, **Branch**, **Pull request**, or **Tag** and specify the value. The values must exactly match the configuration in the [GitHub workflow](https://docs.github.com/actions/using-workflows/workflow-syntax-for-github-actions#on). For more info, read the [examples](#entity-type-examples).
4848

4949
Add a **Name** for the federated credential.
5050

@@ -60,6 +60,67 @@ Click **Add** to configure the federated credential.
6060
> [!IMPORTANT]
6161
> The **Organization**, **Repository**, and **Entity type** values must exactly match the configuration on the GitHub workflow configuration. Otherwise, Microsoft identity platform will look at the incoming external token and reject the exchange for an access token. You won't get an error, the exchange fails without error.
6262
63+
### Entity type examples
64+
65+
#### Branch example
66+
67+
For a workflow triggered by a push or pull request event on the main branch:
68+
69+
```yml
70+
on:
71+
push:
72+
branches: [ main ]
73+
pull_request:
74+
branches: [ main ]
75+
```
76+
77+
Specify an **Entity type** of **Branch** and a **GitHub branch name** of "main".
78+
79+
#### Environment example
80+
81+
For Jobs tied to an environment named "production":
82+
83+
```yml
84+
on:
85+
push:
86+
branches:
87+
- main
88+
89+
jobs:
90+
deployment:
91+
runs-on: ubuntu-latest
92+
environment: production
93+
steps:
94+
- name: deploy
95+
# ...deployment-specific steps
96+
```
97+
98+
Specify an **Entity type** of **Environment** and a **GitHub environment name** of "production".
99+
100+
#### Tag example
101+
102+
For example, for a workflow triggered by a push to the tag named "v2":
103+
104+
```yml
105+
on:
106+
push:
107+
# Sequence of patterns matched against refs/heads
108+
branches:
109+
- main
110+
- 'mona/octocat'
111+
- 'releases/**'
112+
# Sequence of patterns matched against refs/tags
113+
tags:
114+
- v2
115+
- v1.*
116+
```
117+
118+
Specify an **Entity type** of **Tag** and a **GitHub tag name** of "v2".
119+
120+
#### Pull request example
121+
122+
For a workflow triggered by a pull request event, specify an **Entity type** of **Pull request**.
123+
63124
# [Microsoft Graph](#tab/microsoft-graph)
64125
Launch [Azure Cloud Shell](https://portal.azure.com/#cloudshell/) and sign in to your tenant.
65126
@@ -145,6 +206,6 @@ az rest -m DELETE -u 'https://graph.microsoft.com/beta/applications/f6475511-fd
145206
Before configuring your GitHub Actions workflow, get the *tenant-id* and *client-id* values of your app registration. You can find these values in the Azure portal. Go to the list of [registered applications](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps) and select your app registration. In **Overview**->**Essentials**, find the **Application (client) ID** and **Directory (tenant) ID**. Set these values in your GitHub environment to use in the Azure login action for your workflow.
146207

147208
## Next steps
148-
[Configure a GitHub Actions workflow](/azure/developer/github/connect-from-azure) to get an access token from Microsoft identity provider and access Azure resources.
209+
For an end-to-end example, read [Deploy to App Service using GitHub Actions](/azure/app-service/deploy-github-actions?tabs=openid).
149210

150211
Read the [GitHub Actions documentation](https://docs.github.com/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure) to learn more about configuring your GitHub Actions workflow to get an access token from Microsoft identity provider and access Azure resources.
7.34 KB
Loading

articles/analysis-services/analysis-services-gateway-install.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Learn how to install and configure an On-premises data gateway to c
44
author: minewiskan
55
ms.service: azure-analysis-services
66
ms.topic: conceptual
7-
ms.date: 11/17/2021
7+
ms.date: 01/31/2022
88
ms.author: owend
99
ms.reviewer: minewiskan
1010
ms.custom: devx-track-azurepowershell
@@ -20,7 +20,7 @@ To learn more about how Azure Analysis Services works with the gateway, see [Con
2020

2121
**Minimum Requirements:**
2222

23-
* .NET 4.5 Framework
23+
* .NET 4.8 Framework
2424
* 64-bit version of Windows 8 / Windows Server 2012 R2 (or later)
2525

2626
**Recommended:**

articles/application-gateway/key-vault-certs.md

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: application-gateway
55
author: vhorne
66
ms.service: application-gateway
77
ms.topic: conceptual
8-
ms.date: 11/30/2021
8+
ms.date: 01/31/2022
99
ms.author: victorh
1010
---
1111

@@ -23,29 +23,29 @@ Application Gateway integration with Key Vault offers many benefits, including:
2323
- Stronger security, because TLS/SSL certificates aren't directly handled by the application development team. Integration allows a separate security team to:
2424
* Set up application gateways.
2525
* Control application gateway lifecycles.
26-
* Grant permissions to selected application gateways to access certificates that are stored in your key vault.
27-
- Support for importing existing certificates into your key vault. Or use Key Vault APIs to create and manage new certificates with any of the trusted Key Vault partners.
28-
- Support for automatic renewal of certificates that are stored in your key vault.
26+
* Grant permissions to selected application gateways to access certificates that are stored in your Key Vault.
27+
- Support for importing existing certificates into your Key Vault. Or use Key Vault APIs to create and manage new certificates with any of the trusted Key Vault partners.
28+
- Support for automatic renewal of certificates that are stored in your Key Vault.
2929

3030
## Supported certificates
3131

32-
Application Gateway currently supports software-validated certificates only. Hardware security module (HSM)-validated certificates are not supported.
32+
Application Gateway currently supports software-validated certificates only. Hardware security module (HSM)-validated certificates aren’t supported.
3333

3434
After Application Gateway is configured to use Key Vault certificates, its instances retrieve the certificate from Key Vault and install them locally for TLS termination. The instances poll Key Vault at four-hour intervals to retrieve a renewed version of the certificate, if it exists. If an updated certificate is found, the TLS/SSL certificate that's currently associated with the HTTPS listener is automatically rotated.
3535

3636
> [!TIP]
3737
> Any change to Application Gateway will force a check against Key Vault to see if any new versions of certificates are available. This includes, but not limited to, changes to Frontend IP Configurations, Listeners, Rules, Backend Pools, Resource Tags, and more. If an updated certificate is found, the new certificate will immediately be presented.
3838
39-
Application Gateway uses a secret identifier in Key Vault to reference the certificates. For Azure PowerShell, the Azure CLI, or Azure Resource Manager, we strongly recommend that you use a secret identifier that doesn't specify a version. This way, Application Gateway will automatically rotate the certificate if a newer version is available in your key vault. An example of a secret URI without a version is `https://myvault.vault.azure.net/secrets/mysecret/`.
39+
Application Gateway uses a secret identifier in Key Vault to reference the certificates. For Azure PowerShell, the Azure CLI, or Azure Resource Manager, we strongly recommend that you use a secret identifier that doesn't specify a version. This way, Application Gateway will automatically rotate the certificate if a newer version is available in your Key Vault. An example of a secret URI without a version is `https://myvault.vault.azure.net/secrets/mysecret/`.
4040

4141
The Azure portal supports only Key Vault certificates, not secrets. Application Gateway still supports referencing secrets from Key Vault, but only through non-portal resources like PowerShell, the Azure CLI, APIs, and Azure Resource Manager templates (ARM templates).
4242

4343
> [!WARNING]
44-
> Azure Application Gateway currently supports only Key Vault accounts in the same subscription as the Application Gateway resource. Choosing a key vault under a different subscription than your Application Gateway will result in a failure.
44+
> Azure Application Gateway currently supports only Key Vault accounts in the same subscription as the Application Gateway resource. Choosing a Key Vault under a different subscription than your Application Gateway will result in a failure.
4545
4646
## Certificate settings in Key Vault
4747

48-
For TLS termination, Application Gateway only supports certificates in Personal Information Exchange (PFX) format. You can either import an existing certificate or create a new one in your key vault. To avoid any failures, ensure that the certificate's status is set to **Enabled** in Key Vault.
48+
For TLS termination, Application Gateway only supports certificates in Personal Information Exchange (PFX) format. You can either import an existing certificate or create a new one in your Key Vault. To avoid any failures, ensure that the certificate's status is set to **Enabled** in Key Vault.
4949

5050
## How integration works
5151

@@ -64,29 +64,32 @@ You can either create a new user-assigned managed identity or reuse an existing
6464

6565
### Delegate user-assigned managed identity to Key Vault
6666

67-
Define access policies to use the user-assigned managed identity with your key vault:
67+
Define access policies to use the user-assigned managed identity with your Key Vault:
6868

6969
1. In the Azure portal, go to **Key Vault**.
70-
1. Select the key vault that contains your certificate.
70+
1. Select the Key Vault that contains your certificate.
7171
1. If you're using the permission model **Vault access policy**: Select **Access Policies**, select **+ Add Access Policy**, select **Get** for **Secret permissions**, and choose your user-assigned managed identity for **Select principal**. Then select **Save**.
7272

73-
If you're using the permission model **Azure role-based access control**: Select **Access control (IAM)** and [Add a role assignment](../active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities.md#assign-a-role-to-a-user-assigned-managed-identity) for the user-assigned managed identity to the Azure key vault for the role **Key Vault Secrets User**.
73+
If you're using the permission model **Azure role-based access control**: Select **Access control (IAM)** and [Add a role assignment](../active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities.md#assign-a-role-to-a-user-assigned-managed-identity) for the user-assigned managed identity to the Azure Key Vault for the role **Key Vault Secrets User**.
7474

7575
### Verify Firewall Permissions to Key Vault
7676

77-
As of March 15, 2021, Key Vault recognizes Application Gateway as a trusted service by leveraging User Managed Identities for authentication to Azure Key Vault. With the use of service endpoints and enabling the trusted services option for key vault's firewall, you can build a secure network boundary in Azure. You can deny access to traffic from all networks (including internet traffic) to Key Vault but still make Key Vault accessible for an Application Gateway resource under your subscription.
77+
As of March 15, 2021, Key Vault recognizes Application Gateway as a trusted service by leveraging User Managed Identities for authentication to Azure Key Vault. With the use of service endpoints and enabling the trusted services option for Key Vault's firewall, you can build a secure network boundary in Azure. You can deny access to traffic from all networks (including internet traffic) to Key Vault but still make Key Vault accessible for an Application Gateway resource under your subscription.
7878

79-
When you're using a restricted key vault, use the following steps to configure Application Gateway to use firewalls and virtual networks:
79+
When you're using a restricted Key Vault, use the following steps to configure Application Gateway to use firewalls and virtual networks:
8080

81-
1. In the Azure portal, in your key vault, select **Networking**.
82-
1. On the **Firewalls and virtual networks** tab, select **Private endpoint and selected networks**.
81+
> [!TIP]
82+
> The following steps are not required if your Key Vault has a Private Endpoint enabled. The application gateway can access the Key Vault using the private IP address.
83+
84+
1. In the Azure portal, in your Key Vault, select **Networking**.
85+
1. On the **Firewalls and virtual networks** tab, select **Selected networks**.
8386
1. For **Virtual networks**, select **+ Add existing virtual networks**, and then add the virtual network and subnet for your Application Gateway instance. During the process, also configure the `Microsoft.KeyVault` service endpoint by selecting its checkbox.
84-
1. Select **Yes** to allow trusted services to bypass the key vault's firewall.
85-
86-
![Screenshot that shows selections for configuring Application Gateway to use firewalls and virtual networks.](media/key-vault-certs/key-vault-firewall.png)
87+
1. Select **Yes** to allow trusted services to bypass the Key Vault's firewall.
88+
89+
![Screenshot that shows selections for configuring Application Gateway to use firewalls and virtual networks.](media/key-vault-certs/key-vault-firewall.png)
8790

8891
> [!Note]
89-
> If you deploy the Application Gateway instance via an ARM template by using either the Azure CLI or PowerShell, or via an Azure application deployed from the Azure portal, the SSL certificate is stored in the key vault as a Base64-encoded PFX file. You must complete the steps in [Use Azure Key Vault to pass secure parameter value during deployment](../azure-resource-manager/templates/key-vault-parameter.md).
92+
> If you deploy the Application Gateway instance via an ARM template by using either the Azure CLI or PowerShell, or via an Azure application deployed from the Azure portal, the SSL certificate is stored in the Key Vault as a Base64-encoded PFX file. You must complete the steps in [Use Azure Key Vault to pass secure parameter value during deployment](../azure-resource-manager/templates/key-vault-parameter.md).
9093
>
9194
> It's particularly important to set `enabledForTemplateDeployment` to `true`. The certificate might or might not have a password. In the case of a certificate with a password, the following example shows a possible configuration for the `sslCertificates` entry in `properties` for the ARM template configuration for Application Gateway.
9295
>
@@ -102,7 +105,7 @@ When you're using a restricted key vault, use the following steps to configure A
102105
> ]
103106
> ```
104107
>
105-
> The values of `appGatewaySSLCertificateData` and `appGatewaySSLCertificatePassword` are looked up from the key vault, as described in [Reference secrets with dynamic ID](../azure-resource-manager/templates/key-vault-parameter.md#reference-secrets-with-dynamic-id). Follow the references backward from `parameters('secretName')` to see how the lookup happens. If the certificate is passwordless, omit the `password` entry.
108+
> The values of `appGatewaySSLCertificateData` and `appGatewaySSLCertificatePassword` are looked up from the Key Vault, as described in [Reference secrets with dynamic ID](../azure-resource-manager/templates/key-vault-parameter.md#reference-secrets-with-dynamic-id). Follow the references backward from `parameters('secretName')` to see how the lookup happens. If the certificate is passwordless, omit the `password` entry.
106109
107110
### Configure Application Gateway Listener
108111
@@ -111,26 +114,26 @@ Navigate to your Application Gateway in the Azure portal and select the **Listen
111114
112115
Under **Choose a certificate**, select **Create new** and then select **Choose a certificate from Key Vault** under **Https settings**.
113116
114-
For Cert name, type a friendly name for the certificate to be referenced in Key Vault. Choose your Managed identity, Key vault, and Certificate.
117+
For Cert name, type a friendly name for the certificate to be referenced in Key Vault. Choose your Managed identity, Key Vault, and Certificate.
115118
116119
Once selected, select **Add** (if creating) or **Save** (if editing) to apply the referenced Key Vault certificate to the listener.
117120
118121
#### Key Vault Azure role-based access control permission model
119-
Application Gateway supports certificates referenced in Key Vault via the Role-based access control permission model. The first few steps to reference the key vault must be completed via ARM, Bicep, CLI, or PowerShell.
122+
Application Gateway supports certificates referenced in Key Vault via the Role-based access control permission model. The first few steps to reference the Key Vault must be completed via ARM template, Bicep, CLI, or PowerShell.
120123
121124
> [!Note]
122125
> Specifying Azure Key Vault certificates that are subject to the role-based access control permission model is not supported via the portal.
123126
124-
In this example, we will use PowerShell to reference a new Key Vault certificate.
127+
In this example, we’ll use PowerShell to reference a new Key Vault certificate.
125128
```
126129
# Get the Application Gateway we want to modify
127130
$appgw = Get-AzApplicationGateway -Name MyApplicationGateway -ResourceGroupName MyResourceGroup
128131
# Specify the resource id to the user assigned managed identity - This can be found by going to the properties of the managed identity
129132
Set-AzApplicationGatewayIdentity -ApplicationGateway $appgw -UserAssignedIdentityId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MyResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyManagedIdentity"
130-
# Get the secret ID from key vault
133+
# Get the secret ID from Key Vault
131134
$secret = Get-AzKeyVaultSecret -VaultName "MyKeyVault" -Name "CertificateName"
132135
$secretId = $secret.Id # https://<keyvaultname>.vault.azure.net/secrets/<hash>
133-
# Specify the secret ID from key vault
136+
# Specify the secret ID from Key Vault
134137
Add-AzApplicationGatewaySslCertificate -KeyVaultSecretId $secretId -ApplicationGateway $appgw -Name $secret.Name
135138
# Commit the changes to the Application Gateway
136139
Set-AzApplicationGateway -ApplicationGateway $appgw
@@ -151,7 +154,7 @@ Set-AzApplicationGateway -ApplicationGateway $appgw
151154
152155
Once the commands have been executed, you can navigate to your Application Gateway in the Azure portal and select the Listeners tab. Click Add Listener (or select an existing) and specify the Protocol to HTTPS.
153156
154-
Under *Choose a certificate* select the certificate named in the previous steps. Once selected, select *Add* (if creating) or *Save* (if editing) to apply the referenced Key Vault certificate to the listener.
157+
Under **Choose a certificate** select the certificate named in the previous steps. Once selected, select *Add* (if creating) or *Save* (if editing) to apply the referenced Key Vault certificate to the listener.
155158
156159
## Investigating and resolving Key Vault errors
157160
-594 KB
Loading

0 commit comments

Comments
 (0)