|
2 | 2 | title: Tutorial - Create and publish a product in Azure API Management |
3 | 3 | 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 | 4 | ms.topic: tutorial |
5 | | -ms.date: 10/22/2024 |
| 5 | +ms.date: 08/19/2025 |
6 | 6 | ms.custom: devdivchpfy22, devx-track-azurecli |
7 | 7 | ms.service: azure-api-management |
8 | 8 | author: dlepow |
@@ -52,7 +52,7 @@ In this tutorial, you learn how to: |
52 | 52 | |--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
53 | 53 | | Display name | The name as you want it to be shown in the [developer portal](api-management-howto-developer-portal.md). | |
54 | 54 | | Description | Provide information about the product such as its purpose, the APIs it provides access to, and other details. | |
55 | | - | State | Select **Published** if you want to publish the product to the developer portal. Before the APIs in a product can be discovered by developers, the product must be published. By default, new products are unpublished. | |
| 55 | + | State | Select **Published** if you want to publish the product to the developer portal for discovery of the product's APIs by developers. By default, new products are unpublished.<br/><br/>Regardless of whether the product is published, all of the product's APIs are accessible for requests via the API Management gateway. | |
56 | 56 | | Requires subscription | Select if a user is required to subscribe to use the product (the product is *protected*) and a subscription key must be used to access the product's APIs. If a subscription isn't required (the product is *open*), a subscription key isn't required to access the product's APIs. See [Access to product APIs](#access-to-product-apis) later in this article. | |
57 | 57 | | Requires approval | Select if you want an administrator to review and accept or reject subscription attempts to this product. If not selected, subscription attempts are auto-approved. | |
58 | 58 | | Subscription count limit | Optionally limit the count of multiple simultaneous subscriptions. Minimum value: 1 | |
@@ -172,44 +172,6 @@ az apim product api delete --resource-group apim-hello-word-resource-group \ |
172 | 172 |
|
173 | 173 | --- |
174 | 174 |
|
175 | | -## Access to product APIs |
176 | | - |
177 | | -After you publish a product, developers can access the APIs. Depending on how the product is configured, they may need to subscribe to the product for access. |
178 | | - |
179 | | -* **Protected product** - Developers must first subscribe to a protected product to get access to the product's APIs. When they subscribe, they get a subscription key that can access any API in that product. If you created the API Management instance, you are an administrator already, so you are subscribed to every product by default. For more information, see [Subscriptions in Azure API Management](api-management-subscriptions.md). |
180 | | - |
181 | | - When a client makes an API request with a valid product subscription key, API Management processes the request and permits access in the context of the product. Policies and access control rules configured for the product can be applied. |
182 | | - |
183 | | - > [!TIP] |
184 | | - > You can create or update a user's subscription to a product with custom subscription keys through a [REST API](/rest/api/apimanagement/current-ga/subscription/create-or-update) or PowerShell command. |
185 | | -
|
186 | | -* **Open product** - Developers can access an open product's APIs without a subscription key. However, you can configure other mechanisms to secure client access to the APIs, including [OAuth 2.0](api-management-howto-protect-backend-with-aad.md), [client certificates](api-management-howto-mutual-certificates-for-clients.md), and [restricting caller IP addresses](ip-filter-policy.md). |
187 | | - |
188 | | - > [!NOTE] |
189 | | - > Open products aren't listed in the developer portal for developers to learn about or subscribe to. They're visible only to the **Administrators** group. You'll need to use another mechanism to inform developers about APIs that can be accessed without a subscription key. |
190 | | -
|
191 | | - When a client makes an API request without a subscription key: |
192 | | - |
193 | | - * API Management checks whether the API is associated with an open product. An API can be associated with at most one open product. |
194 | | - |
195 | | - * If the open product exists, it then processes the request in the context of that open product. Policies and access control rules configured for the open product can be applied. |
196 | | - |
197 | | -For more information, see [How API Management handles requests with or without subscription keys](api-management-subscriptions.md#how-api-management-handles-requests-with-or-without-subscription-keys). |
198 | | - |
199 | | -## Next steps |
200 | | - |
201 | | -In this tutorial, you learned how to: |
202 | | - |
203 | | -> [!div class="checklist"] |
204 | | -> * Create and publish a product |
205 | | -> * Add an API to the product |
206 | | -> * Access product APIs |
207 | | -
|
208 | | -Advance to the next tutorial: |
209 | | - |
210 | | -> [!div class="nextstepaction"] |
211 | | -> [Create blank API and mock API responses](mock-api-responses.md) |
212 | | -
|
213 | 175 | :::zone-end |
214 | 176 |
|
215 | 177 | :::zone pivot="terraform" |
@@ -288,9 +250,42 @@ az apim show --<apim_service_name> --<resource_group_name> |
288 | 250 |
|
289 | 251 | [Troubleshoot common problems when using Terraform on Azure](/azure/developer/terraform/troubleshoot). |
290 | 252 |
|
| 253 | +:::zone-end |
| 254 | + |
| 255 | +## Access to product APIs |
| 256 | + |
| 257 | +After you publish a product, developers can discover the product's APIs in the developer portal. Depending on how the product is configured, they may need to subscribe to the product for access. |
| 258 | + |
| 259 | +* **Protected product** - Developers must first subscribe to a protected product to get access to the product's APIs. When they subscribe, they get a subscription key that can access any API in that product. If you created the API Management instance, you are an administrator already, so you are subscribed to every product by default. For more information, see [Subscriptions in Azure API Management](api-management-subscriptions.md). |
| 260 | + |
| 261 | + When a client makes an API request with a valid product subscription key, API Management processes the request and permits access in the context of the product. Policies and access control rules configured for the product can be applied. |
| 262 | + |
| 263 | + > [!TIP] |
| 264 | + > You can create or update a user's subscription to a product with custom subscription keys through a [REST API](/rest/api/apimanagement/current-ga/subscription/create-or-update) or PowerShell command. |
| 265 | +
|
| 266 | +* **Open product** - Developers can access an open product's APIs without a subscription key. However, you can configure other mechanisms to secure client access to the APIs, including [OAuth 2.0](api-management-howto-protect-backend-with-aad.md), [client certificates](api-management-howto-mutual-certificates-for-clients.md), and [restricting caller IP addresses](ip-filter-policy.md). |
| 267 | + |
| 268 | + > [!NOTE] |
| 269 | + > Open products aren't listed in the developer portal for developers to learn about or subscribe to. They're visible only to the **Administrators** group. You'll need to use another mechanism to inform developers about APIs that can be accessed without a subscription key. |
| 270 | +
|
| 271 | + When a client makes an API request without a subscription key: |
| 272 | + |
| 273 | + * API Management checks whether the API is associated with an open product. An API can be associated with at most one open product. |
| 274 | + |
| 275 | + * If the open product exists, it then processes the request in the context of that open product. Policies and access control rules configured for the open product can be applied. |
| 276 | + |
| 277 | +For more information, see [How API Management handles requests with or without subscription keys](api-management-subscriptions.md#how-api-management-handles-requests-with-or-without-subscription-keys). |
| 278 | + |
291 | 279 | ## Next steps |
292 | 280 |
|
293 | | -> [!div class="nextstepaction"] |
294 | | -> [Create blank API and mock API responses](mock-api-responses.md). |
| 281 | +In this tutorial, you learned how to: |
295 | 282 |
|
296 | | -:::zone-end |
| 283 | +> [!div class="checklist"] |
| 284 | +> * Create and publish a product |
| 285 | +> * Add an API to the product |
| 286 | +> * Access product APIs |
| 287 | +
|
| 288 | +Advance to the next tutorial: |
| 289 | + |
| 290 | +> [!div class="nextstepaction"] |
| 291 | +> [Create blank API and mock API responses](mock-api-responses.md) |
0 commit comments