You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/app-proxy/application-proxy-configure-complex-application.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ This article provides you with the information you need to configure wildcard ap
50
50
- Note - Regular application will always take precedence over a complex app (wildcard application).
51
51
52
52
## Pre-requisites
53
-
Before you get started with single sign-on for header-based authentication apps, make sure your environment is ready with the following settings and configurations:
53
+
Before you get started with Application Proxy Complex application scenario apps, make sure your environment is ready with the following settings and configurations:
54
54
- You need to enable Application Proxy and install a connector that has line of site to your applications. See the tutorial [Add an on-premises application for remote access through Application Proxy](application-proxy-add-on-premises-application.md#add-an-on-premises-app-to-azure-ad) to learn how to prepare your on-premises environment, install and register a connector, and test the connector.
-[Check HTTP header](#CheckHTTPHeader) - Enforces existence and/or value of an HTTP header.
23
+
-[Get authorization context](#GetAuthorizationContext) - Gets the authorization context of a specified [authorization](authorizations-overview.md) configured in the API Management instance.
23
24
-[Limit call rate by subscription](#LimitCallRate) - Prevents API usage spikes by limiting call rate, on a per subscription basis.
24
25
-[Limit call rate by key](#LimitCallRateByKey) - Prevents API usage spikes by limiting call rate, on a per key basis.
25
26
-[Restrict caller IPs](#RestrictCallerIPs) - Filters (allows/denies) calls from specific IP addresses and/or address ranges.
26
27
-[Set usage quota by subscription](#SetUsageQuota) - Allows you to enforce a renewable or lifetime call volume and/or bandwidth quota, on a per subscription basis.
27
28
-[Set usage quota by key](#SetUsageQuotaByKey) - Allows you to enforce a renewable or lifetime call volume and/or bandwidth quota, on a per key basis.
28
-
-[Validate JWT](#ValidateJWT) - Enforces existence and validity of a JWT extracted from either a specified HTTP Header or a specified query parameter.
29
+
-[Validate JWT](#ValidateJWT) - Enforces existence and validity of a JWT extracted from either a specified HTTP header or a specified query parameter.
29
30
-[Validate client certificate](#validate-client-certificate) - Enforces that a certificate presented by a client to an API Management instance matches specified validation rules and claims.
30
31
31
32
> [!TIP]
@@ -67,7 +68,7 @@ Use the `check-header` policy to enforce that a request has a specified HTTP hea
| failed-check-error-message | Error message to return in the HTTP response body if the header doesn't exist or has an invalid value. This message must have any special characters properly escaped. | Yes | N/A |
69
70
| failed-check-httpcode | HTTP Status code to return if the header doesn't exist or has an invalid value. | Yes | N/A |
70
-
| header-name | The name of the HTTP Header to check. | Yes | N/A |
71
+
| header-name | The name of the HTTP header to check. | Yes | N/A |
71
72
| ignore-case | Can be set to True or False. If set to True case is ignored when the header value is compared against the set of acceptable values. | Yes | N/A |
72
73
73
74
### Usage
@@ -78,6 +79,142 @@ This policy can be used in the following policy [sections](./api-management-howt
78
79
79
80
-**Policy scopes:** all scopes
80
81
82
+
## <aname="GetAuthorizationContext"></a> Get authorization context
83
+
84
+
Use the `get-authorization-context` policy to get the authorization context of a specified [authorization](authorizations-overview.md) (preview) configured in the API Management instance.
85
+
86
+
The policy fetches and stores authorization and refresh tokens from the configured authorization provider.
87
+
88
+
If `identity-type=jwt` is configured, a JWT token is required to be validated. The audience of this token must be https://azure-api.net/authorization-manager.
| authorization-id | The authorization resource identifier. | Yes ||
187
+
| context-variable-name | The name of the context variable to receive the [`Authorization` object](#authorization-object). | Yes ||
188
+
| identity-type | Type of identity to be checked against the authorization access policy. <br> - `managed`: managed identity of the API Management service. <br> - `jwt`: JWT bearer token specified in the `identity` attribute. | No | managed |
189
+
| identity | An Azure AD JWT bearer token to be checked against the authorization permissions. Ignored for `identity-type` other than `jwt`. <br><br>Expected claims: <br> - audience: https://azure-api.net/authorization-manager <br> - `oid`: Permission object id <br> - `tid`: Permission tenant id | No ||
190
+
| ignore-error | Boolean. If acquiring the authorization context results in an error (for example, the authorization resource is not found or is in an error state): <br> - `true`: the context variable is assigned a value of null. <br> - `false`: return `500`| No | false |
191
+
192
+
### Authorization object
193
+
194
+
The Authorization context variable receives an object of type `Authorization`.
| AccessToken | Bearer access token to authorize a backend HTTP request. |
207
+
| Claims | Claims returned from the authorization server’s token response API (see [RFC6749#section-5.1](https://datatracker.ietf.org/doc/html/rfc6749#section-5.1)). |
208
+
209
+
### Usage
210
+
211
+
This policy can be used in the following policy [sections](./api-management-howto-policies.md#sections) and [scopes](./api-management-howto-policies.md#scopes).
212
+
213
+
-**Policy sections:** inbound
214
+
215
+
-**Policy scopes:** all scopes
216
+
217
+
81
218
## <aname="LimitCallRate"></a> Limit call rate by subscription
82
219
83
220
The `rate-limit` policy prevents API usage spikes on a per subscription basis by limiting the call rate to a specified number per a specified time period. When the call rate is exceeded, the caller receives a `429 Too Many Requests` response status code.
@@ -415,7 +552,7 @@ This policy can be used in the following policy [sections](./api-management-howt
415
552
416
553
## <aname="ValidateJWT"></a> Validate JWT
417
554
418
-
The `validate-jwt` policy enforces existence and validity of a JSON web token (JWT) extracted from either a specified HTTP Header or a specified query parameter.
555
+
The `validate-jwt` policy enforces existence and validity of a JSON web token (JWT) extracted from either a specified HTTP header or a specified query parameter.
419
556
420
557
> [!IMPORTANT]
421
558
> The `validate-jwt` policy requires that the `exp` registered claim is included in the JWT token, unless `require-expiration-time` attribute is specified and set to `false`.
-[Check HTTP header](api-management-access-restriction-policies.md#CheckHTTPHeader) - Enforces existence and/or value of an HTTP Header.
22
+
-[Get authorization context](api-management-access-restriction-policies.md#GetAuthorizationContext) - Gets the authorization context of a specified [authorization](authorizations-overview.md) configured in the API Management instance.
22
23
-[Limit call rate by subscription](api-management-access-restriction-policies.md#LimitCallRate) - Prevents API usage spikes by limiting call rate, on a per subscription basis.
23
24
-[Limit call rate by key](api-management-access-restriction-policies.md#LimitCallRateByKey) - Prevents API usage spikes by limiting call rate, on a per key basis.
24
25
-[Restrict caller IPs](api-management-access-restriction-policies.md#RestrictCallerIPs) - Filters (allows/denies) calls from specific IP addresses and/or address ranges.
0 commit comments