Skip to content

Commit 212db2a

Browse files
authored
pull base content,head:MicrosoftDocs:main,into:wwlpublishsync
2 parents c16b989 + ccd6da9 commit 212db2a

30 files changed

+190
-266
lines changed

learn-pr/azure/cna-set-up-azure-ad-use-scale/includes/3-exercise-set-up-azure-ad.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ You'll start by creating Microsoft Entra user and group objects. After the objec
4040
```azurecli
4141
ADMIN_NAME=adatumadmin1
4242
ADMIN=$(az ad user create --display-name $ADMIN_NAME \
43-
--password Pa55w.rd1234 \
43+
--password <enter your password> \
4444
--user-principal-name $ADMIN_NAME@$DOMAIN_NAME \
4545
--force-change-password-next-sign-in false)
4646
```
@@ -76,7 +76,7 @@ You'll start by creating Microsoft Entra user and group objects. After the objec
7676
```azurecli
7777
USER_NAME=adatumuser1
7878
USER=$(az ad user create --display-name $USER_NAME \
79-
--password Pa55w.rd1234 \
79+
--password <enter your password> \
8080
--user-principal-name $USER_NAME@$DOMAIN_NAME \
8181
--force-change-password-next-sign-in false)
8282
```
@@ -152,7 +152,7 @@ In this task, you'll create a Microsoft Entra tenant and a user account in the n
152152
| User name | **contosouser1** |
153153
| Name | **contosouser1** |
154154
| Let me create the password | Enabled |
155-
| Initial password | **Pa55w.rd1234** |
155+
| Initial password | Enter a `<password>` |
156156
157157
1. Use the **Copy to clipboard** icon next to the **User name** drop-down list to record the value of the **User principal name** attribute of **contosouser1**. You'll need it later in this and subsequent exercises.
158158
@@ -168,7 +168,7 @@ In this task, you'll create a Microsoft Entra tenant and a user account in the n
168168
169169
To conclude this exercise, you'll use the Azure portal to configure the user account in the **Contoso** Microsoft Entra tenant as a guest user in the **Adatum** Microsoft Entra tenant, create a new group in that tenant, and add the guest user to that group.
170170
171-
1. In the web browser, on the Azure portal blade displaying the **Contoso \| Overview** blade of the **Contoso** Microsoft Entra tenant, in the toolbar, in the upper right corner, select the **Subscriptions** icon next to the **Cloud Shell** icon, and then select the **Switch directory** link.
171+
1. In the web browser, on the Azure portal blade displaying the **Contoso \| Overview** blade of the **Contoso** Microsoft Entra tenant, in the toolbar, in the upper right corner, select the **Subscriptions** icon next to the **Cloud Shell** icon, and then select the **Switch directory** link.
172172
1. On the **Directories + subscriptions** blade, select the entry representing the Microsoft Entra tenant associated with the Azure subscription you're using in the exercises of this module, and then select **Switch**.
173173
174174
> [!NOTE]

learn-pr/azure/cna-set-up-azure-ad-use-scale/includes/4-azure-ad-app-development.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ To implement Microsoft Entra ID-based applications, you'll need to perform sever
1111
When operating in a Microsoft Entra environment, a user authenticates to an application in two stages:
1212

1313
1. First, Microsoft Entra ID verifies the user's identity. Upon successful authentication, Microsoft Entra ID issues tokens that contain information reflecting the successful authentication.
14-
1. The user passes tokens to the application. The application validates the users security tokens to ensure that authentication was successful.
14+
1. The user passes tokens to the application. The application validates the user's security tokens to ensure that authentication was successful.
1515

1616
To perform such validation, the application must be able to communicate securely with Microsoft Entra ID. This, in turn, requires that the application itself operates as a Microsoft Entra security principal. To make it possible, you must ensure that the application is represented in some form in the same Microsoft Entra tenant that contains the account of the authenticating user.
1717

learn-pr/azure/cna-set-up-azure-ad-use-scale/includes/5-exercise-implement-multitenant-data.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ You'll start by creating an instance of Azure Database for PostgreSQL server:
4747
| Version | Select **11**. |
4848
| Compute + storage | Select the **Configure server** link. On the **Configure** blade, select **Basic**, set the **vCore** value to **1** and **Storage** to **5 GB**, and then select **OK**. |
4949
| Admin username | Enter **student**. |
50-
| Password | Enter **Pa55w0rd1234**. |
50+
| Password | Enter a `<password>`. |
5151

5252
:::image type="content" source="../media/5-azure-db-postgresql-create-basics.png" alt-text="Screenshot of the Basics tab of the server blade in the Azure portal.":::
5353

