Skip to content

Commit 471ee25

Browse files
committed
review-1
1 parent c900c2e commit 471ee25

16 files changed

+178
-178
lines changed
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.protect-apis-on-api-management.1-introduction
3-
title: Introduction
4-
metadata:
5-
title: Introduction
6-
description: In this unit, you'll learn about a business scenario that you can solve by using API protection policies in Azure API Management.
7-
ms.date: 08/10/2023
8-
author: dlepow
9-
ms.author: danlep
10-
ms.topic: unit
11-
durationInMinutes: 3
12-
content: |
13-
[!include[](includes/1-introduction.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.protect-apis-on-api-management.1-introduction
3+
title: Introduction
4+
metadata:
5+
title: Introduction
6+
description: In this unit, you learn about a business scenario that you can solve by using API protection policies in Azure API Management.
7+
ms.date: 08/10/2023
8+
author: dlepow
9+
ms.author: danlep
10+
ms.topic: unit
11+
durationInMinutes: 3
12+
content: |
13+
[!include[](includes/1-introduction.md)]
14+
Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.protect-apis-on-api-management.3-exercise-remove-header
3-
title: Exercise - Remove header information
4-
metadata:
5-
title: Exercise - Remove header information
6-
description: In this exercise, you'll add a web API to Azure API Management and then use a policy to control the HTTP headers that the API returns.
7-
ms.date: 08/10/2023
8-
author: dlepow
9-
ms.author: danlep
10-
ms.topic: unit
11-
durationInMinutes: 10
12-
interactive: bash
13-
azureSandbox: false
14-
content: |
15-
[!include[](includes/3-exercise-remove-header.md)]
16-
1+
### YamlMime:ModuleUnit
2+
uid: learn.protect-apis-on-api-management.3-exercise-remove-header
3+
title: Exercise - Remove header information
4+
metadata:
5+
title: Exercise - Remove header information
6+
description: In this exercise, you add a web API to Azure API Management and then use a policy to control the HTTP headers that the API returns.
7+
ms.date: 08/10/2023
8+
author: dlepow
9+
ms.author: danlep
10+
ms.topic: unit
11+
durationInMinutes: 10
12+
interactive: bash
13+
azureSandbox: false
14+
content: |
15+
[!include[](includes/3-exercise-remove-header.md)]
16+
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.protect-apis-on-api-management.4-hide-url-transformation
3-
title: Mask URLs with a transformation policy
4-
metadata:
5-
title: Mask URLs with a transformation policy
6-
description: In this module, you'll learn about transformation policies and how to use them to modify the content of an API response.
7-
ms.date: 08/10/2023
8-
author: dlepow
9-
ms.author: danlep
10-
ms.topic: unit
11-
durationInMinutes: 5
12-
content: |
13-
[!include[](includes/4-hide-url-transformation.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.protect-apis-on-api-management.4-hide-url-transformation
3+
title: Mask URLs with a transformation policy
4+
metadata:
5+
title: Mask URLs with a transformation policy
6+
description: In this module, you learn about transformation policies and how to use them to modify the content of an API response.
7+
ms.date: 08/10/2023
8+
author: dlepow
9+
ms.author: danlep
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
content: |
13+
[!include[](includes/4-hide-url-transformation.md)]
14+
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.protect-apis-on-api-management.5-exercise-hide-url
3-
title: Exercise - Mask URLs with a transformation policy
4-
metadata:
5-
title: Exercise - Mask URLs with a transformation policy
6-
description: In this module, you use a policy to hide the URL of the hosted URL to ensure that its location is not passed to users.
7-
ms.date: 08/10/2023
8-
author: dlepow
9-
ms.author: danlep
10-
ms.topic: unit
11-
durationInMinutes: 5
12-
azureSandbox: false
13-
content: |
14-
[!include[](includes/5-exercise-hide-url.md)]
15-
1+
### YamlMime:ModuleUnit
2+
uid: learn.protect-apis-on-api-management.5-exercise-hide-url
3+
title: Exercise - Mask URLs with a transformation policy
4+
metadata:
5+
title: Exercise - Mask URLs with a transformation policy
6+
description: In this module, you use a policy to hide the URL of the hosted URL to ensure that its location isn't passed to users.
7+
ms.date: 08/10/2023
8+
author: dlepow
9+
ms.author: danlep
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
azureSandbox: false
13+
content: |
14+
[!include[](includes/5-exercise-hide-url.md)]
15+
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.protect-apis-on-api-management.6-rate-limit-policy
3-
title: Throttle API requests
4-
metadata:
5-
title: Throttle API requests
6-
description: In this unit, you'll learn about throttling (rate limiting) policies and how to use them to prevent users from overusing resources.
7-
ms.date: 08/11/2023
8-
author: dlepow
9-
ms.author: danlep
10-
ms.topic: unit
11-
durationInMinutes: 7
12-
content: |
13-
[!include[](includes/6-rate-limit-policy.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.protect-apis-on-api-management.6-rate-limit-policy
3+
title: Throttle API requests
4+
metadata:
5+
title: Throttle API requests
6+
description: In this unit, you learn about throttling (rate limiting) policies and how to use them to prevent users from overusing resources.
7+
ms.date: 08/11/2023
8+
author: dlepow
9+
ms.author: danlep
10+
ms.topic: unit
11+
durationInMinutes: 7
12+
content: |
13+
[!include[](includes/6-rate-limit-policy.md)]
14+
Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.protect-apis-on-api-management.7-exercise-rate-limit-policy
3-
title: Exercise - Throttle API requests
4-
metadata:
5-
title: Exercise - Throttle API requests
6-
description: In this exercise, you'll set up and test throttling (rate limiting) policies in API Management.
7-
ms.date: 08/10/2023
8-
author: dlepow
9-
ms.author: danlep
10-
ms.topic: unit
11-
durationInMinutes: 5
12-
azureSandbox: false
13-
content: |
14-
[!include[](includes/7-exercise-rate-limit-policy.md)]
15-
1+
### YamlMime:ModuleUnit
2+
uid: learn.protect-apis-on-api-management.7-exercise-rate-limit-policy
3+
title: Exercise - Throttle API requests
4+
metadata:
5+
title: Exercise - Throttle API requests
6+
description: In this exercise, you set up and test throttling (rate limiting) policies in API Management.
7+
ms.date: 08/10/2023
8+
author: dlepow
9+
ms.author: danlep
10+
ms.topic: unit
11+
durationInMinutes: 5
12+
azureSandbox: false
13+
content: |
14+
[!include[](includes/7-exercise-rate-limit-policy.md)]
15+
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
### YamlMime:ModuleUnit
2-
uid: learn.protect-apis-on-api-management.8-summary
3-
title: Summary
4-
metadata:
5-
title: Summary
6-
description: In this unit, you'll review what you have learned about API Management policies you can use to protect your APIs.
7-
ms.date: 08/10/2023
8-
author: dlepow
9-
ms.author: danlep
10-
ms.topic: unit
11-
durationInMinutes: 3
12-
content: |
13-
[!include[](includes/8-summary.md)]
14-
1+
### YamlMime:ModuleUnit
2+
uid: learn.protect-apis-on-api-management.8-summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: In this unit, you review what you learned about API Management policies you can use to protect your APIs.
7+
ms.date: 08/10/2023
8+
author: dlepow
9+
ms.author: danlep
10+
ms.topic: unit
11+
durationInMinutes: 3
12+
content: |
13+
[!include[](includes/8-summary.md)]
14+

learn-pr/azure/protect-apis-on-api-management/includes/1-introduction.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
Companies that publish web APIs often need to control the behavior of those APIs without recoding them.
22

3-
Suppose you are the lead developer for a government agency. The agency has created an API to make recent and historical census data available. They want to prevent any unnecessary backend information from being exposed that could be used in malicious attacks. They would also like to prevent abuse of the APIs in the form of a large volume of requests and need a mechanism to throttle requests if they exceed an allowed amount. They are serving their APIs on the Azure API Management service and would like to implement policies to address these concerns.
3+
Suppose you're the lead developer for a government agency. The agency created an API to make recent and historical census data available. They want to prevent any unnecessary backend information from being exposed that could be used in malicious attacks. They would also like to prevent abuse of the APIs in the form of a large volume of requests. They need a mechanism to throttle requests if the requests exceed an allowed amount. They're serving their APIs on the Azure API Management service and would like to implement policies to address these concerns.
44

55
Azure API Management enables a consistent, modern, and secure gateway for all your web APIs. It offers policies to transform API requests and responses through configuration.
66

7-
In this module, you'll create an API gateway to publish a RESTful API. You will remove response headers, replace URLs, and throttle requests to achieve a secure endpoint for clients to communicate with.
7+
In this module, you create an API gateway to publish a RESTful API. Then, you remove response headers, replace URLs, and throttle requests to achieve a secure endpoint for clients to communicate with.
88

99
## Learning objectives
1010

1111
In this module, you will:
1212

13-
- Create an Azure API gateway
14-
- Import a RESTful API into the gateway
15-
- Implement policies to limit unintended information exposure and throttle the requests
16-
- Call an API to test the applied policies
13+
- Create an Azure API gateway.
14+
- Import a RESTful API into the gateway.
15+
- Implement policies to limit unintended information exposure and throttle the requests.
16+
- Test the applied policies by calling an API.
1717

1818
## Prerequisites
1919

learn-pr/azure/protect-apis-on-api-management/includes/2-remove-technical-info.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Any organization that publishes an API needs to make sure that users can access it securely and that malicious users can't successfully attack it.
22

3-
Governments store much personal data regarding citizens. Census data reveals a lot about each citizen, and their life. This data could be exploited to harm people. It is imperative that any data exposed through API endpoints are secured through modern standards.
3+
Governments store much personal data regarding citizens. Census data reveals a lot about each citizen, and their life. This data could be exploited to harm people. It's imperative that any data exposed through API endpoints are secured through modern standards.
44

5-
As the lead developer, you'll look at how to set up a secured API gateway, which will protect the census data from unauthorized access. It will also help protect the endpoints from denial-of-service attacks.
5+
As the lead developer, you look at how to set up a secured API gateway, which protects the census data from unauthorized access. It also helps protect the endpoints from denial-of-service attacks.
66

77
## Azure API Management
88

@@ -24,8 +24,8 @@ In the Census API example, it's important that you remove the following header:
2424

2525
## API Management setup
2626

27-
To set up API Management, you will perform the following tasks:
27+
To set up API Management, perform the following tasks:
2828

29-
- **Create an API Management gateway**. In this step, you create the API Management resource in the Azure portal. You also assign properties to the gateway, such as an FQDN and a pricing tier.
29+
- **Create an API Management gateway**. In this step, you create the API Management resource in the Azure portal. You also assign properties to the gateway, such as a fully qualified domain name (FQDN) and a pricing tier.
3030
- **Register an existing web API with the gateway**. In this step, you add the web API to the gateway. The API already has its own Azure app service host but you must add it to API Management in order to use policies and other API Management tools.
31-
- **Remove a header from the response**. In this step, you will apply a policy that removes an insecure header from all responses.
31+
- **Remove a header from the response**. In this step, you apply a policy that removes an insecure header from all responses.

learn-pr/azure/protect-apis-on-api-management/includes/3-exercise-remove-header.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Companies that publish web APIs often need to carefully control the HTTP headers that their APIs return, preferably without rewriting the API source code.
22

3-
The government has decided to share census data with its agencies through RESTful APIs. The critical requirements are that the data is shared securely and can be easily amended to facilitate quick integration. As lead developer, you need to create an API gateway. You use the gateway to publish a RESTful Census API that exposes an OpenAPI endpoint using modern security standards.
3+
The government decides to share census data with its agencies through RESTful APIs. The critical requirements are that the data is shared securely and can be easily amended to facilitate quick integration. As lead developer, you need to create an API gateway. You use the gateway to publish a RESTful Census API that exposes an OpenAPI endpoint using modern security standards.
44

55
Here, you will:
66

@@ -14,7 +14,7 @@ Here, you will:
1414

1515
## Deploy the Census web API
1616

17-
You've developed a .NET Core app that returns sensitive census information. The app includes Swashbuckle to generate OpenAPI documentation.
17+
You developed a .NET Core app that returns sensitive census information. The app includes Swashbuckle to generate OpenAPI documentation.
1818

1919
To save time, let's start by running a script to host our RESTful API in Azure. The script performs the following steps:
2020

@@ -64,11 +64,11 @@ To save time, let's start by running a script to host our RESTful API in Azure.
6464

6565
The next step in this exercise is to create an API gateway in the Azure portal. In the next section, you'll use this gateway to publish your API:
6666
67-
1. Sign in to the [Azure portal](https://portal.azure.com/)
68-
.
67+
1. Sign in to the [Azure portal](https://portal.azure.com/).
68+
6969
1. On the Azure portal menu or from the **Home** page, select **Create a resource**. The **Create a resource** pane appears.
7070
71-
1. In the left menu pane, select **Integration**, and then enter *API Management* in the **Search services and marketplace** search box. Select the **API Management** card in the results, and select **Create** to open the **Create API Management service** pane.
71+
1. In the left menu pane, select **Integration**, and then enter *API Management* in the **Search services and marketplace** search box. Select the **API Management** card in the results, and select **Create**. The **Create API Management service** pane appears.
7272
7373
1. On the **Basics** tab, enter the following values for each setting.
7474
@@ -79,19 +79,19 @@ The next step in this exercise is to create an API gateway in the Azure portal.
7979
| Resource group | Select a new or existing resource group. A resource group is a logical container that holds related resources for an Azure solution. |
8080
| **Instance details** |
8181
| Region | Select an available region. |
82-
|Resource name | Enter `apim-CensusData<random number>`, replacing `random number` with your own series of numbers to ensure that the name is globally unique. |
82+
|Resource name | Enter `apim-CensusData<random number>`. Replace `<random number>` with your own series of numbers so that the name is globally unique. |
8383
| Organization name | Enter `Government-Census`. The name of your organization for use in the developer portal and email notifications. (The developer portal and notifications aren't available in all service tiers.) |
8484
| Administrator email | The email address to receive all system notifications. |
8585
| **Pricing tier** |
8686
| Pricing tier | Select `Consumption (99.95% SLA)` from the dropdown list. |
8787
| | |
8888

89-
:::image type="content" source="../media/3-create-apim-gateway.png" alt-text="Screenshot of the completed settings on the Basics tab of the Create API Management service screen.":::
89+
:::image type="content" source="../media/3-create-apim-gateway.png" alt-text="Screenshot of the completed settings on the Basics tab of the 'Create API Management service' screen.":::
9090

9191
> [!NOTE]
9292
> The Consumption tier provides fast deployment for testing and has a pay-for-use pricing model. The overall API management experience is similar to the other pricing tiers.
9393

94-
1. Select **Review + create**. After validation passes, select **Create**. Deployment may take several minutes. When the deployment has completed, you'll see the API Management instance listed in the Azure resources. Select **Go to resource** to view the pane for your API Management service.
94+
1. Select **Review + create**. After validation passes, select **Create**. Deployment can take several minutes. When the deployment completes, the API Management instance is listed in your Azure resources. Select **Go to resource** to view the pane for your API Management service.
9595

9696
## Import the API
9797

@@ -106,13 +106,13 @@ Now, import the Census API into the API Management gateway:
106106
:::image type="content" source="../media/3-import-api.png" alt-text="Screenshot of the Create from OpenAPI specification dialog box with the swagger JSON URL entered.":::
107107

108108
> [!NOTE]
109-
> You will notice that, when you tab out of the box, some of the other fields are populated for you. This is because you have used OpenAPI which specifies most of the required connection details.
109+
> Notice that when you tab out of the box, some of the other fields are populated for you. The OpenAPI specification fills in most of the required connection details.
110110

111111
1. Leave the other settings at their defaults, and then select **Create**.
112112

113113
## Test the API
114114

115-
Let's see what data is returned in from the API by default:
115+
Let's see what data is returned from the API by default:
116116
117117
1. In the [Azure portal](https://portal.azure.com/) menu or from the **Home** page, select **All Resources**, and then select your API Management instance.
118118

0 commit comments

Comments
 (0)