Skip to content

Commit 078dae9

Browse files
authored
Merge pull request #289006 from MicrosoftDocs/main
10/22/2024 PM Publish
2 parents c6d82d4 + 2c12146 commit 078dae9

File tree

106 files changed

+2724
-917
lines changed

Some content is hidden

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

106 files changed

+2724
-917
lines changed

articles/api-management/api-management-howto-add-products.md

Lines changed: 92 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
---
22
title: Tutorial - Create and publish a product in Azure API Management
33
description: In this tutorial, you create and publish a product in Azure API Management. Once it's published, developers can begin to use the product's APIs.
4-
5-
author: dlepow
6-
ms.service: azure-api-management
74
ms.topic: tutorial
8-
ms.date: 01/18/2022
9-
ms.author: danlep
5+
ms.date: 10/22/2024
106
ms.custom: devdivchpfy22, devx-track-azurecli
7+
ms.service: azure-api-management
8+
author: dlepow
9+
ms.author: danlep
1110
ms.devlang: azurecli
12-
11+
zone_pivot_groups: api-management-howto-add-products
1312
---
1413
# Tutorial: Create and publish a product
1514

1615
[!INCLUDE [api-management-availability-all-tiers](../../includes/api-management-availability-all-tiers.md)]
1716

1817
In Azure API Management, a [*product*](api-management-terminology.md#term-definitions) contains one or more APIs, a usage quota, and the terms of use. After a product is published, developers can [subscribe](api-management-subscriptions.md) to the product and begin to use the product's APIs.
1918

19+
:::zone pivot="interactive"
20+
2021
In this tutorial, you learn how to:
2122

2223
> [!div class="checklist"]
@@ -26,7 +27,6 @@ In this tutorial, you learn how to:
2627
2728
:::image type="content" source="media/api-management-howto-add-products/added-product-1.png" alt-text="API Management products in portal":::
2829

29-
3030
## Prerequisites
3131

3232
+ Learn the [Azure API Management terminology](api-management-terminology.md).
@@ -207,3 +207,88 @@ Advance to the next tutorial:
207207

208208
> [!div class="nextstepaction"]
209209
> [Create blank API and mock API responses](mock-api-responses.md)
210+
211+
:::zone-end
212+
213+
:::zone pivot="terraform"
214+
215+
In this article, you use Terraform to create an Azure API Management instance, an API, a product, a group, and associations between the product and the API, and the product and the group.
216+
217+
[!INCLUDE [About Terraform](~/azure-dev-docs-pr/articles/terraform/includes/abstract.md)]
218+
219+
> [!div class="checklist"]
220+
>
221+
> * Specify the required version of Terraform and the required providers.
222+
> * Define variables for the resource group name prefix, resource group location, and the content format and value for the API definition import.
223+
> * Create a resource group with a randomized name.
224+
> * Create an API Management service with a randomized name.
225+
> * Create an API with a randomized name.
226+
> * Create a product with a randomized name in the API Management service.
227+
> * Create a group with a randomized name.
228+
> * Associate the API with the product.
229+
> * Associate the group with the product.
230+
> * Output the randomized values such as the names of the resource group, API Management service, API, product, and group.
231+
232+
## Prerequisites
233+
234+
- Create an Azure account with an active subscription. You can [create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
235+
236+
- [Install and configure Terraform.](/azure/developer/terraform/quickstart-configure)
237+
238+
## Implement the Terraform code
239+
240+
> [!NOTE]
241+
> The sample code for this article is located in the [Azure Terraform GitHub repo](https://github.com/Azure/terraform/tree/master/quickstart/101-azure-api-management-create-with-api). You can view the log file containing the [test results from current and previous versions of Terraform](https://github.com/Azure/terraform/tree/master/quickstart/101-azure-api-management-create-with-api/TestRecord.md).
242+
>
243+
> See more [articles and sample code showing how to use Terraform to manage Azure resources](/azure/terraform).
244+
245+
1. Create a directory in which to test and run the sample Terraform code and make it the current directory.
246+
247+
1. Create a file named `main.tf`, and insert the following code:
248+
:::code language="Terraform" source="~/terraform_samples/quickstart/101-azure-api-management-create-with-api/main.tf":::
249+
250+
1. Create a file named `outputs.tf`, and insert the following code:
251+
:::code language="Terraform" source="~/terraform_samples/quickstart/101-azure-api-management-create-with-api/outputs.tf":::
252+
253+
1. Create a file named `providers.tf`, and insert the following code:
254+
:::code language="Terraform" source="~/terraform_samples/quickstart/101-azure-api-management-create-with-api/providers.tf":::
255+
256+
1. Create a file named `variables.tf`, and insert the following code:
257+
:::code language="Terraform" source="~/terraform_samples/quickstart/101-azure-api-management-create-with-api/variables.tf":::
258+
259+
## Initialize Terraform
260+
261+
[!INCLUDE [terraform-init.md](~/azure-dev-docs-pr/articles/terraform/includes/terraform-init.md)]
262+
263+
## Create a Terraform execution plan
264+
265+
[!INCLUDE [terraform-plan.md](~/azure-dev-docs-pr/articles/terraform/includes/terraform-plan.md)]
266+
267+
## Apply a Terraform execution plan
268+
269+
[!INCLUDE [terraform-apply-plan.md](~/azure-dev-docs-pr/articles/terraform/includes/terraform-apply-plan.md)]
270+
271+
## Verify the results
272+
273+
Run [`az apim show`](/cli/azure/apim#az-apim-show) to view the Azure API Management:
274+
275+
```azurecli
276+
277+
az apim show --<apim_service_name> --<resource_group_name>
278+
279+
```
280+
281+
## Clean up resources
282+
283+
[!INCLUDE [terraform-plan-destroy.md](~/azure-dev-docs-pr/articles/terraform/includes/terraform-plan-destroy.md)]
284+
285+
## Troubleshoot Terraform on Azure
286+
287+
[Troubleshoot common problems when using Terraform on Azure](/azure/developer/terraform/troubleshoot).
288+
289+
## Next steps
290+
291+
> [!div class="nextstepaction"]
292+
> [Create blank API and mock API responses](mock-api-responses.md).
293+
294+
:::zone-end

articles/api-management/azure-openai-api-from-specification.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,7 @@ In addition to the `azure-openai-token-limit` and `azure-openai-emit-token-metri
136136

137137
## Related content
138138

139+
* [Generative AI gateway capabilities in Azure API Management](genai-gateway-capabilities.md)
139140
* [API Management policy reference](api-management-policies.md)
140-
* [Azure OpenAI Service as a central capability with Azure API Management](/samples/azure/enterprise-azureai/enterprise-azureai/)
141-
* [Azure API Management - Azure OpenAI sample](https://github.com/galiniliev/apim-azure-openai-sample)
142141

143142
[!INCLUDE [api-management-define-api-topics.md](../../includes/api-management-define-api-topics.md)]

articles/app-service/environment/app-service-app-service-environment-custom-settings.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ ms.custom: mvc, devx-track-arm-template
1313
# Custom configuration settings for App Service Environments
1414

1515
## Overview
16+
1617
Because App Service Environments are isolated to a single customer, there are certain configuration settings that can be applied exclusively to App Service Environments. This article documents the various specific customizations that are available for App Service Environments.
1718

1819
> [!NOTE]
1920
> This article covers the features, benefits, and use cases of App Service Environment v3, which is used with App Service Isolated v2 plans.
20-
>
21+
>
2122
2223
If you do not have an App Service Environment, see [How to Create an App Service Environment v3](./creation.md).
2324

@@ -48,6 +49,7 @@ The following abbreviated Resource Manager template snippet shows the **clusterS
4849
The **clusterSettings** attribute can be included in a Resource Manager template to update the App Service Environment.
4950

5051
## Use Azure Resource Explorer to update an App Service Environment
52+
5153
Alternatively, you can update the App Service Environment by using [Azure Resource Explorer](https://resources.azure.com).
5254

5355
1. In Resource Explorer, go to the node for the App Service Environment (**subscriptions** > **{your Subscription}** > **resourceGroups** > **{your Resource Group}** > **providers** > **Microsoft.Web** > **hostingEnvironments**). Then click the specific App Service Environment that you want to update.
@@ -71,12 +73,12 @@ The App Service Environment operates as a black box system where you cannot see
7173
}
7274
],
7375
```
74-
Setting InternalEncryption to true encrypts internal network traffic in your App Service Environment between the front ends and workers, encrypts the pagefile and also encrypts the worker disks. After the InternalEncryption clusterSetting is enabled, there can be an impact to your system performance. When you make the change to enable InternalEncryption, your App Service Environment will be in an unstable state until the change is fully propagated. Complete propagation of the change can take a few hours to complete, depending on how many instances you have in your App Service Environment. We highly recommend that you do not enable InternalEncryption on an App Service Environment while it is in use. If you need to enable InternalEncryption on an actively used App Service Environment, we highly recommend that you divert traffic to a backup environment until the operation completes.
7576

77+
Setting InternalEncryption to true encrypts internal network traffic in your App Service Environment between the front ends and workers, encrypts the pagefile and also encrypts the worker disks. After the InternalEncryption clusterSetting is enabled, there can be an impact to your system performance. When you make the change to enable InternalEncryption, your App Service Environment will be in an unstable state until the change is fully propagated. Complete propagation of the change can take a few hours to complete, depending on how many instances you have in your App Service Environment. We highly recommend that you do not enable InternalEncryption on an App Service Environment while it is in use. If you need to enable InternalEncryption on an actively used App Service Environment, we highly recommend that you divert traffic to a backup environment until the operation completes.
7678

7779
## Disable TLS 1.0 and TLS 1.1
7880

79-
If you want to manage TLS settings on an app by app basis, then you can use the guidance provided with the [Enforce TLS settings](../configure-ssl-bindings.md#enforce-tls-versions) documentation.
81+
If you want to manage TLS settings on an app by app basis, then you can use the guidance provided with the [Enforce TLS settings](../configure-ssl-bindings.md#enforce-tls-versions) documentation.
8082

8183
If you want to disable all inbound TLS 1.0 and TLS 1.1 traffic for all of the apps in an App Service Environment, you can set the following **clusterSettings** entry:
8284

@@ -92,19 +94,23 @@ If you want to disable all inbound TLS 1.0 and TLS 1.1 traffic for all of the ap
9294
The name of the setting says 1.0 but when configured, it disables both TLS 1.0 and TLS 1.1.
9395

9496
## Change TLS cipher suite order
95-
The App Service Environment supports changing the cipher suite from the default. The default set of ciphers is the same set that is used in the multi-tenant service. Changing the cipher suites affects an entire App Service deployment making this only possible in the single-tenant App Service Environment. There are two cipher suites required for an App Service Environment; TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, and TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. If you wish to operate your App Service Environment with the strongest and most minimal set of cipher suites, then use just the two required ciphers. To configure your App Service Environment to use just the ciphers that it requires, modify the **clusterSettings** as shown below.
97+
98+
App Service Environment supports changing the cipher suite from the default. The default set of ciphers is the same set that is used in the multi-tenant App Service. Changing the cipher suite is only possible with App Service Environment, the single-tenant offering, not the multi-tenant offering, because changing it affects the entire App Service deployment. There are two cipher suites that are required for an App Service Environment: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 and TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256. Additionally, you should include the following cipher suites, which are required for TLS 1.3: TLS_AES_256_GCM_SHA384 and TLS_AES_128_GCM_SHA256.
99+
100+
To configure your App Service Environment to use just the ciphers that it requires, modify the **clusterSettings** as shown in the following sample. **Ensure that the TLS 1.3 ciphers are included at the beginning of the list**.
96101

97102
```json
98103
"clusterSettings": [
99104
{
100105
"name": "FrontEndSSLCipherSuiteOrder",
101-
"value": "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
106+
"value": "TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
102107
}
103108
],
104109
```
105110

106111
> [!WARNING]
107-
> If incorrect values are set for the cipher suite that SChannel cannot understand, all TLS communication to your server might stop functioning. In such a case, you will need to remove the *FrontEndSSLCipherSuiteOrder* entry from **clusterSettings** and submit the updated Resource Manager template to revert back to the default cipher suite settings. Please use this functionality with caution.
112+
> If incorrect values are set for the cipher suite that SChannel cannot understand, all TLS communication to your server might stop functioning. In such a case, you will need to remove the *FrontEndSSLCipherSuiteOrder* entry from **clusterSettings** and submit the updated Resource Manager template to revert back to the default cipher suite settings. Please use this functionality with caution.
108113
109114
## Get started
115+
110116
The Azure Quickstart Resource Manager template site includes a template with the base definition for [creating an App Service Environment](https://azure.microsoft.com/resources/templates/web-app-asp-app-on-asev3-create/).

0 commit comments

Comments
 (0)