@@ -90,7 +90,7 @@ With the Azure Database for PostgreSQL server provisioned, you'll connect to it
9090
1. Within the Bash session on the **Cloud Shell** pane, paste the value of the **psql** connection string from the clipboard, modify it so it matches the following command, and run it to connect to the **postgres** database hosted on the newly deployed server instance of Azure Database for PostgreSQL. The value of the `<server_name>` placeholder will be already included in the connection string you pasted from the clipboard:
9191
9292
```
93-
psql "host=<server_name>.postgres.database.azure.com port=5432 dbname=postgres user=student@<server_name>.postgres.database.azure.com password=Pa55w0rd1234 sslmode=require"
93+
psql "host=<server_name>.postgres.database.azure.com port=5432 dbname=postgres user=student@<server_name>.postgres.database.azure.com password=<enter your password> sslmode=require"
9494
```
9595
9696
> [!NOTE]
@@ -125,7 +125,7 @@ With the Azure Database for PostgreSQL server provisioned, you'll connect to it
125125
126126
```t-sql
127127
CREATE TABLE inventory (
128-
id bigserial,
128+
id bigserial,
129129
tenant_id bigint REFERENCES tenants (id),
130130
name VARCHAR(50),
131131
quantity INTEGER,
@@ -179,7 +179,7 @@ To integrate the Azure Database for PostgreSQL server instance with Microsoft En
179179
180180
1. Within the browser window displaying the Azure portal with the Azure Database for PostgreSQL server blade, in the vertical menu, in the **Settings** section, select **Active Directory admin**, and then in the toolbar, select **Set admin**.
181181
1. On the **Active Directory admin** blade, in the list of Microsoft Entra user accounts, select the **adatumadmin1** user account you created in the previous exercise, select **Select**, and then select **Save**.
182-
1. Open another web browser window in the Incognito/InPrivate mode, navigate to the [Azure portal](https://portal.azure.com/?azure-portal=true), and sign in by using the **adatumadmin1** user account (with the **Pa55w.rd1234** password) you created in the previous exercise.
182+
1. Open another web browser window in the Incognito/InPrivate mode, navigate to the [Azure portal](https://portal.azure.com/?azure-portal=true), and sign in by using the **adatumadmin1** user account with the password you created in the previous exercise.
183183
1. In the Azure portal, open the **Cloud Shell** by selecting its icon in the toolbar next to the search text box.
184184
1. When you're prompted to select either **Bash** or **PowerShell**, select **Bash**, and then when presented with the message **You have no storage mounted**, select **Create storage**.
185185
1. Within the Bash session on the **Cloud Shell** pane, run the following commands to retrieve and display a Microsoft Entra access token required to access Azure Database for PostgreSQL:
@@ -363,7 +363,7 @@ With the application registered in the Microsoft Entra tenant, you can now proce
363363
const cca = new msal.ConfidentialClientApplication(config);
364364
365365
app.get('/auth', (req, res) => {
366-
366+
367367
redirectUri = req.hostname.toLowerCase()=="localhost" ? "http://localhost:8080/redirect" : "https://<webapp_name>.azurewebsites.net/redirect";
368368
369369
// Construct a request object for auth code
@@ -381,7 +381,7 @@ With the application registered in the Microsoft Entra tenant, you can now proce
381381
382382
app.get('/redirect', (req, res) => {
383383
redirectUri = req.hostname.toLowerCase()=="localhost" ? "http://localhost:8080/redirect" : "https://<webapp_name>.azurewebsites.net/redirect";
384-
384+
385385
// Use the auth code in redirect request to construct a token request object
386386
const tokenRequest = {
387387
code: req.query.code,

learn-pr/azure/cna-set-up-azure-ad-use-scale/includes/7-exercise-integrate-next-js-web-app-azure-ad.md

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
This exercise takes you through the process of configuring a simple Next.js-based application that integrates with Microsoft Entra ID.
1+
This exercise takes you through the process of configuring a simple Next.js-based application that integrates with Microsoft Entra ID.
22

33
In this exercise, you'll:
44

@@ -126,7 +126,7 @@ With the application registered in the Microsoft Entra tenant, you can now proce
126126
return (
127127
<>
128128
<h5 className="card-title">Welcome {accounts[0].name}</h5>
129-
{graphData ?
129+
{graphData ?
130130
<ProfileData graphData={graphData} />
131131
:
132132
<Button variant="secondary" onClick={RequestProfileData}>Request Profile Information</Button>
@@ -139,7 +139,7 @@ With the application registered in the Microsoft Entra tenant, you can now proce
139139
/**
140140
* If a user is authenticated the ProfileContent component above is rendered. Otherwise, a message indicating a user is not authenticated is rendered.
141141
*/
142-
const MainContent = () => {
142+
const MainContent = () => {
143143
return (
144144
<div className="App">
145145
<AuthenticatedTemplate>
@@ -175,9 +175,9 @@ With the application registered in the Microsoft Entra tenant, you can now proce
175175
import { LogLevel } from "@azure/msal-browser";
176176
177177
/**
178-
* Configuration object to be passed to MSAL instance on creation.
178+
* Configuration object to be passed to MSAL instance on creation.
179179
* For a full list of MSAL.js configuration parameters, visit:
180-
* https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md
180+
* https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md
181181
*/
182182
export const msalConfig = {
183183
auth: {
@@ -189,35 +189,35 @@ With the application registered in the Microsoft Entra tenant, you can now proce
189189
cacheLocation: "sessionStorage", // This configures where your cache will be stored
190190
storeAuthStateInCookie: false, // Set this to "true" if you are having issues on IE11 or Edge
191191
},
192-
system: {
193-
loggerOptions: {
194-
loggerCallback: (level, message, containsPii) => {
195-
if (containsPii) {
196-
return;
197-
}
198-
switch (level) {
199-
case LogLevel.Error:
200-
console.error(message);
201-
return;
202-
case LogLevel.Info:
203-
console.info(message);
204-
return;
205-
case LogLevel.Verbose:
206-
console.debug(message);
207-
return;
208-
case LogLevel.Warning:
209-
console.warn(message);
210-
return;
211-
}
212-
}
213-
}
192+
system: {
193+
loggerOptions: {
194+
loggerCallback: (level, message, containsPii) => {
195+
if (containsPii) {
196+
return;
197+
}
198+
switch (level) {
199+
case LogLevel.Error:
200+
console.error(message);
201+
return;
202+
case LogLevel.Info:
203+
console.info(message);
204+
return;
205+
case LogLevel.Verbose:
206+
console.debug(message);
207+
return;
208+
case LogLevel.Warning:
209+
console.warn(message);
210+
return;
211+
}
212+
}
213+
}
214214
}
215215
};
216216
217217
/**
218218
* Scopes you add here will be prompted for user consent during sign-in.
219219
* By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.
220-
* For more information about OIDC scopes, visit:
220+
* For more information about OIDC scopes, visit:
221221
* https://learn.microsoft.com/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes
222222
*/
223223
export const loginRequest = {
@@ -275,7 +275,7 @@ You're ready to validate the Microsoft Entra integration of the app. You could c
275275
276276
:::image type="content" source="../media/7-azure-ad-next-js-app-sign-in-popup.png" alt-text="Screenshot of the Welcome to the Microsoft Authentication Library For JavaScript - React Quickstart page with the Sign in using Popup menu option.":::
277277
278-
1. When prompted to sign in, authenticate by using the **adatumuser1** **userPrincipalName** and its password **Pa55w.rd1234**.
278+
1. When prompted to sign in, authenticate by using the **adatumuser1** **userPrincipalName** and its password.
279279
280280
> [!NOTE]
281281
> You created this user account in the first exercise of this module.
@@ -307,7 +307,7 @@ You're ready to validate the Microsoft Entra integration of the app. You could c
307307
308308
1. Start another web browser window in the Incognito/InPrivate mode, and navigate to the **http://localhost:3000** URL.
309309
1. On the **Welcome to the Microsoft Authentication Library For JavaScript - React Quickstart** page, select **Sign In**, and then in the expanding menu, select **Sign in using Popup**.
310-
1. When prompted to sign in, authenticate by using the **contosouser1** **userPrincipalName** and its password **Pa55w.rd1234**.
310+
1. When prompted to sign in, authenticate by using the **contosouser1** **userPrincipalName** and its password.
311311
312312
> [!NOTE]
313313
> You created this user account in the first exercise of this module.
@@ -331,4 +331,4 @@ Congratulations! You completed the third exercise of this module. In this exerci
331331
332332
## Clean up the resources
333333
334-
To avoid unnecessary charges from using Azure resources, you should delete the **postgresql-db-RG** and **cna-aadexpress-RG** resource groups you created in the previous exercise of this module. To do so, in the Azure portal, navigate to the blade of each of these resource groups, and select the **Delete resource group** entry in the toolbar. In the **TYPE THE RESOURCE GROUP NAME** textbox, enter the name of the resource group, and then select **Delete**.
334+
To avoid unnecessary charges from using Azure resources, you should delete the **postgresql-db-RG** and **cna-aadexpress-RG** resource groups you created in the previous exercise of this module. To do so, in the Azure portal, navigate to the blade of each of these resource groups, and select the **Delete resource group** entry in the toolbar. In the **TYPE THE RESOURCE GROUP NAME** textbox, enter the name of the resource group, and then select **Delete**.

learn-pr/azure/cna-set-up-azure-ad-use-scale/index.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,14 @@ metadata:
1111
ms.author: robmcm
1212
ms.topic: module-standard-task-based
1313
ms.service: azure-active-directory
14-
### NOTE: Temporarily hiding this module while SFI issues are addressed.
15-
hidden: true
14+
hidden: true
1615
title: Authenticate and authorize multi-tenant apps using Microsoft Entra ID
1716
summary: Microsoft Entra ID enables you to improve the functionality of cloud-native apps in multitenant scenarios.
1817
abstract: |
1918
In this module, you'll:
2019
- Describe the characteristics and functionality of Microsoft Entra ID
2120
- Implement Microsoft Entra authentication for cloud-native applications
22-
prerequisites: |
21+
prerequisites: |
2322
Before working on this module, it's helpful but not required that you have:
2423
- A basic understanding of cloud computing
2524
- Basic familiarity with Azure
@@ -50,4 +49,3 @@ units:
5049
- learn.azure.cna-set-up-apps-use-scale.9-summary
5150
badge:
5251
uid: learn.azure.cna-set-up-apps-use-scale.badge
53-

learn-pr/azure/create-serverless-logic-with-azure-functions/includes/3-create-an-azure-functions-app-in-the-azure-portal.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
You're now ready to start implementing the temperature service. In the previous unit, you determined that a serverless solution would best fit your needs. Let's start by creating a function app to hold our Azure Function.
1+
You're now ready to start implementing the temperature service. In the previous unit, you determined that a serverless solution would best fit your needs. Let's start by creating a function app that can hold our Azure Function.
22

33
## What is a function app?
44

55
Functions are hosted in an execution context called a **function app**. You define function apps to logically group and structure your functions and a compute resource in Azure. In our escalator example, you would create a function app to host the escalator drive gear temperature service. There are a few decisions that need to be made to create the function app; you need to choose a service plan and select a compatible storage account.
66

77
### Choose a service plan
88

9-
Function apps may use one of the following hosting plans:
9+
Function apps can use one of the following hosting plans:
1010

1111
- Consumption plan
1212
- Premium plan
1313
- Dedicated (App service) plan
1414

15-
When using the Azure serverless application platform, choose the **Consumption plan**. This plan provides automatic scaling and bills you only when your functions are running. The Consumption plan comes with a configurable timeout period for executing a function. By default, it's five (5) minutes, but may be configured to have a timeout as long as 10 minutes.
15+
When using the Azure serverless application platform, choose the **Consumption plan**. This plan provides automatic scaling and bills you only when your functions are running. The Consumption plan comes with a configurable timeout period for executing a function. By default, it's five (5) minutes, but can be configured to have a timeout as long as 10 minutes.
1616

17-
The **Premium plan** also dynamically scales your resources to meet demand, but you can specify a minimum number of VM instances to keep warm and reduce so called "cold starts." The Premium plan also lets your functions connect to and run inside virtual networks. Like the Dedicated plan, the default timeout for apps in a Premium plan is 30 minutes, but they can essentially run for an unlimited time (depending on server availability).
17+
The **Premium plan** also dynamically scales your resources to meet demand, but you can specify a minimum number of virtual machine (VM) instances to keep warm and reduce so called "cold starts." The Premium plan also lets your functions connect to and run inside virtual networks. Like the Dedicated plan, the default timeout for apps in a Premium plan is 30 minutes, but they can essentially run for an unlimited time (depending on server availability).
1818

19-
The **Dedicated (App service) plan** enables you to avoid timeout periods by having your function run continuously on a VM that you define. An App service plan is technically not a serverless plan, because you're responsible for managing the app resources the function runs on. However, it may be a better choice when you already have excess App Service resources available on which to also run your functions.
19+
The **Dedicated (App service) plan** enables you to avoid timeout periods by having your function run continuously on a VM that you define. An App service plan is technically not a serverless plan, because you're responsible for managing the app resources the function runs on. However, it might be a better choice when you already have excess App Service resources available on which to also run your functions.
2020

2121
### Storage account requirements
2222

@@ -115,4 +115,4 @@ Let's create a function app in the Azure portal. Completing this module incurs a
115115

116116
1. When deployment completes, select **Go to resource**. The Function App pane for your escalator function appears.
117117

118-
1. In the **Essentials** section, select the **URL** link to open it in a browser. A default Azure web page appears with a message that your Functions app is up and running.
118+
1. In the **Essentials** section, select the **Default domain** link to open it in a browser. A default Azure web page appears with a message that your Functions app is up and running.

0 commit comments

Comments
 (0)