Skip to content

Commit 80f474c

Browse files
authored
Merge pull request #187092 from MicrosoftDocs/repo_sync_working_branch
Confirm merge from repo_sync_working_branch to master to sync with https://github.com/MicrosoftDocs/azure-docs (branch master)
2 parents 3496dd7 + 770967d commit 80f474c

File tree

14 files changed

+100
-41
lines changed

14 files changed

+100
-41
lines changed

articles/active-directory/develop/publisher-verification-overview.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@ Publisher verification helps admins and end users understand the authenticity of
2323
When an application is marked as publisher verified, it means that the publisher has verified their identity using a [Microsoft Partner Network](https://partner.microsoft.com/membership) account that has completed the [verification](/partner-center/verification-responses) process and has associated this MPN account with their application registration.
2424

2525
A blue "verified" badge appears on the Azure AD consent prompt and other screens:
26+
2627
![Consent prompt](./media/publisher-verification-overview/consent-prompt.png)
2728

29+
> [!NOTE]
30+
> We recently changed the color of the "verified" badge from blue to gray. We will revert that change sometime in the last half of February 2022, so the "verified" badge will be blue.
31+
2832
This feature is primarily for developers building multi-tenant apps that leverage [OAuth 2.0 and OpenID Connect](active-directory-v2-protocols.md) with the [Microsoft identity platform](v2-overview.md). These apps can sign users in using OpenID Connect, or they may use OAuth 2.0 to request access to data using APIs like [Microsoft Graph](https://developer.microsoft.com/graph/).
2933

3034
## Benefits

articles/active-directory/develop/sample-v2-code.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ The following samples show public client desktop applications that access the Mi
8383
> | Java | [Call Microsoft Graph](https://github.com/Azure-Samples/ms-identity-java-desktop/) | MSAL Java | Integrated Windows authentication |
8484
> | Node.js | [Sign in users](https://github.com/Azure-Samples/ms-identity-javascript-nodejs-desktop) | MSAL Node | Authorization code with PKCE |
8585
> | Powershell | [Call Microsoft Graph by signing in users using username/password](https://github.com/azure-samples/active-directory-dotnetcore-console-up-v2) | MSAL.NET | Resource owner password credentials |
86-
> | Python | [Sign in users](https://github.com/Azure-Samples/ms-identity-python-desktop) | MSAL Python | Authorization code with PKCE |
86+
> | Python | [Sign in users](https://github.com/Azure-Samples/ms-identity-python-desktop) | MSAL Python | Resource owner password credentials |
8787
> | Universal Window Platform (UWP) | [Call Microsoft Graph](https://github.com/Azure-Samples/active-directory-xamarin-native-v2/tree/main/2-With-broker) | MSAL.NET | Web account manager |
8888
> | Windows Presentation Foundation (WPF) | [Sign in users and call Microsoft Graph](https://github.com/Azure-Samples/active-directory-dotnet-native-aspnetcore-v2/tree/master/2.%20Web%20API%20now%20calls%20Microsoft%20Graph) | MSAL.NET | Authorization code with PKCE |
8989
> | XAML | &#8226; [Sign in users and call ASP.NET core web API](https://github.com/Azure-Samples/active-directory-dotnet-native-aspnetcore-v2/tree/master/1.%20Desktop%20app%20calls%20Web%20API) <br/> &#8226; [Sign in users and call Microsoft Graph](https://github.com/azure-samples/active-directory-dotnet-desktop-msgraph-v2) | MSAL.NET | Authorization code with PKCE |

articles/active-directory/develop/scenario-daemon-app-configuration.md

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,12 @@ Configuration parameters for the [Node.js daemon sample](https://github.com/Azur
8181
# Credentials
8282
TENANT_ID=Enter_the_Tenant_Info_Here
8383
CLIENT_ID=Enter_the_Application_Id_Here
84+
85+
// You provide either a ClientSecret or a CertificateConfiguration, or a ClientAssertion. These settings are exclusive
8486
CLIENT_SECRET=Enter_the_Client_Secret_Here
87+
CERTIFICATE_THUMBPRINT=Enter_the_certificate_thumbprint_Here
88+
CERTIFICATE_PRIVATE_KEY=Enter_the_certificate_private_key_Here
89+
CLIENT_ASSERTION=Enter_the_Assertion_String_Here
8590

8691
# Endpoints
8792
// the Azure AD endpoint is the authority endpoint for token issuance
@@ -267,6 +272,7 @@ app = ConfidentialClientApplicationBuilder.Create(config.ClientId)
267272
.WithAuthority(new Uri(config.Authority))
268273
.Build();
269274
```
275+
270276
# [Java](#tab/java)
271277

272278
In MSAL Java, there are two builders to instantiate the confidential client application with certificates:
@@ -302,7 +308,24 @@ ConfidentialClientApplication cca =
302308

303309
# [Node.js](#tab/nodejs)
304310

305-
The sample application does not implement initialization with certificates at the moment.
311+
```JavaScript
312+
313+
const config = {
314+
auth: {
315+
clientId: process.env.CLIENT_ID,
316+
authority: process.env.AAD_ENDPOINT + process.env.TENANT_ID,
317+
clientCertificate: {
318+
thumbprint: process.env.CERTIFICATE_THUMBPRINT, // a 40-digit hexadecimal string
319+
privateKey: process.env.CERTIFICATE_PRIVATE_KEY,
320+
}
321+
}
322+
};
323+
324+
// Create an MSAL application object
325+
const cca = new msal.ConfidentialClientApplication(config);
326+
```
327+
328+
For details, see [Use certificate credentials with MSAL Node](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-node/docs/certificate-credentials.md).
306329

307330
# [Python](#tab/python)
308331

@@ -371,7 +394,18 @@ ConfidentialClientApplication cca =
371394

372395
# [Node.js](#tab/nodejs)
373396

374-
The sample application does not implement initialization with assertions at the moment.
397+
```JavaScript
398+
const clientConfig = {
399+
auth: {
400+
clientId: process.env.CLIENT_ID,
401+
authority: process.env.AAD_ENDPOINT + process.env.TENANT_ID,
402+
clientAssertion: process.env.CLIENT_ASSERTION
403+
}
404+
};
405+
const cca = new msal.ConfidentialClientApplication(clientConfig);
406+
```
407+
408+
For details, see [Initialize the ConfidentialClientApplication object](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-node/docs/initialize-confidential-client-application.md).
375409

376410
# [Python](#tab/python)
377411

articles/active-directory/verifiable-credentials/verifiable-credentials-configure-tenant.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ The following diagram illustrates the Azure AD Verifiable Credentials architectu
3131

3232
![Diagram that illustrates the Azure AD Verifiable Credentials architecture.](media/verifiable-credentials-configure-tenant/verifiable-credentials-architecture.png)
3333

34+
See a [video walkthrough](https://www.youtube.com/watch?v=8jqjHjQo-3c) of setting up the Azure AD Verifiable Credential service, including all prerequisites, like Azure AD and an Azure subscription.
35+
3436
## Prerequisites
3537

3638
- If you don't have Azure subscription, [create one for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
-7.19 KB

title: Tutorial - Publish versions of your API using Azure API Management description: Follow the steps of this tutorial to learn how to publish multiple API versions in API Management. author: dlepow

ms.service: api-management ms.custom: mvc, devx-track-azurecli ms.topic: tutorial ms.date: 02/10/2021 ms.author: danlep


title description author ms.service ms.custom ms.topic ms.date ms.author
Tutorial - Publish versions of your API using Azure API Management
Follow the steps of this tutorial to learn how to publish multiple API versions in API Management.
dlepow
api-management
mvc, devx-track-azurecli
tutorial
02/10/2021
danlep

Tutorial: Publish multiple versions of your API

There are times when it's impractical to have all callers to your API use exactly the same version. When callers want to upgrade to a later version, they want an approach that's easy to understand. As shown in this tutorial, it is possible to provided multiple versions in Azure API Management.

To see all your version sets, run the az apim api versionset list command:

az apim api versionset list --resource-group apim-hello-world-resource-group \
az apim api versionset list --resource-group apim-hello-word-resource-group \
    --service-name apim-hello-world --output table

When the Azure portal creates a version set for you, it assigns an alphanumeric name, which appears in the Name column of the list. Use this name in other Azure CLI commands.

To see details about a version set, run the az apim api versionset show command:

az apim api versionset show --resource-group apim-hello-world-resource-group \
az apim api versionset show --resource-group apim-hello-word-resource-group \
    --service-name apim-hello-world --version-set-id 00000000000000000000000

For more information about version sets, see Versions in Azure API Management.

articles/azure-functions/functions-reference-python.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@ To learn more about logging, see [Monitor Azure Functions](functions-monitoring.
266266
By default, the Functions runtime collects logs and other telemetry data generated by your functions. This telemetry ends up as traces in Application Insights. Request and dependency telemetry for certain Azure services are also collected by default by [triggers and bindings](functions-triggers-bindings.md#supported-bindings). To collect custom request and custom dependency telemetry outside of bindings, you can use the [OpenCensus Python Extensions](https://github.com/census-ecosystem/opencensus-python-extensions-azure), which sends custom telemetry data to your Application Insights instance. You can find a list of supported extensions at the [OpenCensus repository](https://github.com/census-instrumentation/opencensus-python/tree/master/contrib).
267267

268268
>[!NOTE]
269-
>To use the OpenCensus Python extensions, you need to enable [Python worker extensions](#python-worker-extensions) in your function app by setting `PYTHON_ENABLE_WORKER_EXTENSIONS` to `1` in your [application settings](functions-how-to-use-azure-function-app-settings.md#settings).
269+
>To use the OpenCensus Python extensions, you need to enable [Python worker extensions](#python-worker-extensions) in your function app by setting `PYTHON_ENABLE_WORKER_EXTENSIONS` to `1`. You also need to switch to using the Application Insights connection string by adding the [`APPLICATIONINSIGHTS_CONNECTION_STRING`](functions-app-settings.md#applicationinsights_connection_string) setting to your [application settings](functions-how-to-use-azure-function-app-settings.md#settings), if it's not already there.
270270
271271

272272
```

articles/azure-percept/how-to-deploy-model.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Follow this guide to deploy a vision AI model to your Azure Percept DK from with
3333

3434
:::image type="content" source="./media/how-to-deploy-model/select-device.png" alt-text="Percept devices list.":::
3535

36-
1. On the next page, click **Deploy a sample model** if you would like to deploy one of the pre-trained sample vision models. If you would like to deploy an existing [custom no-code vision solution](./tutorial-nocode-vision.md), click **Deploy a Custom Vision project**. If you do not see your Custom Vision projects, set project's domain to one of Compact domains on [Custom Vision portal](https://www.customvision.ai/) and train a model again. Only Compact domains support model export to edge devices.
36+
1. On the next page, click **Deploy a sample model** if you would like to deploy one of the pre-trained sample vision models. If you would like to deploy an existing [custom no-code vision solution](./tutorial-nocode-vision.md), click **Deploy a Custom Vision project**. If you do not see your Custom Vision projects, set project's domain to "General (Compact)" on [Custom Vision portal](https://www.customvision.ai/) and train a model again. Other domains are not supported currently.
3737

3838
:::image type="content" source="./media/how-to-deploy-model/deploy-model.png" alt-text="Model choices for deployment.":::
3939

articles/azure-resource-manager/management/resource-name-rules.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ In the following tables, the term alphanumeric refers to:
390390
> | namespaces | global | 6-50 | Alphanumerics and hyphens.<br><br>Start with letter. End with letter or number. |
391391
> | namespaces / AuthorizationRules | namespace | 1-50 | Alphanumerics, periods, hyphens and underscores.<br><br>Start and end with letter or number. |
392392
> | namespaces / disasterRecoveryConfigs | global | 6-50 | Alphanumerics and hyphens.<br><br>Start with letter. End with alphanumeric. |
393-
> | namespaces / eventhubs | namespace | 1-50 | Alphanumerics, periods, hyphens and underscores.<br><br>Start and end with letter or number. |
393+
> | namespaces / eventhubs | namespace | 1-256 | Alphanumerics, periods, hyphens and underscores.<br><br>Start and end with letter or number. |
394394
> | namespaces / eventhubs / authorizationRules | event hub | 1-50 | Alphanumerics, periods, hyphens and underscores.<br><br>Start and end with letter or number. |
395395
> | namespaces / eventhubs / consumergroups | event hub | 1-50 | Alphanumerics, periods, hyphens and underscores.<br><br>Start and end with letter or number. |
396396

articles/cdn/cdn-features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ The following table compares the features available with each product.
6868
| Easy integration with Azure services, such as [Storage](cdn-create-a-storage-account-with-cdn.md), [Web Apps](cdn-add-to-web-app.md), and [Media Services](../media-services/previous/media-services-portal-manage-streaming-endpoints.md) | **&#x2713;** |**&#x2713;** |**&#x2713;** |**&#x2713;** |
6969
| Management via [REST API](/rest/api/cdn/), [.NET](cdn-app-dev-net.md), [Node.js](cdn-app-dev-node.md), or [PowerShell](cdn-manage-powershell.md) | **&#x2713;** |**&#x2713;** |**&#x2713;** |**&#x2713;** |
7070
| [Compression MIME types](./cdn-improve-performance.md) |Configurable |Configurable |Configurable |Configurable |
71-
| Compression encodings |gzip, brotli |gzip |gzip, deflate, bzip2, brotli |gzip, deflate, bzip2, brotli |
71+
| Compression encodings |gzip, brotli |gzip |gzip, deflate, bzip2 |gzip, deflate, bzip2 |
7272

7373
## Migration
7474

articles/data-lake-store/data-lake-store-get-started-python.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ To work with Data Lake Storage Gen1 using Python, you need to install three modu
4040
Use the following commands to install the modules.
4141

4242
```console
43+
pip install azure-identity
4344
pip install azure-mgmt-resource
4445
pip install azure-mgmt-datalake-store
4546
pip install azure-datalake-store
@@ -52,27 +53,25 @@ pip install azure-datalake-store
5253
2. Add the following snippet to import the required modules
5354

5455
```python
55-
## Use this only for Azure AD service-to-service authentication
56-
from azure.common.credentials import ServicePrincipalCredentials
57-
58-
## Use this only for Azure AD end-user authentication
59-
from azure.common.credentials import UserPassCredentials
60-
61-
## Use this only for Azure AD multi-factor authentication
62-
from msrestazure.azure_active_directory import AADTokenCredentials
56+
# Acquire a credential object for the app identity. When running in the cloud,
57+
# DefaultAzureCredential uses the app's managed identity (MSI) or user-assigned service principal.
58+
# When run locally, DefaultAzureCredential relies on environment variables named
59+
# AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID.
60+
from azure.identity import DefaultAzureCredential
6361

6462
## Required for Data Lake Storage Gen1 account management
6563
from azure.mgmt.datalake.store import DataLakeStoreAccountManagementClient
66-
from azure.mgmt.datalake.store.models import DataLakeStoreAccount
64+
from azure.mgmt.datalake.store.models import CreateDataLakeStoreAccountParameters
6765

6866
## Required for Data Lake Storage Gen1 filesystem management
6967
from azure.datalake.store import core, lib, multithread
7068

7169
# Common Azure imports
70+
import adal
7271
from azure.mgmt.resource.resources import ResourceManagementClient
7372
from azure.mgmt.resource.resources.models import ResourceGroup
7473

75-
## Use these as needed for your application
74+
# Use these as needed for your application
7675
import logging, getpass, pprint, uuid, time
7776
```
7877

@@ -95,26 +94,27 @@ subscriptionId = 'FILL-IN-HERE'
9594
adlsAccountName = 'FILL-IN-HERE'
9695
resourceGroup = 'FILL-IN-HERE'
9796
location = 'eastus2'
97+
credential = DefaultAzureCredential()
9898

9999
## Create Data Lake Storage Gen1 account management client object
100-
adlsAcctClient = DataLakeStoreAccountManagementClient(armCreds, subscriptionId)
100+
adlsAcctClient = DataLakeStoreAccountManagementClient(credential, subscription_id=subscriptionId)
101101

102102
## Create a Data Lake Storage Gen1 account
103-
adlsAcctResult = adlsAcctClient.account.create(
103+
adlsAcctResult = adlsAcctClient.accounts.begin_create(
104104
resourceGroup,
105105
adlsAccountName,
106-
DataLakeStoreAccount(
106+
CreateDataLakeStoreAccountParameters(
107107
location=location
108108
)
109-
).wait()
109+
)
110110
```
111111

112112

113113
## List the Data Lake Storage Gen1 accounts
114114

115115
```python
116116
## List the existing Data Lake Storage Gen1 accounts
117-
result_list_response = adlsAcctClient.account.list()
117+
result_list_response = adlsAcctClient.accounts.list()
118118
result_list = list(result_list_response)
119119
for items in result_list:
120120
print(items)
@@ -124,7 +124,7 @@ for items in result_list:
124124

125125
```python
126126
## Delete an existing Data Lake Storage Gen1 account
127-
adlsAcctClient.account.delete(adlsAccountName)
127+
adlsAcctClient.accounts.begin_delete(resourceGroup, adlsAccountName)
128128
```
129129

130130

@@ -134,4 +134,4 @@ adlsAcctClient.account.delete(adlsAccountName)
134134
## See also
135135

136136
* [azure-datalake-store Python (Filesystem) reference](/python/api/azure-datalake-store/azure.datalake.store.core)
137-
* [Open Source Big Data applications compatible with Azure Data Lake Storage Gen1](data-lake-store-compatible-oss-other-applications.md)
137+
* [Open Source Big Data applications compatible with Azure Data Lake Storage Gen1](data-lake-store-compatible-oss-other-applications.md)

0 commit comments

Comments
 (0)