Updates from: 06/03/2023 01:38:14
Service Microsoft Docs article Related commit history on GitHub Change details
active-directory-b2c Configure A Sample Node Web App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/configure-a-sample-node-web-app.md
+ Last updated 07/07/2022
active-directory-b2c Configure Authentication In Sample Node Web App With Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/configure-authentication-in-sample-node-web-app-with-api.md
+ Last updated 03/24/2023
active-directory-b2c Configure Authentication Sample Python Web App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/configure-authentication-sample-python-web-app.md
Last updated 02/28/2023 -+ # Configure authentication in a sample Python web app by using Azure AD B2C
active-directory-b2c Custom Policies Series Call Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/custom-policies-series-call-rest-api.md
-+ Last updated 03/16/2023
active-directory-b2c Enable Authentication In Node Web App Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/enable-authentication-in-node-web-app-options.md
Last updated 02/02/2022 -+ # Enable authentication options in a Node.js web app by using Azure Active Directory B2C
The following code snippet demonstrates how to configure MSAL logging:
## Next steps Learn more about [MSAL.js configuration options](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md).-
active-directory-b2c Enable Authentication In Node Web App With Api Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/enable-authentication-in-node-web-app-with-api-options.md
Last updated 02/10/2022 -+ # Enable Node.js web API authentication options using Azure Active Directory B2C
The following code snippet demonstrates how to configure MSAL logging:
## Next steps Learn more about [MSAL.js configuration options](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md).-
active-directory-b2c Enable Authentication In Node Web App With Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/enable-authentication-in-node-web-app-with-api.md
+ Last updated 02/09/2022
Follow the steps in [Run the web app and API](configure-authentication-in-sample
## Next steps-- [Secure an Azure API Management API with Azure AD B2C](secure-api-management.md)
+- [Secure an Azure API Management API with Azure AD B2C](secure-api-management.md)
active-directory-b2c Enable Authentication In Node Web App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/enable-authentication-in-node-web-app.md
+ Last updated 02/02/2022
Follow the steps in [Run your web app](configure-a-sample-node-web-app.md#run-th
## Next steps -- Learn how to [customize and enhance the Azure AD B2C authentication experience for your web app](enable-authentication-in-node-web-app-options.md)
+- Learn how to [customize and enhance the Azure AD B2C authentication experience for your web app](enable-authentication-in-node-web-app-options.md)
active-directory-b2c Enable Authentication Python Web App Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/enable-authentication-python-web-app-options.md
Last updated 07/05/2021 -+ # Enable authentication options in a Python web app by using Azure AD B2C
active-directory-b2c Enable Authentication Python Web App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/enable-authentication-python-web-app.md
+ Last updated 06/28/2022
active-directory-b2c Multiple Token Endpoints https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-b2c/multiple-token-endpoints.md
+ Last updated 03/15/2021
active-directory-domain-services Powershell Scoped Synchronization https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-domain-services/powershell-scoped-synchronization.md
Last updated 01/29/2023 --+ # Configure scoped synchronization from Azure AD to Azure Active Directory Domain Services using Azure AD PowerShell
To learn more about the synchronization process, see [Understand synchronization
[associate-azure-ad-tenant]: ../active-directory/fundamentals/active-directory-how-subscriptions-associated-directory.md <!-- EXTERNAL LINKS -->
-[Connect-AzureAD]: /powershell/module/azuread/connect-azuread
+[Connect-AzureAD]: /powershell/module/azuread/connect-azuread
active-directory-domain-services Secure Your Domain https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-domain-services/secure-your-domain.md
Last updated 01/29/2023 --+ # Harden an Azure Active Directory Domain Services managed domain
active-directory-domain-services Template Create Instance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory-domain-services/template-create-instance.md
Previously updated : 01/29/2023 Last updated : 06/01/2023 # Create an Azure Active Directory Domain Services managed domain using an Azure Resource Manager template
First, register the Azure AD Domain Services resource provider using the [Regist
Register-AzResourceProvider -ProviderNamespace Microsoft.AAD ```
-Create an Azure AD service principal using the [New-AzureADServicePrincipal][New-AzureADServicePrincipal] cmdlet for Azure AD DS to communicate and authenticate itself. A specific application ID is used named *Domain Controller Services* with an ID of *6ba9a5d4-8456-4118-b521-9c5ca10cdf84*. Don't change this application ID.
+Create an Azure AD service principal using the [New-AzureADServicePrincipal][New-AzureADServicePrincipal] cmdlet for Azure AD DS to communicate and authenticate itself. A specific application ID is used named *Domain Controller Services* with an ID of *2565bd9d-da50-47d4-8b85-4c97f669dc36* for Azure Global. For other Azure clouds, search for AppId value *6ba9a5d4-8456-4118-b521-9c5ca10cdf84*.
```powershell
-New-AzureADServicePrincipal -AppId "6ba9a5d4-8456-4118-b521-9c5ca10cdf84"
+New-AzureADServicePrincipal -AppId "2565bd9d-da50-47d4-8b85-4c97f669dc36"
``` Now create an Azure AD group named *AAD DC Administrators* using the [New-AzureADGroup][New-AzureADGroup] cmdlet. Users added to this group are then granted permissions to perform administration tasks on the managed domain.
active-directory Application Proxy Configure Native Client Application https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/app-proxy/application-proxy-configure-native-client-application.md
+ Last updated 11/17/2022
active-directory Howto Authentication Use Email Signin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/howto-authentication-use-email-signin.md
Previously updated : 01/30/2023 Last updated : 06/01/2023
Email as an alternate login ID applies to [Azure AD B2B collaboration](../extern
Once users with the *ProxyAddresses* attribute applied are synchronized to Azure AD using Azure AD Connect, you need to enable the feature for users to sign in with email as an alternate login ID for your tenant. This feature tells the Azure AD login servers to not only check the sign-in identifier against UPN values, but also against *ProxyAddresses* values for the email address.
-During preview, you currently need *Global Administrator* permissions to enable sign-in with email as an alternate login ID. You can use either Azure portal or PowerShell to set up the feature.
+During preview, you currently need *Global Administrator* permissions to enable sign-in with email as an alternate login ID. You can use either Azure portal or Graph PowerShell to set up the feature.
### Azure portal
With the policy applied, it can take up to 1 hour to propagate and for users to
Once users with the *ProxyAddresses* attribute applied are synchronized to Azure AD using Azure AD Connect, you need to enable the feature for users to sign-in with email as an alternate login ID for your tenant. This feature tells the Azure AD login servers to not only check the sign-in identifier against UPN values, but also against *ProxyAddresses* values for the email address.
-During preview, you can currently only enable email as an alternate login ID using PowerShell or the Microsoft Graph API. You need *Global Administrator* privileges to complete the following steps:
+You need *Global Administrator* privileges to complete the following steps:
1. Open a PowerShell session as an administrator, then install the *Microsoft.Graph* module using the `Install-Module` cmdlet:
active-directory Howto Mfa Reporting https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/howto-mfa-reporting.md
Previously updated : 10/04/2022 Last updated : 06/01/2023
-+ # Use the sign-ins report to review Azure AD Multi-Factor Authentication events
To view the sign-in activity report in the [Azure portal](https://portal.azure.c
1. Under *Activity* from the menu on the left-hand side, select **Sign-ins**. 1. A list of sign-in events is shown, including the status. You can select an event to view more details.
- The **Authentication Details** or **Conditional Access** tab of the event details shows you the status code or which policy triggered the MFA prompt.
+ The **Conditional Access** tab of the event details shows you which policy triggered the MFA prompt.
[![Screenshot of example Azure Active Directory sign-ins report in the Azure portal](media/howto-mfa-reporting/sign-in-report-cropped.png)](media/howto-mfa-reporting/sign-in-report.png#lightbox)
active-directory Howto Mfa Userdevicesettings https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/howto-mfa-userdevicesettings.md
Previously updated : 01/29/2023 Last updated : 06/01/2023
To add authentication methods for a user via the Azure portal:
> [!NOTE] > The preview experience allows administrators to add any available authentication methods for users, while the original experience only allows updating of phone and alternate phone methods.
-### Manage methods using PowerShell:
+### Manage methods using PowerShell
Install the Microsoft.Graph.Identity.Signins PowerShell module using the following commands.
Remove a specific phone method for a user
Remove-MgUserAuthenticationPhoneMethod -UserId balas@contoso.com -PhoneAuthenticationMethodId 3179e48a-750b-4051-897c-87b9720928f7 ```
-Authentication methods can also be managed using Microsoft Graph APIs, more information can be found in the document [Azure AD authentication methods API overview](/graph/api/resources/authenticationmethods-overview)
+Authentication methods can also be managed using Microsoft Graph APIs. For more information, see [Authentication and authorization basics](/graph/auth/auth-concepts).
## Manage user authentication options
active-directory Howto Mfa Userstates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/howto-mfa-userstates.md
-+ # Enable per-user Azure AD Multi-Factor Authentication to secure sign-in events
active-directory Howto Password Ban Bad On Premises Deploy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/howto-password-ban-bad-on-premises-deploy.md
Previously updated : 03/23/2023 Last updated : 06/01/2023
The following core requirements apply:
| | | |`https://login.microsoftonline.com`|Authentication requests| |`https://enterpriseregistration.windows.net`|Azure AD Password Protection functionality|
+ |`https://autoupdate.msappproxaxy.net` | Azure AD Password Protection auto-upgrade functionality |
> [!NOTE] > Some endpoints, such as the CRL endpoint, are not addressed in this article. For a list of all supported endpoints, see [Microsoft 365 URLs and IP address ranges](/microsoft-365/enterprise/urls-and-ip-address-ranges#microsoft-365-common-and-office-online).
Choose one or more servers to host the Azure AD Password Protection proxy servic
* You can run the Azure AD Password Protection proxy service on a domain controller for testing, but that domain controller then requires internet connectivity. This connectivity can be a security concern. We recommend this configuration for testing only. * We recommend at least two Azure AD Password Protection proxy servers per forest for redundancy, as noted in the previous section on [high availability considerations](#high-availability-considerations). * It's not supported to run the Azure AD Password Protection proxy service on a read-only domain controller.
+* If necessary, you can remove the proxy service by using **Add or remove programs**. No manual cleanup of the state that the proxy service maintains is needed.
To install the Azure AD Password Protection proxy service, complete the following steps:
active-directory Howto Password Ban Bad On Premises Monitor https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/howto-password-ban-bad-on-premises-monitor.md
-+ # Monitor and review logs for on-premises Azure AD Password Protection environments
active-directory Howto Sspr Authenticationdata https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/howto-sspr-authenticationdata.md
-+ # Pre-populate user authentication contact information for Azure Active Directory self-service password reset (SSPR)
active-directory Accounts Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/accounts-overview.md
String issuer = account.getClaims().get("iss"); // The tenant specific authority
``` > [!TIP]
-> To see a list of claims available from the account object, refer to [claims in an id_token](./id-tokens.md#claims-in-an-id-token)
+> To see a list of claims available from the account object, refer to the [ID token claims reference](./id-token-claims-reference.md).
> [!TIP] > To include additional claims in your id_token, refer to the optional claims documentation in [How to: Provide optional claims to your Azure AD app](./active-directory-optional-claims.md)
active-directory Console App Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/console-app-quickstart.md
Last updated 12/06/2022 -+ zone_pivot_groups: console-app-quickstart #Customer intent: As an app developer, I want to learn how my console app can get an access token and call an API that's protected by the Microsoft identity platform by using the client credentials flow.
zone_pivot_groups: console-app-quickstart
::: zone pivot="devlang-java" [!INCLUDE [Java](./includes/console-app/quickstart-java.md)]
active-directory Console Quickstart Portal Nodejs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/console-quickstart-portal-nodejs.md
Last updated 08/22/2022 -+ #Customer intent: As an application developer, I want to learn how my Node.js app can get an access token and call an API that is protected by a Microsoft identity platform endpoint using client credentials flow.
active-directory Daemon Quickstart Portal Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/daemon-quickstart-portal-java.md
Last updated 08/22/2022 -+ #Customer intent: As an application developer, I want to learn how my Java app can get an access token and call an API that's protected by Microsoft identity platform endpoint using client credentials flow.
active-directory Daemon Quickstart Portal Netcore https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/daemon-quickstart-portal-netcore.md
Last updated 08/22/2022
-+ #Customer intent: As an application developer, I want to learn how my .NET Core app can get an access token and call an API that's protected by the Microsoft identity platform by using the client credentials flow.
active-directory Desktop App Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/desktop-app-quickstart.md
Last updated 01/27/2023 -+ zone_pivot_groups: desktop-app-quickstart #Customer intent: As an application developer, I want to learn how my desktop application can get an access token and call an API that's protected by the Microsoft identity platform.
zone_pivot_groups: desktop-app-quickstart
::: zone pivot="devlang-nodejs-electron" [!INCLUDE [Node.js Electron](./includes/desktop-app/quickstart-nodejs-electron.md)]
active-directory Desktop Quickstart Portal Nodejs Desktop https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/desktop-quickstart-portal-nodejs-desktop.md
Last updated 08/18/2022 -+ #Customer intent: As an application developer, I want to learn how my Node.js Electron desktop application can get an access token and call an API that's protected by a Microsoft identity platform endpoint.
active-directory Id Token Claims Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/id-token-claims-reference.md
+
+ Title: ID token claims reference
+description: Learn the details of the claims included in ID tokens issued by the Microsoft identity platform.
+++++++ Last updated : 05/30/2023++++
+# ID token claims reference
+
+ID tokens are [JSON web tokens (JWT)](https://wikipedia.org/wiki/JSON_Web_Token). The v1.0 and v2.0 ID tokens have differences in the information they carry. The version is based on the endpoint from where it was requested. While existing applications likely use the Azure AD v1.0 endpoint, new applications should use the v2.0 endpoint.
+
+* v1.0: `https://login.microsoftonline.com/common/oauth2/authorize`
+* v2.0: `https://login.microsoftonline.com/common/oauth2/v2.0/authorize`
+
+All JWT claims listed in the following sections appear in both v1.0 and v2.0 tokens unless stated otherwise. ID tokens consist of a header, payload, and signature. The header and signature are used to verify the authenticity of the token, while the payload contains the information about the user requested by your client.
+
+## Header claims
+
+The following table shows header claims present in ID tokens.
+
+|Claim | Format | Description |
+||--|-|
+| `typ` | String - always "JWT" | Indicates that the token is a JWT token. |
+| `alg` | String | Indicates the algorithm that was used to sign the token. For example: "RS256" |
+| `kid` | String | Specifies the thumbprint for the public key that can be used to validate the token's signature. Emitted in both v1.0 and v2.0 ID tokens. |
+| `x5t` | String | Functions the same (in use and value) as `kid`. `x5t` is a legacy claim emitted only in v1.0 ID tokens for compatibility purposes. |
+
+## Payload claims
+
+The following table shows the claims that are in most ID tokens by default (except where noted). However, your app can use [optional claims](active-directory-optional-claims.md) to request more claims in the ID token. Optional claims can range from the `groups` claim to information about the user's name.
+
+| Claim | Format | Description |
+|-|--|-|
+|`aud` | String, an App ID GUID | Identifies the intended recipient of the token. In `id_tokens`, the audience is your app's Application ID, assigned to your app in the Azure portal. This value should be validated. The token should be rejected if it fails to match your app's Application ID. |
+|`iss` | String, an issuer URI | Identifies the issuer, or "authorization server" that constructs and returns the token. It also identifies the tenant for which the user was authenticated. If the token was issued by the v2.0 endpoint, the URI ends in `/v2.0`. The GUID that indicates that the user is a consumer user from a Microsoft account is `9188040d-6c67-4c5b-b112-36a304b66dad`. Your app should use the GUID portion of the claim to restrict the set of tenants that can sign in to the app, if applicable. |
+|`iat` | int, a Unix timestamp | Indicates when the authentication for the token occurred. |
+|`idp`| String, usually an STS URI | Records the identity provider that authenticated the subject of the token. This value is identical to the value of the issuer claim unless the user account isn't in the same tenant as the issuer - guests, for instance. If the claim isn't present, it means that the value of `iss` can be used instead. For personal accounts being used in an organizational context (for instance, a personal account invited to a tenant), the `idp` claim may be 'live.com' or an STS URI containing the Microsoft account tenant `9188040d-6c67-4c5b-b112-36a304b66dad`. |
+|`nbf` | int, a Unix timestamp | Identifies the time before which the JWT can't be accepted for processing. |
+|`exp` | int, a Unix timestamp | Identifies the expiration time on or after which the JWT can't be accepted for processing. In certain circumstances, a resource may reject the token before this time. For example, if a change in authentication is required or a token revocation has been detected. |
+| `c_hash`| String | The code hash is included in ID tokens only when the ID token is issued with an OAuth 2.0 authorization code. It can be used to validate the authenticity of an authorization code. To understand how to do this validation, see the [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken). |
+| `at_hash` | String | The access token hash is included in ID tokens only when the ID token is issued from the `/authorize` endpoint with an OAuth 2.0 access token. It can be used to validate the authenticity of an access token. To understand how to do this validation, see the [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken). This claim isn't returned on ID tokens from the `/token` endpoint. |
+| `aio` | Opaque String | An internal claim that's used to record data for token reuse. Should be ignored. |
+| `preferred_username` | String | The primary username that represents the user. It could be an email address, phone number, or a generic username without a specified format. Its value is mutable and might change over time. Since it's mutable, this value can't be used to make authorization decisions. It can be used for username hints and in human-readable UI as a username. The `profile` scope is required to receive this claim. Present only in v2.0 tokens. |
+| `email` | String | Present by default for guest accounts that have an email address. Your app can request the email claim for managed users (from the same tenant as the resource) using the `email` [optional claim](active-directory-optional-claims.md). This value isn't guaranteed to be correct and is mutable over time. Never use it for authorization or to save data for a user. If you require an addressable email address in your app, request this data from the user directly by using this claim as a suggestion or prefill in your UX. On the v2.0 endpoint, your app can also request the `email` OpenID Connect scope - you don't need to request both the optional claim and the scope to get the claim. |
+| `name` | String | The `name` claim provides a human-readable value that identifies the subject of the token. The value isn't guaranteed to be unique, it can be changed, and should be used only for display purposes. The `profile` scope is required to receive this claim. |
+| `nonce` | String | The nonce matches the parameter included in the original authorize request to the IDP. If it doesn't match, your application should reject the token. |
+| `oid` | String, a GUID | The immutable identifier for an object, in this case, a user account. This ID uniquely identifies the user across applications - two different applications signing in the same user receives the same value in the `oid` claim. Microsoft Graph returns this ID as the `id` property for a user account. Because the `oid` allows multiple apps to correlate users, the `profile` scope is required to receive this claim. If a single user exists in multiple tenants, the user contains a different object ID in each tenant - they're considered different accounts, even though the user logs into each account with the same credentials. The `oid` claim is a GUID and can't be reused. |
+| `roles` | Array of strings | The set of roles that were assigned to the user who is logging in. |
+| `rh` | Opaque String | An internal claim used to revalidate tokens. Should be ignored. |
+| `sub` | String | The subject of the information in the token. For example, the user of an app. This value is immutable and can't be reassigned or reused. The subject is a pairwise identifier and is unique to an application ID. If a single user signs into two different apps using two different client IDs, those apps receive two different values for the subject claim. You may or may not want two values depending on your architecture and privacy requirements. |
+| `tid` | String, a GUID | Represents the tenant that the user is signing in to. For work and school accounts, the GUID is the immutable tenant ID of the organization that the user is signing in to. For sign-ins to the personal Microsoft account tenant (services like Xbox, Teams for Life, or Outlook), the value is `9188040d-6c67-4c5b-b112-36a304b66dad`.|
+| `unique_name` | String | Only present in v1.0 tokens. Provides a human readable value that identifies the subject of the token. This value isn't guaranteed to be unique within a tenant and should be used only for display purposes. |
+| `uti` | String | Token identifier claim, equivalent to `jti` in the JWT specification. Unique, per-token identifier that is case-sensitive. |
+| `ver` | String, either 1.0 or 2.0 | Indicates the version of the ID token. |
+| `hasgroups` | Boolean | If present, always true, denoting the user is in at least one group. Used in place of the groups claim for JWTs in implicit grant flows when the full groups claim extends the URI fragment beyond the URL length limits (currently six or more groups). Indicates that the client should use the Microsoft Graph API to determine the user's groups (`https://graph.microsoft.com/v1.0/users/{userID}/getMemberObjects`). |
+| `groups:src1` | JSON object | For token requests that aren't limited in length (see `hasgroups`) but still too large for the token, a link to the full groups list for the user is included. For JWTs as a distributed claim, for SAML as a new claim in place of the `groups` claim. <br><br>**Example JWT Value**: <br> `"groups":"src1"` <br> `"_claim_sources`: `"src1" : { "endpoint" : "https://graph.microsoft.com/v1.0/users/{userID}/getMemberObjects" }`<br><br> For more info, see [Groups overage claim](#groups-overage-claim).|
+
+## Use claims to reliably identify a user
+
+When identifying a user, it's critical to use information that remains constant and unique across time. Legacy applications sometimes use fields like the email address, phone number, or UPN. All of these fields can change over time, and can also be reused over time. For example, when an employee changes their name, or an employee is given an email address that matches that of a previous, no longer present employee. Your application mustn't use human-readable data to identify a user - human readable generally means someone can read it, and want to change it. Instead, use the claims provided by the OIDC standard, or the extension claims provided by Microsoft - the `sub` and `oid` claims.
+
+To correctly store information per-user, use `sub` or `oid` alone (which as GUIDs are unique), with `tid` used for routing or sharding if needed. If you need to share data across services, `oid` and `tid` is best as all apps get the same `oid` and `tid` claims for a user acting in a tenant. The `sub` claim is a pair-wise value that's unique. The value is based on a combination of the token recipient, tenant, and user. Two apps that request ID tokens for a user receive different `sub` claims, but the same `oid` claims for that user.
+
+>[!NOTE]
+> Don't use the `idp` claim to store information about a user in an attempt to correlate users across tenants. It doesn't work, as the `oid` and `sub` claims for a user change across tenants, by design, to ensure that applications can't track users across tenants.
+
+Guest scenarios, where a user is homed in one tenant, and authenticates in another, should treat the user as if they're a brand new user to the service. Your documents and privileges in one tenant shouldn't apply in another tenant. This restriction is important to prevent accidental data leakage across tenants, and enforcement of data lifecycles. Evicting a guest from a tenant should also remove their access to the data they created in that tenant.
+
+## Groups overage claim
+
+To ensure that the token size doesn't exceed HTTP header size limits, the number of object IDs that it includes in the `groups` claim is limited. If a user is a member of more groups than the overage limit (150 for SAML tokens, 200 for JWT tokens), the groups claim isn't included in the token. Instead, it includes an overage claim in the token that indicates to the application to query the Microsoft Graph API to retrieve the user's group membership.
+
+```json
+{
+ ...
+ "_claim_names": {
+ "groups": "src1"
+ },
+ {
+ "_claim_sources": {
+ "src1": {
+ "endpoint":"[Url to get this user's group membership from]"
+ }
+ }
+ }
+ ...
+}
+```
+
+## Next steps
+
+- Learn more about the [ID tokens used in Azure AD](id-tokens.md).
active-directory Id Tokens https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/id-tokens.md
Title: Microsoft identity platform ID tokens
-description: Learn how to use id_tokens emitted by the Azure AD v1.0 and Microsoft identity platform (v2.0) endpoints.
+ Title: ID tokens in the Microsoft identity platform
+description: Learn about ID tokens used in the Microsoft identity platform.
Previously updated : 01/19/2023 Last updated : 06/01/2023 -+
-# Microsoft identity platform ID tokens
+# ID tokens in the Microsoft identity platform
-The ID token is the core extension that [OpenID Connect](v2-protocols-oidc.md) makes to OAuth 2.0. ID tokens are issued by the authorization server and contain claims that carry information about the user. They can be sent alongside or instead of an access token. Information in ID Tokens allows the client to verify that a user is who they claim to be. ID tokens are intended to be understood by third-party applications. ID tokens should not be used for authorization purposes. [Access tokens](access-tokens.md) are used for authorization. The claims provided by ID tokens can be used for UX inside your application, as [keys in a database](#using-claims-to-reliably-identify-a-user-subject-and-object-id), and providing access to the client application.
+The authorization server issues ID tokens that contain claims that carry information about the user. They can be sent alongside or instead of an access token. Information in ID tokens enables the client to verify that a user is who they claim to be.
-## Prerequisites
+Third-party applications are intended to understand ID tokens. ID tokens shouldn't be used for authorization purposes. Access tokens are used for authorization. The claims provided by ID tokens can be used for UX inside your application, as keys in a database, and providing access to the client application. For more information about the claims used in an ID token, see the [ID token claims reference](id-token-claims-reference.md).
-The following article will be beneficial before going through this article:
+## Token formats
-* [OAuth 2.0 and OpenID Connect protocols](active-directory-v2-protocols.md) on the Microsoft identity platform
+There are two versions of ID tokens available in the Microsoft identity platform: v1.0 and v2.0. These versions determine the claims that are in the token. The v1.0 and v2.0 ID tokens have differences in the information they carry. The version is based on the endpoint from where it was requested. New applications should use the v2.0.
-
-## Claims in an ID token
-
-ID tokens are [JSON web tokens (JWT)](https://wikipedia.org/wiki/JSON_Web_Token). These ID tokens consist of a header, payload, and signature. The header and signature are used to verify the authenticity of the token, while the payload contains the information about the user requested by your client. The v1.0 and v2.0 ID tokens have differences in the information they carry. The version is based on the endpoint from where it was requested. While existing applications likely use the Azure AD endpoint (v1.0), new applications should use the "Microsoft identity platform" endpoint(v2.0).
-
-* v1.0: Azure AD endpoint: `https://login.microsoftonline.com/common/oauth2/authorize`
-* v2.0: Microsoft identity Platform endpoint: `https://login.microsoftonline.com/common/oauth2/v2.0/authorize`
+* v1.0: `https://login.microsoftonline.com/common/oauth2/authorize`
+* v2.0: `https://login.microsoftonline.com/common/oauth2/v2.0/authorize`
### Sample v1.0 ID token
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01x
View this v2.0 sample token in [jwt.ms](https://jwt.ms/#id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw).
-All JWT claims listed below appear in both v1.0 and v2.0 tokens unless stated otherwise.
-
-### Header claims
-
-The table below shows header claims present in ID tokens.
-
-|Claim | Format | Description |
-|--|--|-|
-|`typ` | String - always "JWT" | Indicates that the token is a JWT token.|
-|`alg` | String | Indicates the algorithm that was used to sign the token. Example: "RS256" |
-| `kid` | String | Specifies the thumbprint for the public key that can be used to validate this token's signature. Emitted in both v1.0 and v2.0 ID tokens. |
-| `x5t` | String | Functions the same (in use and value) as `kid`. `x5t` is a legacy claim emitted only in v1.0 ID tokens for compatibility purposes. |
-
-### Payload claims
-
-The table below shows the claims that are in most ID tokens by default (except where noted). However, your app can use [optional claims](active-directory-optional-claims.md) to request more claims in the ID token. Optional claims can range from the `groups` claim to information about the user's name.
-
-|Claim | Format | Description |
-|--|--|-|
-|`aud` | String, an App ID GUID | Identifies the intended recipient of the token. In `id_tokens`, the audience is your app's Application ID, assigned to your app in the Azure portal. This value should be validated. The token should be rejected if it fails to match your app's Application ID. |
-|`iss` | String, an issuer URI | Identifies the issuer, or "authorization server" that constructs and returns the token. It also identifies the Azure AD tenant for which the user was authenticated. If the token was issued by the v2.0 endpoint, the URI will end in `/v2.0`. The GUID that indicates that the user is a consumer user from a Microsoft account is `9188040d-6c67-4c5b-b112-36a304b66dad`. Your app should use the GUID portion of the claim to restrict the set of tenants that can sign in to the app, if applicable. |
-|`iat` | int, a Unix timestamp | "Issued At" indicates when the authentication for this token occurred. |
-|`idp`|String, usually an STS URI | Records the identity provider that authenticated the subject of the token. This value is identical to the value of the Issuer claim unless the user account not in the same tenant as the issuer - guests, for instance. If the claim isn't present, it means that the value of `iss` can be used instead. For personal accounts being used in an organizational context (for instance, a personal account invited to an Azure AD tenant), the `idp` claim may be 'live.com' or an STS URI containing the Microsoft account tenant `9188040d-6c67-4c5b-b112-36a304b66dad`. |
-|`nbf` | int, a Unix timestamp | The "nbf" (not before) claim identifies the time before which the JWT MUST NOT be accepted for processing.|
-|`exp` | int, a Unix timestamp | The "exp" (expiration time) claim identifies the expiration time on or after which the JWT **must not** be accepted for processing. It's important to note that in certain circumstances, a resource may reject the token before this time. For example, if a change in authentication is required or a token revocation has been detected. |
-| `c_hash`| String |The code hash is included in ID tokens only when the ID token is issued with an OAuth 2.0 authorization code. It can be used to validate the authenticity of an authorization code. To understand how to do this validation, see the [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken). |
-|`at_hash`| String |The access token hash is included in ID tokens only when the ID token is issued from the `/authorize` endpoint with an OAuth 2.0 access token. It can be used to validate the authenticity of an access token. To understand how to do this validation, see the [OpenID Connect specification](https://openid.net/specs/openid-connect-core-1_0.html#HybridIDToken). This is not returned on ID tokens from the `/token` endpoint. |
-|`aio` | Opaque String | An internal claim used by Azure AD to record data for token reuse. Should be ignored.|
-|`preferred_username` | String |The primary username that represents the user. It could be an email address, phone number, or a generic username without a specified format. Its value is mutable and might change over time. Since it is mutable, this value must not be used to make authorization decisions. It can be used for username hints, however, and in human-readable UI as a username. The `profile` scope is required in order to receive this claim. Present only in v2.0 tokens.|
-|`email` | String | The `email` claim is present by default for guest accounts that have an email address. Your app can request the email claim for managed users (those from the same tenant as the resource) using the `email` [optional claim](active-directory-optional-claims.md). This value isn't guaranteed to be correct and is mutable over time. Never use it for authorization or to save data for a user. If you require an addressable email address in your app, request this data from the user directly by using this claim as a suggestion or prefill in your UX. On the v2.0 endpoint, your app can also request the `email` OpenID Connect scope - you don't need to request both the optional claim and the scope to get the claim.|
-|`name` | String | The `name` claim provides a human-readable value that identifies the subject of the token. The value isn't guaranteed to be unique, it can be changed, and it's designed to be used only for display purposes. The `profile` scope is required to receive this claim. |
-|`nonce`| String | The nonce matches the parameter included in the original /authorize request to the IDP. If it does not match, your application should reject the token. |
-|`oid` | String, a GUID | The immutable identifier for an object in the Microsoft identity system, in this case, a user account. This ID uniquely identifies the user across applications - two different applications signing in the same user will receive the same value in the `oid` claim. The Microsoft Graph will return this ID as the `id` property for a given user account. Because the `oid` allows multiple apps to correlate users, the `profile` scope is required to receive this claim. Note that if a single user exists in multiple tenants, the user will contain a different object ID in each tenant - they're considered different accounts, even though the user logs into each account with the same credentials. The `oid` claim is a GUID and cannot be reused. |
-|`roles`| Array of strings | The set of roles that were assigned to the user who is logging in. |
-|`rh` | Opaque String |An internal claim used by Azure to revalidate tokens. Should be ignored. |
-|`sub` | String | The principal about which the token asserts information, such as the user of an app. This value is immutable and cannot be reassigned or reused. The subject is a pairwise identifier - it is unique to a particular application ID. If a single user signs into two different apps using two different client IDs, those apps will receive two different values for the subject claim. This may or may not be wanted depending on your architecture and privacy requirements. |
-|`tid` | String, a GUID | Represents the tenant that the user is signing in to. For work and school accounts, the GUID is the immutable tenant ID of the organization that the user is signing in to. For sign-ins to the personal Microsoft account tenant (services like Xbox, Teams for Life, or Outlook), the value is `9188040d-6c67-4c5b-b112-36a304b66dad`.|
-| `unique_name` | String | Only present in v1.0 tokens. Provides a human readable value that identifies the subject of the token. This value is not guaranteed to be unique within a tenant and should be used only for display purposes. |
-| `uti` | String | Token identifier claim, equivalent to `jti` in the JWT specification. Unique, per-token identifier that is case-sensitive.|
-|`ver` | String, either 1.0 or 2.0 | Indicates the version of the id_token. |
-|`hasgroups`|Boolean|If present, always true, denoting the user is in at least one group. Used in place of the groups claim for JWTs in implicit grant flows if the full groups claim would extend the URI fragment beyond the URL length limits (currently 6 or more groups). Indicates that the client should use the Microsoft Graph API to determine the user's groups (`https://graph.microsoft.com/v1.0/users/{userID}/getMemberObjects`).|
-|`groups:src1`|JSON object | For token requests that are not limited in length (see `hasgroups` above) but still too large for the token, a link to the full groups list for the user will be included. For JWTs as a distributed claim, for SAML as a new claim in place of the `groups` claim. <br><br>**Example JWT Value**: <br> `"groups":"src1"` <br> `"_claim_sources`: `"src1" : { "endpoint" : "https://graph.microsoft.com/v1.0/users/{userID}/getMemberObjects" }`<br><br> For more info, see [Groups overage claim](#groups-overage-claim).|
-
-### Using claims to reliably identify a user (Subject and Object ID)
-
-When identifying a user (say, looking them up in a database, or deciding what permissions they have), it's critical to use information that will remain constant and unique across time. Legacy applications sometimes use fields like the email address, a phone number, or the UPN. All of these can change over time, and can also be reused over time. For example, when an employee changes their name, or an employee is given an email address that matches that of a previous, no longer present employee. Therefore, it is **critical** that your application not use human-readable data to identify a user - human readable generally means someone will read it, and want to change it. Instead, use the claims provided by the OIDC standard, or the extension claims provided by Microsoft - the `sub` and `oid` claims.
-
-To correctly store information per-user, use `sub` or `oid` alone (which as GUIDs are unique), with `tid` used for routing or sharding if needed. If you need to share data across services, `oid`+`tid` is best as all apps get the same `oid` and `tid` claims for a given user acting in a given tenant. The `sub` claim in the Microsoft identity platform is "pair-wise" - it is unique based on a combination of the token recipient, tenant, and user. Therefore, two apps that request ID tokens for a given user will receive different `sub` claims, but the same `oid` claims for that user.
-
->[!NOTE]
-> Do not use the `idp` claim to store information about a user in an attempt to correlate users across tenants. It will not function, as the `oid` and `sub` claims for a user change across tenants, by design, to ensure that applications cannot track users across tenants.
->
-> Guest scenarios, where a user is homed in one tenant, and authenticates in another, should treat the user as if they are a brand new user to the service. Your documents and privileges in the Contoso tenant should not apply in the Fabrikam tenant. This is important to prevent accidental data leakage across tenants, and enforcement of data lifecycles. Evicting a guest from a tenant should also remove their access to the data they created in that tenant.
-
-### Groups overage claim
-To ensure that the token size doesn't exceed HTTP header size limits, Azure AD limits the number of object IDs that it includes in the `groups` claim. If a user is member of more groups than the overage limit (150 for SAML tokens, 200 for JWT tokens), then Azure AD does not emit the groups claim in the token. Instead, it includes an overage claim in the token that indicates to the application to query the Microsoft Graph API to retrieve the user's group membership.
-
-```json
-{
- ...
- "_claim_names": {
- "groups": "src1"
- },
- {
- "_claim_sources": {
- "src1": {
- "endpoint":"[Url to get this user's group membership from]"
- }
- }
- }
- ...
-}
-```
-
-## ID token lifetime
+## Token lifetime
By default, an ID token is valid for one hour - after one hour, the client must acquire a new ID token.
-You can adjust the lifetime of an ID token to control how often the client application expires the application session, and how often it requires the user to re-authenticate either silently or interactively. For more information, read [Configurable token lifetimes](configurable-token-lifetimes.md).
+You can adjust the lifetime of an ID token to control how often the client application expires the application session, and how often it requires the user to authenticate again either silently or interactively. For more information, read [Configurable token lifetimes](configurable-token-lifetimes.md).
+
+## Validate tokens
-## Validating an ID token
+To validate an ID token, your client can check whether the token has been tampered with. It can also validate the issuer to ensure that the correct issuer has sent back the token. Because ID tokens are always a JWT token, many libraries exist to validate these tokens - you should use one of these libraries rather than doing it yourself. Only confidential clients should validate ID tokens. For more information, see [Secure applications and APIs by validating claims](claims-validation.md).
-Validating an ID token is similar to the first step of [validating an access token](access-tokens.md). Your client can check whether the token has been tampered with. It can also validate the issuer to ensure that the correct issuer has sent back the token. Because ID tokens are always a JWT token, many libraries exist to validate these tokens - we recommend you use one of these rather than doing it yourself. Note that only confidential clients (those with a secret) should validate ID tokens. Public applications (code running entirely on a device or network you don't control such as a user's browser or their home network) don't benefit from validating the ID token. This is because a malicious user can intercept and edit the keys used for validation of the token.
+Public applications (code running entirely on a device or network you don't control such as a user's browser or their home network) don't benefit from validating the ID token. In this instance, a malicious user can intercept and edit the keys used for validation of the token.
-To manually validate the token, see the steps details in [validating an access token](access-tokens.md). The following JWT claims should be validated in the ID token After validating the signature on the token. These claims may also be validated by your token validation library:
+The following JWT claims should be validated in the ID token after validating the signature on the token. Your token validation library may also validate the following claims:
* Timestamps: the `iat`, `nbf`, and `exp` timestamps should all fall before or after the current time, as appropriate. * Audience: the `aud` claim should match the app ID for your application.
-* Nonce: the `nonce` claim in the payload must match the nonce parameter passed into the /authorize endpoint during the initial request.
+* Nonce: the `nonce` claim in the payload must match the nonce parameter passed into the `/authorize` endpoint during the initial request.
+
+## See also
+* [ID token claims reference](id-token-claims-reference.md)
+* [OAuth 2.0 and OpenID Connect protocols](active-directory-v2-protocols.md)
+* [Optional claims](active-directory-optional-claims.md)
## Next steps
-* Review the [OpenID Connect](v2-protocols-oidc.md) flow, which defines the protocols that emit an ID token.
-* Learn about [access tokens](access-tokens.md)
-* Customize the JWT claims in your ID token using [optional claims](active-directory-optional-claims.md).
+* Review the [OpenID Connect](v2-protocols-oidc.md) flow, which defines the protocols that emit an ID token.
active-directory Migrate Adal Msal Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/migrate-adal-msal-java.md
Last updated 11/04/2019 -+ #Customer intent: As a Java application developer, I want to learn how to migrate my v1 ADAL app to v2 MSAL.
active-directory Msal Compare Msal Js And Adal Js https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-compare-msal-js-and-adal-js.md
Last updated 07/06/2021 -+ #Customer intent: As an application developer, I want to learn how to change the code in my JavaScript application from using ADAL.js as its authentication library to MSAL.js.
active-directory Msal Error Handling Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-error-handling-dotnet.md
Last updated 01/25/2023 -+ # Handle errors and exceptions in MSAL.NET
active-directory Msal Error Handling Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-error-handling-java.md
Last updated 11/27/2020 -+ # Handle errors and exceptions in MSAL for Java
active-directory Msal Error Handling Js https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-error-handling-js.md
Last updated 11/26/2020 -+ # Handle errors and exceptions in MSAL.js
active-directory Msal Error Handling Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-error-handling-python.md
Last updated 03/16/2023 -+ # Handle errors and exceptions in MSAL for Python
active-directory Msal Java Adfs Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-java-adfs-support.md
Last updated 11/21/2019 -+ #Customer intent: As an application developer, I want to learn about AD FS support in MSAL for Java so I can decide if this platform meets my application development needs and requirements.
When you acquire a token using `ConfidentialClientApplication.AcquireToken()` or
## Next steps
-For the federated case, see [Configure Azure Active Directory sign in behavior for an application by using a Home Realm Discovery policy](../manage-apps/configure-authentication-for-federated-users-portal.md)
+For the federated case, see [Configure Azure Active Directory sign in behavior for an application by using a Home Realm Discovery policy](../manage-apps/configure-authentication-for-federated-users-portal.md)
active-directory Msal Java Get Remove Accounts Token Cache https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-java-get-remove-accounts-token-cache.md
Last updated 11/07/2019 -+ #Customer intent: As an application developer using the Microsoft Authentication Library for Java (MSAL4J), I want to learn how to get and remove accounts stored in the token cache.
active-directory Msal Java Token Cache Serialization https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-java-token-cache-serialization.md
Last updated 11/07/2019 -+ #Customer intent: As an application developer using the Microsoft Authentication Library for Java (MSAL4J), I want to learn how to persist the token cache so that it is available to a new instance of my application.- # Custom token cache serialization in MSAL for Java
active-directory Msal Js Avoid Page Reloads https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-js-avoid-page-reloads.md
Last updated 05/29/2019 -+ #Customer intent: As an application developer, I want to learn about avoiding page reloads so I can create more robust applications.
export class MsalComponent {
``` ## Next steps
-Learn more about [building a single-page application (SPA)](scenario-spa-overview.md) using MSAL.js.
+Learn more about [building a single-page application (SPA)](scenario-spa-overview.md) using MSAL.js.
active-directory Msal Js Known Issues Ie Edge Browsers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-js-known-issues-ie-edge-browsers.md
Last updated 05/18/2020 -+ #Customer intent: As an application developer, I want to learn about issues with MSAL.js library so I can decide if this platform meets my application development needs and requirements.
active-directory Msal Js Pass Custom State Authentication Request https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-js-pass-custom-state-authentication-request.md
Last updated 01/16/2020 -+ #Customer intent: As an application developer, I want to learn about passing custom state in authentication requests so I can create more robust applications.
active-directory Msal Js Prompt Behavior https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-js-prompt-behavior.md
Last updated 04/24/2019 -+ #Customer intent: As an application developer, I want to learn about customizing the UI prompt behaviors in MSAL.js library so I can decide if this platform meets my application development needs and requirements.
active-directory Msal Js Sso https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-js-sso.md
Last updated 01/16/2023 -+ #Customer intent: As an application developer, I want to learn about enabling single sign on experiences with MSAL.js library so I can decide if this platform meets my application development needs and requirements.
active-directory Msal Js Use Ie Browser https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-js-use-ie-browser.md
Last updated 12/01/2021 -+ #Customer intent: As an application developer, I want to learn about issues with MSAL.js library so I can decide if this platform meets my application development needs and requirements.
active-directory Msal Logging Android https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-logging-android.md
Last updated 01/25/2021 -+ # Logging in MSAL for Android
Logger.getInstance().setEnableLogcatLog(true);
## Next steps
-For more code samples, refer to [Microsoft identity platform code samples](sample-v2-code.md).
+For more code samples, refer to [Microsoft identity platform code samples](sample-v2-code.md).
active-directory Msal Logging Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-logging-dotnet.md
Last updated 10/21/2022 -+ # Logging in MSAL.NET
active-directory Msal Logging Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-logging-java.md
Last updated 11/25/2022 -+ # Logging in MSAL for Java
PublicClientApplication app2 = PublicClientApplication.builder(PUBLIC_CLIENT_ID)
## Next steps
-For more code samples, refer to [Microsoft identity platform code samples](sample-v2-code.md).
+For more code samples, refer to [Microsoft identity platform code samples](sample-v2-code.md).
active-directory Msal Logging Js https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-logging-js.md
Last updated 12/21/2021 -+ # Logging in MSAL.js
const msalConfig = {
## Next steps
-For more code samples, refer to [Microsoft identity platform code samples](sample-v2-code.md).
+For more code samples, refer to [Microsoft identity platform code samples](sample-v2-code.md).
active-directory Msal Logging Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-logging-python.md
Last updated 01/25/2021 -+ # Logging in MSAL for Python
active-directory Msal Net Aad B2c Considerations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-aad-b2c-considerations.md
Last updated 02/21/2023 -+ # Customer intent: As an application developer, I want to learn about specific considerations when using Azure AD B2C and MSAL.NET so I can decide if this platform meets my application development needs and requirements.
active-directory Msal Net Acquire Token Silently https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-acquire-token-silently.md
Last updated 01/16/2023 -+ #Customer intent: As an application developer, I want to learn how how to use the AcquireTokenSilent method so I can acquire tokens from the cache.
active-directory Msal Net Adfs Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-adfs-support.md
Last updated 03/22/2022 -+ #Customer intent: As an application developer, I want to learn about AD FS support in MSAL.NET so I can decide if this platform meets my application development needs and requirements.
Currently, there are no plans to support a direct connection to:
## Next steps
-For the federated case, see [Configure Azure Active Directory sign in behavior for an application by using a Home Realm Discovery policy](../manage-apps/configure-authentication-for-federated-users-portal.md)
+For the federated case, see [Configure Azure Active Directory sign in behavior for an application by using a Home Realm Discovery policy](../manage-apps/configure-authentication-for-federated-users-portal.md)
active-directory Msal Net Clear Token Cache https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-clear-token-cache.md
Last updated 05/07/2019 -+ #Customer intent: As an application developer, I want to learn how how to clear the token cache so I can .
active-directory Msal Net Client Assertions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-client-assertions.md
Last updated 03/29/2023 -+ #Customer intent: As an application developer, I want to learn how to use client assertions to prove the identity of my confidential client application
active-directory Msal Net Differences Adal Net https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-differences-adal-net.md
Last updated 06/09/2021 -+ #Customer intent: As an application developer, I want to learn about the differences between the ADAL.NET and MSAL.NET libraries so I can migrate my applications to MSAL.NET.
active-directory Msal Net Initializing Client Applications https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-initializing-client-applications.md
Last updated 12/19/2022 -+ #Customer intent: As an application developer, I want to learn about initializing client applications so I can decide if this platform meets my application development needs and requirements.
active-directory Msal Net Instantiate Confidential Client Config Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-instantiate-confidential-client-config-options.md
Last updated 04/30/2019 -+ #Customer intent: As an application developer, I want to learn how to use application config options so I can instantiate a confidential client app.
app = ConfidentialClientApplicationBuilder.CreateWithApplicationOptions(_applica
.Build(); TokenCache userTokenCache = _tokenCacheProvider.SerializeCache(app.UserTokenCache,httpContext, claimsPrincipal); ```-
active-directory Msal Net Instantiate Public Client Config Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-instantiate-public-client-config-options.md
Last updated 04/30/2019 -+ #Customer intent: As an application developer, I want to learn how to use application config options so I can instantiate a public client app.
active-directory Msal Net Migration Confidential Client https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-migration-confidential-client.md
Last updated 06/08/2021 -+ #Customer intent: As an application developer, I want to migrate my confidential client app from ADAL.NET to MSAL.NET.
To remediate this issue, replace `.WithAuthority` on the AcquireTokenXXX express
Learn more about: - [differences between ADAL.NET and MSAL.NET apps](msal-net-differences-adal-net.md).-- [token cache serialization in MSAL.NET](msal-net-token-cache-serialization.md)
+- [token cache serialization in MSAL.NET](msal-net-token-cache-serialization.md)
active-directory Msal Net Migration Public Client https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-migration-public-client.md
Last updated 08/31/2021 -+ #Customer intent: As an application developer, I want to migrate my public client app from ADAL.NET to MSAL.NET.
active-directory Msal Net Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-migration.md
Last updated 11/25/2022 -+ #Customer intent: As an application developer, I want to learn why and how to migrate from ADAL.NET and MSAL.NET or Microsoft.Identity.Web libraries.
active-directory Msal Net Provide Httpclient https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-provide-httpclient.md
Last updated 04/23/2019 -+ #Customer intent: As an application developer, I want to learn about providing my own HttpClient so I can have fine-grained control of the proxy.
active-directory Msal Net System Browser Android Considerations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-system-browser-android-considerations.md
Last updated 10/30/2019 -+ #Customer intent: As an application developer, I want to learn about considerations for using Xamarin Android and MSAL.NET so I can decide if this platform meets my application development needs.
If authentication fails (for example, if authentication launches with DuckDuckGo
- **Mitigation**: Ask the user to enable a browser on their device. Recommend a browser that supports custom tabs. ## Next steps
-For more information and code examples, see [Choosing between an embedded web browser and a system browser on Xamarin Android](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/MSAL.NET-uses-web-browser#choosing-between-embedded-web-browser-or-system-browser-on-xamarinandroid) and [Embedded versus system web UI](msal-net-web-browsers.md#embedded-vs-system-web-ui).
+For more information and code examples, see [Choosing between an embedded web browser and a system browser on Xamarin Android](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/MSAL.NET-uses-web-browser#choosing-between-embedded-web-browser-or-system-browser-on-xamarinandroid) and [Embedded versus system web UI](msal-net-web-browsers.md#embedded-vs-system-web-ui).
active-directory Msal Net Token Cache Serialization https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-token-cache-serialization.md
Last updated 03/02/2023 -+ #Customer intent: As an application developer, I want to learn about token cache serialization so I can have fine-grained control of the proxy.
active-directory Msal Net Use Brokers With Xamarin Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-use-brokers-with-xamarin-apps.md
Last updated 09/08/2019 -+ #Customer intent: As an application developer, I want to learn how to use brokers with my Xamarin iOS or Android application and MSAL.NET.
active-directory Msal Net User Gets Consent For Multiple Resources https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-user-gets-consent-for-multiple-resources.md
Last updated 04/30/2019 -+ #Customer intent: As an application developer, I want to learn how to specify additional scopes so I can get pre-consent for several resources.
active-directory Msal Net Uwp Considerations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-uwp-considerations.md
Last updated 03/03/2021 -+ #Customer intent: As an application developer, I want to learn about considerations for using Universal Windows Platform and MSAL.NET so that I can decide if this platform meets my application development needs.
active-directory Msal Net Web Browsers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-web-browsers.md
Last updated 05/18/2020 -+ #Customer intent: As an application developer, I want to learn about web browsers MSAL.NET so I can decide if this platform meets my application development needs and requirements.
active-directory Msal Net Xamarin Android Considerations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-xamarin-android-considerations.md
Last updated 08/28/2020 -+ #Customer intent: As an application developer, I want to learn about special requirements for using Xamarin Android and MSAL.NET.
active-directory Msal Net Xamarin Ios Considerations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-net-xamarin-ios-considerations.md
Last updated 09/09/2020 -+ #Customer intent: As an application developer, I want to learn about considerations for using Xamarin iOS and MSAL.NET.
active-directory Msal Node Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/msal-node-migration.md
Last updated 04/26/2021 -+ #Customer intent: As an application developer, I want to learn how to change the code in my Node.js application from using ADAL as its authentication library to MSAL.
active-directory Quickstart V2 Java Daemon https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/quickstart-v2-java-daemon.md
Last updated 01/10/2022 -+ #Customer intent: As an application developer, I want to learn how my Java app can get an access token and call an API that's protected by Microsoft identity platform endpoint using client credentials flow.
active-directory Quickstart V2 Java Webapp https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/quickstart-v2-java-webapp.md
Last updated 11/22/2021 -+ # Quickstart: Add sign-in with Microsoft to a Java web app
active-directory Quickstart V2 Netcore Daemon https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/quickstart-v2-netcore-daemon.md
Last updated 04/13/2023
-+ #Customer intent: As an application developer, I want to learn how my .NET Core app can get an access token and call an API that's protected by the Microsoft identity platform by using the client credentials flow.
active-directory Quickstart V2 Nodejs Console https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/quickstart-v2-nodejs-console.md
Last updated 01/10/2022 -+ #Customer intent: As an application developer, I want to learn how my Node.js app can get an access token and call an API that is protected by a Microsoft identity platform endpoint using client credentials flow.
active-directory Quickstart V2 Nodejs Desktop https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/quickstart-v2-nodejs-desktop.md
Last updated 01/14/2022 -+ #Customer intent: As an application developer, I want to learn how my Node.js Electron desktop application can get an access token and call an API that's protected by a Microsoft identity platform endpoint.
active-directory Scenario Daemon App Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-daemon-app-configuration.md
Last updated 09/19/2020 -+ # Customer intent: As an application developer, I want to know how to write a daemon app that can call web APIs by using the Microsoft identity platform.
active-directory Scenario Desktop Acquire Token Device Code Flow https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-desktop-acquire-token-device-code-flow.md
Last updated 10/07/2022 -+ #Customer intent: As an application developer, I want to know how to write a desktop app that calls web APIs by using the Microsoft identity platform.
active-directory Scenario Desktop Acquire Token Integrated Windows Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-desktop-acquire-token-integrated-windows-authentication.md
Last updated 10/07/2022 -+ #Customer intent: As an application developer, I want to know how to write a desktop app that calls web APIs by using the Microsoft identity platform.
active-directory Scenario Desktop Acquire Token Interactive https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-desktop-acquire-token-interactive.md
Last updated 08/25/2021 -+ #Customer intent: As an application developer, I want to know how to write a desktop app that calls web APIs by using the Microsoft identity platform for developers.
active-directory Scenario Desktop Acquire Token Username Password https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-desktop-acquire-token-username-password.md
Last updated 07/10/2022 -+ #Customer intent: As an application developer, I want to know how to write a desktop app that calls web APIs by using the Microsoft identity platform.
active-directory Scenario Desktop Acquire Token Wam https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-desktop-acquire-token-wam.md
Last updated 12/14/2022 -+ #Customer intent: As an application developer, I want to know how to write a desktop app that calls web APIs by using the Microsoft identity platform for developers.
active-directory Scenario Desktop Acquire Token https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-desktop-acquire-token.md
Last updated 03/27/2023 --+ #Customer intent: As an application developer, I want to know how to write a desktop app that calls web APIs by using the Microsoft identity platform.
active-directory Scenario Desktop App Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-desktop-app-configuration.md
Last updated 10/30/2019 -+ #Customer intent: As an application developer, I want to know how to write a desktop app that calls web APIs by using the Microsoft identity platform.
app = msal.PublicClientApplication(
## Next steps Move on to the next article in this scenario,
-[Acquire a token for the desktop app](scenario-desktop-acquire-token.md).
+[Acquire a token for the desktop app](scenario-desktop-acquire-token.md).
active-directory Scenario Web App Call Api App Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-web-app-call-api-app-configuration.md
Last updated 05/08/2023 -+ #Customer intent: As an application developer, I want to know how to write a web app that calls web APIs by using the Microsoft identity platform.
Move on to the next article in this scenario,
Move on to the next article in this scenario, [Remove accounts from the cache on global sign out](scenario-web-app-call-api-sign-in.md?tabs=python). -+
active-directory Scenario Web App Sign User App Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-web-app-sign-user-app-configuration.md
Last updated 04/20/2023 -+ #Customer intent: As an application developer, I want to know how to write a web app that signs in users by using the Microsoft identity platform.
active-directory Scenario Web App Sign User Production https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-web-app-sign-user-production.md
Last updated 09/17/2019 -+ #Customer intent: As an application developer, I want to know how to write a web app that signs in users by using the Microsoft identity platform.
Learn more about the Java web app from this sample on GitHub:
## Next Steps After your web app signs in users, it can call web APIs on behalf of the signed-in users. Calling web APIs from the web app is the object of the following scenario:
-[Web app that calls web APIs](scenario-web-app-call-api-overview.md).
+[Web app that calls web APIs](scenario-web-app-call-api-overview.md).
active-directory Scenario Web App Sign User Sign In https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/scenario-web-app-sign-user-sign-in.md
Last updated 07/14/2020 -+ #Customer intent: As an application developer, I want to know how to write a web app that signs in users by using the Microsoft identity platform.
active-directory Single Page App Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/single-page-app-quickstart.md
Last updated 08/17/2022 -+ zone_pivot_groups: single-page-app-quickstart #Customer intent: As an app developer, I want to learn how to get access tokens and refresh tokens by using the Microsoft identity platform so that my single-page app can sign in users of personal accounts, work accounts, and school accounts.
active-directory Single Page App Tutorial 03 Sign In Users https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/single-page-app-tutorial-03-sign-in-users.md
description: Add sign in and sign out components to your React single-page app
+ Last updated 02/28/2023 #Customer intent: As a React developer, I want to know how to use functional components to add sign in and sign out experiences in my React application.
active-directory Spa Quickstart Portal Vanilla Js Ciam https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/spa-quickstart-portal-vanilla-js-ciam.md
+
Last updated 05/22/2023
> ``` > > 1. Open your browser, visit `http://localhost:3000`, select **Sign-in**, then follow the prompts.
->
+>
active-directory Tutorial Blazor Server https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/tutorial-blazor-server.md
Last updated 02/09/2023-+ #Customer intent: As a developer, I want to add authentication to a Blazor app.
In this tutorial:
## Prerequisites -- [.NET Core 7.0 SDK](https://dotnet.microsoft.com/en-us/download/dotnet/7.0)
+- [.NET 7 SDK](https://dotnet.microsoft.com/download/dotnet/7.0)
- An Azure account that has an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). - The Azure account must have permission to manage applications in Azure AD. Any of the following Azure AD roles include the required permissions: - [Application administrator](../roles/permissions-reference.md#application-administrator)
active-directory Tutorial Blazor Webassembly https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/tutorial-blazor-webassembly.md
+ Last updated 02/09/2023
active-directory Tutorial V2 Nodejs Console https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/tutorial-v2-nodejs-console.md
+ Last updated 12/12/2021
active-directory Tutorial V2 Nodejs Desktop https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/tutorial-v2-nodejs-desktop.md
+ Last updated 02/17/2021
active-directory Tutorial V2 Nodejs Webapp Msal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/tutorial-v2-nodejs-webapp-msal.md
Last updated 11/09/2022 -+ # Tutorial: Sign in users and acquire a token for Microsoft Graph in a Node.js & Express web app
active-directory Tutorial V2 Windows Desktop https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/tutorial-v2-windows-desktop.md
In this tutorial:
## Prerequisites -- [.NET Framework 4.8](https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48)
+- [.NET Framework 4.8](https://dotnet.microsoft.com/download/dotnet-framework/net48)
- [Visual Studio 2019](https://visualstudio.microsoft.com/vs/) ## How the sample app generated by this guide works
Create the application using the following steps:
1. On the start window, select **Create a new project**. 1. In the **All language** dropdown, select **C#**. 1. Search for and choose the **WPF App (.NET Framework)** template, and then select Next.
-1. In the **Project name** box, enter a name like _Win-App-calling-MsGraph_.
+1. In the **Project name** box, enter a name like _Win-App-calling-MsGraph_.
1. Choose a **Location** for the project or accept the default option. 1. In the **Framework**, select **.NET framework 4.8**. 1. Select **Create**.
In addition to the access token that's used to call the Microsoft Graph API, aft
Learn more about building desktop apps that call protected web APIs in our multi-part scenario series:
-> [!div class="nextstepaction"]
+> [!div class="nextstepaction"]
> [Scenario: Desktop app that calls web APIs](scenario-desktop-overview.md)
active-directory V2 App Types https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/v2-app-types.md
Last updated 09/09/2022 -+ # Application types for the Microsoft identity platform
active-directory V2 Protocols Oidc https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/v2-protocols-oidc.md
id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1uQ19WWmNB...&state=12345
| Parameter | Description | | | |
-| `id_token` | The ID token that the app requested. You can use the `id_token` parameter to verify the user's identity and begin a session with the user. For more information about ID tokens and their contents, see the [ID token reference](id-tokens.md). |
+| `id_token` | The ID token that the app requested. You can use the `id_token` parameter to verify the user's identity and begin a session with the user. For more information about ID tokens and their contents, see the [ID token reference](id-token-claims-reference.md). |
| `state` | If a `state` parameter is included in the request, the same value should appear in the response. The app should verify that the state values in the request and response are identical. | ### Error response
If you validate ID tokens in your application, we recommend *not* doing so manua
### What to validate in an ID token
-In addition to validating ID token's signature, you should validate several of its claims as described in [Validating an ID token](id-tokens.md#validating-an-id-token) in the [ID token reference](id-tokens.md). Also see [Important information about signing key-rollover](active-directory-signing-key-rollover.md).
+In addition to validating ID token's signature, you should validate several of its claims as described in [Validating an ID token](id-tokens.md#validate-tokens). Also see [Important information about signing key-rollover](active-directory-signing-key-rollover.md).
Several other validations are common and vary by application scenario, including:
Response parameters mean the same thing regardless of the flow used to acquire t
| `token_type` | Always "Bearer" | | `expires_in`| How long until the access token expires, in seconds. | | `scope` | The permissions granted on the access token. Because the UserInfo endpoint is hosted on Microsoft Graph, it's possible for `scope` to contain others previously granted to the application (for example, `User.Read`). |
-| `id_token` | The ID token that the app requested. You can use the ID token to verify the user's identity and begin a session with the user. You'll find more details about ID tokens and their contents in the [ID token reference](id-tokens.md). |
+| `id_token` | The ID token that the app requested. You can use the ID token to verify the user's identity and begin a session with the user. You'll find more details about ID tokens and their contents in the [ID token reference](id-token-claims-reference.md). |
| `state` | If a state parameter is included in the request, the same value should appear in the response. The app should verify that the state values in the request and response are identical. | [!INCLUDE [remind-not-to-validate-access-tokens](includes/remind-not-to-validate-access-tokens.md)]
error=access_denied&error_description=the+user+canceled+the+authentication
For a description of possible error codes and recommended client responses, see [Error codes for authorization endpoint errors](#error-codes-for-authorization-endpoint-errors).
-When you have an authorization code and an ID token, you can sign the user in and get access tokens on their behalf. To sign the user in, you must validate the ID token [exactly as described](id-tokens.md#validating-an-id-token). To get access tokens, follow the steps described in [OAuth code flow documentation](v2-oauth2-auth-code-flow.md#redeem-a-code-for-an-access-token).
+When you have an authorization code and an ID token, you can sign the user in and get access tokens on their behalf. To sign the user in, you must validate the ID token as described in the [validate tokens](id-tokens.md#validate-tokens). To get access tokens, follow the steps described in [OAuth code flow documentation](v2-oauth2-auth-code-flow.md#redeem-a-code-for-an-access-token).
### Calling the UserInfo endpoint
active-directory Web Api Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/web-api-quickstart.md
Last updated 12/09/2022 -+ zone_pivot_groups: web-api-quickstart #Customer intent: As an app developer, I want to learn how to get access tokens and refresh tokens by using the Microsoft identity platform so that my web app can sign in users of personal accounts, work accounts, and school accounts.
zone_pivot_groups: web-api-quickstart
::: zone pivot="devlang-aspnet-core" [!INCLUDE [asp.net-core](./includes/web-api/quickstart-aspnet-core.md)]
active-directory Web App Quickstart Portal Dotnet Ciam https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/web-app-quickstart-portal-dotnet-ciam.md
+
Last updated 05/22/2023
> ``` > > 1. Open your browser, visit `https://localhost:7274`, select **Sign-in**, then follow the prompts.
->
+>
active-directory Web App Quickstart Portal Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/web-app-quickstart-portal-java.md
Last updated 08/16/2022 -+ # Quickstart: Add sign-in with Microsoft to a Java web app
active-directory Web App Quickstart Portal Node Js Ciam https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/web-app-quickstart-portal-node-js-ciam.md
+
Last updated 05/22/2023
> ``` > > 1. Open your browser, visit `http://localhost:3000`, select **Sign-in**, then follow the prompts.
->
+>
active-directory Web App Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/web-app-quickstart.md
Last updated 01/18/2023 -+ zone_pivot_groups: web-app-quickstart #Customer intent: As an app developer, I want to learn how to get access tokens and refresh tokens by using the Microsoft identity platform so that my web app can sign in users of personal accounts, work accounts, and school accounts.
zone_pivot_groups: web-app-quickstart
::: zone pivot="devlang-python" [!INCLUDE [python](./includes/web-app/quickstart-python.md)]
active-directory Whats New Docs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/whats-new-docs.md
Previously updated : 05/02/2023 Last updated : 06/02/2023
Welcome to what's new in the Microsoft identity platform documentation. This article lists new docs that have been added and those that have had significant updates in the last three months.
+## May 2023
+
+### New articles
+
+- [Access token claims reference](access-token-claims-reference.md)
+- [Directory extension attributes in claims](schema-extensions.md)
+- [Provide optional claims to your app](optional-claims.md)
+
+### Updated articles
+
+- [Application and service principal objects in Azure Active Directory](app-objects-and-service-principals.md)
+- [What's new for authentication?](reference-breaking-changes.md)
+- [A web app that calls web APIs: Acquire a token for the app](scenario-web-app-call-api-acquire-token.md)
+- [A web app that calls web APIs: Code configuration](scenario-web-app-call-api-app-configuration.md)
+- [A web app that calls web APIs: Call a web API](scenario-web-app-call-api-call-api.md)
+- [A web API that calls web APIs: Acquire a token for the app](scenario-web-api-call-api-acquire-token.md)
+- [A web API that calls web APIs: Code configuration](scenario-web-api-call-api-app-configuration.md)
+- [A web API that calls web APIs: Call an API](scenario-web-api-call-api-call-api.md)
+- [Confidential client assertions](msal-net-client-assertions.md)
+- [Customize claims issued in the JSON web token (JWT) for enterprise applications (Preview)](jwt-claims-customization.md)
+- [Customize claims issued in the SAML token for enterprise applications](saml-claims-customization.md)
+- [Desktop app that calls web APIs: Acquire a token by using WAM](scenario-desktop-acquire-token-wam.md)
+- [Desktop app that calls web APIs: Acquire a token interactively](scenario-desktop-acquire-token-interactive.md)
+- [Handle errors and exceptions in MSAL for Python](msal-error-handling-python.md)
+- [Protected web API: Code configuration](scenario-protected-web-api-app-configuration.md)
+- [Shared device mode for iOS devices](msal-ios-shared-devices.md)
+- [Tutorial: Sign in users and call the Microsoft Graph API from an Android application](tutorial-v2-android.md)
+- [Tutorial: Sign in users and call the Microsoft Graph API from an Angular single-page application (SPA) using auth code flow](tutorial-v2-angular-auth-code.md)
+- [Web app that signs in users: Code configuration](scenario-web-app-sign-user-app-configuration.md)
+ ## April 2023 ### New articles
Welcome to what's new in the Microsoft identity platform documentation. This art
- [Token cache serialization in MSAL.NET](msal-net-token-cache-serialization.md) - [Troubleshoot publisher verification](troubleshoot-publisher-verification.md) - [Tutorial: Call the Microsoft Graph API from a Universal Windows Platform (UWP) application](tutorial-v2-windows-uwp.md)-
-## February 2023
-
-### New articles
--- [Frequently asked questions about workload identities license plans](workload-identities-faqs.md)-
-### Updated articles
--- [Configure the role claim issued in the SAML token](active-directory-enterprise-app-role-management.md)-- [Microsoft identity platform and the OAuth 2.0 client credentials flow](v2-oauth2-client-creds-grant-flow.md)-- [Overview of shared device mode](msal-shared-devices.md)-- [Run automated integration tests](test-automate-integration-testing.md)-- [Tutorial: Sign in users and call Microsoft Graph in Windows Presentation Foundation (WPF) desktop app](tutorial-v2-windows-desktop.md)
active-directory Concept Supported Features Customers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/external-identities/customers/concept-supported-features-customers.md
Previously updated : 05/17/2023 Last updated : 05/31/2023
Although workforce tenants and customer tenants are built on the same underlying
|Feature |Workforce tenant | Customer tenant | |||| | **External Identities** | Invite partners and other external users to your workforce tenant for collaboration. External users become guests in your workforce directory. | Enable self-service sign-up for customers and authorize access to apps. Users are added to your directory as customer accounts. |
-| **Available identity providers** | - Azure AD accounts </br>- Microsoft accounts </br>- Email one-time passcode </br>- Google </br>- Facebook </br>- SAML/WS-Fed federation | - Local accounts </br>- Azure AD accounts </br>- Microsoft accounts </br>- Email one-time passcode </br>- Google </br>- Facebook |
+| **Authentication methods and identity providers** | - Azure AD accounts </br>- Microsoft accounts </br>- Email one-time passcode </br>- Google federation</br>- Facebook federation</br>- SAML/WS-Fed federation | - Local account (Email and password) </br>- Email one-time passcode </br>- Google federation</br>- Facebook federation|
| **Groups** | [Groups](../../fundamentals/active-directory-groups-create-azure-portal.md) can be used to manage administrative and user accounts.| Groups can be used to manage administrative accounts. Support for Azure AD groups and [application roles](how-to-use-app-roles-customers.md) is being phased into customer tenants. For the latest updates, see [Groups and application roles support](reference-group-app-roles-support.md). | | **Roles and administrators**| [Roles and administrators](../../fundamentals/active-directory-users-assign-role-azure-portal.md) are fully supported for administrative and user accounts. | Roles aren't supported with customer accounts. Customer accounts don't have access to tenant resources.| | **Custom domain names** | You can use [custom domains](../../fundamentals/add-custom-domain.md) for administrative accounts only. | Not currently supported. However, the URLs visible to customers in sign-up and sign-in pages are neutral, unbranded URLs. [Learn more](concept-branding-customers.md)|
active-directory Active Directory Ops Guide Iam https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/active-directory-ops-guide-iam.md
Azure AD Connect plays a key role in the provisioning process. If the Sync Serve
If your organization is lacking a disaster recovery and failover strategy for Sync, you shouldn't hesitate to deploy Azure AD Connect in Staging Mode. Likewise, if there is a mismatch between your production and staging configuration, you should re-baseline Azure AD Connect staging mode to match the production configuration, including software versions and configurations.
-![A screenshot of Azure AD Connect staging mode configuration](./media/active-directory-ops-guide/active-directory-ops-img1.png)
+![A screenshot of Azure AD Connect staging mode configuration](./media/ops-guide-auth/ops-img1.png)
#### Stay current
Use the following guidelines to define service plans to users:
> [!IMPORTANT] > Group-based licensing in Azure AD introduces the concept of users in a licensing error state. If you notice any licensing errors, then you should immediately [identify and resolve](../enterprise-users/licensing-groups-resolve-problems.md) any license assignment problems.
-![A screenshot of a computer screen Description automatically generated](./media/active-directory-ops-guide/active-directory-ops-img2.png)
+![A screenshot of a computer screen Description automatically generated](./media/ops-guide-auth/ops-img2.png)
#### Lifecycle management
Resource owners may believe that the **All users** group contains only **Enterpr
If you are currently provisioning apps in an ad-hoc manner or using things like CSV files, JIT, or an on-premises solution that does not address lifecycle management, we recommend you [implement application provisioning](../app-provisioning/user-provisioning.md#how-do-i-set-up-automatic-provisioning-to-an-application) with Azure AD for supported applications and define a consistent pattern for applications that aren't yet supported by Azure AD.
-![Azure AD provisioning service](./media/active-directory-ops-guide/active-directory-ops-img3.png)
+![Azure AD provisioning service](./media/ops-guide-auth/ops-img3.png)
### Azure AD Connect delta sync cycle baseline
There are five aspects to a secure Identity infrastructure. This list will help
## Next steps
-Get started with the [Authentication management checks and actions](active-directory-ops-guide-auth.md).
+Get started with the [Authentication management checks and actions](ops-guide-auth.md).
active-directory Active Directory Ops Guide Intro https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/active-directory-ops-guide-intro.md
This operations reference guide describes the checks and actions you should take to secure and maintain the following areas: - **[Identity and access management](active-directory-ops-guide-iam.md)** - ability to manage the lifecycle of identities and their entitlements.-- **[Authentication management](active-directory-ops-guide-auth.md)** - ability to manage credentials, define authentication experience, delegate assignment, measure usage, and define access policies based on enterprise security posture.-- **[Governance](active-directory-ops-guide-govern.md)** - ability to assess and attest the access granted non-privileged and privileged identities, audit, and control changes to the environment.
+- **[Authentication management](ops-guide-auth.md)** - ability to manage credentials, define authentication experience, delegate assignment, measure usage, and define access policies based on enterprise security posture.
+- **[Governance](ops-guide-govern.md)** - ability to assess and attest the access granted non-privileged and privileged identities, audit, and control changes to the environment.
- **[Operations](active-directory-ops-guide-ops.md)** - optimize the operations Azure Active Directory (Azure AD). Some recommendations here might not be applicable to all customersΓÇÖ environment, for example, AD FS best practices might not apply if your organization uses password hash sync.
active-directory Active Directory Ops Guide Ops https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/active-directory-ops-guide-ops.md
Unless one has been established, you should define a process to upgrade these co
Organizations should deploy [Azure AD Connect Health](../hybrid/whatis-azure-ad-connect.md#what-is-azure-ad-connect-health) for monitoring and reporting of Azure AD Connect and AD FS. Azure AD Connect and AD FS are critical components that can break lifecycle management and authentication and therefore lead to outages. Azure AD Connect Health helps monitor and gain insights into your on-premises identity infrastructure thus ensuring the reliability of your environment.
-![Azure AD Connect Heath architecture](./media/active-directory-ops-guide/active-directory-ops-img16.png)
+![Azure AD Connect Heath architecture](./media/ops-guide-auth/ops-img16.png)
As you monitor the health of your environment, you must immediately address any high severity alerts, followed by lower severity alerts.
The [identity secure score](./identity-secure-score.md) provides a quantifiable
- Plan identity security improvements - Review the success of your improvements
-![Secure score](./media/active-directory-ops-guide/active-directory-ops-img17.png)
+![Secure score](./media/ops-guide-auth/ops-img17.png)
If your organization currently has no program in place to monitor changes in Identity Secure Score, it is recommended you implement a plan and assign owners to monitor and drive improvement actions. Organizations should remediate improvement actions with a score impact higher than 30 as soon as possible.
If AD FS is only used for Azure AD federation, there are some endpoints that can
Organizations should lock down access to the machines with on-premises hybrid components in the same way as your on-premises domain. For example, a backup operator or Hyper-V administrator should not be able to log in to the Azure AD Connect Server to change rules.
-The Active Directory administrative tier model was designed to protect identity systems using a set of buffer zones between full control of the Environment (Tier 0) and the high-risk workstation assets that attackers frequently compromise. ![Diagram showing the three layers of the Tier model](./media/active-directory-ops-guide/active-directory-ops-img18.png)
+The Active Directory administrative tier model was designed to protect identity systems using a set of buffer zones between full control of the Environment (Tier 0) and the high-risk workstation assets that attackers frequently compromise.
+
+![Diagram showing the three layers of the Tier model](./media/ops-guide-auth/ops-img18.png)
The [tier model](/windows-server/identity/securing-privileged-access/securing-privileged-access-reference-material) is composed of three levels and only includes administrative accounts, not standard user accounts.
active-directory Active Directory Whatis https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/active-directory-whatis.md
Azure Active Directory (Azure AD) is a cloud-based identity and access management service. Azure AD enables your employees access external resources, such as Microsoft 365, the Azure portal, and thousands of other SaaS applications. Azure Active Directory also helps them access internal resources like apps on your corporate intranet, and any cloud apps developed for your own organization. To learn how to create a tenant, see [Quickstart: Create a new tenant in Azure Active Directory](active-directory-access-create-new-tenant.md).
-To learn the differences between Active Directory and Azure Active Directory, see [Compare Active Directory to Azure Active Directory](active-directory-compare-azure-ad-to-ad.md). You can also refer [Microsoft Cloud for Enterprise Architects Series](/microsoft-365/solutions/cloud-architecture-models) posters to better understand the core identity services in Azure like Azure AD and Microsoft-365.
+To learn the differences between Active Directory and Azure Active Directory, see [Compare Active Directory to Azure Active Directory](compare.md). You can also refer [Microsoft Cloud for Enterprise Architects Series](/microsoft-365/solutions/cloud-architecture-models) posters to better understand the core identity services in Azure like Azure AD and Microsoft-365.
## Who uses Azure AD?
active-directory Compare https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/compare.md
+
+ Title: Compare Active Directory to Azure Active Directory
+description: This document compares Active Directory Domain Services (ADDS) to Azure Active Directory (AD). It outlines key concepts in both identity solutions and explains how it's different or similar.
+++
+tags: azuread
++++ Last updated : 08/17/2022+++
+# Compare Active Directory to Azure Active Directory
+
+Azure Active Directory is the next evolution of identity and access management solutions for the cloud. Microsoft introduced Active Directory Domain Services in Windows 2000 to give organizations the ability to manage multiple on-premises infrastructure components and systems using a single identity per user.
+
+Azure AD takes this approach to the next level by providing organizations with an Identity as a Service (IDaaS) solution for all their apps across cloud and on-premises.
+
+Most IT administrators are familiar with Active Directory Domain Services concepts. The following table outlines the differences and similarities between Active Directory concepts and Azure Active Directory.
+
+|Concept|Active Directory (AD)|Azure Active Directory |
+|:-|:-|:-|
+|**Users**|||
+|Provisioning: users | Organizations create internal users manually or use an in-house or automated provisioning system, such as the Microsoft Identity Manager, to integrate with an HR system.|Existing AD organizations use [Azure AD Connect](../hybrid/how-to-connect-sync-whatis.md) to sync identities to the cloud.</br> Azure AD adds support to automatically create users from [cloud HR systems](../app-provisioning/what-is-hr-driven-provisioning.md). </br>Azure AD can provision identities in [SCIM enabled](../app-provisioning/use-scim-to-provision-users-and-groups.md) SaaS apps to automatically provide apps with the necessary details to allow access for users. |
+|Provisioning: external identities| Organizations create external users manually as regular users in a dedicated external AD forest, resulting in administration overhead to manage the lifecycle of external identities (guest users)| Azure AD provides a special class of identity to support external identities. [Azure AD B2B](/azure/active-directory/b2b/) will manage the link to the external user identity to make sure they are valid. |
+| Entitlement management and groups| Administrators make users members of groups. App and resource owners then give groups access to apps or resources.| [Groups](./active-directory-groups-create-azure-portal.md) are also available in Azure AD and administrators can also use groups to grant permissions to resources. In Azure AD, administrators can assign membership to groups manually or use a query to dynamically include users to a group. </br> Administrators can use [Entitlement management](../governance/entitlement-management-overview.md) in Azure AD to give users access to a collection of apps and resources using workflows and, if necessary, time-based criteria. |
+| Admin management|Organizations will use a combination of domains, organizational units, and groups in AD to delegate administrative rights to manage the directory and resources it controls.| Azure AD provides [built-in roles](./active-directory-users-assign-role-azure-portal.md) with its Azure AD role-based access control (Azure AD RBAC) system, with limited support for [creating custom roles](../roles/custom-overview.md) to delegate privileged access to the identity system, the apps, and resources it controls.</br>Managing roles can be enhanced with [Privileged Identity Management (PIM)](../privileged-identity-management/pim-configure.md) to provide just-in-time, time-restricted, or workflow-based access to privileged roles. |
+| Credential management| Credentials in Active Directory are based on passwords, certificate authentication, and smartcard authentication. Passwords are managed using password policies that are based on password length, expiry, and complexity.|Azure AD uses intelligent [password protection](../authentication/concept-password-ban-bad.md) for cloud and on-premises. Protection includes smart lockout plus blocking common and custom password phrases and substitutions. </br>Azure AD significantly boosts security [through Multi-factor authentication](../authentication/concept-mfa-howitworks.md) and [passwordless](../authentication/concept-authentication-passwordless.md) technologies, like FIDO2. </br>Azure AD reduces support costs by providing users a [self-service password reset](../authentication/concept-sspr-howitworks.md) system. |
+| **Apps**|||
+| Infrastructure apps|Active Directory forms the basis for many infrastructure on-premises components, for example, DNS, DHCP, IPSec, WiFi, NPS, and VPN access|In a new cloud world, Azure AD, is the new control plane for accessing apps versus relying on networking controls. When users authenticate, [Conditional access (CA)](../conditional-access/overview.md) controls which users have access to which apps under required conditions.|
+| Traditional and legacy apps| Most on-premises apps use LDAP, Windows-Integrated Authentication (NTLM and Kerberos), or Header-based authentication to control access to users.| Azure AD can provide access to these types of on-premises apps using [Azure AD application proxy](../app-proxy/application-proxy.md) agents running on-premises. Using this method Azure AD can authenticate Active Directory users on-premises using Kerberos while you migrate or need to coexist with legacy apps. |
+| SaaS apps|Active Directory doesn't support SaaS apps natively and requires federation system, such as AD FS.|SaaS apps supporting OAuth2, SAML, and WS-\* authentication can be integrated to use Azure AD for authentication. |
+| Line of business (LOB) apps with modern authentication|Organizations can use AD FS with Active Directory to support LOB apps requiring modern authentication.| LOB apps requiring modern authentication can be configured to use Azure AD for authentication. |
+| Mid-tier/Daemon services|Services running in on-premises environments normally use AD service accounts or group Managed Service Accounts (gMSA) to run. These apps will then inherit the permissions of the service account.| Azure AD provides [managed identities](../managed-identities-azure-resources/index.yml) to run other workloads in the cloud. The lifecycle of these identities is managed by Azure AD and is tied to the resource provider and it can't be used for other purposes to gain backdoor access.|
+| **Devices**|||
+| Mobile|Active Directory doesn't natively support mobile devices without third-party solutions.| MicrosoftΓÇÖs mobile device management solution, Microsoft Intune, is integrated with Azure AD. Microsoft Intune provides device state information to the identity system to evaluate during authentication. |
+| Windows desktops|Active Directory provides the ability to domain join Windows devices to manage them using Group Policy, System Center Configuration Manager, or other third-party solutions.|Windows devices can be [joined to Azure AD](../devices/index.yml). Conditional access can check if a device is Azure AD joined as part of the authentication process. Windows devices can also be managed with [Microsoft Intune](/intune/what-is-intune). In this case, conditional access, will consider whether a device is compliant (for example, up-to-date security patches and virus signatures) before allowing access to the apps.|
+| Windows servers| Active Directory provides strong management capabilities for on-premises Windows servers using Group Policy or other management solutions.| Windows servers virtual machines in Azure can be managed with [Azure AD Domain Services](../../active-directory-domain-services/index.yml). [Managed identities](../managed-identities-azure-resources/index.yml) can be used when VMs need access to the identity system directory or resources.|
+| Linux/Unix workloads|Active Directory doesn't natively support non-Windows without third-party solutions, although Linux machines can be configured to authenticate with Active Directory as a Kerberos realm.|Linux/Unix VMs can use [managed identities](../managed-identities-azure-resources/index.yml) to access the identity system or resources. Some organizations, migrate these workloads to cloud container technologies, which can also use managed identities.|
+
+## Next steps
+
+- [What is Azure Active Directory?](./active-directory-whatis.md)
+- [Compare self-managed Active Directory Domain Services, Azure Active Directory, and managed Azure Active Directory Domain Services](../../active-directory-domain-services/compare-identity-solutions.md)
+- [Frequently asked questions about Azure Active Directory](./active-directory-faq.yml)
+- [What's new in Azure Active Directory?](./whats-new.md)
active-directory Data Operational Considerations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/data-operational-considerations.md
To roll out changes to the service across data centers, the Azure AD team define
## Next steps
-* [Azure Active Directory and data residency](azure-ad-data-residency.md)
+* [Azure Active Directory and data residency](data-residency.md)
* [Data operational considerations](data-operational-considerations.md) (You're here) * [Data protection considerations](data-protection-considerations.md)
active-directory Data Protection Considerations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/data-protection-considerations.md
For more information about Secret encryption at rest, see the following table.
## Next steps
-* [Azure Active Directory and data residency](azure-ad-data-residency.md)
+* [Azure Active Directory and data residency](data-residency.md)
* [Data operational considerations](data-operational-considerations.md) * [Data protection considerations](data-protection-considerations.md) (You're here)
active-directory Data Residency https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/data-residency.md
+
+ Title: Azure AD and data residency
+description: Use residency data to manage access, achieve mobility scenarios, and secure your organization.
+++++++ Last updated : 03/21/2023++++++
+# Azure Active Directory and data residency
+
+Azure AD is an Identity as a Service (IDaaS) solution that stores and manages identity and access data in the cloud. You can use the data to enable and manage access to cloud services, achieve mobility scenarios, and secure your organization. An instance of the Azure AD service, called a [tenant](../develop/developer-glossary.md#tenant), is an isolated set of directory object data that the customer provisions and owns.
+
+## Core Store
+
+The Core Store is made up of tenants stored in scale units, each of which contains multiple tenants. Update or retrieval data operations in the Azure AD Core Store relate to a single tenant, based on the user's security token, which achieves tenant isolation. Scale units are assigned to a geo-location. Each geo-location uses two or more Azure regions to store the data. In each Azure region, a scale unit data is replicated in the physical data centers for resiliency and performance.
+
+Learn more: [Azure Active Directory Core Store Scale Units](https://www.youtube.com/watch?v=OcKO44GtHh8)
+
+Azure AD is available in the following clouds
+
+* Public
+* China
+* US government
+
+In the public cloud, you're prompted to select a location at the time of tenant creation (for example, signing up for Office 365 or Azure, or creating more Azure AD instances through the Azure portal). Azure AD maps the selection to a geo-location and a single scale unit in it. Tenant location can't be changed after it's set.
+
+The location selected during tenant creation will map to one of the following geo-locations:
+
+* Australia
+* Asia/Pacific
+* Europe, Middle East, and Africa (EMEA)
+* Japan
+* North America
+* Worldwide
+
+Azure AD handles Core Store data based on usability, performance, residency and/or other requirements based on geo-location. Azure AD replicates each tenant through its scale unit, across data centers, based on the following criteria:
+
+* Azure AD Core Store data, stored in data centers closest to the tenant-residency location, to reduce latency and provide fast user sign-in times
+* Azure AD Core Store data stored in geographically isolated data centers to assure availability during unforeseen single-datacenter, catastrophic events
+* Compliance with data residency, or other requirements, for specific customers and geo-locations
+
+## Azure AD cloud solution models
+
+Use the following table to see Azure AD cloud solution models based on infrastructure, data location, and operational sovereignty.
+
+|Model|Locations|Data location|Operations personnel|Put a tenant in this model|
+||||||
+|Public geo located|North America, EMEA, Japan, Asia/Pacific|At rest, in the target location. Exceptions by service or feature|Operated by Microsoft. Microsoft datacenter personnel must pass a background check.|Create the tenant in the sign-up experience. Choose the location for data residency.|
+|Public worldwide|Worldwide|All locations|Operated by Microsoft. Microsoft datacenter personnel must pass a background check.|Tenant creation available via official support channel and subject to Microsoft discretion.|
+|Sovereign or national clouds|US government, China|At rest, in the target location. No exceptions.|Operated by a data custodian (1). Personnel are screened according to requirements.|Each national cloud instance has a sign-up experience.|
+
+**Table references**:
+
+(1) **Data custodians**: Data centers in the US government cloud are operated by Microsoft. In China, Azure AD is operated through a partnership with [21Vianet](/microsoft-365/admin/services-in-china/services-in-china?redirectSourcePath=%252fen-us%252farticle%252fLearn-about-Office-365-operated-by-21Vianet-a8ab5061-3346-4da0-bb7c-5260822b53ae&view=o365-21vianet&viewFallbackFrom=o365-worldwide&preserve-view=true).
+
+Learn more:
+
+* [Customer data storage and processing for European customers in Azure AD](./active-directory-data-storage-eu.md)
+* Power BI: [Azure Active Directory ΓÇô Where is your data located?](https://aka.ms/aaddatamap)
+* [What is the Azure Active Directory architecture?](https://aka.ms/aadarch)
+* [Find the Azure geography that meets your needs](https://azure.microsoft.com/overview/datacenters/how-to-choose/)
+* [Microsoft Trust Center](https://www.microsoft.com/trustcenter/cloudservices/nationalcloud)
+
+## Data residency across Azure AD components
+
+Learn more: [Azure Active Directory, Product overview](https://www.microsoft.com/cloud-platform/azure-active-directory-features)
+
+> [!NOTE]
+> To understand service data location, such as Exchange Online, or Skype for Business, refer to the corresponding service documentation.
+
+### Azure AD components and data storage location
+
+|Azure AD component|Description|Data storage location|
+||||
+|Azure AD Authentication Service|This service is stateless. The data for authentication is in the Azure AD Core Store. It has no directory data. Azure AD Authentication Service generates log data in Azure storage, and in the data center where the service instance runs. When users attempt to authenticate using Azure AD, they're routed to an instance in the geographically nearest data center that is part of its Azure AD logical region. |In geo location|
+|Azure AD Identity and Access Management (IAM) Services|**User and management experiences**: The Azure AD management experience is stateless and has no directory data. It generates log and usage data stored in Azure Tables storage. The user experience is like the Azure portal. <br>**Identity management business logic and reporting services**: These services have locally cached data storage for groups and users. The services generate log and usage data that goes to Azure Tables storage, Azure SQL, and in Microsoft Elastic Search reporting services. |In geo location|
+|Azure AD Multi-Factor Authentication (MFA)|For details about MFA-operations data storage and retention, see [Data residency and customer data for Azure AD multifactor authentication](../authentication/concept-mfa-data-residency.md). Azure AD MFA logs the User Principal Name (UPN), voice-call telephone numbers, and SMS challenges. For challenges to mobile app modes, the service logs the UPN and a unique device token. Data centers in the North America region store Azure AD MFA, and the logs it creates.|North America|
+|Azure AD Domain Services|See regions where Azure AD Domain Services is published on [Products available by region](https://azure.microsoft.com/regions/services/). The service holds system metadata globally in Azure Tables, and it contains no personal data.|In geo location|
+|Azure AD Connect Health|Azure AD Connect Health generates alerts and reports in Azure Tables storage and blob storage.|In geo location|
+|Azure AD dynamic membership for groups, Azure AD self-service group management|Azure Tables storage holds dynamic membership rule definitions.|In geo location|
+|Azure AD Application Proxy|Azure AD Application Proxy stores metadata about the tenant, connector machines, and configuration data in Azure SQL.|In geo location|
+|Azure AD password writeback in Azure AD Connect|During initial configuration, Azure AD Connect generates an asymmetric keypair, using the RivestΓÇôShamirΓÇôAdleman (RSA) cryptosystem. It then sends the public key to the self-service password reset (SSPR) cloud service, which performs two operations: </br></br>1. Creates two Azure Service Bus relays for the Azure AD Connect on-premises service to communicate securely with the SSPR service </br> 2. Generates an Advanced Encryption Standard (AES) key, K1 </br></br> The Azure Service Bus relay locations, corresponding listener keys, and a copy of the AES key (K1) goes to Azure AD Connect in the response. Future communications between SSPR and Azure AD Connect occur over the new ServiceBus channel and are encrypted using SSL. </br> New password resets, submitted during operation, are encrypted with the RSA public key generated by the client during onboarding. The private key on the Azure AD Connect machine decrypts them, which prevents pipeline subsystems from accessing the plaintext password. </br> The AES key encrypts the message payload (encrypted passwords, more data, and metadata), which prevents malicious ServiceBus attackers from tampering with the payload, even with full access to the internal ServiceBus channel. </br> For password writeback, Azure AD Connect need keys and data: </br></br> - The AES key (K1) that encrypts the reset payload, or change requests from the SSPR service to Azure AD Connect, via the ServiceBus pipeline </br> - The private key, from the asymmetric key pair that decrypts the passwords, in reset or change request payloads </br> - The ServiceBus listener keys </br></br> The AES key (K1) and the asymmetric keypair rotate a minimum of every 180 days, a duration you can change during certain onboarding or offboarding configuration events. An example is a customer disables and re-enables password writeback, which might occur during component upgrade during service and maintenance. </br> The writeback keys and data stored in the Azure AD Connect database are encrypted by data protection application programming interfaces (DPAPI) (CALG_AES_256). The result is the master ADSync encryption key stored in the Windows Credential Vault in the context of the ADSync on-premises service account. The Windows Credential Vault supplies automatic secret re-encryption as the password for the service account changes. To reset the service account password invalidates secrets in the Windows Credential Vault for the service account. Manual changes to a new service account might invalidate the stored secrets.</br> By default, the ADSync service runs in the context of a virtual service account. The account might be customized during installation to a least-privileged domain service account, a managed service account (MSA), or a group managed service account (gMSA). While virtual and managed service accounts have automatic password rotation, customers manage password rotation for a custom provisioned domain account. As noted, to reset the password causes loss of stored secrets. |In geo location|
+|Azure AD Device Registration Service |Azure AD Device Registration Service has computer and device lifecycle management in the directory, which enable scenarios such as device-state conditional access, and mobile device management.|In geo location|
+|Azure AD provisioning|Azure AD provisioning creates, removes, and updates users in systems, such as software as service (SaaS) applications. It manages user creation in Azure AD and on-premises AD from cloud HR sources, like Workday. The service stores its configuration in an Azure Cosmos DB, which stores the group membership data for the user directory it keeps. Cosmos DB replicates the database to multiple datacenters in the same region as the tenant, which isolates the data, according to the Azure AD cloud solution model. Replication creates high availability and multiple reading and writing endpoints. Cosmos DB has encryption on the database information, and the encryption keys are stored in the secrets storage for Microsoft.|In geo location|
+|Azure AD business-to-business (B2B) collaboration|Azure AD B2B collaboration has no directory data. Users and other directory objects in a B2B relationship, with another tenant, result in user data copied in other tenants, which might have data residency implications.|In geo location|
+|Azure AD Identity Protection|Azure AD Identity Protection uses real-time user log-in data, with multiple signals from company and industry sources, to feed its machine-learning systems that detect anomalous logins. Personal data is scrubbed from real-time log-in data before it's passed to the machine learning system. The remaining log-in data identifies potentially risky usernames and logins. After analysis, the data goes to Microsoft reporting systems. Risky logins and usernames appear in reporting for Administrators.|In geo location|
+|Azure AD managed identities for Azure resources|Azure AD managed identities for Azure resources with managed identities systems can authenticate to Azure services, without storing credentials. Rather than use username and password, managed identities authenticate to Azure services with certificates. The service writes certificates it issues in Azure Cosmos DB in the East US region, which fail over to another region, as needed. Azure Cosmos DB geo-redundancy occurs by global data replication. Database replication puts a read-only copy in each region that Azure AD managed identities runs. To learn more, see [Azure services that can use managed identities to access other services](../managed-identities-azure-resources/managed-identities-status.md). Microsoft isolates each Cosmos DB instance in an Azure AD cloud solution model. </br> The resource provider, such as the virtual machine (VM) host, stores the certificate for authentication, and identity flows, with other Azure services. The service stores its master key to access Azure Cosmos DB in a datacenter secrets management service. Azure Key Vault stores the master encryption keys.|In geo location|
+|Azure Active Directory B2C |[Azure AD B2C](../../active-directory-b2c/data-residency.md) is an identity management service to customize and manage how customers sign up, sign in, and manage their profiles when using applications. B2C uses the Core Store to keep user identity information. The Core Store database follows known storage, replication, deletion, and data-residency rules. B2C uses an Azure Cosmos DB system to store service policies and secrets. Cosmos DB has encryption and replication services on database information. Its encryption key is stored in the secrets storage for Microsoft. Microsoft isolates Cosmos DB instances in an Azure AD cloud solution model.|Customer-selectable geo location|
+
+## Related resources
+
+For more information on data residency in Microsoft Cloud offerings, see the following articles:
+
+* [Azure Active Directory ΓÇô Where is your data located?](https://aka.ms/aaddatamap)
+* [Data Residency in Azure | Microsoft Azure](https://azure.microsoft.com/explore/global-infrastructure/data-residency/#overview)
+* [Microsoft 365 data locations - Microsoft 365 Enterprise](/microsoft-365/enterprise/o365-data-locations?view=o365-worldwide&preserve-view=true)
+* [Microsoft Privacy - Where is Your Data Located?](https://www.microsoft.com/trust-center/privacy/data-location?rtc=1)
+* Download PDF: [Privacy considerations in the cloud](https://go.microsoft.com/fwlink/p/?LinkID=2051117&clcid=0x409&culture=en-us&country=US)
+
+## Next steps
+
+* [Azure Active Directory and data residency](data-residency.md) (You're here)
+
+* [Data operational considerations](data-operational-considerations.md)
+* [Data protection considerations](data-protection-considerations.md)
+
active-directory Five Steps To Full Application Integration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/five-steps-to-full-application-integration.md
+
+ Title: Five steps to integrate your apps with Azure Active Directory
+description: Learn to integrate your applications with Azure AD by adding apps, discovery, and integration methods.
+++++++ Last updated : 03/01/2023++
+# Five steps to integrate your apps with Azure Active Directory
+
+Learn to integrate your applications with Azure Active Directory (Azure AD), which is a cloud-based identity and access management service. Organizations use Azure AD for secure authentication and authorization so customers, partners, and employees can access applications. With Azure AD, features such as Conditional Access, Azure AD Multi-Factor Authentication (MFA), single sign-on, and application provisioning make identity and access management easier to manage and more secure.
+
+Learn more:
+
+* [What is Conditional Access?](../conditional-access/overview.md)
+* [How it works: Azure AD Multi-Factor Authentication](../authentication/concept-mfa-howitworks.md)
+* [Azure AD seamless single sign-on](../hybrid/how-to-connect-sso.md)
+* [What is app provisioning in Azure AD?](../app-provisioning/user-provisioning.md)
+
+If your company has a Microsoft 365 subscription, you likely use Azure AD. However, you can use Azure AD for applications. If you centralize application management, identity management features, tools, and policies for your app portfolio. The benefit is a unified solution that improves security, reduces costs, increases productivity, and enables compliance. In addition, there's remote access to on-premises apps.
+
+Learn more:
+
+* [Deploy your identity infrastructure for Microsoft 365](/microsoft-365/enterprise/deploy-identity-solution-overview?view=o365-worldwide&preserve-view=true)
+* [What is application management in Azure AD?](../manage-apps/what-is-application-management.md)
+
+## Azure AD for new applications
+
+When your business acquires new applications, add them to the Azure AD tenant. Establish a company policy of adding new apps to Azure AD.
+
+See, [Quickstart: Add an enterprise application](../manage-apps/add-application-portal.md)
+
+Azure AD has a gallery of integrated applications to make it easy to get started. Add a gallery app to your Azure AD organization (see, previous link) and learn about integrating software as a service (SaaS) tutorials.
+
+See, [Tutorials for integrating SaaS applications with Azure AD](../saas-apps/tutorial-list.md)
+
+### Integration tutorials
+
+Use the following tutorials to learn to integrate common tools with Azure AD single sign-on (SSO).
+
+* [Tutorial: Azure AD SSO integration with ServiceNow](../saas-apps/servicenow-tutorial.md)
+* [Tutorial: Azure AD SSO integration with Workday](../saas-apps/workday-tutorial.md)
+* [Tutorial: Azure AD SSO integration with Salesforce](../saas-apps/salesforce-tutorial.md)
+* [Tutorial: Azure AD SSO integration with AWS Single-Account Access](../saas-apps/amazon-web-service-tutorial.md)
+* [Tutorial: Azure AD SSO integration with Slack](../saas-apps/slack-tutorial.md)
+
+### Apps not in the gallery
+
+You can integrate applications that don't appear in the gallery, including applications in your organization, or third-party application from vendors. Submit a request to publish your app in the gallery. To learn about integrating apps you develop in-house, see **Integrate apps your developers build**.
+
+Learn more:
+
+* [Quickstart: View enterprise applications](../manage-apps/view-applications-portal.md)
+* [Submit a request to publish your application in Azure AD application gallery](../manage-apps/v2-howto-app-gallery-listing.md)
+
+## Determine application usage and prioritize integration
+
+Discover the applications employees use, and prioritize integrating the apps with Azure AD. Use the Microsoft Defender for Cloud Apps Cloud Discovery tools to discover and manage apps not managed by your IT team. Microsoft Defender for Endpoint (formerly known as Microsoft Defender Advanced Threat Protection) simplifies and extends the discovery process.
+
+Learn more:
+
+* [Set up Cloud Discovery](/defender-cloud-apps/set-up-cloud-discovery)
+* [Microsoft Defender for Endpoint](/microsoft-365/security/defender-endpoint/microsoft-defender-endpoint?view=o365-worldwide&preserve-view=true)
+
+In addition, use the Active Directory Federation Services (AD FS) in the Azure portal to discover AD FS apps in your organization. Discover unique users that signed in to the apps, and see information about integration compatibility.
+
+See, [Review the application activity report](../manage-apps/migrate-adfs-application-activity.md)
+
+### Application migration
+
+After you discover apps in your environment, prioritize the apps to migrate and integrate. Consider the following parameters:
+
+- Apps used most frequently
+- Riskiest apps
+- Apps to be decommissioned, therefore not in migration
+- Apps that stay on-premises
+
+See, [Resources for migrating applications to Azure AD](../manage-apps/migration-resources.md)
+
+## Integrate apps and identity providers
+
+During discovery, there might be applications not tracked by the IT team, which can create vulnerabilities. Some applications use alternative identity solutions, including AD FS, or other identity providers (IdPs). We recommend you consolidate identity and access management. Benefits include:
+
+* Reduce on-premises user set-up, authentication, and IdP licensing fees
+* Lower administrative overhead with streamlined identity and access management process
+* Enable single sign-on (SSO) access to applications in the My Apps portal
+ * See, [Create collections on the My Apps portal](../manage-apps/access-panel-collections.md)
+* Use Identity Protection and Conditional Access to increase data from app usage, and extend benefits to recently added apps
+ * [What is Identity Protection?](../identity-protection/overview-identity-protection.md)
+ * [What is Conditional Access?](../conditional-access/overview.md)
+
+### App owner awareness
+
+To help manage app integration with Azure AD, use the following material for application owner awareness and interest. Modify the material with your branding.
+
+You can download:
+
+* Zip file, [Editable Azure AD App Integration One-Pager](https://aka.ms/AppOnePager)
+* Microsoft PowerPoint presentation, [Azure AD application integration guidelines](https://aka.ms/AppGuideline)
+
+### Active Directory Federation Services
+
+Evaluate use of AD FS for authentication with SaaS apps, line-of-business apps, also Microsoft 365 and Azure AD apps.
+
+ ![Diagram AD FS authenticating with SaaS apps, line-of-business apps, also Microsoft 365 and Azure AD apps](./media/five-steps-to-full-application-integration/integration-1.png)
+
+Improve the configuration illustrated in the previous diagram by moving application authentication to Azure AD. Enable sign-on for apps and ease application discovery with the My Apps portal.
+
+Learn more:
+
+* [Move application authentication to Azure AD](../manage-apps/migrate-adfs-apps-to-azure.md)
+* [Sign in and start apps from the My Apps portal](https://support.microsoft.com/account-billing/sign-in-and-start-apps-from-the-my-apps-portal-2f3b1bae-0e5a-4a86-a33e-876fbd2a4510)
+
+See the following diagram of app authentication simplified by Azure AD.
+
+ ![Diagram of app authentication with Azure AD.](./media/five-steps-to-full-application-integration/integration-2.png)
+
+After Azure AD is the central IdP, you might be able to discontinue ADFS.
+
+ ![Diagram of Azure AD integration with on-premises apps, LOB apps, SaaS apps, and Office 365.](./media/five-steps-to-full-application-integration/integration-3.png)
+
+You can migrate apps that use a different cloud-based IdP. Your organization might have multiple Identity Access Management (IAM) solutions. Migrating to one Azure AD infrastructure can reduce dependencies on IAM licenses and infrastructure costs. If you paid for Azure AD with Microsoft 365 licenses, likely you don't have to purchase another IAM solution.
+
+## Integrate on-premises applications
+
+Traditionally, application security enabled access during a connection to a corporate network. However, organization grant access to apps for customers, partners, and/or employees, regardless of location. Application Proxy Service in Azure AD connects on-premises apps to Azure AD and doesn't require edge servers or more infrastructure.
+
+See, [Using Azure AD Application Proxy to publish on-premises apps for remote users](../app-proxy/what-is-application-proxy.md)
+
+The following diagram illustrates Application Proxy Service processing a user request.
+
+ ![Diagram of the Azure AD Application Proxy Service processing a user request.](./media/five-steps-to-full-application-integration/app-proxy.png)
+
+See, [Tutorial: Add an on-premises application for remote access through Application Proxy in Azure AD](../app-proxy/application-proxy-add-on-premises-application.md)
+
+In addition, integrate application delivery controllers like F5 BIG-IP APM, or Zscaler Private Access, with Azure AD. Benefits are modern authentication and identity management, traffic management, and security features. We call this solution secure hybrid access.
+
+See, [Secure hybrid access: Protect legacy apps with Azure AD](../manage-apps/secure-hybrid-access.md)
+
+For the following services, there are Azure AD integration tutorials.
+
+* [Tutorial: Azure AD SSO integration with Akamai](../saas-apps/akamai-tutorial.md)
+* [Tutorial: Azure AD SSO integration with Citrix ADC SAML Connector for Azure AD (Kerberos-based authentication)](../saas-apps/citrix-netscaler-tutorial.md)
+ * Formerly known as Citrix Netscaler
+* [Integrate F5 BIG-IP with Azure AD](../manage-apps/f5-aad-integration.md)
+* [Tutorial: Integrate Zscaler Private Access (ZPA) with Azure AD](../saas-apps/zscalerprivateaccess-tutorial.md)
+
+## Integrate apps your developers build
+
+For your developers' apps, use the Microsoft identity platform for authentication and authorization. Integrated applications are registered and managed like other apps in your portfolio.
+
+Learn more:
+
+* [Microsoft identity platform documentation](../develop/index.yml)
+* [Quickstart: Register an application with the Microsoft identity platform](../develop/quickstart-register-app.md)
+
+Developers can use the platform for internal and customer-facing apps. For instance, use Microsoft Authentication Libraries (MSAL) to enable multi-factor authentication and security to access apps.
+
+Learn more:
+
+* [Overview of the Microsoft Authentication Library (MSAL)](../develop/msal-overview.md)
+* [Microsoft identity platform code samples](../develop/sample-v2-code.md)
+* Video: [Overview of the Microsoft identity platform for developers](https://www.youtube.com/watch?v=zjezqZPPOfc&amp;list=PLLasX02E8BPBxGouWlJV-u-XZWOc2RkiX) (33:54)
+
+## Next step
+
+[Resources for migrating applications to Azure AD](../manage-apps/migration-resources.md)
active-directory Govern Service Accounts https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/govern-service-accounts.md
+
+ Title: Governing Azure Active Directory service accounts
+description: Principles and procedures for managing the lifecycle of service accounts in Azure Active Directory.
+++++++ Last updated : 02/09/2023++++++
+# Governing Azure Active Directory service accounts
+
+There are three types of service accounts in Azure Active Directory (Azure AD): managed identities, service principals, and user accounts employed as service accounts. When you create service accounts for automated use, they're granted permissions to access resources in Azure and Azure AD. Resources can include Microsoft 365 services, software as a service (SaaS) applications, custom applications, databases, HR systems, and so on. Governing Azure AD service account is managing creation, permissions, and lifecycle to ensure security and continuity.
+
+Learn more:
+
+* [Securing managed identities](service-accounts-managed-identities.md)
+* [Securing service principals](service-accounts-principal.md)
+
+> [!NOTE]
+> We do not recommend user accounts as service accounts because they are less secure. This includes on-premises service accounts synced to Azure AD, because they aren't converted to service principals. Instead, we recommend managed identities, or service principals, and the use of Conditional Access.
+
+Lear more: [What is Conditional Access?](../conditional-access/overview.md)
+
+## Plan your service account
+
+Before creating a service account, or registering an application, document the service account key information. Use the information to monitor and govern the account. We recommend collecting the following data and tracking it in your centralized Configuration Management Database (CMDB).
+
+| Data| Description| Details |
+| - | - | - |
+| Owner| User or group accountable for managing and monitoring the service account| Grant the owner permissions to monitor the account and implement a way to mitigate issues. Issue mitigation is done by the owner, or by request to an IT team. |
+| Purpose| How the account is used| Map the service account to a service, application, or script. Avoid creating multi-use service accounts. |
+| Permissions (Scopes)| Anticipated set of permissions| Document the resources it accesses and permissions for those resources |
+| CMDB Link| Link to the accessed resources, and scripts in which the service account is used| Document the resource and script owners to communicate the effects of change |
+| Risk assessment| Risk and business effect, if the account is compromised|Use the information to narrow the scope of permissions and determine access to information |
+| Period for review| The cadence of service account reviews, by the owner| Review communications and reviews. Document what happens if a review is performed after the scheduled review period. |
+| Lifetime| Anticipated maximum account lifetime| Use this measurement to schedule communications to the owner, disable, and then delete the accounts. Set an expiration date for credentials that prevents them from rolling over automatically. |
+| Name| Standardized account name| Create a naming convention for service accounts to search, sort, and filter them |
++
+## Principle of least privileges
+Grant the service account permissions needed to perform tasks, and no more. If a service account needs high-level permissions, for example a Global Administrator, evaluate why and try to reduce permissions.
+
+We recommend the following practices for service account privileges.
+
+### Permissions
+
+* Don't assign built-in roles to service accounts
+ * See, [oAuth2PermissionGrant resource type](/graph/api/resources/oauth2permissiongrant)
+* The service principal is assigned a privileged role
+ * [Create and assign a custom role in Azure Active Directory](../roles/custom-create.md)
+* Don't include service accounts as members of any groups with elevated permissions
+ * See, [Get-AzureADDirectoryRoleMember](/powershell/module/azuread/get-azureaddirectoryrolemember):
+
+>`Get-AzureADDirectoryRoleMember`, and filter for objectType "Service Principal", or use</br>
+>`Get-AzureADServicePrincipal | % { Get-AzureADServiceAppRoleAssignment -ObjectId $_ }`
+
+* See, [Introduction to permissions and consent](../develop/v2-permissions-and-consent.md) to limit the functionality a service account can access on a resource
+* Service principals and managed identities can use OAuth 2.0 scopes in a delegated context impersonating a signed-on user, or as service account in the application context. In the application context, no one is signed in.
+* Confirm the scopes service accounts request for resources
+ * If an account requests Files.ReadWrite.All, evaluate if it needs File.Read.All
+ * [Microsoft Graph permissions reference](/graph/permissions-reference)
+* Ensure you trust the application developer, or API, with the requested access
+
+### Duration
+
+* Limit service account credentials (client secret, certificate) to an anticipated usage period
+* Schedule periodic reviews of service account usage and purpose
+ * Ensure reviews occur prior to account expiration
+
+After you understand the purpose, scope, and permissions, create your service account, use the instructions in the following articles.
+
+* [How to use managed identities for App Service and Azure Functions](../../app-service/overview-managed-identity.md?tabs=dotnet)
+* [Create an Azure Active Directory application and service principal that can access resources](../develop/howto-create-service-principal-portal.md)
+
+Use a managed identity when possible. If you can't use a managed identity, use a service principal. If you can't use a service principal, then use an Azure AD user account.
+
+## Build a lifecycle process
+
+A service account lifecycle starts with planning, and ends with permanent deletion. The following sections cover how you monitor, review permissions, determine continued account usage, and ultimately deprovision the account.
+
+### Monitor service accounts
+
+Monitor your service accounts to ensure usage patterns are correct, and that the service account is used.
+
+#### Collect and monitor service account sign-ins
+
+Use one of the following monitoring methods:
+
+* Azure AD Sign-In Logs in the Azure portal
+* Export the Azure AD Sign-In Logs to
+ * [Azure Storage documentation](../../storage/index.yml)
+ * [Azure Event Hubs documentation](../../event-hubs/index.yml), or
+ * [Azure Monitor Logs overview](../../azure-monitor/logs/data-platform-logs.md)
+
+Use the following screenshot to see service principal sign-ins.
+
+![Screenshot of service principal sign-ins.](./media/govern-service-accounts/service-accounts-govern-1.png)
+
+#### Sign-in log details
+
+Look for the following details in sign-in logs.
+
+* Service accounts not signed in to the tenant
+* Changes in sign-in service account patterns
+
+We recommend you export Azure AD sign-in logs, and then import them into a security information and event management (SIEM) tool, such as Microsoft Sentinel. Use the SIEM tool to build alerts and dashboards.
+
+### Review service account permissions
+
+Regularly review service account permissions and accessed scopes to see if they can be reduced or eliminated.
+
+* See, [Get-AzureADServicePrincipalOAuth2PermissionGrant](/powershell/module/azuread/get-azureadserviceprincipaloauth2permissiongrant)
+ * [Script to list all delegated permissions and application permissions in Azure AD](https://gist.github.com/psignoret/41793f8c6211d2df5051d77ca3728c09) scopes for service account
+* See, [Azure AD/AzureADAssessment](https://github.com/AzureAD/AzureADAssessment) and confirm validity
+* Don't set service principal credentials to **Never expire**
+* Use certificates or credentials stored in Azure Key Vault, when possible
+ * [What is Azure Key Vault?](../../key-vault/general/basic-concepts.md)
+
+The free PowerShell sample collects service principal OAuth2 grants and credential information, records them in a comma-separated values (CSV) file, and a Power BI sample dashboard. For more information, see [Azure AD/AzureADAssessment](https://github.com/AzureAD/AzureADAssessment).
+
+### Recertify service account use
+
+Establish a regular review process to ensure service accounts are regularly reviewed by owners, security team, or IT team.
+
+The process includes:
+
+* Determine service account review cycle, and document it in your CMDB
+* Communications to owner, security team, IT team, before a review
+* Determine warning communications, and their timing, if the review is missed
+* Instructions if owners fail to review or respond
+ * Disable, but don't delete, the account until the review is complete
+* Instructions to determine dependencies. Notify resource owners of effects
+
+The review includes the owner and an IT partner, and they certify:
+
+* Account is necessary
+* Permissions to the account are adequate and necessary, or a change is requested
+* Access to the account, and its credentials, are controlled
+* Account credentials are accurate: credential type and lifetime
+* Account risk score hasn't changed since the previous recertification
+* Update the expected account lifetime, and the next recertification date
+
+### Deprovision service accounts
+
+Deprovision service accounts under the following circumstances:
+
+* Account script or application is retired
+* Account script or application function is retired. For example, access to a resource.
+* Service account is replaced by another service account
+* Credentials expired, or the account is non-functional, and there aren't complaints
+
+Deprovisioning includes the following tasks:
+
+After the associated application or script is deprovisioned:
+
+* [Sign-in logs in Azure AD](../reports-monitoring/concept-sign-ins.md) and resource access by the service account
+ * If the account is active, determine how it's being used before continuing
+* For a managed service identity, disable service account sign-in, but don't remove it from the directory
+* Revoke service account role assignments and OAuth2 consent grants
+* After a defined period, and warning to owners, delete the service account from the directory
+
+## Next steps
+
+* [Securing cloud-based service accounts](secure-service-accounts.md)
+* [Securing managed identities](service-accounts-managed-identities.md)
+* [Securing service principal](service-accounts-principal.md)
active-directory Ops Guide Auth https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/ops-guide-auth.md
+
+ Title: Azure Active Directory Authentication management operations reference guide
+description: This operations reference guide describes the checks and actions you should take to secure authentication management
+++
+tags: azuread
++++ Last updated : 08/17/2022+++
+# Azure Active Directory Authentication management operations reference guide
+
+This section of the [Azure AD operations reference guide](active-directory-ops-guide-intro.md) describes the checks and actions you should take to secure and manage credentials, define authentication experience, delegate assignment, measure usage, and define access policies based on enterprise security posture.
+
+> [!NOTE]
+> These recommendations are current as of the date of publishing but can change over time. Organizations should continuously evaluate their identity practices as Microsoft products and services evolve over time.
+
+## Key operational processes
+
+### Assign owners to key tasks
+
+Managing Azure Active Directory requires the continuous execution of key operational tasks and processes, which may not be part of a rollout project. It's still important you set up these tasks to optimize your environment. The key tasks and their recommended owners include:
+
+| Task | Owner |
+| :- | :- |
+| Manage lifecycle of single sign-on (SSO) configuration in Azure AD | IAM Operations Team |
+| Design conditional access policies for Azure AD applications | InfoSec Architecture Team |
+| Archive sign-in activity in a SIEM system | InfoSec Operations Team |
+| Archive risk events in a SIEM system | InfoSec Operations Team |
+| Triage and investigate security reports | InfoSec Operations Team |
+| Triage and investigate risk events | InfoSec Operations Team |
+| Triage and investigate users flagged for risk and vulnerability reports from Azure AD Identity Protection | InfoSec Operations Team |
+
+> [!NOTE]
+> Azure AD Identity Protection requires an Azure AD Premium P2 license. To find the right license for your requirements, see [Comparing generally available features of the Azure AD Free and Azure AD Premium editions](https://www.microsoft.com/security/business/identity-access-management/azure-ad-pricing).
+
+As you review your list, you may find you need to either assign an owner for tasks that are missing an owner or adjust ownership for tasks with owners that aren't aligned with the recommendations above.
+
+#### Owner recommended reading
+
+- [Assigning administrator roles in Azure Active Directory](../roles/permissions-reference.md)
+
+## Credentials management
+
+### Password policies
+
+Managing passwords securely is one of the most critical parts of identity and access management and often the biggest target of attacks. Azure AD supports several features that can help prevent an attack from being successful.
+
+Use the table below to find the recommended solution for mitigating the issue that needs to be addressed:
+
+| Issue | Recommendation |
+| :- | :- |
+| No mechanism to protect against weak passwords | Enable Azure AD [self-service password reset (SSPR)](../authentication/concept-sspr-howitworks.md) and [password protection](../authentication/concept-password-ban-bad-on-premises.md) |
+| No mechanism to detect leaked passwords | Enable [password hash sync](../hybrid/how-to-connect-password-hash-synchronization.md) (PHS) to gain insights |
+| Using AD FS and unable to move to managed authentication | Enable [AD FS Extranet Smart Lockout](/windows-server/identity/ad-fs/operations/configure-ad-fs-extranet-smart-lockout-protection) and / or [Azure AD Smart Lockout](../authentication/howto-password-smart-lockout.md) |
+| Password policy uses complexity-based rules such as length, multiple character sets, or expiration | Reconsider in favor of [Microsoft Recommended Practices](https://www.microsoft.com/research/publication/password-guidance/?from=http%3A%2F%2Fresearch.microsoft.com%2Fpubs%2F265143%2Fmicrosoft_password_guidance.pdf) and switch your approach to password management and deploy [Azure AD password protection](../authentication/concept-password-ban-bad.md). |
+| Users aren't registered to use multi-factor authentication (MFA) | [Register all user's security information](../identity-protection/howto-identity-protection-configure-mfa-policy.md) so it can be used as a mechanism to verify the user's identity along with their password |
+| There is no revocation of passwords based on user risk | Deploy Azure AD [Identity Protection user risk policies](../identity-protection/howto-identity-protection-configure-risk-policies.md) to force password changes on leaked credentials using SSPR |
+| There's no smart lockout mechanism to protect malicious authentication from bad actors coming from identified IP addresses | Deploy cloud-managed authentication with either password hash sync or [pass-through authentication](../hybrid/how-to-connect-pta-quick-start.md) (PTA) |
+
+#### Password policies recommended reading
+
+- [Azure AD and AD FS best practices: Defending against password spray attacks - Enterprise Mobility + Security](https://cloudblogs.microsoft.com/enterprisemobility/2018/03/05/azure-ad-and-adfs-best-practices-defending-against-password-spray-attacks/)
+
+### Enable self-service password reset and password protection
+
+Users needing to change or reset their passwords is one of the biggest sources of volume and cost of help desk calls. In addition to cost, changing the password as a tool to mitigate a user risk is a fundamental step in improving the security posture of your organization.
+
+At a minimum, it's recommended you deploy Azure AD [self-service password reset](../authentication/concept-sspr-howitworks.md) (SSPR) and on-premises [password protection](../authentication/howto-password-ban-bad-on-premises-deploy.md) to accomplish:
+
+- Deflect help desk calls.
+- Replace the use of temporary passwords.
+- Replace any existing self-service password management solution that relies on an on-premises solution.
+- [Eliminate weak passwords](../authentication/concept-password-ban-bad.md) in your organization.
+
+> [!NOTE]
+> For organizations with an Azure AD Premium P2 subscription, it is recommended to deploy SSPR and use it as part of an [Identity Protection User Risk Policy](../identity-protection/howto-identity-protection-configure-risk-policies.md).
+
+### Strong credential management
+
+Passwords by themselves aren't secure enough to prevent bad actors from gaining access to your environment. At a minimum, any user with a privileged account must be enabled for multi-factor authentication (MFA). Ideally, you should enable [combined registration](../authentication/concept-registration-mfa-sspr-combined.md) and require all users to register for MFA and SSPR using the [combined registration experience](https://support.microsoft.com/account-billing/set-up-your-security-info-from-a-sign-in-prompt-28180870-c256-4ebf-8bd7-5335571bf9a8). Eventually, we recommend you adopt a strategy to [provide resilience](../authentication/concept-resilient-controls.md) to reduce the risk of lockout due to unforeseen circumstances.
+
+![Combined user experience flow](./media/ops-guide-auth/ops-img4.png)
+
+### On-premises outage authentication resiliency
+
+In addition to the benefits of simplicity and enabling leaked credential detection, Azure AD Password Hash Sync (PHS) and Azure AD MFA allow users to access SaaS applications and Microsoft 365 in spite of on-premises outages due to cyberattacks such as [NotPetya](https://www.microsoft.com/security/blog/2018/02/05/overview-of-petya-a-rapid-cyberattack/). It's also possible to enable PHS while in conjunction with federation. Enabling PHS allows a fallback of authentication when federation services aren't available.
+
+If your on-premises organization is lacking an outage resiliency strategy or has one that isn't integrated with Azure AD, you should deploy Azure AD PHS and define a disaster recovery plan that includes PHS. Enabling Azure AD PHS will allow users to authenticate against Azure AD should your on-premises Active Directory be unavailable.
+
+![password hash sync flow](./media/ops-guide-auth/ops-img5.png)
+
+To better understand your authentication options, see [Choose the right authentication method for your Azure Active Directory hybrid identity solution](../hybrid/choose-ad-authn.md).
+
+### Programmatic usage of credentials
+
+Azure AD scripts using PowerShell or applications using the Microsoft Graph API require secure authentication. Poor credential management executing those scripts and tools increase the risk of credential theft. If you're using scripts or applications that rely on hard-coded passwords or password prompts you should first review passwords in config files or source code, then replace those dependencies and use Azure Managed Identities, Integrated-Windows Authentication, or [certificates](../reports-monitoring/tutorial-access-api-with-certificates.md) whenever possible. For applications where the previous solutions aren't possible, consider using [Azure Key Vault](https://azure.microsoft.com/services/key-vault/).
+
+If you determine that there are service principals with password credentials and you're unsure how those password credentials are secured by scripts or applications, contact the owner of the application to better understand usage patterns.
+
+Microsoft also recommends you contact application owners to understand usage patterns if there are service principals with password credentials.
+
+## Authentication experience
+
+### On-premises authentication
+
+Federated Authentication with integrated Windows authentication (IWA) or Seamless Single Sign-On (SSO) managed authentication with password hash sync or pass-through authentication is the best user experience when inside the corporate network with line-of-sight to on-premises domain controllers. It minimizes credential prompt fatigue and reduces the risk of users falling prey to phishing attacks. If you're already using cloud-managed authentication with PHS or PTA, but users still need to type in their password when authenticating on-premises, then you should immediately [deploy Seamless SSO](../hybrid/how-to-connect-sso.md). On the other hand, if you're currently federated with plans to eventually migrate to cloud-managed authentication, then you should implement Seamless SSO as part of the migration project.
+
+### Device trust access policies
+
+Like a user in your organization, a device is a core identity you want to protect. You can use a device's identity to protect your resources at any time and from any location. Authenticating the device and accounting for its trust type improves your security posture and usability by:
+
+- Avoiding friction, for example, with MFA, when the device is trusted
+- Blocking access from untrusted devices
+- For Windows 10 devices, provide [single sign-on to on-premises resources seamlessly](../devices/azuread-join-sso.md).
+
+You can carry out this goal by bringing device identities and managing them in Azure AD by using one of the following methods:
+
+- Organizations can use [Microsoft Intune](/intune/what-is-intune) to manage the device and enforce compliance policies, attest device health, and set conditional access policies based on whether the device is compliant. Microsoft Intune can manage iOS devices, Mac desktops (Via JAMF integration), Windows desktops (natively using Mobile Device Management for Windows 10, and co-management with Microsoft Configuration Manager) and Android mobile devices.
+- [Hybrid Azure AD join](../devices/hybrid-azuread-join-managed-domains.md) provides management with Group Policies or Microsoft Configuration Manager in an environment with Active Directory domain-joined computers devices. Organizations can deploy a managed environment either through PHS or PTA with Seamless SSO. Bringing your devices to Azure AD maximizes user productivity through SSO across your cloud and on-premises resources while enabling you to secure access to your cloud and on-premises resources with [Conditional Access](../conditional-access/overview.md) at the same time.
+
+If you have domain-joined Windows devices that aren't registered in the cloud, or domain-joined Windows devices that are registered in the cloud but without conditional access policies, then you should register the unregistered devices and, in either case, [use Hybrid Azure AD join as a control](../conditional-access/require-managed-devices.md) in your conditional access policies.
+
+![A screenshot of grant in conditional access policy requiring hybrid device](./media/ops-guide-auth/ops-img6.png)
+
+If you're managing devices with MDM or Microsoft Intune, but not using device controls in your conditional access policies, then we recommend using [Require device to be marked as compliant](../conditional-access/require-managed-devices.md#require-device-to-be-marked-as-compliant) as a control in those policies.
+
+![A screenshot of grant in conditional access policy requiring device compliance](./media/ops-guide-auth/ops-img7.png)
+
+#### Device trust access policies recommended reading
+
+- [How To: Plan your hybrid Azure Active Directory join implementation](../devices/hybrid-azuread-join-plan.md)
+- [Identity and device access configurations](/microsoft-365/enterprise/microsoft-365-policies-configurations)
+
+### Windows Hello for Business
+
+In Windows 10, [Windows Hello for Business](/windows/security/identity-protection/hello-for-business/hello-identity-verification) replaces passwords with strong two-factor authentication on PCs. Windows Hello for Business enables a more streamlined MFA experience for users and reduces your dependency on passwords. If you haven't begun rolling out Windows 10 devices, or have only partially deployed them, we recommend you upgrade to Windows 10 and [enable Windows Hello for Business](/windows/security/identity-protection/hello-for-business/hello-manage-in-organization) on all devices.
+
+If you would like to learn more about passwordless authentication, see [A world without passwords with Azure Active Directory](../authentication/concept-authentication-passwordless.md).
+
+## Application authentication and assignment
+
+### Single sign-on for apps
+
+Providing a standardized single sign-on mechanism to the entire enterprise is crucial for best user experience, reduction of risk, ability to report, and governance. If you're using applications that support SSO with Azure AD but are currently configured to use local accounts, you should reconfigure those applications to use SSO with Azure AD. Likewise, if you're using any applications that support SSO with Azure AD but are using another Identity Provider, you should reconfigure those applications to use SSO with Azure AD as well. For applications that don't support federation protocols but do support forms-based authentication, we recommend you configure the application to use [password vaulting](../app-proxy/application-proxy-configure-single-sign-on-password-vaulting.md) with Azure AD Application Proxy.
+
+![AppProxy Password-based Sign-on](./media/ops-guide-auth/ops-img8.png)
+
+> [!NOTE]
+> If you don't have a mechanism to discover unmanaged applications in your organization, we recommend implementing a discovery process using a cloud access security broker solution (CASB) such as [Microsoft Defender for Cloud Apps](https://www.microsoft.com/enterprise-mobility-security/cloud-app-security).
+
+Finally, if you have an Azure AD app gallery and use applications that support SSO with Azure AD, we recommend [listing the application in the app gallery](../manage-apps/v2-howto-app-gallery-listing.md).
+
+#### Single sign-on recommended reading
+
+- [What is application access and single sign-on with Azure Active Directory](../manage-apps/what-is-single-sign-on.md)
+
+### Migration of AD FS applications to Azure AD
+
+[Migrating apps from AD FS to Azure AD](../manage-apps/migrate-adfs-apps-to-azure.md) enables additional capabilities on security, more consistent manageability, and a better collaboration experience. If you have applications configured in AD FS that support SSO with Azure AD, then you should reconfigure those applications to use SSO with Azure AD. If you have applications configured in AD FS with uncommon configurations unsupported by Azure AD, you should contact the app owners to understand if the special configuration is an absolute requirement of the application. If it isn't required, then you should reconfigure the application to use SSO with Azure AD.
+
+![Azure AD as the primary identity provider](./media/ops-guide-auth/ops-img9.png)
+
+> [!NOTE]
+> [Azure AD Connect Health for ADFS](../hybrid/how-to-connect-health-adfs.md) can be used to collect configuration details about each application that can potentially be migrated to Azure AD.
+
+### Assign users to applications
+
+[Assigning users to applications](../manage-apps/assign-user-or-group-access-portal.md) is best mapped by using groups because they allow greater flexibility and ability to manage at scale. The benefits of using groups include [attribute-based dynamic group membership](../enterprise-users/groups-dynamic-membership.md) and [delegation to app owners](../fundamentals/active-directory-accessmanagement-managing-group-owners.md). Therefore, if you're already using and managing groups, we recommend you take the following actions to improve management at scale:
+
+- Delegate group management and governance to application owners.
+- Allow self-service access to the application.
+- Define dynamic groups if user attributes can consistently determine access to applications.
+- Implement attestation to groups used for application access using [Azure AD access reviews](../governance/access-reviews-overview.md).
+
+On the other hand, if you find applications that have assignment to individual users, be sure to implement [governance](../governance/index.yml) around those applications.
+
+#### Assign users to applications recommended reading
+
+- [Assign users and groups to an application in Azure Active Directory](../manage-apps/assign-user-or-group-access-portal.md)
+- [Delegate app registration permissions in Azure Active Directory](../roles/delegate-app-roles.md)
+- [Dynamic membership rules for groups in Azure Active Directory](../enterprise-users/groups-dynamic-membership.md)
+
+## Access policies
+
+### Named locations
+
+With [named locations](../conditional-access/location-condition.md) in Azure AD, you can label trusted IP address ranges in your organization. Azure AD uses named locations to:
+
+- Prevent false positives in risk events. Signing in from a trusted network location lowers a user's sign-in risk.
+- Configure [location-based Conditional Access](../conditional-access/location-condition.md).
+
+![Named location](./media/ops-guide-auth/ops-img10.png)
+
+Based on priority, use the table below to find the recommended solution that best meets your organization's needs:
+
+| **Priority** | **Scenario** | **Recommendation** |
+| | -- | -- |
+| 1 | If you use PHS or PTA and named locations haven't been defined | Define named locations to improve detection of risk events |
+| 2 | If you're federated and don't use "insideCorporateNetwork" claim and named locations haven't been defined | Define named locations to improve detection of risk events |
+| 3 | If you don't use named locations in conditional access policies and there's no risk or device controls in conditional access policies | Configure the conditional access policy to include named locations |
+| 4 | If you're federated and do use "insideCorporateNetwork" claim and named locations haven't been defined | Define named locations to improve detection of risk events |
+| 5 | If you're using trusted IP addresses with MFA rather than named locations and marking them as trusted | Define named locations and mark them as trusted to improve detection of risk events |
+
+### Risk-based access policies
+
+Azure AD can calculate the risk for every sign-in and every user. Using risk as a criterion in access policies can provide a better user experience, for example, fewer authentication prompts, and better security, for example, only prompt users when they're needed, and automate the response and remediation.
+
+![Sign-in risk policy](./media/ops-guide-auth/ops-img11.png)
+
+If you already own Azure AD Premium P2 licenses that support using risk in access policies, but they aren't being used, we highly recommend adding risk to your security posture.
+
+#### Risk-based access policies recommended reading
+
+- [How To: Configure the sign-in risk policy](../identity-protection/howto-identity-protection-configure-risk-policies.md)
+- [How To: Configure the user risk policy](../identity-protection/howto-identity-protection-configure-risk-policies.md)
+
+### Client application access policies
+
+Microsoft Intune Application Management (MAM) provides the ability to push data protection controls such as storage encryption, PIN, remote storage cleanup, etc. to compatible client mobile applications such as Outlook Mobile. In addition, conditional access policies can be created to [restrict access](../conditional-access/app-based-conditional-access.md) to cloud services such as Exchange Online from approved or compatible apps.
+
+If your employees install MAM-capable applications such as Office mobile apps to access corporate resources such as Exchange Online or SharePoint Online, and you also support BYOD (bring your own device), we recommend you deploy application MAM policies to manage the application configuration in personally owned devices without MDM enrollment and then update your conditional access policies to only allow access from MAM-capable clients.
+
+![Conditional Access Grant control](./media/ops-guide-auth/ops-img12.png)
+
+Should employees install MAM-capable applications against corporate resources and access is restricted on Intune Managed devices, then you should consider deploying application MAM policies to manage the application configuration for personal devices, and update Conditional Access policies to only allow access from MAM capable clients.
+
+### Conditional Access implementation
+
+Conditional Access is an essential tool for improving the security posture of your organization. Therefore, it is important you follow these best practices:
+
+- Ensure that all SaaS applications have at least one policy applied
+- Avoid combining the **All apps** filter with the **block** control to avoid lockout risk
+- Avoid using the **All users** as a filter and inadvertently adding **Guests**
+- **Migrate all "legacy" policies to the Azure portal**
+- Catch all criteria for users, devices, and applications
+- Use Conditional Access policies to [implement MFA](../conditional-access/plan-conditional-access.md), rather than using a **per-user MFA**
+- Have a small set of core policies that can apply to multiple applications
+- Define empty exception groups and add them to the policies to have an exception strategy
+- Plan for [break glass](../roles/security-planning.md#break-glass-what-to-do-in-an-emergency) accounts without MFA controls
+- Ensure a consistent experience across Microsoft 365 client applications, for example, Teams, OneDrive, Outlook, etc.) by implementing the same set of controls for services such as Exchange Online and SharePoint Online
+- Assignment to policies should be implemented through groups, not individuals
+- Do regular reviews of the exception groups used in policies to limit the time users are out of the security posture. If you own Azure AD Premium P2, then you can use access reviews to automate the process
+
+#### Conditional Access recommended reading
+
+- [Best practices for Conditional Access in Azure Active Directory](../conditional-access/overview.md)
+- [Identity and device access configurations](/microsoft-365/enterprise/microsoft-365-policies-configurations)
+- [Azure Active Directory Conditional Access settings reference](../conditional-access/concept-conditional-access-conditions.md)
+- [Common Conditional Access policies](../conditional-access/concept-conditional-access-policy-common.md)
+
+## Access surface area
+
+### Legacy authentication
+
+Strong credentials such as MFA cannot protect apps using legacy authentication protocols, which make it the preferred attack vector by malicious actors. Locking down legacy authentication is crucial to improve the access security posture.
+
+Legacy authentication is a term that refers to authentication protocols used by apps like:
+
+- Older Office clients that don't use modern authentication (for example, Office 2010 client)
+- Clients that use mail protocols such as IMAP/SMTP/POP
+
+Attackers strongly prefer these protocols - in fact, nearly [100% of password spray attacks](https://techcommunity.microsoft.com/t5/Azure-Active-Directory-Identity/Your-Pa-word-doesn-t-matter/ba-p/731984) use legacy authentication protocols! Hackers use legacy authentication protocols, because they don't support interactive sign-in, which is needed for additional security challenges like multi-factor authentication and device authentication.
+
+If legacy authentication is widely used in your environment, you should plan to migrate legacy clients to clients that support [modern authentication](/office365/enterprise/modern-auth-for-office-2013-and-2016) as soon as possible. In the same token, if you have some users already using modern authentication but others that still use legacy authentication, you should take the following steps to lock down legacy authentication clients:
+
+1. Use [Sign-In Activity reports](../reports-monitoring/concept-sign-ins.md) to identify users who are still using legacy authentication and plan remediation:
+
+ a. Upgrade to modern authentication capable clients to affected users.
+
+ b. Plan a cutover timeframe to lock down per steps below.
+
+ c. Identify what legacy applications have a hard dependency on legacy authentication. See step 3 below.
+
+2. Disable legacy protocols at the source (for example Exchange Mailbox) for users who aren't using legacy auth to avoid more exposure.
+3. For the remaining accounts (ideally non-human identities such as service accounts), use [conditional access to restrict legacy protocols](https://techcommunity.microsoft.com/t5/Azure-Active-Directory-Identity/Azure-AD-Conditional-Access-support-for-blocking-legacy-auth-is/ba-p/245417) post-authentication.
+
+#### Legacy authentication recommended reading
+
+- [Enable or disable POP3 or IMAP4 access to mailboxes in Exchange Server](/exchange/clients/pop3-and-imap4/configure-mailbox-access)
+
+### Consent grants
+
+In an illicit consent grant attack, the attacker creates an Azure AD-registered application that requests access to data such as contact information, email, or documents. Users might be granting consent to malicious applications via phishing attacks when landing on malicious websites.
+
+Below are a list of apps with permissions you might want to scrutinize for Microsoft cloud
+
+- Apps with app or delegated \*.ReadWrite Permissions
+- Apps with delegated permissions can read, send, or manage email on behalf of the user
+- Apps that are granted the using the following permissions:
+
+| Resource | Permission |
+| :- | :- |
+| Exchange Online | EAS.AccessAsUser.All |
+| | EWS.AccessAsUser.All |
+| | Mail.Read |
+| Microsoft Graph API | Mail.Read |
+| | Mail.Read.Shared |
+| | Mail.ReadWrite |
+
+- Apps granted full user impersonation of the signed-in user. For example:
+
+|Resource | Permission |
+| :- | :- |
+| Microsoft Graph API| Directory.AccessAsUser.All |
+| Azure REST API | user_impersonation |
+
+To avoid this scenario, you should refer to [detect and remediate illicit consent grants in Office 365](/office365/securitycompliance/detect-and-remediate-illicit-consent-grants) to identify and fix any applications with illicit grants or applications that have more grants than are necessary. Next, [remove self-service altogether](../manage-apps/configure-user-consent.md) and [establish governance procedures](../manage-apps/configure-admin-consent-workflow.md). Finally, schedule regular reviews of app permissions and remove them when they are not needed.
+
+#### Consent grants recommended reading
+
+- [Overview of Microsoft Graph permissions](/graph/permissions-overview)
+- [Microsoft Graph API permissions](/graph/permissions-reference)
+
+### User and group settings
+
+Below are the user and group settings that can be locked down if there isn't an explicit business need:
+
+#### User settings
+
+- **External Users** - external collaboration can happen organically in the enterprise with services like Teams, Power BI, SharePoint Online, and Azure Information Protection. If you have explicit constraints to control user-initiated external collaboration, it is recommended you enable external users by using [Azure AD Entitlement management](../governance/entitlement-management-overview.md) or a controlled operation such as through your help desk. If you don't want to allow organic external collaboration for services, you can [block members from inviting external users completely](../external-identities/external-collaboration-settings-configure.md). Alternatively, you can also [allow or block specific domains](../external-identities/allow-deny-list.md) in external user invitations.
+- **App Registrations** - when App registrations are enabled, end users can onboard applications themselves and grant access to their data. A typical example of App registration is users enabling Outlook plug-ins, or voice assistants such as Alexa and Siri to read their email and calendar or send emails on their behalf. If the customer decides to turn off App registration, the InfoSec and IAM teams must be involved in the management of exceptions (app registrations that are needed based on business requirements), as they would need to register the applications with an admin account, and most likely require designing a process to operationalize the process.
+- **Administration Portal** - organizations can lock down the Azure AD blade in the Azure portal so that non-administrators can't access Azure AD management in the Azure portal and get confused. Go to the user settings in the Azure AD management portal to restrict access:
+
+![Administration portal restricted access](./media/ops-guide-auth/ops-img13.png)
+
+> [!NOTE]
+> Non-administrators can still access to the Azure AD management interfaces via command-line and other programmatic interfaces.
+
+#### Group settings
+
+**Self-Service Group Management / Users can create Security groups / Microsoft 365 groups.** If there's no current self-service initiative for groups in the cloud, customers might decide to turn it off until they're ready to use this capability.
+
+#### Groups recommended reading
+
+- [What is Azure Active Directory B2B collaboration?](../external-identities/what-is-b2b.md)
+- [Integrating Applications with Azure Active Directory](../develop/quickstart-register-app.md)
+- [Apps, permissions, and consent in Azure Active Directory.](../develop/quickstart-register-app.md)
+- [Use groups to manage access to resources in Azure Active Directory](./active-directory-manage-groups.md)
+- [Setting up self-service application access management in Azure Active Directory](../enterprise-users/groups-self-service-management.md)
+
+### Traffic from unexpected locations
+
+Attackers originate from various parts of the world. Manage this risk by using conditional access policies with location as the condition. The [location condition](../conditional-access/location-condition.md) of a Conditional Access policy enables you to block access for locations from where there's no business reason to sign in from.
+
+![Create a new named location](./media/ops-guide-auth/ops-img14.png)
+
+If available, use a security information and event management (SIEM) solution to analyze and find patterns of access across regions. If you don't use a SIEM product, or it isn't ingesting authentication information from Azure AD, we recommend you use [Azure Monitor](../../azure-monitor/overview.md) to identify patterns of access across regions.
+
+## Access usage
+
+### Azure AD logs archived and integrated with incident response plans
+
+Having access to sign-in activity, audits and risk events for Azure AD is crucial for troubleshooting, usage analytics, and forensics investigations. Azure AD provides access to these sources through REST APIs that have a limited retention period. A security information and event management (SIEM) system, or equivalent archival technology, is key for long-term storage of audits and supportability. To enable long-term storage of Azure AD Logs, you must either add them to your existing SIEM solution or use [Azure Monitor](../reports-monitoring/concept-activity-logs-azure-monitor.md). Archive logs that can be used as part of your incident response plans and investigations.
+
+#### Logs recommended reading
+
+- [Azure Active Directory audit API reference](/graph/api/resources/directoryaudit)
+- [Azure Active Directory sign-in activity report API reference](/graph/api/resources/signin)
+- [Get data using the Azure AD Reporting API with certificates](../reports-monitoring/tutorial-access-api-with-certificates.md)
+- [Microsoft Graph for Azure Active Directory Identity Protection](../identity-protection/howto-identity-protection-graph-api.md)
+- [Office 365 Management Activity API reference](/office/office-365-management-api/office-365-management-activity-api-reference)
+- [How to use the Azure Active Directory Power BI Content Pack](../reports-monitoring/howto-use-azure-monitor-workbooks.md)
+
+## Summary
+
+There are 12 aspects to a secure Identity infrastructure. This list will help you further secure and manage credentials, define authentication experience, delegate assignment, measure usage, and define access policies based on enterprise security posture.
+
+- Assign owners to key tasks.
+- Implement solutions to detect weak or leaked passwords, improve password management and protection, and further secure user access to resources.
+- Manage the identity of devices to protect your resources at any time and from any location.
+- Implement passwordless authentication.
+- Provide a standardized single sign-on mechanism across the organization.
+- Migrate apps from AD FS to Azure AD to enable better security and more consistent manageability.
+- Assign users to applications by using groups to allow greater flexibility and ability to manage at scale.
+- Configure risk-based access policies.
+- Lock down legacy authentication protocols.
+- Detect and remediate illicit consent grants.
+- Lock down user and group settings.
+- Enable long-term storage of Azure AD logs for troubleshooting, usage analytics, and forensics investigations.
+
+## Next steps
+
+Get started with the [Identity governance operational checks and actions](ops-guide-govern.md).
active-directory Ops Guide Govern https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/ops-guide-govern.md
+
+ Title: Azure Active Directory governance operations reference guide
+description: This operations reference guide describes the checks and actions you should take to secure governance management
+++
+tags: azuread
++++ Last updated : 08/17/2022+++
+# Azure Active Directory governance operations reference guide
+
+This section of the [Azure AD operations reference guide](active-directory-ops-guide-intro.md) describes the checks and actions you should take to assess and attest the access granted nonprivileged and privileged identities, audit, and control changes to the environment.
+
+> [!NOTE]
+> These recommendations are current as of the date of publishing but can change over time. Organizations should continuously evaluate their governance practices as Microsoft products and services evolve over time.
+
+## Key operational processes
+
+### Assign owners to key tasks
+
+Managing Azure Active Directory requires the continuous execution of key operational tasks and processes, which may not be part of a rollout project. It's still important you set up these tasks to optimize your environment. The key tasks and their recommended owners include:
+
+| Task | Owner |
+| :- | :- |
+| Archive Azure AD audit logs in SIEM system | InfoSec Operations Team |
+| Discover applications that are managed out of compliance | IAM Operations Team |
+| Regularly review access to applications | InfoSec Architecture Team |
+| Regularly review access to external identities | InfoSec Architecture Team |
+| Regularly review who has privileged roles | InfoSec Architecture Team |
+| Define security gates to activate privileged roles | InfoSec Architecture Team |
+| Regularly review consent grants | InfoSec Architecture Team |
+| Design Catalogs and Access Packages for applications and resources based for employees in the organization | App Owners |
+| Define Security Policies to assign users to access packages | InfoSec team + App Owners |
+| If policies include approval workflows, regularly review workflow approvals | App Owners |
+| Review exceptions in security policies, such as conditional access policies, using access reviews | InfoSec Operations Team |
+
+As you review your list, you may find you need to either assign an owner for tasks that are missing an owner or adjust ownership for tasks with owners that aren't aligned with the recommendations above.
+
+#### Owner recommended reading
+
+- [Assigning administrator roles in Azure Active Directory](../roles/permissions-reference.md)
+
+### Configuration changes testing
+
+There are changes that require special considerations when testing, from simple techniques such as rolling out a target subset of users to deploying a change in a parallel test tenant. If you haven't implemented a testing strategy, you should define a test approach based on the guidelines in the table below:
+
+| Scenario| Recommendation |
+|-|-|
+|Changing the authentication type from federated to PHS/PTA or vice-versa| Use [staged rollout](../hybrid/how-to-connect-staged-rollout.md) to test the impact of changing the authentication type.|
+|Rolling out a new conditional access (CA) policy or Identity Protection Policy|Create a new Conditional Access policy and assign to test users.|
+|Onboarding a test environment of an application|Add the application to a production environment, hide it from the MyApps panel, and assign it to test users during the quality assurance (QA) phase.|
+|Changing of sync rules|Perform the changes in a test Azure AD Connect with the same configuration that is currently in production, also known as staging mode, and analyze CSExport Results. If satisfied, swap to production when ready.|
+|Changing of branding|Test in a separate test tenant.|
+|Rolling out a new feature|If the feature supports roll out to a target set of users, identify pilot users and build out. For example, self-service password reset and multi-factor authentication can target specific users or groups.|
+|Cutover an application from an on-premises Identity provider (IdP), for example, Active Directory, to Azure AD|If the application supports multiple IdP configurations, for example, Salesforce, configure both and test Azure AD during a change window (in case the application introduces HRD page). If the application doesn't support multiple IdPs, schedule the testing during a change control window and program downtime.|
+|Update dynamic group rules|Create a parallel dynamic group with the new rule. Compare against the calculated outcome, for example, run PowerShell with the same condition.<br>If test pass, swap the places where the old group was used (if feasible).|
+|Migrate product licenses|Refer to [Change the license for a single user in a licensed group in Azure Active Directory](../enterprise-users/licensing-groups-change-licenses.md).|
+|Change AD FS rules such as Authorization, Issuance, MFA|Use group claim to target subset of users.|
+|Change AD FS authentication experience or similar farm-wide changes|Create a parallel farm with same host name, implement config changes, test from clients using HOSTS file, NLB routing rules, or similar routing.<br>If the target platform doesn't support HOSTS files (for example mobile devices), control change.|
+
+## Access reviews
+
+### Access reviews to applications
+
+Over time, users may accumulate access to resources as they move throughout different teams and positions. It's important that resource owners review the access to applications on a regular basis and remove privileges that are no longer needed throughout the lifecycle of users. Azure AD [access reviews](../governance/access-reviews-overview.md) enable organizations to efficiently manage group memberships, access to enterprise applications, and role assignments. Resource owners should review users' access on a regular basis to make sure only the right people have continued access. Ideally, you should consider using Azure AD access reviews for this task.
+
+![Access reviews start page](./media/ops-guide-auth/ops-img15.png)
+
+> [!NOTE]
+> Each user who interacts with access reviews must have a paid Azure AD Premium P2 license.
+
+### Access reviews to external identities
+
+It's crucial to keep access to external identities constrained only to resources that are needed, during the time that is needed. Establish a regular automated access review process for all external identities and application access using Azure AD [access reviews](../governance/access-reviews-overview.md). If a process already exists on-premises, consider using Azure AD access reviews. Once an application is retired or no longer used, remove all the external identities that had access to the application.
+
+> [!NOTE]
+> Each user who interacts with access reviews must have a paid Azure AD Premium P2 license.
+
+## Privileged account management
+
+### Privileged account usage
+
+Hackers often target admin accounts and other elements of privileged access to rapidly gain access to sensitive data and systems. Since users with privileged roles tend to accumulate over time, it's important to review and manage admin access on a regular basis and provide just-in-time privileged access to Azure AD and Azure resources.
+
+If no process exists in your organization to manage privileged accounts, or you currently have admins who use their regular user accounts to manage services and resources, you should immediately begin using separate accounts, for example one for regular day-to-day activities; the other for privileged access and configured with MFA. Better yet, if your organization has an Azure AD Premium P2 subscription, then you should immediately deploy [Azure AD Privileged Identity Management](../privileged-identity-management/pim-configure.md#license-requirements) (PIM). In the same token, you should also review those privileged accounts and [assign less privileged roles](../roles/security-planning.md) if applicable.
+
+Another aspect of privileged account management that should be implemented is in defining [access reviews](../governance/access-reviews-overview.md) for those accounts, either manually or [automated through PIM](../privileged-identity-management/pim-perform-azure-ad-roles-and-resource-roles-review.md).
+
+#### Privileged account management recommended reading
+
+- [Roles in Azure AD Privileged Identity Management](../privileged-identity-management/pim-roles.md)
+
+### Emergency access accounts
+
+Organizations must create [emergency accounts](../roles/security-emergency-access.md) to be prepared to manage Azure AD for cases such as authentication outages like:
+
+- Outage components of authentication infrastructures (AD FS, On-premises AD, MFA service)
+- Administrative staff turnover
+
+To prevent being inadvertently locked out of your tenant because you can't sign in or activate an existing individual user's account as an administrator, you should create two or more emergency accounts and ensure they're implemented and aligned with [Microsoft's best practices](../roles/security-planning.md) and [break glass procedures](../roles/security-planning.md#break-glass-what-to-do-in-an-emergency).
+
+### Privileged access to Azure EA portal
+
+The [Azure Enterprise Agreement (Azure EA) portal](https://azure.microsoft.com/blog/create-enterprise-subscription-experience-in-azure-portal-public-preview/) enables you to create Azure subscriptions against a master Enterprise Agreement, which is a powerful role within the enterprise. It's common to bootstrap the creation of this portal before even getting Azure AD in place, so it's necessary to use Azure AD identities to lock it down, remove personal accounts from the portal, ensure that proper delegation is in place, and mitigate the risk of lockout.
+
+To be clear, if the EA portal authorization level is currently set to "mixed mode", you must remove any [Microsoft accounts](https://support.skype.com/en/faq/FA12059/what-is-a-microsoft-account) from all privileged access in the EA portal and configure the EA portal to use Azure AD accounts only. If the EA portal delegated roles aren't configured, you should also find and implement delegated roles for departments and accounts.
+
+#### Privileged access recommended reading
+
+- [Administrator role permissions in Azure Active Directory](../roles/permissions-reference.md)
+
+## Entitlement management
+
+[Entitlement management (EM)](../governance/entitlement-management-overview.md) allows app owners to bundle resources and assign them to specific personas in the organization (both internal and external). EM allows self-service sign up and delegation to business owners while keeping governance policies to grant access, set access durations, and allow approval workflows.
+
+> [!NOTE]
+> Azure AD Entitlement Management requires Azure AD Premium P2 licenses.
+
+## Summary
+
+There are eight aspects to a secure Identity governance. This list will help you identify the actions you should take to assess and attest the access granted to nonprivileged and privileged identities, audit, and control changes to the environment.
+
+- Assign owners to key tasks.
+- Implement a testing strategy.
+- Use Azure AD Access Reviews to efficiently manage group memberships, access to enterprise applications, and role assignments.
+- Establish a regular, automated access review process for all types of external identities and application access.
+- Establish an access review process to review and manage admin access on a regular basis and provide just-in-time privileged access to Azure AD and Azure resources.
+- Provision emergency accounts to be prepared to manage Azure AD for unexpected outages.
+- Lock down access to the Azure EA portal.
+- Implement Entitlement Management to provide governed access to a collection of resources.
+
+## Next steps
+
+Get started with the [Azure AD operational checks and actions](active-directory-ops-guide-ops.md).
active-directory Protect M365 From On Premises Attacks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/protect-m365-from-on-premises-attacks.md
Define a log storage and retention strategy, design, and implementation to facil
- [Build resilience into identity and access management by using Azure AD](resilience-overview.md) - [Secure external access to resources](secure-external-access-resources.md) -- [Integrate all your apps with Azure AD](five-steps-to-full-application-integration-with-azure-ad.md)
+- [Integrate all your apps with Azure AD](five-steps-to-full-application-integration.md)
active-directory Secure Service Accounts https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/secure-service-accounts.md
+
+ Title: Introduction to securing Azure Active Directory service accounts
+description: Explanation of the types of service accounts available in Azure Active Directory.
+++++++ Last updated : 08/26/2022+++++
+# Securing cloud-based service accounts
+
+There are three types of service accounts native to Azure Active Directory: Managed identities, service principals, and user-based service accounts. Service accounts are a special type of account that is intended to represent a non-human entity such as an application, API, or other service. These entities operate within the security context provided by the service account.
+
+## Types of Azure Active Directory service accounts
+
+For services hosted in Azure, we recommend using a managed identity if possible, and a service principal if not. Managed identities can't be used for services hosted outside of Azure. In that case, we recommend a service principal. If you can use a managed identity or a service principal, do so. We recommend that you not use an Azure Active Directory user account as a service account. See the following table for a summary.
+
+| Service hosting| Managed identity| Service principal| Azure user account |
+| - | - | - | - |
+|Service is hosted in Azure.| Yes. <br>Recommended if the service <br>supports a Managed Identity.| Yes.| Not recommended. |
+| Service is not hosted in Azure.| No| Yes. Recommended.| Not recommended. |
+| Service is multi-tenant| No| Yes. Recommended.| No. |
+
+## Managed identities
+
+Managed identities are secure Azure Active Directory (Azure AD) identities created to provide identities for Azure resources. There are [two types of managed identities](../managed-identities-azure-resources/overview.md#managed-identity-types):
+
+* System-assigned managed identities can be assigned directly to an instance of a service.
+
+* User-assigned managed identities can be created as a standalone resource.
+
+For more information, see [Securing managed identities](service-accounts-managed-identities.md). For general information about managed identities, see [What are managed identities for Azure resources?](../managed-identities-azure-resources/overview.md)
+
+## Service principals
+
+If you can't use a managed identity to represent your application, use a service principal. Service principals can be used with both single tenant and multi-tenant applications.
+
+A service principal is the local representation of an application object in a single Azure AD tenant. It functions as the identity of the application instance, defines who can access the application, and what resources the application can access. A service principal is created in (local to) each tenant where the application is used and references the globally unique application object. The tenant secures the service principal's sign-in and access to resources.
+
+There are two mechanisms for authentication using service principalsΓÇöclient certificates and client secrets. Certificates are more secure: use client certificates if possible. Unlike client secrets, client certificates cannot accidentally be embedded in code.
+
+For information on securing service principals, see [Securing service principals](service-accounts-principal.md).
+
+## Next steps
+
+For more information on securing Azure service accounts, see:
+
+[Securing managed identities](service-accounts-managed-identities.md)
+
+[Securing service principals](service-accounts-principal.md)
+
+[Governing Azure service accounts](govern-service-accounts.md)
active-directory Secure With Azure Ad Best Practices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/secure-with-azure-ad-best-practices.md
Check this example to [create service principals with self-signed certificate](.
### Access policies
-Below are some specific recommendations for Azure solutions. For general guidance on Conditional Access policies for individual environments, check the [CA Best practices](../conditional-access/overview.md), [Azure AD Operations Guide](../fundamentals/active-directory-ops-guide-auth.md), and [Conditional Access for Zero Trust](/azure/architecture/guide/security/conditional-access-zero-trust):
+Below are some specific recommendations for Azure solutions. For general guidance on Conditional Access policies for individual environments, check the [CA Best practices](../conditional-access/overview.md), [Azure AD Operations Guide](../fundamentals/ops-guide-auth.md), and [Conditional Access for Zero Trust](/azure/architecture/guide/security/conditional-access-zero-trust):
* Define [Conditional Access policies](../conditional-access/workload-identity.md) for the [Microsoft Azure Management](../authentication/howto-password-smart-lockout.md) cloud app to enforce identity security posture when accessing Azure Resource Manager. This should include controls on MFA and device-based controls to enable access only through secure workstations (more on this in the Privileged Roles section under Identity Governance). Additionally, use [Conditional Access to filter for devices](../conditional-access/concept-condition-filters-for-devices.md).
active-directory Service Accounts Computer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-computer.md
A computer account, or LocalSystem account, is highly privileged with access to almost all resources on the local computer. The account isn't associated with signed-on user accounts. Services run as LocalSystem access network resources by presenting the computer credentials to remote servers in the format `<domain_name>\\<computer_name>$`. The computer account predefined name is `NT AUTHORITY\SYSTEM`. You can start a service and provide security context for that service.
- ![Screenshot of a list of local services on a computer account.](./media/securing-service-accounts/secure-computer-accounts-image-1.png)
+ ![Screenshot of a list of local services on a computer account.](./media/govern-service-accounts/secure-computer-accounts-image-1.png)
## Benefits of using a computer account
active-directory Service Accounts Group Managed https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-group-managed.md
Uninstall-ADServiceAccount
To work effectively, gMSAs must be in the Managed Service Accounts container.
-![Screenshot of a gMSA in the Managed Service Accounts container.](./media/securing-service-accounts/secure-gmsa-image-1.png)
+![Screenshot of a gMSA in the Managed Service Accounts container.](./media/govern-service-accounts/secure-gmsa-image-1.png)
To find service MSAs not in the list, run the following commands:
active-directory Service Accounts Managed Identities https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-managed-identities.md
To find managed identities, you can use:
2. In the left navigation, select **Enterprise applications**. 3. In the **Application type** column, under **Value**, select the down-arrow to select **Managed Identities**.
- ![Screenshot of the Managed Identies option under Values, in the Application type column.](./media/securing-service-accounts/service-accounts-managed-identities.png)
+ ![Screenshot of the Managed Identies option under Values, in the Application type column.](./media/govern-service-accounts/service-accounts-managed-identities.png)
### Microsoft Graph
If you're using a service principal or an Azure AD user account, evaluate the u
**Service accounts**
-* [Securing cloud-based service accounts](service-accounts-introduction-azure.md)
+* [Securing cloud-based service accounts](secure-service-accounts.md)
* [Securing service principals](service-accounts-principal.md)
-* [Governing Azure AD service accounts](service-accounts-governing-azure.md)
+* [Governing Azure AD service accounts](govern-service-accounts.md)
* [Securing on-premises service accounts](service-accounts-on-premises.md)
active-directory Service Accounts Principal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-principal.md
You can create an application and its service principal object (ObjectID) in a t
* The Azure portal * Other tools
-![Screenshot of Application or Client ID and Object ID on the New App page.](./media/securing-service-accounts/secure-principal-image-1.png)
+![Screenshot of Application or Client ID and Object ID on the New App page.](./media/govern-service-accounts/secure-principal-image-1.png)
## Service principal authentication There are two mechanisms for authentication, when using service principalsΓÇöclient certificates and client secrets.
-![Screenshot of Certificates and Client secrets under New App, Certificates and secrets.](./media/securing-service-accounts/secure-principal-certificates.png)
+![Screenshot of Certificates and Client secrets under New App, Certificates and secrets.](./media/govern-service-accounts/secure-principal-certificates.png)
Because certificates are more secure, it's recommended you use them, when possible. Unlike client secrets, client certificates can't be embedded in code, accidentally. When possible, use Azure Key Vault for certificate and secrets management to encrypt assets with keys protected by hardware security modules:
Learn more about service principals:
Secure service accounts:
-* [Securing cloud-based service accounts](service-accounts-introduction-azure.md)
+* [Securing cloud-based service accounts](secure-service-accounts.md)
* [Securing managed identities in Azure AD](service-accounts-managed-identities.md)
-* [Governing Azure AD service accounts](service-accounts-governing-azure.md)
+* [Governing Azure AD service accounts](govern-service-accounts.md)
* [Securing on-premises service accounts](service-accounts-on-premises.md) Conditional Access:
active-directory Service Accounts Standalone Managed https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/service-accounts-standalone-managed.md
Standalone managed service accounts (sMSAs) are managed domain accounts that hel
In Active Directory (AD), sMSAs are tied to a server that runs a service. You can find accounts in the Active Directory Users and Computers snap-in in Microsoft Management Console.
- ![Screenshot of a service name and type under Active Directory Users and Computers.](./media/securing-service-accounts/secure-standalone-msa-image-1.png)
+ ![Screenshot of a service name and type under Active Directory Users and Computers.](./media/govern-service-accounts/secure-standalone-msa-image-1.png)
> [!NOTE] > Managed service accounts were introduced in Windows Server 2008 R2 Active Directory Schema, and they require Windows Server 2008 R2, or a later version.
active-directory What Is Deprecated https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/what-is-deprecated.md
+
+ Title: What's deprecated in Azure Active Directory?
+description: Learn about features being deprecated in Azure Active Directory
++++++ Last updated : 01/27/2023++++++
+# What's deprecated in Azure Active Directory?
+
+The lifecycle of functionality, features, and services are governed by policy, support timelines, data, also leadership and engineering team decisions. Lifecycle information allows customers to predictably plan long-term deployment aspects, transition from outdated to new technology, and help improve business outcomes. Use the definitions below to understand the following table with change information about Azure Active Directory (Azure AD) features, services, and functionality.
+
+Get notified about when to revisit this page for updates by copying and pasting this URL: `https://learn.microsoft.com/api/search/rss?search=%22What's+deprecated+in+Azure+Active+Directory%22&locale=en-us` into your ![RSS feed reader icon](./media/whats-new/feed-icon-16x16.png) feed reader.
+
+## Upcoming changes
+
+Use the following table to learn about changes including deprecations, retirements, breaking changes and rebranding. Also find key dates and recommendations.
+
+ > [!NOTE]
+ > Dates and times are United States Pacific Standard Time, and are subject to change.
+
+|Functionality, feature, or service|Change|Change date |
+|||:|
+|[My Groups experience](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|May 2023|
+|[My Apps browser extension](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|May 2023|
+|[Microsoft Authenticator Lite for Outlook mobile](../../active-directory/authentication/how-to-mfa-authenticator-lite.md)|Feature change|Jun 9, 2023|
+|[System-preferred authentication methods](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|Sometime after GA|
+|[Azure AD Authentication Library (ADAL)](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Retirement|Jun 30, 2023|
+|[Azure AD Graph API](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Deprecation|Jun 30, 2023|
+|[Azure AD PowerShell and MSOnline PowerShell](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Deprecation|Jun 30, 2023|
+|[My Apps improvements](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|Jun 30, 2023|
+|[Terms of Use experience](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Feature change|Jul 2023|
+|[Azure AD MFA Server](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Retirement|Sep 30, 2024|
+|[Legacy MFA & SSPR policy](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-march-2023-train/ba-p/2967448)|Retirement|Sep 30, 2024|
+|['Require approved client app' Conditional Access Grant](https://aka.ms/RetireApprovedClientApp)|Retirement|Mar 31, 2026|
++
+## Past changes
+
+|Functionality, feature, or service|Change|Change date |
+|||:|
+|Microsoft Authenticator app [Number matching](../authentication/how-to-mfa-number-match.md)|Feature change|May 8, 2023|
+|[Azure AD Domain Services virtual network deployments](../../active-directory-domain-services/overview.md)|Retirement|Mar 1, 2023|
+|[License management API, PowerShell](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/migrate-your-apps-to-access-the-license-managements-apis-from/ba-p/2464366)|Retirement|*Mar 31, 2023|
+
+\* The legacy license management API and PowerShell cmdlets won't work for **new tenants** created after Nov 1, 2022.
++
+ > [!IMPORTANT]
+ > Later versions of functionality, features, and services might not meet current security requirements. Microsoft may be unable to provide security updates for older products.
+
+See the following two sections for definitions of categories, change state, etc.
+
+## Deprecation, retirement, breaking change, feature change, and rebranding
+
+Use the definitions in this section help clarify the state, availability, and support of features, services, and functionality.
+
+|Category|Definition|Communication schedule|
+||||
+|Retirement|Signals retirement of a feature, capability, or product in a specified period. Customers can't adopt the service or feature, and engineering investments are reduced. Later, the feature reaches end-of-life and is unavailable to any customer.|Two times per year: March and September|
+|Breaking change|A change that might break the customer or partner experience if action isn't taken, or a change made, for continued operation.|Four times per year: March, June, September, and December|
+|Feature change|Change to an existing Identity feature that requires no customer action, but is noticeable to them. Typically, these changes are in the user interface/user experperience (UI/UX).|Four times per year: March, June, September, and December|
+
+### Terminology
+
+* **End-of-life** - engineering investments have ended, and the feature is unavailable to any customer
+
+## Next steps
+[What's new in Azure Active Directory?](../../active-directory/fundamentals/whats-new.md)
+
+## Resources
+* [Microsoft Entra Change Announcement blog](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/microsoft-entra-change-announcements-november-2022-train/ba-p/2967452)
+* Devices: [End-of-life management and recycling](https://www.microsoft.com/legal/compliance/recycling)
active-directory Whats New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/whats-new.md
The ability for users to create tenants from the Manage Tenant overview has been
-### Public Preview - Devices Self-Help Capability for Pending Devices
+### General Availability - Devices Self-Help Capability for Pending Devices
active-directory Identity Governance Automation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/governance/identity-governance-automation.md
Last updated 9/20/2022
---+ # Automate Microsoft Entra Identity Governance tasks via Azure Automation and Microsoft Graph
active-directory Understanding Lifecycle Workflows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/governance/understanding-lifecycle-workflows.md
The time-based attribute can be either one of two values, which are automaticall
The values employeeHireDate and employeeLeaveDateTime must be set within Azure AD for users. For more information on this process, see [How to synchronize attributes for Lifecycle workflows](how-to-lifecycle-workflow-sync-attributes.md)
-The offset determines how many days before or after the time-based attribute the workflow should be triggered. For example, if the attribute is employeeHireDate and offsetInDays is 7, then the workflow should trigger one week(7 days) before the employee hire date. The offsetInDays value can be as far ahead, or behind, as 60.
+The offset determines how many days before or after the time-based attribute the workflow should be triggered. For example, if the attribute is employeeHireDate and offsetInDays is 7, then the workflow should trigger one week(7 days) before the employee hire date. The offsetInDays value can be as far ahead, or behind, as 180.
+> [!NOTE]
+> The offsetInDays value in the Azure portal is shown as *Days from event*. When you schedule a workflow to run, this value is used as the baseline for who a workflow will run. Currently there is a 3 day window in processing scheduled workflows. For example, if you schedule a workflow to run for users who joined 7 days ago, a user who meets the execution conditions for the workflow, but joined between 7 to 10 days ago would have the workflow ran for them.
+ ## Configure scope [![Screenshot showing the rule section.](media/understanding-lifecycle-workflows/workflow-5.png)](media/understanding-lifecycle-workflows/workflow-5.png#lightbox)
active-directory F5 Aad Password Less Vpn https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/f5-aad-password-less-vpn.md
To learn about more benefits, see
* [What is single sign-on in Azure Active Directory?](/azure/active-directory/active-directory-appssoaccess-whatis) >[!NOTE]
->Classic VPNs remain network orientated, often providing little to no fine-grained access to corporate applications. We encourage a more identity-centric approach to achieve Zero Trust. Learn more: [Five steps for integrating all your apps with Azure AD](../fundamentals/five-steps-to-full-application-integration-with-azure-ad.md).
+>Classic VPNs remain network orientated, often providing little to no fine-grained access to corporate applications. We encourage a more identity-centric approach to achieve Zero Trust. Learn more: [Five steps for integrating all your apps with Azure AD](../fundamentals/five-steps-to-full-application-integration.md).
## Scenario description
Your SSL-VPN service is published and accessible via SHA, either with its URL or
## Resources - [The end of passwords, go passwordless](https://www.microsoft.com/security/business/identity/passwordless)-- [Five steps to full application integration with Azure AD](../fundamentals/five-steps-to-full-application-integration-with-azure-ad.md)
+- [Five steps to full application integration with Azure AD](../fundamentals/five-steps-to-full-application-integration.md)
- [Microsoft Zero Trust framework to enable remote work](https://www.microsoft.com/security/blog/2020/04/02/announcing-microsoft-zero-trust-assessment-tool/)
active-directory V2 Howto App Gallery Listing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/v2-howto-app-gallery-listing.md
You can track application requests by customer name at the Microsoft Application
### Timelines
-Listing an SAML 2.0 or WS-Fed application in the gallery takes 7 to 10 business days.
+Listing an **SAML 2.0 or WS-Fed application** in the gallery takes 7 to 10 business days.
:::image type="content" source="./media/howto-app-gallery-listing/timeline.png" alt-text="Screenshot that shows the timeline for listing a SAML application.":::
-Listing an OpenID Connect application in the gallery takes 2 to 5 business days.
+Listing an **OpenID Connect application** in the gallery takes 2 to 5 business days.
:::image type="content" source="./media/howto-app-gallery-listing/timeline2.png" alt-text="Screenshot that shows the timeline for listing an OpenID Connect application.":::
-Listing an SCIM provisioning application in the gallery varies, depending on numerous factors.
+Listing an **SCIM provisioning application** in the gallery varies, depending on numerous factors.
Not all applications are onboarded. Per the terms and conditions, a decision can be made not to list an application. Onboarding applications is at the sole discretion of the onboarding team.
active-directory How To Assign App Role Managed Identity Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/managed-identities-azure-resources/how-to-assign-app-role-managed-identity-powershell.md
Last updated 05/12/2022 -+ # Assign a managed identity access to an application role using PowerShell
active-directory How To Use Vm Token https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/managed-identities-azure-resources/how-to-use-vm-token.md
na+ Last updated 05/15/2023
active-directory How To View Managed Identity Service Principal Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/managed-identities-azure-resources/how-to-view-managed-identity-service-principal-powershell.md
Last updated 02/15/2022 -+ # View the service principal of a managed identity using PowerShell
active-directory Cross Tenant Synchronization Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/multi-tenant-organizations/cross-tenant-synchronization-overview.md
Previously updated : 05/14/2023 Last updated : 05/31/2023
If a user is removed from the scope of sync in a source tenant, will cross-tenan
- Yes. If a user is removed from the scope of sync in a source tenant, cross-tenant synchronization will soft delete them in the target tenant.
-If the sync relationship is severed, are external users previously managed by cross-tenant synchronization deleted in the target tenant?
--- No. No changes are made to the external users previously managed by cross-tenant synchronization if the relationship is severed (for example, if the cross-tenant synchronization policy is deleted).- #### Object types What object types can be synchronized?
Does cross-tenant synchronization use System for Cross-Domain Identity Managemen
- No. Currently, Azure AD supports a SCIM client, but not a SCIM server. For more information, see [SCIM synchronization with Azure Active Directory](../fundamentals/sync-scim.md).
+#### Deprovisioning
+Does cross-tenant synchronization support deprovisioning users?
+
+- Yes, when the below actions occur in the source tenant, the user will be [soft deleted](../fundamentals/recover-from-deletions.md#soft-deletions) in the target tenant.
+
+ - Delete the user in the source tenant
+ - Unassign the user from the cross-tenant synchronization configuration
+ - Remove the user from a group that is assigned to the cross-tenant synchronization configuration
+ - An attribute on the user changes such that they do not meet the scoping filter conditions defined on the cross-tenant synchronization configuration anymore
+
+- Currently only regular users, Helpdesk Admins and User Account Admins can be deleted. Users with other Azure AD roles such as directory reader currently cannot be deleted by cross-tenant synchronization. This is subject to change in the future.
+
+- If the user is blocked from sign-in in the source tenant (accountEnabled = false) they will be blocked from sign-in in the target. This is not a deletion, but an updated to the accountEnabled property.
+
+Does cross-tenant synchronization support restoring users?
+
+- If the user in the source tenant is restored, reassigned to the app, meets the scoping condition again within 30 days of soft deletion, it will be restored in the target tenant.
+- IT admins can also manually [restore](/azure/active-directory/fundamentals/active-directory-users-restore
+../fundamentals/active-directory-users-restore.md) the user directly in the target tenant.
+
+How can I deprovision all the users that are currently in scope of cross-tenant synchronization?
+
+- Unassign all users and / or groups from the cross-tenant synchronization configuration. This will trigger all the users that were unassigned, either directly or through group membership, to be deprovisioned in subsequent sync cycles. Please note that the target tenant will need to keep the inbound policy for sync enabled until deprovisioning is complete. If the scope is set to **Sync all users and groups**, you will also need to change it to **Sync only assigned users and groups**. The users will be automatically soft deleted by cross-tenant synchronization. The users will be automatically hard deleted after 30 days or you can choose to hard delete the users directly from the target tenant. You can choose to hard delete the users directly in the target tenant or wait 30 days for the users to be automatically hard deleted.
+
+If the sync relationship is severed, are external users previously managed by cross-tenant synchronization deleted in the target tenant?
+
+- No. No changes are made to the external users previously managed by cross-tenant synchronization if the relationship is severed (for example, if the cross-tenant synchronization policy is deleted).
+ ## Next steps
active-directory Howto Use Azure Monitor Workbooks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/reports-monitoring/howto-use-azure-monitor-workbooks.md
Previously updated : 12/15/2022 Last updated : 06/01/2023
To use Azure Workbooks for Azure AD, you need:
1. Create a [Log Analytics workspace](../../azure-monitor/logs/quick-create-workspace.md) - Access to the Log Analytics workspace is determined by the workspace settings, access to the resources sending the data to the workspace, and the method used to access the workspace.
- - To ensure you have the right access, review the [Manage access to Log Analytics workspaces](../../azure-monitor/logs/manage-access.md?tabs=tabs=portal#azure-rbac) article.
+ - To ensure you have the right access, review the Azure workspace permissions in the [Manage access to Log Analytics workspaces](../../azure-monitor/logs/manage-access.md?tabs=tabs=portal#azure-rbac) article.
2. Ensure that you have one of the following roles in Azure AD (if you're accessing the workspace through the Azure portal): - Security Administrator
To use Azure Workbooks for Azure AD, you need:
1. Sign in to the [Azure portal](https://portal.azure.com). 1. Navigate to **Azure Active Directory** > **Monitoring** > **Workbooks**. - **Workbooks**: All workbooks created in your tenant
- - **Public Templates**: Pre-built workbooks for common or high priority scenarios
+ - **Public Templates**: Prebuilt workbooks for common or high priority scenarios
- **My Templates**: Templates you've created 1. Select a report or template from the list. Workbooks may take a few moments to populate. - Search for a template by name.
active-directory Reference Powershell Reporting https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/reports-monitoring/reference-powershell-reporting.md
-+ # Azure AD PowerShell cmdlets for reporting
active-directory Administrative Units https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/administrative-units.md
In order for the [User Administrator](permissions-reference.md#user-administrato
## License requirements
-Using administrative units requires an Azure AD Premium P1 license for each administrative unit administrator, and an Azure AD Free license for each administrative unit member. If you are using dynamic membership rules for administrative units, each administrative unit member requires an Azure AD Premium P1 license. To find the right license for your requirements, see [Comparing generally available features of the Free and Premium editions](https://www.microsoft.com/security/business/identity-access-management/azure-ad-pricing).
+Using administrative units requires an Azure AD Premium P1 license for each administrative unit administrator who is assigned directory roles over the scope of the administrative unit, and an Azure AD Free license for each administrative unit member. Creating administrative units is available with an Azure AD Free license. If you are using dynamic membership rules for administrative units, each administrative unit member requires an Azure AD Premium P1 license. To find the right license for your requirements, see [Comparing generally available features of the Free and Premium editions](https://www.microsoft.com/security/business/identity-access-management/azure-ad-pricing).
## Manage administrative units
active-directory Delegate By Task https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/delegate-by-task.md
You can further restrict permissions by assigning roles at smaller scopes or by
> | Task | Least privileged role | Additional roles | > | - | | - | > | Delete all existing app passwords generated by the selected users | [Global Administrator](permissions-reference.md#global-administrator) | |
-> | [Disable per-user MFA](../authentication/howto-mfa-userstates.md) | [Authentication Administrator](permissions-reference.md#authentication-administrator) (via PowerShell) | [Privileged Authentication Administrator](permissions-reference.md#privileged-authentication-administrator) (via PowerShell) |
-> | [Enable per-user MFA](../authentication/howto-mfa-userstates.md) | [Authentication Administrator](permissions-reference.md#authentication-administrator) (via PowerShell) | [Privileged Authentication Administrator](permissions-reference.md#privileged-authentication-administrator) (via PowerShell) |
+> | [Disable per-user MFA](../authentication/howto-mfa-userstates.md) | [Authentication Administrator](permissions-reference.md#authentication-administrator) | [Privileged Authentication Administrator](permissions-reference.md#privileged-authentication-administrator) |
+> | [Enable per-user MFA](../authentication/howto-mfa-userstates.md) | [Authentication Administrator](permissions-reference.md#authentication-administrator) | [Privileged Authentication Administrator](permissions-reference.md#privileged-authentication-administrator) |
> | Manage MFA service settings | [Authentication Policy Administrator](permissions-reference.md#authentication-policy-administrator) | | > | Require selected users to provide contact methods again | [Authentication Administrator](permissions-reference.md#authentication-administrator) | | > | Restore multi-factor authentication on all remembered devices  | [Authentication Administrator](permissions-reference.md#authentication-administrator) | |
active-directory Funnel Leasing Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/funnel-leasing-provisioning-tutorial.md
+
+ Title: 'Tutorial: Configure Funnel Leasing for automatic user provisioning with Azure Active Directory'
+description: Learn how to automatically provision and de-provision user accounts from Azure AD to Funnel Leasing.
++
+writer: twimmers
+
+ms.assetid: 320d5135-3833-4a65-9fc5-7e50709dd6ff
++++ Last updated : 06/02/2023+++
+# Tutorial: Configure Funnel Leasing for automatic user provisioning
+
+This tutorial describes the steps you need to perform in both Funnel Leasing and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users to [Funnel Leasing](https://funnelleasing.com) using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory](../app-provisioning/user-provisioning.md).
++
+## Supported capabilities
+> [!div class="checklist"]
+> * Create users in Funnel Leasing.
+> * Remove users in Funnel Leasing when they do not require access anymore.
+> * Keep user attributes synchronized between Azure AD and Funnel Leasing.
+> * [Single sign-on](../manage-apps/add-application-portal-setup-oidc-sso.md) to Funnel Leasing (recommended).
+
+## Prerequisites
+
+The scenario outlined in this tutorial assumes that you already have the following prerequisites:
+
+* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
+* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
+* A user account in Funnel Leasing with Admin permissions.
+
+## Step 1. Plan your provisioning deployment
+1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
+1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+1. Determine what data to [map between Azure AD and Funnel Leasing](../app-provisioning/customize-application-attributes.md).
+
+## Step 2. Configure Funnel Leasing to support provisioning with Azure AD
+Contact Funnel Leasing support to configure Funnel Leasing to support provisioning with Azure AD.
+
+## Step 3. Add Funnel Leasing from the Azure AD application gallery
+
+Add Funnel Leasing from the Azure AD application gallery to start managing provisioning to Funnel Leasing. If you have previously setup Funnel Leasing for SSO you can use the same application. However it's recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](../manage-apps/add-application-portal.md).
+
+## Step 4. Define who will be in scope for provisioning
+
+The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users to the application. If you choose to scope who will be provisioned based solely on attributes of the user, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* Start small. Test with a small set of users before rolling out to everyone. When scope for provisioning is set to assigned users, you can control this by assigning one or two users to the app. When scope is set to all users, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* If you need more roles, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add new roles.
++
+## Step 5. Configure automatic user provisioning to Funnel Leasing
+
+This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users in TestApp based on user assignments in Azure AD.
+
+### To configure automatic user provisioning for Funnel Leasing in Azure AD:
+
+1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
+
+ ![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
+
+1. In the applications list, select **Funnel Leasing**.
+
+ ![Screenshot of the Funnel Leasing link in the Applications list.](common/all-applications.png)
+
+1. Select the **Provisioning** tab.
+
+ ![Screenshot of Provisioning tab.](common/provisioning.png)
+
+1. Set the **Provisioning Mode** to **Automatic**.
+
+ ![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
+
+1. Under the **Admin Credentials** section, input your Funnel Leasing Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to Funnel Leasing. If the connection fails, ensure your Funnel Leasing account has Admin permissions and try again.
+
+ ![Screenshot of Token.](common/provisioning-testconnection-tenanturltoken.png)
+
+1. In the **Notification Email** field, enter the email address of a person who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
+
+ ![Screenshot of Notification Email.](common/provisioning-notification-email.png)
+
+1. Select **Save**.
+
+1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Funnel Leasing**.
+
+1. Review the user attributes that are synchronized from Azure AD to Funnel Leasing in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Funnel Leasing for update operations. If you choose to change the [matching target attribute](../app-provisioning/customize-application-attributes.md), you'll need to ensure that the Funnel Leasing API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported for filtering|Required by Funnel Leasing|
+ |||||
+ |userName|String|&check;|&check;
+ |active|Boolean||&check;
+ |title|String||
+ |emails[type eq "work"].value|String||&check;
+ |name.givenName|String||&check;
+ |name.familyName|String||&check;
+ |phoneNumbers[type eq "work"].value|String||
+ |phoneNumbers[type eq "mobile"].value|String||
+ |externalId|String||
+
+1. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+1. To enable the Azure AD provisioning service for Funnel Leasing, change the **Provisioning Status** to **On** in the **Settings** section.
+
+ ![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
+
+1. Define the users that you would like to provision to Funnel Leasing by choosing the desired values in **Scope** in the **Settings** section.
+
+ ![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
+
+1. When you're ready to provision, click **Save**.
+
+ ![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
+
+This operation starts the initial synchronization cycle of all users defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
+
+## Step 6. Monitor your deployment
+Once you've configured provisioning, use the following resources to monitor your deployment:
+
+* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
+* Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it's to completion
+* If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
+
+## More resources
+
+* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
+* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
+
+## Next steps
+
+* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
active-directory Github Enterprise Managed User Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/github-enterprise-managed-user-provisioning-tutorial.md
This tutorial describes the steps you need to perform in both GitHub Enterprise Managed User and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users and groups to GitHub Enterprise Managed User using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory](../app-provisioning/user-provisioning.md). > [!NOTE]
-> [GitHub Enterprise Managed Users](https://docs.github.com/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users) is a feature of GitHub Enterprise Cloud which is different from GitHub Enterprise's standard SAML SSO and user provisioning implementation. If you haven't specifically requested an EMU instance, you have a standard GitHub Enterprise Cloud plan. In that case, please refer to [the documentation](./github-provisioning-tutorial.md) to configure user provisioning in your non-EMU organization. User provisioning is not supported for [GitHub Enterprise Accounts](https://docs.github.com/enterprise-cloud@latest/admin/overview/about-enterprise-accounts)
+> [GitHub Enterprise Managed User (EMU)](https://docs.github.com/enterprise-cloud@latest/admin/authentication/managing-your-enterprise-users-with-your-identity-provider/about-enterprise-managed-users) is a different type of [GitHub Enteprise Account](https://docs.github.com/enterprise-cloud@latest/admin/overview/about-enterprise-accounts). If you haven't specifically requested EMU instance, you have a standard GitHub Enterprise Account. In that case, please refer to [the documentation](./github-provisioning-tutorial.md) to configure user provisioning in your non-EMU organisation. User provisioning is not supported for [standard GitHub Enteprise Accounts](https://docs.github.com/enterprise-cloud@latest/admin/overview/about-enterprise-accounts), but is supported for organisations under standard GitHub Enterprise Account.
## Capabilities Supported > [!div class="checklist"]
active-directory Humbol Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/humbol-provisioning-tutorial.md
+
+ Title: 'Tutorial: Configure Humbol for automatic user provisioning with Azure Active Directory'
+description: Learn how to automatically provision and de-provision user accounts from Azure AD to Humbol.
++
+writer: twimmers
+
+ms.assetid: a34b8778-3a56-4a39-835d-54044079350d
++++ Last updated : 06/02/2023+++
+# Tutorial: Configure Humbol for automatic user provisioning
+
+This tutorial describes the steps you need to perform in both Humbol and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users to [Humbol](https://www.humbol.app/en/product/) using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory](../app-provisioning/user-provisioning.md).
++
+## Supported capabilities
+> [!div class="checklist"]
+> * Create users in Humbol.
+> * Remove users in Humbol when they do not require access anymore.
+> * Keep user attributes synchronized between Azure AD and Humbol.
+> * [Single sign-on](../manage-apps/add-application-portal-setup-oidc-sso.md) to Humbol (recommended).
+
+## Prerequisites
+
+The scenario outlined in this tutorial assumes that you already have the following prerequisites:
+
+* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
+* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
+* A user account in Humbol with Admin permissions.
+
+## Step 1. Plan your provisioning deployment
+1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
+1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+1. Determine what data to [map between Azure AD and Humbol](../app-provisioning/customize-application-attributes.md).
+
+## Step 2. Configure Humbol to support provisioning with Azure AD
+Contact Humbol support to configure Humbol to support provisioning with Azure AD.
+
+## Step 3. Add Humbol from the Azure AD application gallery
+
+Add Humbol from the Azure AD application gallery to start managing provisioning to Humbol. If you have previously setup Humbol for SSO you can use the same application. However it's recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](../manage-apps/add-application-portal.md).
+
+## Step 4. Define who will be in scope for provisioning
+
+The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users to the application. If you choose to scope who will be provisioned based solely on attributes of the user, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* Start small. Test with a small set of users before rolling out to everyone. When scope for provisioning is set to assigned users, you can control this by assigning one or two users to the app. When scope is set to all users, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* If you need more roles, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add new roles.
++
+## Step 5. Configure automatic user provisioning to Humbol
+
+This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users in TestApp based on user assignments in Azure AD.
+
+### To configure automatic user provisioning for Humbol in Azure AD:
+
+1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
+
+ ![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
+
+1. In the applications list, select **Humbol**.
+
+ ![Screenshot of the Humbol link in the Applications list.](common/all-applications.png)
+
+1. Select the **Provisioning** tab.
+
+ ![Screenshot of Provisioning tab.](common/provisioning.png)
+
+1. Set the **Provisioning Mode** to **Automatic**.
+
+ ![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
+
+1. Under the **Admin Credentials** section, input your Humbol Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to Humbol. If the connection fails, ensure your Humbol account has Admin permissions and try again.
+
+ ![Screenshot of Token.](common/provisioning-testconnection-tenanturltoken.png)
+
+1. In the **Notification Email** field, enter the email address of a person who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
+
+ ![Screenshot of Notification Email.](common/provisioning-notification-email.png)
+
+1. Select **Save**.
+
+1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Humbol**.
+
+1. Review the user attributes that are synchronized from Azure AD to Humbol in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Humbol for update operations. If you choose to change the [matching target attribute](../app-provisioning/customize-application-attributes.md), you'll need to ensure that the Humbol API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported for filtering|Required by Humbol|
+ |||||
+ |userName|String|&check;|&check;
+ |active|Boolean||&check;
+ |title|String||
+ |emails[type eq "work"].value|String||&check;
+ |preferredLanguage|String||
+ |name.givenName|String||&check;
+ |name.familyName|String||&check;
+ |addresses[type eq "work"].locality|String||&check;
+ |addresses[type eq "work"].region|String||&check;
+ |addresses[type eq "work"].country|String||&check;
+ |roles[primary eq "True"].value|String||&check;
+ |urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department|String||&check;
+ |urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:manager|String||&check;
+
+1. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+1. To enable the Azure AD provisioning service for Humbol, change the **Provisioning Status** to **On** in the **Settings** section.
+
+ ![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
+
+1. Define the users that you would like to provision to Humbol by choosing the desired values in **Scope** in the **Settings** section.
+
+ ![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
+
+1. When you're ready to provision, click **Save**.
+
+ ![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
+
+This operation starts the initial synchronization cycle of all users defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
+
+## Step 6. Monitor your deployment
+Once you've configured provisioning, use the following resources to monitor your deployment:
+
+* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
+* Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it's to completion
+* If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
+
+## More resources
+
+* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
+* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
+
+## Next steps
+
+* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
active-directory Markit Procurement Service Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/markit-procurement-service-provisioning-tutorial.md
+
+ Title: 'Tutorial: Configure Markit Procurement Service for automatic user provisioning with Azure Active Directory'
+description: Learn how to automatically provision and deprovision user accounts from Azure AD to Markit Procurement Service.
++
+writer: twimmers
+
+ms.assetid: 4ed2955b-3060-4530-b8c1-9e355dedf13e
++++ Last updated : 06/02/2023+++
+# Tutorial: Configure Markit Procurement Service for automatic user provisioning
+
+This tutorial describes the steps you need to perform in both Markit Procurement Service and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and deprovisions users to [Markit Procurement Service](https://www.markit.eu) using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory](../app-provisioning/user-provisioning.md).
++
+## Supported capabilities
+> [!div class="checklist"]
+> * Create users in Markit Procurement Service.
+> * Remove users in Markit Procurement Service when they do not require access anymore.
+> * Keep user attributes synchronized between Azure AD and Markit Procurement Service.
+> * [Single sign-on](../manage-apps/add-application-portal-setup-oidc-sso.md) to Markit Procurement Service (recommended).
+
+## Prerequisites
+
+The scenario outlined in this tutorial assumes that you already have the following prerequisites:
+
+* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
+* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
+* A user account in Markit Procurement Service with Admin permissions.
+
+## Step 1. Plan your provisioning deployment
+1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
+1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+1. Determine what data to [map between Azure AD and Markit Procurement Service](../app-provisioning/customize-application-attributes.md).
+
+## Step 2. Configure Markit Procurement Service to support provisioning with Azure AD
+Contact Markit Procurement Service support to configure Markit Procurement Service to support provisioning with Azure AD.
+
+## Step 3. Add Markit Procurement Service from the Azure AD application gallery
+
+Add Markit Procurement Service from the Azure AD application gallery to start managing provisioning to Markit Procurement Service. If you have previously setup Markit Procurement Service for SSO, you can use the same application. However it's recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](../manage-apps/add-application-portal.md).
+
+## Step 4. Define who will be in scope for provisioning
+
+The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users to the application. If you choose to scope who will be provisioned based solely on attributes of the user, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* Start small. Test with a small set of users before rolling out to everyone. When scope for provisioning is set to assigned users, you can control this by assigning one or two users to the app. When scope is set to all users, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* If you need more roles, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add new roles.
++
+## Step 5. Configure automatic user provisioning to Markit Procurement Service
+
+This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users in TestApp based on user assignments in Azure AD.
+
+### To configure automatic user provisioning for Markit Procurement Service in Azure AD:
+
+1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
+
+ ![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
+
+1. In the applications list, select **Markit Procurement Service**.
+
+ ![Screenshot of the Markit Procurement Service link in the Applications list.](common/all-applications.png)
+
+1. Select the **Provisioning** tab.
+
+ ![Screenshot of Provisioning tab.](common/provisioning.png)
+
+1. Set the **Provisioning Mode** to **Automatic**.
+
+ ![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
+
+1. Under the **Admin Credentials** section, input your Markit Procurement Service Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to Markit Procurement Service. If the connection fails, ensure your Markit Procurement Service account has Admin permissions and try again.
+
+ ![Screenshot of Token.](common/provisioning-testconnection-tenanturltoken.png)
+
+1. In the **Notification Email** field, enter the email address of a person who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
+
+ ![Screenshot of Notification Email.](common/provisioning-notification-email.png)
+
+1. Select **Save**.
+
+1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Markit Procurement Service**.
+
+1. Review the user attributes that are synchronized from Azure AD to Markit Procurement Service in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Markit Procurement Service for update operations. If you choose to change the [matching target attribute](../app-provisioning/customize-application-attributes.md), you need to ensure that the Markit Procurement Service API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported for filtering|Required by Markit Procurement Service|
+ |||||
+ |userName|String|&check;|&check;
+ |active|Boolean||
+ |name.givenName|String||&check;
+ |name.familyName|String||&check;
+ |externalId|String||&check;
+
+1. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+1. To enable the Azure AD provisioning service for Markit Procurement Service, change the **Provisioning Status** to **On** in the **Settings** section.
+
+ ![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
+
+1. Define the users that you would like to provision to Markit Procurement Service by choosing the desired values in **Scope** in the **Settings** section.
+
+ ![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
+
+1. When you're ready to provision, click **Save**.
+
+ ![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
+
+This operation starts the initial synchronization cycle of all users defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
+
+## Step 6. Monitor your deployment
+Once you've configured provisioning, use the following resources to monitor your deployment:
+
+* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
+* Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it's to completion
+* If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
+
+## More resources
+
+* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
+* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
+
+## Next steps
+
+* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
active-directory Recnice Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/recnice-provisioning-tutorial.md
+
+ Title: 'Tutorial: Configure Recnice for automatic user provisioning with Azure Active Directory'
+description: Learn how to automatically provision and de-provision user accounts from Azure AD to Recnice.
++
+writer: twimmers
+
+ms.assetid: 72e7a106-4187-4e40-9c63-77527fe9aeae
++++ Last updated : 04/10/2023+++
+# Tutorial: Configure Recnice for automatic user provisioning
+
+This tutorial describes the steps you need to perform in both Recnice and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users and groups to [Recnice](https://recnice.com) using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory](../app-provisioning/user-provisioning.md).
++
+## Supported capabilities
+> [!div class="checklist"]
+> * Create users in Recnice.
+> * Remove users in Recnice when they do not require access anymore.
+> * Keep user attributes synchronized between Azure AD and Recnice.
+> * Provision groups and group memberships in Recnice.
+> * [Single sign-on](../manage-apps/add-application-portal-setup-oidc-sso.md) to Recnice (recommended).
+
+## Prerequisites
+
+The scenario outlined in this tutorial assumes that you already have the following prerequisites:
+
+* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
+* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
+* A user account in Recnice with Admin permissions.
+
+## Step 1. Plan your provisioning deployment
+1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
+1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+1. Determine what data to [map between Azure AD and Recnice](../app-provisioning/customize-application-attributes.md).
+
+## Step 2. Configure Recnice to support provisioning with Azure AD
+Contact Recnice support to configure Recnice to support provisioning with Azure AD.
+
+## Step 3. Add Recnice from the Azure AD application gallery
+
+Add Recnice from the Azure AD application gallery to start managing provisioning to Recnice. If you have previously setup Recnice for SSO you can use the same application. However it's recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](../manage-apps/add-application-portal.md).
+
+## Step 4. Define who will be in scope for provisioning
+
+The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user / group. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users and groups to the application. If you choose to scope who will be provisioned based solely on attributes of the user or group, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* Start small. Test with a small set of users and groups before rolling out to everyone. When scope for provisioning is set to assigned users and groups, you can control this by assigning one or two users or groups to the app. When scope is set to all users and groups, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* If you need more roles, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add new roles.
++
+## Step 5. Configure automatic user provisioning to Recnice
+
+This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users and/or groups in TestApp based on user and/or group assignments in Azure AD.
+
+### To configure automatic user provisioning for Recnice in Azure AD:
+
+1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
+
+ ![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
+
+1. In the applications list, select **Recnice**.
+
+ ![Screenshot of the Recnice link in the Applications list.](common/all-applications.png)
+
+1. Select the **Provisioning** tab.
+
+ ![Screenshot of Provisioning tab.](common/provisioning.png)
+
+1. Set the **Provisioning Mode** to **Automatic**.
+
+ ![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
+
+1. Under the **Admin Credentials** section, input your Recnice Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to Recnice. If the connection fails, ensure your Recnice account has Admin permissions and try again.
+
+ ![Screenshot of Token.](common/provisioning-testconnection-tenanturltoken.png)
+
+1. In the **Notification Email** field, enter the email address of a person or group who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
+
+ ![Screenshot of Notification Email.](common/provisioning-notification-email.png)
+
+1. Select **Save**.
+
+1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Recnice**.
+
+1. Review the user attributes that are synchronized from Azure AD to Recnice in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Recnice for update operations. If you choose to change the [matching target attribute](../app-provisioning/customize-application-attributes.md), you'll need to ensure that the Recnice API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported for filtering|Required by Recnice|
+ |||||
+ |userName|String|&check;|&check;
+ |active|Boolean||&check;
+ |displayName|String||&check;
+ |title|String||&check;
+ |emails[type eq "work"].value|String||&check;
+ |preferredLanguage|String||&check;
+ |name.givenName|String||&check;
+ |name.familyName|String||&check;
+ |name.formatted|String||&check;
+ |addresses[type eq "work"].formatted|String||&check;
+ |addresses[type eq "work"].streetAddress|String||&check;
+ |addresses[type eq "work"].locality|String||&check;
+ |addresses[type eq "work"].region|String||&check;
+ |addresses[type eq "work"].postalCode|String||&check;
+ |addresses[type eq "work"].country|String||&check;
+ |externalId|String||&check;
+ |roles|String||&check;
+ |urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department|String||&check;
+
+1. Under the **Mappings** section, select **Synchronize Azure Active Directory Groups to Recnice**.
+
+1. Review the group attributes that are synchronized from Azure AD to Recnice in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the groups in Recnice for update operations. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported for filtering|Required by Recnice|
+ |||||
+ |displayName|String|&check;|&check;
+ |externalId|String||
+ |members|Reference||
+
+1. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+1. To enable the Azure AD provisioning service for Recnice, change the **Provisioning Status** to **On** in the **Settings** section.
+
+ ![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
+
+1. Define the users and/or groups that you would like to provision to Recnice by choosing the desired values in **Scope** in the **Settings** section.
+
+ ![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
+
+1. When you're ready to provision, click **Save**.
+
+ ![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
+
+This operation starts the initial synchronization cycle of all users and groups defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
+
+## Step 6. Monitor your deployment
+Once you've configured provisioning, use the following resources to monitor your deployment:
+
+* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
+* Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it's to completion
+* If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
+
+## More resources
+
+* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
+* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
+
+## Next steps
+
+* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
active-directory Uni Tel As Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/uni-tel-as-provisioning-tutorial.md
+
+ Title: 'Tutorial: Configure Uni-tel A/S for automatic user provisioning with Azure Active Directory'
+description: Learn how to automatically provision and de-provision user accounts from Azure AD to Uni-tel A/S.
++
+writer: twimmers
+
+ms.assetid: 37c67e85-fc17-4285-b658-52af669f4046
++++ Last updated : 06/02/2023+++
+# Tutorial: Configure Uni-tel A/S for automatic user provisioning
+
+This tutorial describes the steps you need to perform in both Uni-tel ).
++
+## Supported capabilities
+> [!div class="checklist"]
+> * Create users in Uni-tel A/S.
+> * Remove users in Uni-tel A/S when they do not require access anymore.
+> * Keep user attributes synchronized between Azure AD and Uni-tel A/S.
+> * [Single sign-on](../manage-apps/add-application-portal-setup-oidc-sso.md) to Uni-tel A/S (recommended).
+
+## Prerequisites
+
+The scenario outlined in this tutorial assumes that you already have the following prerequisites:
+
+* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
+* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
+* A user account in Uni-tel A/S with Admin permissions.
+
+## Step 1. Plan your provisioning deployment
+1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
+1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+1. Determine what data to [map between Azure AD and Uni-tel ).
+
+## Step 2. Configure Uni-tel A/S to support provisioning with Azure AD
+Contact Uni-tel A/S support to configure Uni-tel A/S to support provisioning with Azure AD.
+
+## Step 3. Add Uni-tel A/S from the Azure AD application gallery
+
+Add Uni-tel ).
+
+## Step 4. Define who will be in scope for provisioning
+
+The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users to the application. If you choose to scope who will be provisioned based solely on attributes of the user, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* Start small. Test with a small set of users before rolling out to everyone. When scope for provisioning is set to assigned users, you can control this by assigning one or two users to the app. When scope is set to all users, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* If you need more roles, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add new roles.
++
+## Step 5. Configure automatic user provisioning to Uni-tel A/S
+
+This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users in TestApp based on user assignments in Azure AD.
+
+### To configure automatic user provisioning for Uni-tel A/S in Azure AD:
+
+1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
+
+ ![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
+
+1. In the applications list, select **Uni-tel A/S**.
+
+ ![Screenshot of the Uni-tel A/S link in the Applications list.](common/all-applications.png)
+
+1. Select the **Provisioning** tab.
+
+ ![Screenshot of Provisioning tab.](common/provisioning.png)
+
+1. Set the **Provisioning Mode** to **Automatic**.
+
+ ![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
+
+1. Under the **Admin Credentials** section, input your Uni-tel A/S Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to Uni-tel A/S. If the connection fails, ensure your Uni-tel A/S account has Admin permissions and try again.
+
+ ![Screenshot of Token.](common/provisioning-testconnection-tenanturltoken.png)
+
+1. In the **Notification Email** field, enter the email address of a person who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
+
+ ![Screenshot of Notification Email.](common/provisioning-notification-email.png)
+
+1. Select **Save**.
+
+1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Uni-tel A/S**.
+
+1. Review the user attributes that are synchronized from Azure AD to Uni-tel ), you'll need to ensure that the Uni-tel A/S API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported for filtering|Required by Uni-tel A/S|
+ |||||
+ |userName|String|&check;|&check;
+ |active|Boolean||
+ |displayName|String||
+ |name.givenName|String||
+ |name.familyName|String||
+
+1. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+1. To enable the Azure AD provisioning service for Uni-tel A/S, change the **Provisioning Status** to **On** in the **Settings** section.
+
+ ![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
+
+1. Define the users that you would like to provision to Uni-tel A/S by choosing the desired values in **Scope** in the **Settings** section.
+
+ ![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
+
+1. When you're ready to provision, click **Save**.
+
+ ![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
+
+This operation starts the initial synchronization cycle of all users defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
+
+## Step 6. Monitor your deployment
+Once you've configured provisioning, use the following resources to monitor your deployment:
+
+* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
+* Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it's to completion
+* If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
+
+## More resources
+
+* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
+* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
+
+## Next steps
+
+* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
active-directory Wats Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/wats-provisioning-tutorial.md
+
+ Title: 'Tutorial: Configure WATS for automatic user provisioning with Azure Active Directory'
+description: Learn how to automatically provision and de-provision user accounts from Azure AD to WATS.
++
+writer: twimmers
+
+ms.assetid: e1cc1c4d-7504-4c78-9999-1d5301bf933c
++++ Last updated : 06/02/2023+++
+# Tutorial: Configure WATS for automatic user provisioning
+
+This tutorial describes the steps you need to perform in both WATS and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users to [WATS](https://wats.com) using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory](../app-provisioning/user-provisioning.md).
++
+## Supported capabilities
+> [!div class="checklist"]
+> * Create users in WATS.
+> * Remove users in WATS when they do not require access anymore.
+> * Keep user attributes synchronized between Azure AD and WATS.
+> * [Single sign-on](../manage-apps/add-application-portal-setup-oidc-sso.md) to WATS (recommended).
+
+## Prerequisites
+
+The scenario outlined in this tutorial assumes that you already have the following prerequisites:
+
+* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
+* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
+* A user account in WATS with Admin permissions.
+
+## Step 1. Plan your provisioning deployment
+1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
+1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+1. Determine what data to [map between Azure AD and WATS](../app-provisioning/customize-application-attributes.md).
+
+## Step 2. Configure WATS to support provisioning with Azure AD
+Contact WATS support to configure WATS to support provisioning with Azure AD.
+
+## Step 3. Add WATS from the Azure AD application gallery
+
+Add WATS from the Azure AD application gallery to start managing provisioning to WATS. If you have previously setup WATS for SSO you can use the same application. However it's recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](../manage-apps/add-application-portal.md).
+
+## Step 4. Define who will be in scope for provisioning
+
+The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users to the application. If you choose to scope who will be provisioned based solely on attributes of the user, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* Start small. Test with a small set of users before rolling out to everyone. When scope for provisioning is set to assigned users, you can control this by assigning one or two users to the app. When scope is set to all users, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* If you need more roles, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add new roles.
++
+## Step 5. Configure automatic user provisioning to WATS
+
+This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users in TestApp based on user assignments in Azure AD.
+
+### To configure automatic user provisioning for WATS in Azure AD:
+
+1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
+
+ ![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
+
+1. In the applications list, select **WATS**.
+
+ ![Screenshot of the WATS link in the Applications list.](common/all-applications.png)
+
+1. Select the **Provisioning** tab.
+
+ ![Screenshot of Provisioning tab.](common/provisioning.png)
+
+1. Set the **Provisioning Mode** to **Automatic**.
+
+ ![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
+
+1. Under the **Admin Credentials** section, input your WATS Tenant URL and Secret Token. Click **Test Connection** to ensure Azure AD can connect to WATS. If the connection fails, ensure your WATS account has Admin permissions and try again.
+
+ ![Screenshot of Token.](common/provisioning-testconnection-tenanturltoken.png)
+
+1. In the **Notification Email** field, enter the email address of a person who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
+
+ ![Screenshot of Notification Email.](common/provisioning-notification-email.png)
+
+1. Select **Save**.
+
+1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to WATS**.
+
+1. Review the user attributes that are synchronized from Azure AD to WATS in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in WATS for update operations. If you choose to change the [matching target attribute](../app-provisioning/customize-application-attributes.md), you'll need to ensure that the WATS API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported for filtering|Required by WATS|
+ |||||
+ |userName|String|&check;|&check;
+ |active|Boolean||
+ |emails[type eq "work"].value|String||&check;
+ |name.givenName|String||&check;
+ |name.familyName|String||&check;
+ |roles[primary eq "True"].value|String||
+
+1. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+1. To enable the Azure AD provisioning service for WATS, change the **Provisioning Status** to **On** in the **Settings** section.
+
+ ![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
+
+1. Define the users that you would like to provision to WATS by choosing the desired values in **Scope** in the **Settings** section.
+
+ ![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
+
+1. When you're ready to provision, click **Save**.
+
+ ![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
+
+This operation starts the initial synchronization cycle of all users defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
+
+## Step 6. Monitor your deployment
+Once you've configured provisioning, use the following resources to monitor your deployment:
+
+* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
+* Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it's to completion
+* If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
+
+## More resources
+
+* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
+* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
+
+## Next steps
+
+* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
active-directory Azure Ad Pci Dss Guidance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/standards/azure-ad-pci-dss-guidance.md
Learn more: [What is Conditional Access?](../conditional-access/overview.md)
PCI-DSS cites no specific geographic location for credit card data storage. However, it requires cardholder data is stored securely, which might include geographic restrictions, depending on the organization's security and regulatory requirements. Different countries and regions have data protection and privacy laws. Consult with a legal or compliance advisor to determine applicable data residency requirements.
-Learn more: [Azure AD and data residency](../fundamentals/azure-ad-data-residency.md)
+Learn more: [Azure AD and data residency](../fundamentals/data-residency.md)
### Third-party security risks
active-directory Memo 22 09 Other Areas Zero Trust https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/standards/memo-22-09-other-areas-zero-trust.md
Document your processes for operating the Azure AD environment. Use Azure AD fea
Learn more:
-* [Azure AD governance operations reference guide](../fundamentals/active-directory-ops-guide-govern.md)
+* [Azure AD governance operations reference guide](../fundamentals/ops-guide-govern.md)
* [Azure AD security operations guide](../fundamentals/security-operations-introduction.md) * [What is Microsoft Entra Identity Governance?](../governance/identity-governance-overview.md) * [Meet authorization requirements of memorandum 22-09](memo-22-09-authorization.md).
active-directory Pci Requirement 7 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/standards/pci-requirement-7.md
|**7.2.3** Required privileges are approved by authorized personnel.|Entitlement management supports approval workflows to grant access to resources, and periodic access reviews. [Approve or deny access requests in entitlement management](../governance/entitlement-management-request-approve.md) </br> [Review access of an access package in entitlement management](../governance/entitlement-management-access-reviews-review-access.md) </br> PIM supports approval workflows to activate Azure AD directory roles, and Azure roles, and cloud groups. [Approve or deny requests for Azure AD roles in PIM](../privileged-identity-management/azure-ad-pim-approval-workflow.md) </br> [Approve activation requests for group members and owners](../privileged-identity-management/groups-approval-workflow.md)| |**7.2.4** All user accounts and related access privileges, including third-party/vendor accounts, are reviewed as follows: </br> At least once every six months. </br> To ensure user accounts and access remain appropriate based on job function. </br> Any inappropriate access is addressed. Management acknowledges that access remains appropriate.|If you grant access to applications using direct assignment or with group membership, configure Azure AD access reviews. If you grant access to applications using entitlement management, enable access reviews at the access package level. [Create an access review of an access package in entitlement management](../governance/entitlement-management-access-reviews-create.md) </br> Use Azure AD external identities for third-party and vendor accounts. You can perform access reviews targeting external identities, for instance third-party or vendor accounts. [Manage guest access with access reviews](../governance/manage-guest-access-with-access-reviews.md)| |**7.2.5** All application and system accounts and related access privileges are assigned and managed as follows: </br> Based on the least privileges necessary for the operability of the system or application. </br> Access is limited to the systems, applications, or processes that specifically require their use.|Use Azure AD to assign users to roles in applications directly or through group membership. </br> Organizations with standardized taxonomy implemented as attributes can automate access grants based on user job classification and function. Use Azure AD Groups with dynamic membership, and Azure AD entitlement management access packages with dynamic assignment policies. </br> Use entitlement management to define separation of duties to delineate least privilege. </br> PIM enables JIT access to Azure AD security groups for custom scenarios where group membership represents privileged access to CDE applications or resources. [Dynamic membership rules for groups in Azure AD](../enterprise-users/groups-dynamic-membership.md) </br> [Configure an automatic assignment policy for an access package in entitlement management](../governance/entitlement-management-access-package-auto-assignment-policy.md) </br> [Configure separation of duties for an access package in entitlement management](../governance/entitlement-management-access-package-incompatible.md) </br> [PIM for Groups](../privileged-identity-management/concept-pim-for-groups.md)|
-|**7.2.5.1** All access by application and system accounts and related access privileges are reviewed as follows: </br> Periodically (at the frequency defined in the entityΓÇÖs targeted risk analysis, which is performed according to all elements specified in Requirement 12.3.1). </br> The application/system access remains appropriate for the function being performed. </br> Any inappropriate access is addressed. </br> Management acknowledges that access remains appropriate.|Best practices when reviewing service accounts permissions. [Governing Azure AD service accounts](../fundamentals/service-accounts-governing-azure.md) </br> [Govern on-premises service accounts](../fundamentals/service-accounts-govern-on-premises.md)|
+|**7.2.5.1** All access by application and system accounts and related access privileges are reviewed as follows: </br> Periodically (at the frequency defined in the entityΓÇÖs targeted risk analysis, which is performed according to all elements specified in Requirement 12.3.1). </br> The application/system access remains appropriate for the function being performed. </br> Any inappropriate access is addressed. </br> Management acknowledges that access remains appropriate.|Best practices when reviewing service accounts permissions. [Governing Azure AD service accounts](../fundamentals/govern-service-accounts.md) </br> [Govern on-premises service accounts](../fundamentals/service-accounts-govern-on-premises.md)|
|**7.2.6** All user access to query repositories of stored cardholder data is restricted as follows: </br> Via applications or other programmatic methods, with access and allowed actions based on user roles and least privileges. </br> Only the responsible administrator(s) can directly access or query repositories of stored card-holder data (CHD).|Modern applications enable programmatic methods that restrict access to data repositories.</br> Integrate applications with Azure AD using modern authentication protocols such as OAuth and OpenID connect (OIDC). [OAuth 2.0 and OIDC protocols on the Microsoft identity platform](../develop/active-directory-v2-protocols.md) </br> Define application-specific roles to model privileged and nonprivileged user access. Assign users or groups to roles. [Add app roles to your application and receive them in the token](../develop/howto-add-app-roles-in-azure-ad-apps.md) </br> For APIs exposed by your application, define OAuth scopes to enable user and administrator consent. [Scopes and permissions in the Microsoft identity platform](../develop/scopes-oidc.md) </br> Model privileged and non-privileged access to the repositories with the following approach and avoid direct repository access. If administrators and operators require access, grant it per the underlying platform. For instance, ARM IAM assignments in Azure, Access Control Lists (ACLs) windows, etc. </br> See architecture guidance that includes securing application platform-as-a-service (PaaS) and infrastructure-as-a-service (IaaS) in Azure. [Azure Architecture Center](/azure/architecture/)| ## 7.3 Access to system components and data is managed via an access control system(s).
active-directory Pci Requirement 8 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/standards/pci-requirement-8.md
For more information about Azure AD authentication methods that meet PCI require
|PCI-DSS Defined approach requirements|Azure AD guidance and recommendations| |-|-|
-|**8.6.1** If accounts used by systems or applications can be used for interactive login, they're managed as follows: </br> Interactive use is prevented unless needed for an exceptional circumstance. </br> Interactive use is limited to the time needed for the exceptional circumstance. </br> Business justification for interactive use is documented. </br> Interactive use is explicitly approved by management. </br> Individual user identity is confirmed before access to account is granted. </br> Every action taken is attributable to an individual user.|For CDE applications with modern authentication, and for CDE resources deployed in Azure that use modern authentication, Azure AD has two service account types for applications: Managed Identities and service principals. </br> Learn about Azure AD service account governance: planning, provisioning, lifecycle, monitoring, access reviews, etc. [Governing Azure AD service accounts](../fundamentals/service-accounts-governing-azure.md) </br> To secure Azure AD service accounts. [Securing managed identities in Azure AD](../fundamentals/service-accounts-managed-identities.md) </br> [Securing service principals in Azure AD](../fundamentals/service-accounts-principal.md) </br> For CDEs with resources outside Azure that require access, configure workload identity federations without managing secrets or interactive sign in. [Workload identity federation](../develop/workload-identity-federation.md) </br> To enable approval and tracking processes to fulfill requirements, orchestrate workflows using IT Service Management (ITSM) and configuration management databases (CMDB) These tools use MS Graph API to interact with Azure AD and manage the service account. </br> For CDEs that require service accounts compatible with on-premises Active Directory, use Group Managed Service Accounts (GMSAs), and standalone managed service accounts (sMSA), computer accounts, or user accounts. [Securing on-premises service accounts](../fundamentals/service-accounts-on-premises.md)|
+|**8.6.1** If accounts used by systems or applications can be used for interactive login, they're managed as follows: </br> Interactive use is prevented unless needed for an exceptional circumstance. </br> Interactive use is limited to the time needed for the exceptional circumstance. </br> Business justification for interactive use is documented. </br> Interactive use is explicitly approved by management. </br> Individual user identity is confirmed before access to account is granted. </br> Every action taken is attributable to an individual user.|For CDE applications with modern authentication, and for CDE resources deployed in Azure that use modern authentication, Azure AD has two service account types for applications: Managed Identities and service principals. </br> Learn about Azure AD service account governance: planning, provisioning, lifecycle, monitoring, access reviews, etc. [Governing Azure AD service accounts](../fundamentals/govern-service-accounts.md) </br> To secure Azure AD service accounts. [Securing managed identities in Azure AD](../fundamentals/service-accounts-managed-identities.md) </br> [Securing service principals in Azure AD](../fundamentals/service-accounts-principal.md) </br> For CDEs with resources outside Azure that require access, configure workload identity federations without managing secrets or interactive sign in. [Workload identity federation](../develop/workload-identity-federation.md) </br> To enable approval and tracking processes to fulfill requirements, orchestrate workflows using IT Service Management (ITSM) and configuration management databases (CMDB) These tools use MS Graph API to interact with Azure AD and manage the service account. </br> For CDEs that require service accounts compatible with on-premises Active Directory, use Group Managed Service Accounts (GMSAs), and standalone managed service accounts (sMSA), computer accounts, or user accounts. [Securing on-premises service accounts](../fundamentals/service-accounts-on-premises.md)|
|**8.6.2** Passwords/passphrases for any application and system accounts that can be used for interactive login aren't hard coded in scripts, configuration/property files, or bespoke and custom source code.|Use modern service accounts such as Azure Managed Identities and service principals that donΓÇÖt require passwords. </br> Azure AD Managed Identities credentials are provisioned, and rotated in the cloud, which prevents using shared secrets such as passwords and passphrases. When using system-assigned managed identities, the lifecycle is tied to the underlying Azure resource lifecycle. </br> Use service principals to use certificates as credentials, which prevents use of shared secrets such as passwords and passphrases. If certificates are not feasible, use Azure Key Vault to store service principal client secrets. [Best practices for using Azure Key Vault](/azure/key-vault/general/best-practices#using-service-principals-with-key-vault) </br> For CDEs with resources outside Azure that require access, configure workload identity federations without managing secrets or interactive sign-in. [Workload identity federation](../workload-identities/workload-identity-federation.md) </br> Deploy Conditional Access for workload identities to control authorization based on location and/or risk level. [CA for workload identities](../conditional-access/workload-identity.md) </br> In addition to the previous guidance, use code analysis tools to detect hard-coded secrets in code and configuration files. [Detect exposed secrets in code](/azure/defender-for-cloud/detect-exposed-secrets) </br> [Security rules](/dotnet/fundamentals/code-analysis/quality-rules/security-warnings)| |**8.6.3** Passwords/passphrases for any application and system accounts are protected against misuse as follows: </br> Passwords/passphrases are changed periodically (at the frequency defined in the entityΓÇÖs targeted risk analysis, which is performed according to all elements specified in Requirement 12.3.1) and upon suspicion or confirmation of compromise. </br> Passwords/passphrases are constructed with sufficient complexity appropriate for how frequently the entity changes the passwords/passphrases.|Use modern service accounts such as Azure Managed Identities and service principals that donΓÇÖt require passwords. </br> For exceptions that require service principals with secrets, abstract secret lifecycle with workflows and automations that sets random passwords to service principals, rotates them regularly, and reacts to risk events. </br> Security operations teams can review and remediate reports generated by Azure AD such as Risky workload identities. [Securing workload identities with Identity Protection](../identity-protection/concept-workload-identity-risk.md) |
advisor Advisor High Availability Recommendations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/advisor/advisor-high-availability-recommendations.md
Title: Improve reliability of your application with Advisor description: Use Azure Advisor to ensure and improve reliability in your business-critical Azure deployments. + Last updated 10/26/2021- # Improve the reliability of your application by using Azure Advisor
aks Auto Upgrade Node Image https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/auto-upgrade-node-image.md
Title: Automatically upgrade Azure Kubernetes Service (AKS) cluster node operating system images description: Learn how to automatically upgrade Azure Kubernetes Service (AKS) cluster node operating system images. -+ Last updated 02/03/2023
aks Azure Cni Overlay https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/azure-cni-overlay.md
-+ Last updated 05/10/2023
aks Csi Storage Drivers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/csi-storage-drivers.md
Title: Container Storage Interface (CSI) drivers on Azure Kubernetes Service (AKS) description: Learn about and deploy the Container Storage Interface (CSI) drivers for Azure Disks and Azure Files in an Azure Kubernetes Service (AKS) cluster Previously updated : 04/27/2023 Last updated : 05/31/2023
The CSI storage driver support on AKS allows you to natively use:
> *In-tree drivers* refers to the storage drivers that are part of the core Kubernetes code opposed to the CSI drivers, which are plug-ins. > [!NOTE]
-> It is recommended to delete the corresponding PersistentVolumeClaim object instead of the PersistentVolume object when deleting a CSI volume. The external provisioner in the CSI driver will react to the deletion of the PersistentVolumeClaim and based on its reclamation policy, it will issue the DeleteVolume call against the CSI volume driver commands to delete the volume. The PersistentVolume object will then be deleted.
+> It is recommended to delete the corresponding PersistentVolumeClaim object instead of the PersistentVolume object when deleting a CSI volume. The external provisioner in the CSI driver will react to the deletion of the PersistentVolumeClaim and based on its reclamation policy, it issues the DeleteVolume call against the CSI volume driver commands to delete the volume. The PersistentVolume object is then deleted.
> > Azure Disks CSI driver v2 (preview) improves scalability and reduces pod failover latency. It uses shared disks to provision attachment replicas on multiple cluster nodes and integrates with the pod scheduler to ensure a node with an attachment replica is chosen on pod failover. Azure Disks CSI driver v2 (preview) also provides the ability to fine tune performance. If you're interested in participating in the preview, submit a request: [https://aka.ms/DiskCSIv2Preview](https://aka.ms/DiskCSIv2Preview). This preview version is provided without a service level agreement, and you can occasionally expect breaking changes while in preview. The preview version isn't recommended for production workloads. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
The CSI storage driver support on AKS allows you to natively use:
- If the open-source CSI Blob storage driver is installed on your cluster, uninstall it before enabling the Azure Blob storage driver. - To enforce the Azure Policy for AKS [policy definition][azure-policy-aks-definition] **Kubernetes clusters should use Container Storage Interface(CSI) driver StorageClass**, the Azure Policy add-on needs to be enabled on new and existing clusters. For an existing cluster, review the [Learn Azure Policy for Kubernetes][learn-azure-policy-kubernetes] to enable it.
+## Disk encryption supported scenarios
+
+CSI storage drivers support the following scenarios:
+
+* [Encrypted managed disks with customer-managed keys][encrypt-managed-disks-customer-managed-keys] using Azure Key Vaults stored in a different Azure Active Directory (Azure AD) tenant.
+* Encrypt your Azure Storage disks hosting AKS OS and application data with [customer-managed keys][azure-disk-customer-managed-keys].
+ ## Enable CSI storage drivers on an existing cluster To enable CSI storage drivers on a new cluster, include one of the following parameters depending on the storage system:
To review the migration options for your storage classes and upgrade your cluste
[azure-files-csi]: azure-files-csi.md [migrate-from-in-tree-csi-drivers]: csi-migrate-in-tree-volumes.md [learn-azure-policy-kubernetes]: ../governance/policy/concepts/policy-for-kubernetes.md
-[azure-policy-aks-definition]: ../governance/policy/samples/built-in-policies.md#kubernetes
+[azure-policy-aks-definition]: ../governance/policy/samples/built-in-policies.md#kubernetes
+[encrypt-managed-disks-customer-managed-keys]: ../virtual-machines/disks-cross-tenant-customer-managed-keys.md
+[azure-disk-customer-managed-keys]: azure-disk-customer-managed-keys.md
aks Custom Node Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/custom-node-configuration.md
Title: Customize the node configuration for Azure Kubernetes Service (AKS) node pools description: Learn how to customize the configuration on Azure Kubernetes Service (AKS) cluster nodes and node pools.-+ Last updated 04/24/2023
aks Howto Deploy Java Liberty App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/howto-deploy-java-liberty-app.md
description: Deploy a Java application with Open Liberty/WebSphere Liberty on an
Last updated 12/21/2022 keywords: java, jakartaee, javaee, microprofile, open-liberty, websphere-liberty, aks, kubernetes-+ # Deploy a Java application with Open Liberty or WebSphere Liberty on an Azure Kubernetes Service (AKS) cluster
aks Istio Deploy Ingress https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/istio-deploy-ingress.md
Title: Deploy external or internal ingresses for Istio service mesh add-on for Azure Kubernetes Service (preview) description: Deploy external or internal ingresses for Istio service mesh add-on for Azure Kubernetes Service (preview) -+ Last updated 04/09/2023
If you want to clean up all the resources created from the Istio how-to guidance
az group delete --name ${RESOURCE_GROUP} --yes --no-wait ```
-[istio-deploy-addon]: istio-deploy-addon.md
+[istio-deploy-addon]: istio-deploy-addon.md
aks Quickstart Dapr https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/quickstart-dapr.md
Last updated 05/03/2022-+ # Quickstart: Deploy an application using the Dapr cluster extension for Azure Kubernetes Service (AKS) or Arc-enabled Kubernetes
aks Use Managed Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/use-managed-identity.md
Title: Use a managed identity in Azure Kubernetes Service (AKS)
description: Learn how to use a system-assigned or user-assigned managed identity in Azure Kubernetes Service (AKS). Previously updated : 05/10/2023 Last updated : 06/01/2023+ # Use a managed identity in Azure Kubernetes Service (AKS)
AKS doesn't automatically create a [service principal](kubernetes-service-princi
Make sure you have Azure CLI version 2.23.0 or later installed. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][install-azure-cli].
+For [use a pre-created kubelet managed identity][use-a-pre-created-kubelet-managed-identity], you need Azure CLI version 2.26.0 or later installed.
+
+For [update control plane identity on an existing cluster][update-control-plane-identity-on-an-existing-cluster], you need Azure CLI version 2.49.0 or later installed.
+ ## Limitations * Tenants moving or migrating a managed identity-enabled cluster isn't supported.
AKS uses several managed identities for built-in services and add-ons.
## Enable managed identities on a new AKS cluster > [!NOTE]
-> AKS creates a system-assigned kubelet identity in the node resource group if you don't [specify your own kubelet managed identity][Use a pre-created kubelet managed identity].
+> AKS creates a user-assigned kubelet identity in the node resource group if you don't [specify your own kubelet managed identity][Use a pre-created kubelet managed identity].
1. Create an Azure resource group using the [`az group create`][az-group-create] command.
After updating your cluster, the control plane and pods use the managed identity
When you create and use your own VNet, attached Azure disk, static IP address, route table, or user-assigned kubelet identity where the resources are outside of the worker node resource group, the Azure CLI adds the role assignment automatically. If you're using an ARM template or another method, you need to use the Principal ID of the cluster managed identity to perform a role assignment.
-If you're not using the Azure CLI, but you're using your own VNet, attached Azure disk, static IP address, route table, or user-assigned kubelet identity that's outside of the worker node resource group, we recommend using [user-assigned control plane identity][Bring your own control plane managed identity]. For system-assigned control plane identity, we can't get the identity ID before creating cluster, which delays the role assignment from taking effect.
+If you're not using the Azure CLI, but you're using your own VNet, attached Azure disk, static IP address, route table, or user-assigned kubelet identity that's outside of the worker node resource group, we recommend using [user-assigned control plane identity][bring-your-own-control-plane-managed-identity]. For system-assigned control plane identity, we can't get the identity ID before creating cluster, which delays the role assignment from taking effect.
### Get the principal ID of control plane identity
For a VNet, attached Azure disk, static IP address, or route table outside the d
az role assignment create --assignee <control-plane-identity-principal-id> --role "Contributor" --scope "<custom-resource-group-resource-id>" ```
-For a user-assigned kubelet identity outside the default worker node resource group, you need to assign the `Managed Identity Operator` role on the kubelet identity.
+For a user-assigned kubelet identity outside the default worker node resource group, you need to assign the [Managed Identity Operator][managed-identity-operator] role on the kubelet identity for control plane identity.
* Assign the `Managed Identity Operator` role on the kubelet identity using the [`az role assignment create`][az-role-assignment-create] command. ```azurecli-interactive
- az role assignment create --assignee <kubelet-identity-principal-id> --role "Managed Identity Operator" --scope "<kubelet-identity-resource-id>"
+ az role assignment create --assignee <control-plane-identity-principal-id> --role "Managed Identity Operator" --scope "<kubelet-identity-resource-id>"
``` > [!NOTE]
For a user-assigned kubelet identity outside the default worker node resource gr
## Bring your own control plane managed identity
+### Create a cluster using user-assigned control plane identity
+ A custom control plane managed identity enables access to the existing identity prior to cluster creation. This feature enables scenarios such as using a custom VNet or outboundType of UDR with a pre-created managed identity. > [!NOTE] > > USDOD Central, USDOD East, and USGov Iowa regions in Azure US Government cloud aren't supported. >
-> AKS creates a system-assigned kubelet identity in the node resource group if you don't [specify your own kubelet managed identity][Use a pre-created kubelet managed identity].
+> AKS creates a user-assigned kubelet identity in the node resource group if you don't [specify your own kubelet managed identity][Use a pre-created kubelet managed identity].
* If you don't have a managed identity, create one using the [`az identity create`][az-identity-create] command.
A custom control plane managed identity enables access to the existing identity
} ```
-* Before creating the cluster, [add the role assignment for control plane identity][add role assignment for control plane identity] using the [`az aks create`][az-aks-create] command.
+> [!NOTE]
+> It may take up to 60 minutes for the permissions granted to your cluster's managed identity to populate.
+
+* Before creating the cluster, [add the role assignment for control plane identity][add-role-assignment-for-control-plane-identity] using the [`az role assignment create`][az-role-assignment-create] command.
+
+* Create the cluster with user-assigned control plane identity.
```azurecli-interactive az aks create \
A custom control plane managed identity enables access to the existing identity
--assign-identity <identity-resource-id> ```
-## Use a pre-created kubelet managed identity
+### Update control plane identity on an existing cluster
-A kubelet identity enables access to the existing identity prior to cluster creation. This feature enables scenarios such as connection to ACR with a pre-created managed identity.
+* If you don't have a managed identity, create one using the [`az identity create`][az-identity-create] command.
+
+ ```azurecli-interactive
+ az identity create --name myIdentity --resource-group myResourceGroup
+ ```
+
+ Your output should resemble the following example output:
+
+ ```output
+ {
+ "clientId": "<client-id>",
+ "clientSecretUrl": "<clientSecretUrl>",
+ "id": "/subscriptions/<subscriptionid>/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity",
+ "location": "westus2",
+ "name": "myIdentity",
+ "principalId": "<principal-id>",
+ "resourceGroup": "myResourceGroup",
+ "tags": {},
+ "tenantId": "<tenant-id>",
+ "type": "Microsoft.ManagedIdentity/userAssignedIdentities"
+ }
+ ```
+
+* After creating the identity, [add the role assignment for control plane identity][add-role-assignment-for-control-plane-identity] using the [`az role assignment create`][az-role-assignment-create] command.
-### Prerequisites
+* Update your cluster with your existing identities using the [`az aks update`][az-aks-update] command. Make sure you provide the control plane identity resource ID for `assign-identity`.
-Make sure you have Azure CLI version 2.26.0 or later installed. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][install-azure-cli].
+ ```azurecli-interactive
+ az aks update \
+ --resource-group myResourceGroup \
+ --name myManagedCluster \
+ --enable-managed-identity \
+ --assign-identity <identity-resource-id>
+ ```
+
+ Your output for a successful cluster update using your own kubelet managed identity should resemble the following example output:
+
+ ```output
+ "identity": {
+ "principalId": null,
+ "tenantId": null,
+ "type": "UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/<subscriptionid>/resourcegroups/resourcegroups/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity": {
+ "clientId": "<client-id>",
+ "principalId": "<principal-id>"
+ }
+ }
+ },
+ ```
+
+## Use a pre-created kubelet managed identity
+
+A kubelet identity enables access to the existing identity prior to cluster creation. This feature enables scenarios such as connection to ACR with a pre-created managed identity.
### Pre-created kubelet identity limitations
Use [Azure Resource Manager templates][aks-arm-template] to create a managed ide
[az-identity-create]: /cli/azure/identity#az_identity_create [az-identity-show]: /cli/azure/identity#az_identity_show [managed-identity-resources-overview]: ../active-directory/managed-identities-azure-resources/overview.md
-[Bring your own control plane managed identity]: use-managed-identity.md#bring-your-own-control-plane-managed-identity
-[Use a pre-created kubelet managed identity]: use-managed-identity.md#use-a-pre-created-kubelet-managed-identity
+[bring-your-own-control-plane-managed-identity]: use-managed-identity.md#bring-your-own-control-plane-managed-identity
+[use-a-pre-created-kubelet-managed-identity]: use-managed-identity.md#use-a-pre-created-kubelet-managed-identity
+[update-control-plane-identity-on-an-existing-cluster]: use-managed-identity.md#update-control-plane-identity-on-an-existing-cluster
[workload-identity-overview]: workload-identity-overview.md [aad-pod-identity]: use-azure-ad-pod-identity.md [add role assignment for control plane identity]: use-managed-identity.md#add-role-assignment-for-control-plane-identity
+[add-role-assignment-for-control-plane-identity]: use-managed-identity.md#add-role-assignment-for-control-plane-identity
[az-group-create]: /cli/azure/group#az_group_create [az-aks-create]: /cli/azure/aks#az_aks_create [az-aks-get-credentials]: /cli/azure/aks#az_aks_get_credentials
Use [Azure Resource Manager templates][aks-arm-template] to create a managed ide
[az-role-assignment-create]: /cli/azure/role/assignment#az_role_assignment_create [az-version]: /cli/azure/reference-index#az_version [az-upgrade]: /cli/azure/reference-index#az_upgrade
+[managed-identity-operator]: ../role-based-access-control/built-in-roles.md#managed-identity-operator
analysis-services Analysis Services Gateway Install https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/analysis-services/analysis-services-gateway-install.md
Last updated 01/27/2023 --+ # Install and configure an on-premises data gateway
analysis-services Analysis Services Scale Out https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/analysis-services/analysis-services-scale-out.md
Last updated 04/27/2021 --+ # Azure Analysis Services scale-out
api-management Api Management Api Templates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-api-templates.md
na
Last updated 11/04/2019 -+ # API templates in Azure API Management
api-management Api Management Howto Ca Certificates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-howto-ca-certificates.md
Last updated 06/01/2021 -+ # How to add a custom CA certificate in Azure API Management
api-management Api Management Policy Expressions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-policy-expressions.md
documentationcenter: ''
+ Last updated 03/07/2023
For more information:
- See how to use expressions with the [Get from cache](cache-lookup-policy.md) and [Store to cache](cache-store-policy.md) policies to configure API Management response caching. Set a duration that matches the response caching of the backend service as specified by the backed service's `Cache-Control` directive. - See how to perform content filtering. Remove data elements from the response received from the backend using the [Control flow](choose-policy.md) and [Set body](set-body-policy.md) policies. - To download the policy statements, see the [api-management-samples/policies](https://github.com/Azure/api-management-samples/tree/master/policies) GitHub repo.-
api-management Api Management Revisions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-revisions.md
Last updated 02/22/2022 -+ # Revisions in Azure API Management
api-management Backends https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/backends.md
Last updated 09/21/2021 -+ # Backends in API Management
For **Developer** and **Premium** tiers, an API Management instance deployed in
* Set up a [Service Fabric backend](how-to-configure-service-fabric-backend.md) using the Azure portal. * Backends can also be configured using the API Management [REST API](/rest/api/apimanagement), [Azure PowerShell](/powershell/module/az.apimanagement/new-azapimanagementbackend), or [Azure Resource Manager templates](../service-fabric/service-fabric-tutorial-deploy-api-management.md).-
api-management Self Hosted Gateway Enable Azure Ad https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/self-hosted-gateway-enable-azure-ad.md
To enable Azure AD authentication, complete the following steps:
* An API Management instance in the Developer or Premium service tier. If needed, complete the following quickstart: [Create an Azure API Management instance](get-started-create-service-instance.md). * Provision a [gateway resource](api-management-howto-provision-self-hosted-gateway.md) on the instance. * Enable a [managed identity](api-management-howto-use-managed-service-identity.md) on the instance.
+* Self-hosted gateway container image version 2.2 or later
## Create custom roles
kubectl apply -f mygw.yaml
* Learn [how to deploy API Management self-hosted gateway to Azure Arc-enabled Kubernetes clusters](how-to-deploy-self-hosted-gateway-azure-arc.md). [helm]: https://helm.sh/
-[helm-install]: https://helm.sh/docs/intro/install/
+[helm-install]: https://helm.sh/docs/intro/install/
api-management Self Hosted Gateway Settings Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/self-hosted-gateway-settings-reference.md
This guidance helps you provide the required information to define how to authen
| telemetry.metrics.cloud | Indication whether or not to [enable emitting metrics to Azure Monitor](how-to-configure-cloud-metrics-logs.md). | No | `true` | v2.0+ | | observability.opentelemetry.enabled | Indication whether or not to enable [emitting metrics to an OpenTelemetry collector](how-to-deploy-self-hosted-gateway-kubernetes-opentelemetry.md) on Kubernetes. | No | `false` | v2.0+ | | observability.opentelemetry.collector.uri | URI of the OpenTelemetry collector to send metrics to. | Yes, if `observability.opentelemetry.enabled` is set to `true`; otherwise no. | N/A | v2.0+ |
+| observability.opentelemetry.system-metrics.enabled | Enable sending system metrics to the OpenTelemetry collector such as CPU, memory, garbage collection, etc. | No | `false` | v2.3+ |
| observability.opentelemetry.histogram.buckets | Histogram buckets in which OpenTelemetry metrics should be reported. Format: "*x,y,z*,...". | No | "5,10,25,50,100,250,500,1000,2500,5000,10000" | v2.0+ | ## Logs
app-service App Service Asp Net Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-asp-net-migration.md
Last updated 06/28/2022 ms.devlang: csharp--+ # .NET migration cases for Azure App Service
app-service App Service Best Practices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-best-practices.md
ms.assetid: f3359464-fa44-4f4a-9ea6-7821060e8d0d
Last updated 07/01/2016 --+ # Best Practices for Azure App Service This article summarizes best practices for using [Azure App Service](./overview.md).
app-service App Service Java Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-java-migration.md
Last updated 03/29/2021 ms.devlang: java--+ # Java migration resources for Azure App Service
app-service App Service Migration Assess Net https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-migration-assess-net.md
Last updated 06/28/2022 ms.devlang: csharp--+ # At-scale assessment of .NET web apps
app-service App Service Migration Discover Net https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-migration-discover-net.md
Last updated 03/29/2021 ms.devlang: csharp--+ # At-scale discovery of .NET web apps
app-service App Service Web Configure Tls Mutual Auth https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-web-configure-tls-mutual-auth.md
ms.assetid: cd1d15d3-2d9e-4502-9f11-a306dac4453a
Last updated 12/11/2020 ms.devlang: csharp--+ # Configure TLS mutual authentication for Azure App Service
app-service App Service Web Nodejs Best Practices And Troubleshoot Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/app-service-web-nodejs-best-practices-and-troubleshoot-guide.md
ms.devlang: javascript
Last updated 11/09/2017 -+ # Best practices and troubleshooting guide for node applications on Azure App Service Windows
app-service Configure Language Dotnet Framework https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/configure-language-dotnet-framework.md
Title: Configure ASP.NET apps
description: Learn how to configure an ASP.NET app in Azure App Service. This article shows the most common configuration tasks. ms.devlang: csharp-+ Last updated 06/02/2020- # Configure an ASP.NET app for Azure App Service
app-service Configure Language Dotnetcore https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/configure-language-dotnetcore.md
Title: Configure ASP.NET Core apps
description: Learn how to configure a ASP.NET Core app in the native Windows instances, or in a pre-built Linux container, in Azure App Service. This article shows the most common configuration tasks. ms.devlang: csharp-+ Last updated 06/02/2020 zone_pivot_groups: app-service-platform-windows-linux- # Configure an ASP.NET Core app for Azure App Service
app-service Configure Language Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/configure-language-java.md
ms.devlang: java
Last updated 04/12/2019 -+ zone_pivot_groups: app-service-platform-windows-linux adobe-target: true
app-service Deploy Github Actions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/deploy-github-actions.md
description: Learn how to deploy your code to Azure App Service from a CI/CD pip
Last updated 12/14/2021 --+ # Deploy to App Service using GitHub Actions
app-service Getting Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/getting-started.md
description: Take the first steps toward working with Azure App Service.
+ Last updated 4/10/2023 zone_pivot_groups: app-service-getting-started-stacks
app-service Overview Inbound Outbound Ips https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview-inbound-outbound-ips.md
description: Learn how inbound and outbound IP addresses are used in Azure App S
Last updated 04/05/2023--+ # Inbound and outbound IP addresses in Azure App Service
app-service Overview Managed Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview-managed-identity.md
description: Learn how managed identities work in Azure App Service and Azure Fu
Last updated 01/27/2022 --+ # How to use managed identities for App Service and Azure Functions
app-service Quickstart Dotnetcore Uiex https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/quickstart-dotnetcore-uiex.md
ms.assetid: b1e6bd58-48d1-4007-9d6c-53fd6db061e3
Last updated 11/23/2020 ms.devlang: csharp-+ zone_pivot_groups: app-service-platform-windows-linux
app-service Quickstart Dotnetcore https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/quickstart-dotnetcore.md
description: Learn how to run web apps in Azure App Service by deploying your fi
ms.assetid: b1e6bd58-48d1-4007-9d6c-53fd6db061e3 Last updated 05/03/2023-+ zone_pivot_groups: app-service-ide adobe-target: true adobe-target-activity: DocsExpΓÇô386541ΓÇôA/BΓÇôEnhanced-Readability-QuickstartsΓÇô2.19.2021
app-service Quickstart Java Uiex https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/quickstart-java-uiex.md
ms.assetid: 582bb3c2-164b-42f5-b081-95bfcb7a502a
ms.devlang: java Last updated 08/01/2020-+ zone_pivot_groups: app-service-platform-windows-linux
app-service Quickstart Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/quickstart-java.md
ms.assetid: 582bb3c2-164b-42f5-b081-95bfcb7a502a
ms.devlang: java Last updated 03/08/2023-+ zone_pivot_groups: app-service-platform-environment adobe-target: true adobe-target-activity: DocsExpΓÇô386541ΓÇôA/BΓÇôEnhanced-Readability-QuickstartsΓÇô2.19.2021
app-service Quickstart Nodejs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/quickstart-nodejs.md
ms.assetid: 582bb3c2-164b-42f5-b081-95bfcb7a502a
-+ Last updated 03/22/2022 ms.devlang: javascript #zone_pivot_groups: app-service-ide-oss
app-service Quickstart Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/quickstart-python.md
Last updated 08/23/2022
ms.devlang: python-+ # Quickstart: Deploy a Python (Django or Flask) web app to Azure App Service
app-service Scenario Secure App Access Microsoft Graph As App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/scenario-secure-app-access-microsoft-graph-as-app.md
Last updated 04/05/2023
ms.devlang: csharp-+ #Customer intent: As an application developer, I want to learn how to access data in Microsoft Graph by using managed identities.
app-service Scenario Secure App Access Microsoft Graph As User https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/scenario-secure-app-access-microsoft-graph-as-user.md
Last updated 03/08/2022
ms.devlang: csharp-
-#Customer intent: As an application developer, I want to learn how to access data in Microsoft Graph for a signed-in user.
+
+#Customer intent: As an application developer, I want to learn how to access data in Microsoft Graph for a signed-in user.
# Tutorial: Access Microsoft Graph from a secured .NET app as the user
public class IndexModel : PageModel
```
app-service Scenario Secure App Access Storage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/scenario-secure-app-access-storage.md
Last updated 03/14/2023
ms.devlang: csharp, azurecli-
-#Customer intent: As an application developer, I want to learn how to access Azure Storage for an app by using managed identities.
+
+#Customer intent: As an application developer, I want to learn how to access Azure Storage for an app by using managed identities.
# Tutorial: Access Azure services from a .NET web app
app-service Cli Linux Acr Aspnetcore https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/scripts/cli-linux-acr-aspnetcore.md
ms.devlang: azurecli
Last updated 04/25/2022 -+ # Create an ASP.NET Core app in a Docker container in App Service from Azure Container Registry
app-service Cli Linux Docker Aspnetcore https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/scripts/cli-linux-docker-aspnetcore.md
ms.devlang: azurecli
Last updated 04/21/2022 -+ # Create an ASP.NET Core app in a Docker container from Docker Hub using Azure CLI
app-service Troubleshoot Domain Ssl Certificates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/troubleshoot-domain-ssl-certificates.md
tags: top-support-issue
Last updated 03/01/2019 --+ # Troubleshoot domain and TLS/SSL certificate problems in Azure App Service
app-service Troubleshoot Dotnet Visual Studio https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/troubleshoot-dotnet-visual-studio.md
ms.assetid: def8e481-7803-4371-aa55-64025d116c97
ms.devlang: csharp Last updated 08/29/2016--+ # Troubleshoot an app in Azure App Service using Visual Studio ## Overview
app-service Tutorial Auth Aad https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-auth-aad.md
keywords: app service, azure app service, authN, authZ, secure, security, multi-
ms.devlang: csharp Last updated 3/08/2023-+ zone_pivot_groups: app-service-platform-windows-linux # Requires non-internal subscription - internal subscriptons doesn't provide permission to correctly configure AAD apps
app-service Tutorial Connect App Access Microsoft Graph As App Javascript https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-connect-app-access-microsoft-graph-as-app-javascript.md
Last updated 03/14/2023
ms.devlang: javascript-+ #Customer intent: As an application developer, I want to learn how to access data in Microsoft Graph by using managed identities.
app-service Tutorial Connect App Access Microsoft Graph As User Javascript https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-connect-app-access-microsoft-graph-as-user-javascript.md
Last updated 03/08/2022
ms.devlang: csharp-
-#Customer intent: As an application developer, I want to learn how to access data in Microsoft Graph for a signed-in user.
+
+#Customer intent: As an application developer, I want to learn how to access data in Microsoft Graph for a signed-in user.
# Tutorial: Access Microsoft Graph from a secured JavaScript app as the user
getAuthenticatedClient = (accessToken) => {
```
app-service Tutorial Connect App Access Sql Database As User Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-connect-app-access-sql-database-as-user-dotnet.md
ms.devlang: csharp+ Last updated 04/21/2023
app-service Tutorial Connect App Access Storage Javascript https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-connect-app-access-storage-javascript.md
Last updated 03/14/2023
ms.devlang: javascript, azurecli-
-#Customer intent: As an application developer, I want to learn how to access Azure Storage for an app by using managed identities.
+
+#Customer intent: As an application developer, I want to learn how to access Azure Storage for an app by using managed identities.
# Tutorial: Access Azure services from a JavaScript web app
async function uploadBlob(accountName, containerName, blobName, blobContents) {
[!INCLUDE [tutorial-clean-up-steps](./includes/tutorial-cleanup.md)]
app-service Tutorial Connect App App Graph Javascript https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-connect-app-app-graph-javascript.md
keywords: app service, azure app service, authN, authZ, secure, security, multi-
ms.devlang: javascript Last updated 3/13/2023-+ zone_pivot_groups: app-service-platform-windows-linux # Requires non-internal subscription - internal subscriptons doesn't provide permission to correctly configure AAD apps
This tutorial demonstrates an API app authenticated to **Microsoft Graph**, howe
## Next steps * [Tutorial: Create a secure n-tier app in Azure App Service](tutorial-secure-ntier-app.md)
-* [Deploy a Node.js + MongoDB web app to Azure](tutorial-nodejs-mongodb-app.md)
+* [Deploy a Node.js + MongoDB web app to Azure](tutorial-nodejs-mongodb-app.md)
app-service Tutorial Connect Msi Azure Database https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-connect-msi-azure-database.md
keywords: azure app service, web app, security, msi, managed service identity, m
ms.devlang: csharp,java,javascript,python Last updated 04/12/2022-+ # Tutorial: Connect to Azure databases from App Service without secrets using a managed identity
app-service Tutorial Connect Msi Key Vault https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-connect-msi-key-vault.md
Last updated 10/26/2021 -+ # Tutorial: Secure Cognitive Service connection from .NET App Service using Key Vault
app-service Tutorial Connect Msi Sql Database https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-connect-msi-sql-database.md
description: Secure Azure SQL Database connectivity with managed identity from a
ms.devlang: csharp Last updated 04/01/2023-+ # Tutorial: Connect to SQL Database from .NET App Service without secrets using a managed identity
app-service Tutorial Custom Container https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-custom-container.md
Last updated 11/29/2022 keywords: azure app service, web app, linux, windows, docker, container-+ zone_pivot_groups: app-service-containers-windows-linux
app-service Tutorial Dotnetcore Sqldb App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-dotnetcore-sqldb-app.md
ms.devlang: csharp -+ # Tutorial: Deploy an ASP.NET Core and Azure SQL Database app to Azure App Service
app-service Tutorial Java Quarkus Postgresql App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-java-quarkus-postgresql-app.md
ms.devlang: java Last updated 5/27/2022-+ # Tutorial: Build a Quarkus web app with Azure App Service on Linux and PostgreSQL
app-service Tutorial Java Spring Cosmosdb https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-java-spring-cosmosdb.md
ms.devlang: java Last updated 12/10/2018-+ # Tutorial: Build a Java Spring Boot web app with Azure App Service on Linux and Azure Cosmos DB
app-service Tutorial Java Tomcat Connect Managed Identity Postgresql Database https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-java-tomcat-connect-managed-identity-postgresql-database.md
Last updated 09/26/2022 -+ # Tutorial: Connect to a PostgreSQL Database from Java Tomcat App Service without secrets using a managed identity
app-service Tutorial Nodejs Mongodb App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-nodejs-mongodb-app.md
Last updated 09/06/2022
ms.role: developer ms.devlang: javascript-+ # Deploy a Node.js + MongoDB web app to Azure
app-service Tutorial Python Postgresql App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/tutorial-python-postgresql-app.md
description: Create a Python Django or Flask web app with a PostgreSQL database
ms.devlang: python Last updated 02/28/2023-+ zone_pivot_groups: deploy-python-web-app-postgressql
app-service Webjobs Dotnet Deploy Vs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/webjobs-dotnet-deploy-vs.md
ms.assetid: a3a9d320-1201-4ac8-9398-b4c9535ba755 ms.devlang: csharp-+ Last updated 06/24/2021
application-gateway Quick Create Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/quick-create-cli.md
Last updated 04/27/2023 -+ # Quickstart: Direct web traffic with Azure Application Gateway - Azure CLI
application-gateway Understanding Pricing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/understanding-pricing.md
Variable Costs = $0.008 * ( 2 (Instance Units) * 10 (capacity units) * 730 (Hou
DDoS Network Protection Cost = $2,944 * 1 (month) = $2,944
-Total Costs = $179.58 + $11.68 + $2,944 = $3,135.26
+Total Costs = $179.58 + $116.8 + $2,944 = $3,240.38
## V1 SKUs
applied-ai-services Use Sdk Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/form-recognizer/how-to-guides/use-sdk-rest-api.md
+ Last updated 03/03/2023
applied-ai-services Get Started Sdks Rest Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/form-recognizer/quickstarts/get-started-sdks-rest-api.md
+ Last updated 11/18/2022
applied-ai-services Sdk Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/form-recognizer/sdk-overview.md
+ Last updated 04/25/2023
applied-ai-services Sdk Preview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/form-recognizer/sdk-preview.md
+ Last updated 04/25/2023
applied-ai-services Tutorial Azure Function https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/form-recognizer/tutorial-azure-function.md
Last updated 10/31/2022 -+ # Tutorial: Use Azure Functions and Python to process stored documents
applied-ai-services How To Launch Immersive Reader https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/immersive-reader/how-to-launch-immersive-reader.md
Last updated 03/04/2021 -+ zone_pivot_groups: immersive-reader-how-to-guides
In the [overview](./overview.md), you learned about what the Immersive Reader is
[!INCLUDE [How to launch with iOS](includes/how-to/how-to-launch-immersive-reader-ios.md)]
applied-ai-services How To Prepare Html https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/immersive-reader/how-to-prepare-html.md
+ Last updated 03/04/2021
ImmersiveReader.launchAsync(YOUR_TOKEN, YOUR_SUBDOMAIN, data, YOUR_OPTIONS);
## Next steps
-* Explore the [Immersive Reader SDK Reference](reference.md)
+* Explore the [Immersive Reader SDK Reference](reference.md)
applied-ai-services Display Math https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/immersive-reader/how-to/display-math.md
Last updated 01/14/2020 -+ # How to display math in the Immersive Reader
When you launch the Immersive Reader, you should see:
## Next steps
-* Explore the [Immersive Reader SDK](https://github.com/microsoft/immersive-reader-sdk) and the [Immersive Reader SDK Reference](../reference.md)
+* Explore the [Immersive Reader SDK](https://github.com/microsoft/immersive-reader-sdk) and the [Immersive Reader SDK Reference](../reference.md)
applied-ai-services Set Cookie Policy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/immersive-reader/how-to/set-cookie-policy.md
Last updated 01/06/2020 -+ # How to set the cookie policy for the Immersive Reader
ImmersiveReader.launchAsync(YOUR_TOKEN, YOUR_SUBDOMAIN, YOUR_DATA, options);
* View the [Android tutorial](../how-to-launch-immersive-reader.md) to see what else you can do with the Immersive Reader SDK using Java or Kotlin for Android * View the [iOS tutorial](../how-to-launch-immersive-reader.md) to see what else you can do with the Immersive Reader SDK using Swift for iOS * View the [Python tutorial](../how-to-launch-immersive-reader.md) to see what else you can do with the Immersive Reader SDK using Python
-* Explore the [Immersive Reader SDK](https://github.com/microsoft/immersive-reader-sdk) and the [Immersive Reader SDK Reference](../reference.md)
+* Explore the [Immersive Reader SDK](https://github.com/microsoft/immersive-reader-sdk) and the [Immersive Reader SDK Reference](../reference.md)
applied-ai-services Client Libraries https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/immersive-reader/quickstarts/client-libraries.md
Last updated 03/08/2021 -+ keywords: display pictures, parts of speech, read selected text, translate words, reading comprehension
applied-ai-services Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/immersive-reader/reference.md
+ Last updated 11/15/2021
applied-ai-services Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/immersive-reader/release-notes.md
+ Last updated 11/15/2021
applied-ai-services Rest Api And Client Library https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/metrics-advisor/quickstarts/rest-api-and-client-library.md
Last updated 11/07/2022 zone_pivot_groups: programming-languages-metrics-monitor-+ # Quickstart: Use the client libraries or REST APIs to customize your solution
attestation Troubleshoot Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/attestation/troubleshoot-guide.md
Last updated 01/23/2023 --+ # Microsoft Azure Attestation troubleshooting guide
automanage Quick Go Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/quick-go-sdk.md
description: Create configuration profile assignments using the GO SDK for Autom
+ Last updated 08/24/2022
newAssignment, err = assignmentClient.CreateOrUpdate(context.Background(), "defa
> [!div class="nextstepaction"] Learn how to conduct more operations with the GO Automanage Client by visiting the [azure-sdk-for-go repo](https://github.com/Azure/azure-sdk-for-go/blob/main/sdk/resourcemanager/automanage/armautomanage/).-
automanage Quick Java Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/quick-java-sdk.md
description: Create configuration profile assignments using the Java SDK for Aut
+ Last updated 08/24/2022
client
> [!div class="nextstepaction"] Learn how to conduct more operations with the Java Automanage Client by visiting the [azure-sdk-for-java repo](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/automanage/azure-resourcemanager-automanage).-
automanage Quick Javascript Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/quick-javascript-sdk.md
description: Create configuration profile assignments using the JavaScript SDK f
+ Last updated 08/24/2022
await client.configurationProfileAssignments.createOrUpdate("default", "resource
> [!div class="nextstepaction"] Learn how to conduct more operations with the JavaScript Automanage Client by visiting the [azure-sdk-for-js repo](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/automanage/arm-automanage).-
automanage Quick Python Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/quick-python-sdk.md
description: Create configuration profile assignments using the Python SDK for A
+ Last updated 08/24/2022
client.configuration_profile_assignments.create_or_update("default", "resourceGr
> [!div class="nextstepaction"] Learn how to conduct more operations with the Automanage Client by visiting the [azure-samples-python-management repo](https://github.com/Azure-Samples/azure-samples-python-management/tree/main/samples/automanage).-
automanage Tutorial Create Assignment Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automanage/tutorial-create-assignment-python.md
description: Create a virtual machine and assign an automanage best practices co
+ Last updated 08/25/2022
automation Automation Connections https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-connections.md
Last updated 04/12/2023 -+ # Manage connections in Azure Automation
automation Automation Dsc Onboarding https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-dsc-onboarding.md
Last updated 12/10/2019-+ # Enable Azure Automation State Configuration
automation Automation Faq https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-faq.md
Title: Azure Automation FAQ
description: This article gives answers to frequently asked questions about Azure Automation. + Last updated 08/25/2021 #Customer intent: As an implementer, I want answers to various questions.
automation Automation Graphical Authoring Intro https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-graphical-authoring-intro.md
Last updated 04/25/2023 -+ # Author graphical runbooks in Azure Automation
You have the option to revert to the Published version of a runbook. This operat
* To get started with graphical runbooks, see [Tutorial: Create a graphical runbook](./learn/powershell-runbook-managed-identity.md). * To know more about runbook types and their advantages and limitations, see [Azure Automation runbook types](automation-runbook-types.md). * To understand how to authenticate using the Automation Run As account, see [Run As account](automation-security-overview.md#run-as-account).
-* For a PowerShell cmdlet reference, see [Az.Automation](/powershell/module/az.automation/#automation).
+* For a PowerShell cmdlet reference, see [Az.Automation](/powershell/module/az.automation/#automation).
automation Automation Managed Identity Faq https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-managed-identity-faq.md
Last updated 07/25/2021-+ #Customer intent: As an implementer, I want answers to various questions.
automation Automation Managing Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-managing-data.md
Last updated 05/26/2023 -+ # Management of Azure Automation data
automation Automation Orchestrator Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-orchestrator-migration.md
Last updated 03/16/2018 -+ # Migrate from Orchestrator to Azure Automation (Beta)
automation Automation Runbook Authoring https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-runbook-authoring.md
Last updated 01/10/2023 -+ # Runbook authoring through VS Code in Azure Automation
Currently, the following features aren't supported:
## Next steps - For Runbook management operations and to test runbook and jobs, see [Use Azure Automation extension for Visual Studio Code](../automation/how-to/runbook-authoring-extension-for-vscode.md)-
automation Automation Runbook Execution https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-runbook-execution.md
Last updated 12/28/2022 -+ # Runbook execution in Azure Automation
automation Automation Runbook Graphical Error Handling https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-runbook-graphical-error-handling.md
Last updated 02/27/2022 -+ # Handle errors in graphical runbooks
automation Automation Runbook Types https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-runbook-types.md
Last updated 05/08/2023 -+ # Azure Automation runbook types
automation Automation Security Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-security-overview.md
Last updated 04/12/2023 -+ # Azure Automation account authentication overview
For runbooks that use Hybrid Runbook Workers on Azure VMs, you can use [runbook
* To create an Automation account from the Azure portal, see [Create a standalone Azure Automation account](automation-create-standalone-account.md). * If you prefer to create your account using a template, see [Create an Automation account using an Azure Resource Manager template](quickstart-create-automation-account-template.md). * For authentication using Amazon Web Services, see [Authenticate runbooks with Amazon Web Services](automation-config-aws-account.md).
-* For a list of Azure services that support the managed identities for Azure resources feature, see [Services that support managed identities for Azure resources](../active-directory/managed-identities-azure-resources/services-support-managed-identities.md).
+* For a list of Azure services that support the managed identities for Azure resources feature, see [Services that support managed identities for Azure resources](../active-directory/managed-identities-azure-resources/services-support-managed-identities.md).
automation Automation Solution Vm Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/automation-solution-vm-management.md
Last updated 03/16/2023 -+ # Start/Stop VMs during off-hours overview
You can perform further analysis of the job records by clicking the donut tile.
## Next steps
-To enable the feature on VMs in your environment, see [Enable Start/Stop VMs during off-hours](automation-solution-vm-management-enable.md).
+To enable the feature on VMs in your environment, see [Enable Start/Stop VMs during off-hours](automation-solution-vm-management-enable.md).
automation Extension Based Hybrid Runbook Worker Install https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/extension-based-hybrid-runbook-worker-install.md
Title: Deploy an extension-based Windows or Linux User Hybrid Runbook Worker in
description: This article provides information about deploying the extension-based User Hybrid Runbook Worker to run runbooks on Windows or Linux machines in your on-premises datacenter or other cloud environment. -+ Last updated 04/10/2023 #Customer intent: As a developer, I want to learn about extension so that I can efficiently deploy Hybrid Runbook Workers.
automation Automation Tutorial Runbook Textual https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/learn/automation-tutorial-runbook-textual.md
Last updated 10/16/2022 -+ #Customer intent: As a developer, I want use workflow runbooks so that I can automate the parallel starting of VMs.
automation Migrate Existing Agent Based Hybrid Worker To Extension Based Workers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/migrate-existing-agent-based-hybrid-worker-to-extension-based-workers.md
description: This article provides information on how to migrate an existing age
Last updated 04/11/2023-+ #Customer intent: As a developer, I want to learn about extension so that I can efficiently migrate agent based hybrid workers to extension based workers.
automation Migrate Run As Accounts Managed Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/migrate-run-as-accounts-managed-identity.md
Last updated 05/29/2023 -+ # Migrate from an existing Run As account to Managed identities
For more information, see the sample runbook name **AzureAutomationTutorialWithI
- To learn more about user-assigned managed identities, see [Using a user-assigned managed identity for an Azure Automation account]( add-user-assigned-identity.md). - For information about Azure Automation account security, see [Azure Automation account authentication overview](automation-security-overview.md).-
automation Python 3 Packages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/python-3-packages.md
Last updated 05/08/2023 -+ # Manage Python 3 packages in Azure Automation
automation Certificates https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/shared-resources/certificates.md
Last updated 05/26/2023 -+ # Manage certificates in Azure Automation
automation Credentials https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/shared-resources/credentials.md
Title: Manage credentials in Azure Automation
description: This article tells how to create credential assets and use them in a runbook or DSC configuration. + Last updated 05/26/2023
automation Modules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/shared-resources/modules.md
Last updated 11/01/2021 -+ # Manage modules in Azure Automation
automation Variables https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/shared-resources/variables.md
Last updated 03/28/2021 -+ # Manage variables in Azure Automation
automation Desired State Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/troubleshoot/desired-state-configuration.md
Last updated 10/17/2022 -+ # Troubleshoot Azure Automation State Configuration issues
automation Extension Based Hybrid Runbook Worker https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/troubleshoot/extension-based-hybrid-runbook-worker.md
description: This article tells how to troubleshoot and resolve issues that aris
Last updated 04/26/2023 -+ # Troubleshoot VM extension-based Hybrid Runbook Worker issues in Automation
automation Shared Resources https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/troubleshoot/shared-resources.md
Last updated 01/27/2021 -+ # Troubleshoot shared resource issues
automation Start Stop Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/automation/troubleshoot/start-stop-vm.md
Last updated 03/16/2023 -+ # Troubleshoot Start/Stop VMs during off-hours issues
If you don't see your problem here or you can't resolve your issue, try one of t
* Get answers from Azure experts through [Azure Forums](https://azure.microsoft.com/support/forums/). * Connect with [@AzureSupport](https://twitter.com/azuresupport), the official Microsoft Azure account for improving customer experience. Azure Support connects the Azure community to answers, support, and experts.
-* File an Azure support incident. Go to the [Azure support site](https://azure.microsoft.com/support/options/), and select **Get Support**.
+* File an Azure support incident. Go to the [Azure support site](https://azure.microsoft.com/support/options/), and select **Get Support**.
azure-app-configuration Concept Feature Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/concept-feature-management.md
description: Turn features on and off using Azure App Configuration
-+ Last updated 08/17/2022
azure-app-configuration Concept Soft Delete https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/concept-soft-delete.md
description: Soft Delete in Azure App Configuration
-+ Last updated 03/01/2022
azure-app-configuration Enable Dynamic Configuration Aspnet Netfx https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/enable-dynamic-configuration-aspnet-netfx.md
ms.devlang: csharp-+ Last updated 03/20/2023 - #Customer intent: I want to dynamically update my ASP.NET web application (.NET Framework) to use the latest configuration data in App Configuration. # Tutorial: Use dynamic configuration in an ASP.NET web application (.NET Framework)
azure-app-configuration Enable Dynamic Configuration Dotnet Core Push Refresh https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/enable-dynamic-configuration-dotnet-core-push-refresh.md
ms.assetid:
ms.devlang: csharp+ Last updated 02/03/2022 - #Customer intent: I want to use push refresh to dynamically update my app to use the latest configuration data in App Configuration. # Tutorial: Use dynamic configuration using push refresh in a .NET Core app
The `ProcessPushNotification` method takes in a `PushNotification` object contai
In this tutorial, you enabled your .NET Core app to dynamically refresh configuration settings from App Configuration. To learn how to use an Azure managed identity to streamline the access to App Configuration, continue to the next tutorial. > [!div class="nextstepaction"]
-> [Managed identity integration](./howto-integrate-azure-managed-service-identity.md)
+> [Managed identity integration](./howto-integrate-azure-managed-service-identity.md)
azure-app-configuration Enable Dynamic Configuration Dotnet Core https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/enable-dynamic-configuration-dotnet-core.md
ms.assetid:
ms.devlang: csharp-+ Last updated 07/01/2019 - #Customer intent: I want to dynamically update my app to use the latest configuration data in App Configuration. # Tutorial: Use dynamic configuration in a .NET Core app
azure-app-configuration Enable Dynamic Configuration Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/enable-dynamic-configuration-dotnet.md
ms.devlang: csharp-+ Last updated 03/20/2023 - #Customer intent: I want to dynamically update my .NET Framework app to use the latest configuration data in App Configuration. # Tutorial: Use dynamic configuration in a .NET Framework app
azure-app-configuration Enable Dynamic Configuration Java Spring App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/enable-dynamic-configuration-java-spring-app.md
ms.devlang: java Last updated 04/11/2023-+ - #Customer intent: As a Java Spring developer, I want to dynamically update my app to use the latest configuration data in App Configuration. # Tutorial: Use dynamic configuration in a Java Spring app
Then, open the *pom.xml* file in a text editor and add a `<dependency>` for `spr
**Spring Boot**
+### [Spring Boot 3](#tab/spring-boot-3)
+
+```xml
+<dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
+ <version>5.2.0</version>
+</dependency>
+```
+
+### [Spring Boot 2](#tab/spring-boot-2)
+ ```xml <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
- <version>4.7.0</version>
+ <version>4.8.0</version>
</dependency> ``` ++ 1. Update `bootstrap.properties` to enable refresh ```properties
azure-app-configuration Enable Dynamic Configuration Java Spring Push Refresh https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/enable-dynamic-configuration-java-spring-push-refresh.md
ms.assetid:
ms.devlang: java+ Last updated 04/11/2023 - #Customer intent: I want to use push refresh to dynamically update my app to use the latest configuration data in App Configuration. # Tutorial: Use dynamic configuration using push refresh in a Java Spring app
In this tutorial, you learn how to:
1. Open *pom.xml* and update the file with the following dependencies.
- ```xml
- <dependency>
- <groupId>com.azure.spring</groupId>
- <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
- <version>4.7.0</version>
- </dependency>
-
- <!-- Adds the Ability to Push Refresh -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-actuator</artifactId>
- </dependency>
- ```
+ ### [Spring Boot 3](#tab/spring-boot-3)
+
+ ```xml
+ <dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
+ <version>5.2.0</version>
+ </dependency>
+
+ <!-- Adds the Ability to Push Refresh -->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-actuator</artifactId>
+ </dependency>
+ ```
+
+ ### [Spring Boot 2](#tab/spring-boot-2)
+
+ ```xml
+ <dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
+ <version>4.8.0</version>
+ </dependency>
+
+ <!-- Adds the Ability to Push Refresh -->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-actuator</artifactId>
+ </dependency>
+ ```
+
+
+ 1. Set up [Maven App Service Deployment](../app-service/quickstart-java.md?tabs=javase) so the application can be deployed to Azure App Service via Maven.
azure-app-configuration Howto Convert To The New Spring Boot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/howto-convert-to-the-new-spring-boot.md
This article provides a reference on the changes and the actions needed to migra
All of the group and artifact IDs in the Azure libraries for Spring Boot have been updated to match a new format. The new package names are:
+### [Spring Boot 3](#tab/spring-boot-3)
+
+```xml
+<dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-appconfiguration-config</artifactId>
+ <version>5.2.0</version>
+</dependency>
+<dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
+ <version>5.2.0</version>
+</dependency>
+<dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-feature-management</artifactId>
+ <version>5.2.0</version>
+</dependency>
+<dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-feature-management-web</artifactId>
+ <version>5.2.0</version>
+</dependency>
+```
+
+### [Spring Boot 2](#tab/spring-boot-2)
+ ```xml <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-appconfiguration-config</artifactId>
- <version>4.7.0</version>
+ <version>4.8.0</version>
</dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
- <version>4.7.0</version>
+ <version>4.8.0</version>
</dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-feature-management</artifactId>
- <version>4.7.0</version>
+ <version>4.8.0</version>
</dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-feature-management-web</artifactId>
- <version>4.7.0</version>
+ <version>4.8.0</version>
</dependency> ``` +++ The 4.7.0 version is the first 4.x version of the library. It matches the version of the other Spring Cloud Azure libraries. As of the 4.7.0 version, the App Configuration and feature management libraries are part of the `spring-cloud-azure-dependencies` bill of materials (BOM). The BOM file ensures that you no longer need to specify the version of the libraries in your project. The BOM automatically manages the version of the libraries.
+```xml
+
+```
+
+### [Spring Boot 3](#tab/spring-boot-3)
+
+```xml
+<dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-dependencies</artifactId>
+ <version>5.2.0</version>
+ <type>pom</type>
+</dependency>
+```
+
+### [Spring Boot 2](#tab/spring-boot-2)
+ ```xml <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-dependencies</artifactId>
- <version>4.7.0</version>
+ <version>4.8.0</version>
<type>pom</type> </dependency> ``` ++ ## Package paths renamed The package paths for the `spring-cloud-azure-feature-management` and `spring-cloud-azure-feature-management-web` libraries have been renamed from `com.azure.spring.cloud.feature.manager` to `com.azure.spring.cloud.feature.management` and `com.azure.spring.cloud.feature.management.web`.
azure-app-configuration Howto Recover Deleted Stores In Azure App Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/howto-recover-deleted-stores-in-azure-app-configuration.md
description: Recover/Purge Azure App Configuration soft deleted Stores
-+ Last updated 01/25/2023
azure-app-configuration Quickstart Dotnet App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/quickstart-dotnet-app.md
documentationcenter: ''
ms.devlang: csharp-+ Last updated 02/28/2023
azure-app-configuration Quickstart Dotnet Core App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/quickstart-dotnet-core-app.md
ms.devlang: csharp -+ Last updated 03/20/2023 #Customer intent: As a .NET Core developer, I want to manage all my app settings in one place.
azure-app-configuration Quickstart Feature Flag Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/quickstart-feature-flag-dotnet.md
editor: ''
ms.assetid: ms.devlang: csharp-+ .NET
azure-app-configuration Quickstart Java Spring App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/quickstart-java-spring-app.md
ms.devlang: java Last updated 04/11/2023-+ #Customer intent: As a Java Spring developer, I want to manage all my app settings in one place.
Now that you have an App Configuration store, you can use the Spring Cloud Azure
To install the Spring Cloud Azure Config starter module, add the following dependency to your *pom.xml* file:
+### [Spring Boot 3](#tab/spring-boot-3)
+
+```xml
+<dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
+ <version>5.2.0</version>
+</dependency>
+```
+
+### [Spring Boot 2](#tab/spring-boot-2)
+ ```xml <dependency> <groupId>com.azure.spring</groupId>
- <artifactId>spring-cloud-azure-appconfiguration-config</artifactId>
- <version>4.7.0</version>
+ <artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
+ <version>4.8.0</version>
</dependency> ``` ++ ### Code the application To use the Spring Cloud Azure Config starter to have your application communicate with the App Configuration store that you create, configure the application by using the following steps.
azure-app-configuration Quickstart Javascript https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/quickstart-javascript.md
ms.devlang: javascript -+ Last updated 03/20/2023 #Customer intent: As a JavaScript developer, I want to manage all my app settings in one place.
azure-app-configuration Powershell Delete Service https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/scripts/powershell-delete-service.md
Last updated 02/02/2023 -+ # Delete an Azure App Configuration store with PowerShell
azure-app-configuration Use Feature Flags Dotnet Core https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/use-feature-flags-dotnet-core.md
ms.devlang: csharp
Last updated 09/17/2020 --+ #Customer intent: I want to control feature availability in my app by using the .NET Core Feature Manager library.
azure-app-configuration Use Feature Flags Spring Boot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/use-feature-flags-spring-boot.md
We recommend that you keep feature flags outside the application and manage them
The easiest way to connect your Spring Boot application to App Configuration is through the configuration provider:
+### [Spring Boot 3](#tab/spring-boot-3)
+ ```xml <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-feature-management-web</artifactId>
- <version>4.7.0</version>
+ <version>5.2.0</version>
</dependency> ```
+### [Spring Boot 2](#tab/spring-boot-2)
+
+```xml
+<dependency>
+ <groupId>com.azure.spring</groupId>
+ <artifactId>spring-cloud-azure-feature-management-web</artifactId>
+ <version>4.8.0</version>
+</dependency>
+```
+++ ## Feature flag declaration Each feature flag has two parts: a name and a list of one or more filters that are used to evaluate if a feature's state is *on* (that is, when its value is `True`). A filter defines a use case for when a feature should be turned on.
public String getOldFeature() {
In this tutorial, you learned how to implement feature flags in your Spring Boot application by using the `spring-cloud-azure-feature-management-web` libraries. For further questions see the [reference documentation](https://go.microsoft.com/fwlink/?linkid=2180917), it has all of the details on how the Spring Cloud Azure App Configuration library works.For more information about feature management support in Spring Boot and App Configuration, see the following resources: * [Spring Boot feature flag sample code](./quickstart-feature-flag-spring-boot.md)
-* [Manage feature flags](./manage-feature-flags.md)
+* [Manage feature flags](./manage-feature-flags.md)
azure-app-configuration Use Key Vault References Dotnet Core https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/use-key-vault-references-dotnet-core.md
ms.devlang: csharp
Last updated 04/08/2020 --+ #Customer intent: I want to update my ASP.NET Core application to reference values stored in Key Vault through App Configuration. # Tutorial: Use Key Vault references in an ASP.NET Core app
azure-app-configuration Use Key Vault References Spring Boot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-app-configuration/use-key-vault-references-spring-boot.md
ms.devlang: java
Last updated 05/02/2022 --+ #Customer intent: I want to update my Spring Boot application to reference values stored in Key Vault through App Configuration. # Tutorial: Use Key Vault references in a Java Spring app
azure-arc Extensions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/kubernetes/extensions.md
Title: "Deploy and manage Azure Arc-enabled Kubernetes cluster extensions"-+ Last updated 04/27/2023 description: "Create and manage extension instances on Azure Arc-enabled Kubernetes clusters."
azure-arc System Requirements https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/kubernetes/system-requirements.md
Title: "Azure Arc-enabled Kubernetes system requirements" Last updated 04/27/2023 + description: Learn about the system requirements to connect Kubernetes clusters to Azure Arc.
azure-arc Migrate Azure Monitor Agent Ansible https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/servers/migrate-azure-monitor-agent-ansible.md
Title: How to migrate to Azure Monitor Agent using Red Hat Ansible Automation Pl
description: Learn how to migrate to Azure Monitor Agent using Red Hat Ansible Automation Platform. Last updated 10/17/2022 + # Migrate to Azure Monitor Agent on Azure Arc using Red Hat Ansible Automation Platform
After following the steps in this article, you have created an automation workfl
## Next steps
-Learn more about [connecting machines using Ansible playbooks](onboard-ansible-playbooks.md).
+Learn more about [connecting machines using Ansible playbooks](onboard-ansible-playbooks.md).
azure-arc Onboard Ansible Playbooks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/servers/onboard-ansible-playbooks.md
Title: Connect machines at scale using Ansible Playbooks
description: In this article, you learn how to connect machines to Azure using Azure Arc-enabled servers using Ansible playbooks. Last updated 05/09/2022 -+ # Connect machines at scale using Ansible playbooks
After you have successfully installed the agent and configured it to connect to
- Review the [Planning and deployment guide](plan-at-scale-deployment.md) to plan for deploying Azure Arc-enabled servers at any scale and implement centralized management and monitoring. - Review connection troubleshooting information in the [Troubleshoot Connected Machine agent guide](troubleshoot-agent-onboard.md). - Learn how to manage your machine using [Azure Policy](../../governance/policy/overview.md) for such things as VM [guest configuration](../../governance/machine-configuration/overview.md), verifying that the machine is reporting to the expected Log Analytics workspace, enabling monitoring with [VM insights](../../azure-monitor/vm/vminsights-enable-policy.md), and much more.-
azure-arc Onboard Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/servers/onboard-powershell.md
Title: Connect hybrid machines to Azure by using PowerShell
description: In this article, you learn how to install the agent and connect a machine to Azure by using Azure Arc-enabled servers. You can do this with PowerShell. Last updated 07/16/2021 + # Connect hybrid machines to Azure by using PowerShell
azure-cache-for-redis Cache Best Practices Client Libraries https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-cache-for-redis/cache-best-practices-client-libraries.md
Last updated 01/04/2022 -+ # Client libraries
azure-cache-for-redis Cache Dotnet Core Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-cache-for-redis/cache-dotnet-core-quickstart.md
ms.devlang: csharp-+ Last updated 03/25/2022- # Quickstart: Use Azure Cache for Redis in .NET Core
azure-cache-for-redis Cache Dotnet How To Use Azure Redis Cache https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-cache-for-redis/cache-dotnet-how-to-use-azure-redis-cache.md
ms.devlang: csharp -+ Last updated 03/25/2022- # Quickstart: Use Azure Cache for Redis in .NET Framework
After a few moments, the resource group and all of its contained resources are d
## Next steps - [Connection resilience](cache-best-practices-connection.md)-- [Best Practices Development](cache-best-practices-development.md)
+- [Best Practices Development](cache-best-practices-development.md)
azure-cache-for-redis Cache Go Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-cache-for-redis/cache-go-get-started.md
ms.devlang: golang Last updated 09/09/2021--+ # Quickstart: Use Azure Cache for Redis with Go
azure-cache-for-redis Cache How To Premium Persistence https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-cache-for-redis/cache-how-to-premium-persistence.md
+ Last updated 04/10/2023-- # Configure data persistence for an Azure Cache for Redis instance
Last updated 04/10/2023
You have two options for persistence with Azure Cache for Redis: the _Redis database_ (RDB) format and _Append only File_ (AOF) format: -- _RDB persistence_ - When you use RDB persistence, Azure Cache for Redis persists a snapshot of your cache in a binary format. The snapshot is saved in an Azure Storage account. The configurable backup frequency determines how often to persist the snapshot. If a catastrophic event occurs that disables both the primary and replica cache, the cache is reconstructed using the most recent snapshot. Learn more about the [advantages](https://redis.io/topics/persistence#rdb-advantages) and [disadvantages](https://redis.io/topics/persistence#rdb-disadvantages) of RDB persistence.-- _AOF persistence_ - When you use AOF persistence, Azure Cache for Redis saves every write operation to a log. The log is saved at least once per second in an Azure Storage account. If a catastrophic event occurs that disables both the primary and replica caches, the cache is reconstructed using the stored write operations. Learn more about the [advantages](https://redis.io/topics/persistence#aof-advantages) and [disadvantages](https://redis.io/topics/persistence#aof-disadvantages) of AOF persistence.
+- _RDB persistence_ - When you use RDB persistence, Azure Cache for Redis persists a snapshot of your cache in a binary format. The snapshot is saved in an Azure Storage account. The configurable backup frequency determines how often to persist the snapshot. If a catastrophic event occurs that disables both the primary and replica cache, the cache is reconstructed automatically using the most recent snapshot. Learn more about the [advantages](https://redis.io/topics/persistence#rdb-advantages) and [disadvantages](https://redis.io/topics/persistence#rdb-disadvantages) of RDB persistence.
+- _AOF persistence_ - When you use AOF persistence, Azure Cache for Redis saves every write operation to a log. The log is saved at least once per second in an Azure Storage account. If a catastrophic event occurs that disables both the primary and replica caches, the cache is reconstructed automatically using the stored write operations. Learn more about the [advantages](https://redis.io/topics/persistence#aof-advantages) and [disadvantages](https://redis.io/topics/persistence#aof-disadvantages) of AOF persistence.
-Azure Cache for Redis persistence features are intended to be used to restore data to the same cache after data loss. The RDB/AOF persisted data files can't be imported to a new cache. To move data across caches, use the _Import and Export_ feature. For more information, see [Import and Export data in Azure Cache for Redis](cache-how-to-import-export-data.md).
+Azure Cache for Redis persistence features are intended to be used to restore data automatically to the same cache after data loss. The RDB/AOF persisted data files can't be imported to a new cache. To move data across caches, use the _Import and Export_ feature. For more information, see [Import and Export data in Azure Cache for Redis](cache-how-to-import-export-data.md).
To generate any backups of data that can be added to a new cache, you can write automated scripts using PowerShell or CLI that export data periodically.
azure-cache-for-redis Cache Java Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-cache-for-redis/cache-java-get-started.md
Last updated 01/04/2022
ms.devlang: java--+ # Quickstart: Use Azure Cache for Redis in Java
azure-cache-for-redis Cache Redis Samples https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-cache-for-redis/cache-redis-samples.md
description: 'Learn how to use Azure Cache for Redis with these code samples: co
-+ Last updated 05/11/2021
azure-functions Bring Dependency To Functions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/bring-dependency-to-functions.md
Title: Bring dependencies and third-party libraries to Azure Functions
description: Learn how to bring files or third party library Last updated 4/6/2020 + zone_pivot_groups: "bring-third-party-dependency-programming-functions"
When you deploy this code to a function app in Azure, you need to [create an app
+ [Azure Functions Python developer guide](functions-reference-python.md) + [Azure Functions Java developer guide](functions-reference-java.md)
-+ [Azure Functions developer reference](functions-reference.md)
++ [Azure Functions developer reference](functions-reference.md)
azure-functions Create First Function Cli Csharp https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/create-first-function-cli-csharp.md
description: "Learn how to create a C# function from the command line, then publ
Last updated 11/08/2022 ms.devlang: csharp-+ adobe-target: true adobe-target-activity: DocsExpΓÇô386541ΓÇôA/BΓÇôEnhanced-Readability-QuickstartsΓÇô2.19.2021 adobe-target-experience: Experience B
Copy the complete **Invoke URL** shown in the output of the publish command into
> [!div class="nextstepaction"] > [Connect to Azure Queue Storage](functions-add-output-binding-storage-queue-cli.md?pivots=programming-language-csharp&tabs=isolated-process)-
azure-functions Create First Function Cli Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/create-first-function-cli-java.md
description: Learn how to create a Java function from the command line, then pub
Last updated 11/03/2020 ms.devlang: java-+ adobe-target: true adobe-target-activity: DocsExpΓÇô386541ΓÇôA/BΓÇôEnhanced-Readability-QuickstartsΓÇô2.19.2021 adobe-target-experience: Experience B
azure-functions Create First Function Cli Node https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/create-first-function-cli-node.md
description: Learn how to create a JavaScript function from the command line, th
Last updated 03/08/2023 ms.devlang: javascript-+ zone_pivot_groups: functions-nodejs-model
azure-functions Create First Function Cli Typescript https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/create-first-function-cli-typescript.md
description: Learn how to create a TypeScript function from the command line, th
Last updated 03/06/2023 ms.devlang: typescript-+ zone_pivot_groups: functions-nodejs-model
azure-functions Create First Function Vs Code Csharp https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/create-first-function-vs-code-csharp.md
After checking that the function runs correctly on your local computer, it's tim
## Next steps
-You have used [Visual Studio Code](functions-develop-vs-code.md?tabs=csharp) to create a function app with a simple HTTP-triggered function. In the next article, you expand that function by connecting to either Azure Cosmos DB or Azure Queue Storage. To learn more about connecting to other Azure services, see [Add bindings to an existing function in Azure Functions](add-bindings-existing-function.md?tabs=csharp).
+You have used [Visual Studio Code](functions-develop-vs-code.md?tabs=csharp) to create a function app with a simple HTTP-triggered function. In the next article, you expand that function by connecting to either Azure Cosmos DB or Azure Queue Storage. To learn more about connecting to other Azure services, see [Add bindings to an existing function in Azure Functions](add-bindings-existing-function.md?tabs=csharp).
> [!div class="nextstepaction"] > [Connect to Azure Cosmos DB](functions-add-output-binding-cosmos-db-vs-code.md?pivots=programming-language-csharp&tabs=isolated-process)
azure-functions Create First Function Vs Code Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/create-first-function-vs-code-java.md
adobe-target-activity: DocsExpΓÇô386541ΓÇôA/BΓÇôEnhanced-Readability-Quickstarts
adobe-target-experience: Experience B adobe-target-content: ./create-first-function-vs-code-java-uiex ms.devlang: java-+ # Quickstart: Create a Java function in Azure using Visual Studio Code
azure-functions Create First Function Vs Code Node https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/create-first-function-vs-code-node.md
adobe-target-activity: DocsExpΓÇô386541ΓÇôA/BΓÇôEnhanced-Readability-Quickstarts
adobe-target-experience: Experience B adobe-target-content: ./create-first-function-vs-code-node_uiex ms.devlang: javascript-+ zone_pivot_groups: functions-nodejs-model
azure-functions Create First Function Vs Code Typescript https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/create-first-function-vs-code-typescript.md
description: Learn how to create a TypeScript function, then publish the local N
Last updated 02/06/2023 ms.devlang: typescript-+ zone_pivot_groups: functions-nodejs-model
azure-functions Create Resources Azure Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/create-resources-azure-powershell.md
Title: Create function app resources in Azure using PowerShell description: Azure PowerShell scripts that show you how to create the Azure resources required to host your functions code in Azure. -+ Last updated 05/02/2023 # Create function app resources in Azure using PowerShell
azure-functions Dotnet Isolated In Process Differences https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/dotnet-isolated-in-process-differences.md
Title: Differences between in-process and isolate worker process .NET Azure Functions description: Compares features and functionality differences between running .NET Functions in-process or as an isolated worker process. + Last updated 11/07/2022 recommendations: false
azure-functions Dotnet Isolated Process Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/dotnet-isolated-process-guide.md
description: Learn how to use a .NET isolated worker process to run your C# func
Last updated 01/16/2023-+ recommendations: false #Customer intent: As a developer, I need to know how to create functions that run in an isolated worker process so that I can run my function code on current (not LTS) releases of .NET.
azure-functions Durable Functions Bindings https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-bindings.md
Title: Bindings for Durable Functions - Azure description: How to use triggers and bindings for the Durable Functions extension for Azure Functions. + Last updated 03/22/2023 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Durable Functions Cloud Backup https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-cloud-backup.md
Title: Fan-out/fan-in scenarios in Durable Functions - Azure description: Learn how to implement a fan-out-fan-in scenario in the Durable Functions extension for Azure Functions. + Last updated 02/14/2023
Now you can see that the orchestration is complete and approximately how much ti
This sample has shown how to implement the fan-out/fan-in pattern. The next sample shows how to implement the monitor pattern using [durable timers](durable-functions-timers.md). > [!div class="nextstepaction"]
-> [Run the monitor sample](durable-functions-monitor.md)
+> [Run the monitor sample](durable-functions-monitor.md)
azure-functions Durable Functions Create Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-create-portal.md
Last updated 04/10/2020 ms.devlang: csharp, javascript+ # Create Durable Functions using the Azure portal
azure-functions Durable Functions Diagnostics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-diagnostics.md
This is useful for debugging because you see exactly what state an orchestration
> [!NOTE] > Other storage providers can be configured instead of the default Azure Storage provider. Depending on the storage provider configured for your app, you may need to use different tools to inspect the underlying state. For more information, see the [Durable Functions Storage Providers](durable-functions-storage-providers.md) documentation.
+## Durable Functions troubleshooting guide
+
+To troubleshoot common problem symptoms such as orchestrations being stuck, failing to start, running slowly, etc., refer to this [troubleshooting guide](durable-functions-troubleshooting-guide.md).
+ ## 3rd party tools The Durable Functions community publishes a variety of tools that can be useful for debugging, diagnostics, or monitoring. One such tool is the open source [Durable Functions Monitor](https://github.com/scale-tone/DurableFunctionsMonitor#durable-functions-monitor), a graphical tool for monitoring, managing, and debugging your orchestration instances.
azure-functions Durable Functions Dotnet Entities https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-dotnet-entities.md
Last updated 06/30/2021 ms.devlang: csharp+ #Customer intent: As a developer, I want to learn how to use Durable Entities in .NET so I can persist object state in a serverless context.
azure-functions Durable Functions Dotnet Isolated Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-dotnet-isolated-overview.md
Last updated 01/24/2023 ms.devlang: csharp+ #Customer intent: As a developer, I want to learn about Durable Functions for the Azure Functions .NET isolated worker process.
azure-functions Durable Functions Entities https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-entities.md
Last updated 05/10/2022 ms.devlang: csharp, java, javascript, python+ #Customer intent: As a developer, I want to learn what durable entities are and how to use them to solve distributed, stateful problems in my applications.
azure-functions Durable Functions Error Handling https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-error-handling.md
Last updated 02/14/2023 ms.devlang: csharp, javascript, powershell, python, java+ # Handling errors in Durable Functions (Azure Functions)
azure-functions Durable Functions Extension Upgrade https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-extension-upgrade.md
Title: Upgrade Durable Functions extension version
description: Learn why it's important to use the latest version of the Durable Functions extension and how to upgrade to the latest. + Last updated 02/15/2023
For example:
```console func extensions install Microsoft.Azure.WebJobs.Extensions.DurableTask -v 2.9.1 ```----
azure-functions Durable Functions Isolated Create First Csharp https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-isolated-create-first-csharp.md
Last updated 01/31/2023
zone_pivot_groups: code-editors-set-one ms.devlang: csharp-+ # Create your first Durable Function in C#
azure-functions Durable Functions Monitor Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-monitor-python.md
Last updated 12/02/2020 ms.devlang: python+ # Monitor scenario in Durable Functions - GitHub Issue monitoring sample
azure-functions Durable Functions Orchestrations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-orchestrations.md
Last updated 02/14/2023 ms.devlang: csharp, javascript, powershell, python, java+ #Customer intent: As a developer, I want to understand durable orchestrations so that I can use them effectively in my applications.
azure-functions Durable Functions Phone Verification https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-phone-verification.md
Last updated 12/07/2018 ms.devlang: csharp, javascript, python+ # Human interaction in Durable Functions - Phone verification sample
azure-functions Durable Functions Sequence https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-sequence.md
Last updated 06/16/2022 ms.devlang: csharp, javascript, python+ # Function chaining in Durable Functions - Hello sequence sample
azure-functions Durable Functions Serialization And Persistence https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-serialization-and-persistence.md
Last updated 07/18/2022 ms.devlang: csharp, java, javascript, python+ #Customer intent: As a developer, I want to understand what data is persisted to durable storage, how that data is serialized, and how I can customize it when it doesn't work the way my app needs it to.
azure-functions Durable Functions Sub Orchestrations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/durable-functions-sub-orchestrations.md
Title: Sub-orchestrations for Durable Functions - Azure description: How to call orchestrations from orchestrations in the Durable Functions extension for Azure Functions. + Last updated 02/14/2023
azure-functions Quickstart Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/quickstart-java.md
Last updated 12/12/2022 ms.devlang: java-+ zone_pivot_groups: create-java-durable-options
azure-functions Quickstart Mssql https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/quickstart-mssql.md
Title: Configure storage provider - Microsoft SQL Server (MSSQL)
description: Configure a Durable Functions app to use MSSQL + Last updated 11/14/2022
After running a simple orchestrator, you should see at least one result, as show
![Azure SQL Query editor results for the SQL query provided.](./media/quickstart-mssql/mssql-azure-db-check.png)
-For more information about the Durable Task MSSQL backend architecture, configuration, and workload behavior, see the [MSSQL storage provider documentation](https://microsoft.github.io/durabletask-mssql/).
+For more information about the Durable Task MSSQL backend architecture, configuration, and workload behavior, see the [MSSQL storage provider documentation](https://microsoft.github.io/durabletask-mssql/).
azure-functions Quickstart Netherite https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/quickstart-netherite.md
Title: Configure storage provider - Netherite
description: Configure a Durable Functions app to use Netherite + Last updated 11/14/2022
azure-functions Quickstart Python Vscode https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/durable/quickstart-python-vscode.md
Last updated 06/15/2022 ms.devlang: python-+ zone_pivot_groups: python-mode-functions
azure-functions Functions Add Output Binding Azure Sql Vs Code https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-add-output-binding-azure-sql-vs-code.md
zone_pivot_groups: programming-languages-set-functions-temp ms.devlang: csharp, javascript+ # Connect Azure Functions to Azure SQL Database using Visual Studio Code
You've updated your HTTP triggered function to write data to Azure SQL Database.
+ [Examples of complete Function projects in Python](/samples/browse/?products=azure-functions&languages=python). + [Azure Functions Python developer guide](functions-reference-python.md)
azure-functions Functions Add Output Binding Cosmos Db Vs Code https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-add-output-binding-cosmos-db-vs-code.md
Last updated 02/09/2023
zone_pivot_groups: programming-languages-set-functions-temp ms.devlang: csharp, javascript, python-+ # Connect Azure Functions to Azure Cosmos DB using Visual Studio Code
You've updated your HTTP triggered function to write JSON documents to an Azure
+ [Examples of complete Function projects in Python](/samples/browse/?products=azure-functions&languages=python). + [Azure Functions Python developer guide](functions-reference-python.md)
azure-functions Functions Add Output Binding Storage Queue Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-add-output-binding-storage-queue-cli.md
description: Learn how to connect Azure Functions to an Azure Storage queue by a
Last updated 02/07/2020 ms.devlang: csharp, java, javascript, powershell, python, typescript-+ zone_pivot_groups: programming-languages-set-functions
azure-functions Functions Add Output Binding Storage Queue Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-add-output-binding-storage-queue-java.md
Title: Connect your Java function to Azure Storage
description: Learn how to connect an HTTP-triggered Java function to Azure Storage by using a Queue storage output binding. ms.devlang: java-+ Last updated 10/14/2019
azure-functions Functions Add Output Binding Storage Queue Vs Code https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-add-output-binding-storage-queue-vs-code.md
description: Learn how to connect Azure Functions to an Azure Queue Storage by a
Last updated 01/31/2023 ms.devlang: csharp, java, javascript, powershell, python, typescript-+ zone_pivot_groups: programming-languages-set-functions #Customer intent: As an Azure Functions developer, I want to connect my function to Azure Storage so that I can easily write data to a storage queue.
azure-functions Functions App Settings https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-app-settings.md
Title: App settings reference for Azure Functions description: Reference documentation for the Azure Functions app settings or environment variables used to configure functions apps. + Last updated 12/15/2022
azure-functions Functions Bindings Azure Sql Input https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-azure-sql-input.md
Title: Azure SQL input binding for Functions
description: Learn to use the Azure SQL input binding in Azure Functions. -+ Last updated 4/17/2023
azure-functions Functions Bindings Azure Sql Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-azure-sql-output.md
Title: Azure SQL output binding for Functions
description: Learn to use the Azure SQL output binding in Azure Functions. -+ Last updated 4/17/2023
azure-functions Functions Bindings Azure Sql Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-azure-sql-trigger.md
Title: Azure SQL trigger for Functions
description: Learn to use the Azure SQL trigger in Azure Functions. -+ Last updated 4/14/2023
azure-functions Functions Bindings Azure Sql https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-azure-sql.md
Title: Azure SQL bindings for Functions
description: Understand how to use Azure SQL bindings in Azure Functions. -+ Last updated 4/17/2023
azure-functions Functions Bindings Cosmosdb V2 Input https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-cosmosdb-v2-input.md
description: Learn to use the Azure Cosmos DB input binding in Azure Functions.
Last updated 03/02/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Cosmosdb V2 Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-cosmosdb-v2-output.md
description: Learn to use the Azure Cosmos DB output binding in Azure Functions.
Last updated 03/02/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Cosmosdb V2 Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-cosmosdb-v2-trigger.md
description: Learn to use the Azure Cosmos DB trigger in Azure Functions.
Last updated 04/04/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
namespace CosmosDBSamplesV2
The following code defines a `MyDocument` type:
-This document type is the type of the [`IReadOnlyList<T>`](/dotnet/api/system.collections.generic.ireadonlylist-1) used as the Azure Cosmos DB trigger binding parameter in the following example:
+An [`IReadOnlyList<T>`](/dotnet/api/system.collections.generic.ireadonlylist-1) is used as the Azure Cosmos DB trigger binding parameter in the following example:
+
+This example requires the following `using` statements:
+ # [Extension 4.x+](#tab/extensionv4/isolated-process)
azure-functions Functions Bindings Cosmosdb V2 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-cosmosdb-v2.md
Title: Azure Cosmos DB bindings for Functions 2.x and higher description: Understand how to use Azure Cosmos DB triggers and bindings in Azure Functions. -+ Last updated 11/29/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Error Pages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-error-pages.md
Title: Azure Functions error handling and retry guidance description: Learn how to handle errors and retry events in Azure Functions, with links to specific binding errors, including information on retry policies. + Last updated 01/03/2023 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Event Grid Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-event-grid-output.md
description: Learn to send an Event Grid event in Azure Functions.
Last updated 03/04/2022 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Event Grid Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-event-grid-trigger.md
description: Learn to run code when Event Grid events in Azure Functions are dis
Last updated 04/02/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Event Grid https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-event-grid.md
description: Understand how to handle Event Grid events in Azure Functions.
Last updated 03/04/2022-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
The Event Grid output binding is only available for Functions 2.x and higher. Ev
[extension bundle]: ./functions-bindings-register.md#extension-bundles [NuGet package]: https://www.nuget.org/packages/Microsoft.Azure.WebJobs.Extensions.EventGrid [Update your extensions]: ./functions-bindings-register.md-
azure-functions Functions Bindings Event Hubs Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-event-hubs-output.md
Title: Azure Event Hubs output binding for Azure Functions
description: Learn to write messages to Azure Event Hubs streams using Azure Functions. ms.assetid: daf81798-7acc-419a-bc32-b5a41c6db56b -+ Last updated 03/03/2023 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Event Hubs Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-event-hubs-trigger.md
Title: Azure Event Hubs trigger for Azure Functions
description: Learn to use Azure Event Hubs trigger in Azure Functions. ms.assetid: daf81798-7acc-419a-bc32-b5a41c6db56b + Last updated 03/03/2023 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Event Hubs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-event-hubs.md
Title: Azure Event Hubs bindings for Azure Functions
description: Learn to use Azure Event Hubs trigger and bindings in Azure Functions. ms.assetid: daf81798-7acc-419a-bc32-b5a41c6db56b + Last updated 03/04/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Event Iot Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-event-iot-trigger.md
Title: Azure IoT Hub trigger for Azure Functions description: Learn to respond to events sent to an IoT hub event stream in Azure Functions. + Last updated 03/04/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Event Iot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-event-iot.md
Title: Azure IoT Hub bindings for Azure Functions description: Learn to use IoT Hub trigger and binding in Azure Functions. + Last updated 03/04/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Http Webhook Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-http-webhook-output.md
Title: Azure Functions HTTP output bindings description: Learn how to return HTTP responses in Azure Functions. + Last updated 03/04/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Http Webhook Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-http-webhook-trigger.md
description: Learn how to call an Azure Function via HTTP.
Last updated 03/06/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Http Webhook https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-http-webhook.md
Title: Azure Functions HTTP triggers and bindings description: Learn to use HTTP triggers and bindings in Azure Functions. + Last updated 03/04/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Kafka Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-kafka-output.md
Title: Apache Kafka output binding for Azure Functions description: Use Azure Functions to write messages to an Apache Kafka stream. + Last updated 05/14/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Kafka Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-kafka-trigger.md
Title: Apache Kafka trigger for Azure Functions description: Use Azure Functions to run your code based on events from an Apache Kafka stream. + Last updated 05/14/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Kafka https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-kafka.md
Title: Apache Kafka bindings for Azure Functions description: Learn to integrate Azure Functions with an Apache Kafka stream. + Last updated 01/12/2023 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Rabbitmq Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-rabbitmq-output.md
Last updated 01/21/2022 ms.devlang: csharp, java, javascript, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Rabbitmq Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-rabbitmq-trigger.md
Last updated 01/21/2022 ms.devlang: csharp, java, javascript, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Rabbitmq https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-rabbitmq.md
ms.assetid:
Last updated 11/15/2021 -+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Sendgrid https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-sendgrid.md
Title: Azure Functions SendGrid bindings
description: Azure Functions SendGrid bindings reference. ms.devlang: csharp, java, javascript, python-+ Last updated 03/04/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Service Bus Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-service-bus-output.md
ms.assetid: daedacf0-6546-4355-a65c-50873e74f66b
Last updated 03/06/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Service Bus Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-service-bus-trigger.md
ms.assetid: daedacf0-6546-4355-a65c-50873e74f66b
Last updated 04/04/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Service Bus https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-service-bus.md
description: Learn to send Azure Service Bus triggers and bindings in Azure Func
ms.assetid: daedacf0-6546-4355-a65c-50873e74f66b Last updated 12/12/2022-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Signalr Service Input https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-signalr-service-input.md
description: Learn to return a SignalR service endpoint URL and access token in
ms.devlang: csharp, java, javascript, python-+ Last updated 01/13/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Signalr Service Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-signalr-service-output.md
description: Learn about the SignalR Service output binding for Azure Functions.
ms.devlang: csharp, java, javascript, python-+ Last updated 01/13/2023 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Signalr Service Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-signalr-service-trigger.md
description: Learn to send SignalR Service messages from Azure Functions.
ms.devlang: csharp, javascript, python-+ Last updated 01/13/2023 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Signalr Service https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-signalr-service.md
Title: Azure Functions SignalR Service bindings description: Understand how to use SignalR Service bindings with Azure Functions. + Last updated 03/04/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
For details on how to configure and use SignalR Service and Azure Functions toge
[core tools]: ./functions-run-local.md [extension bundle]: ./functions-bindings-register.md#extension-bundles [Update your extensions]: ./functions-bindings-register.md
-[Azure Tools extension]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-node-azure-pack
+[Azure Tools extension]: https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-node-azure-pack
azure-functions Functions Bindings Storage Blob Input https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-blob-input.md
description: Learn how to provide Azure Blob storage input binding data to an Az
Last updated 03/02/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Storage Blob Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-blob-output.md
description: Learn how to provide Azure Blob storage output binding data to an A
Last updated 03/02/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Storage Blob Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-blob-trigger.md
description: Learn how to run an Azure Function as Azure Blob storage data chang
Last updated 04/16/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Storage Blob https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-blob.md
Title: Azure Blob storage trigger and bindings for Azure Functions
description: Learn to use the Azure Blob storage trigger and bindings in Azure Functions. + Last updated 11/11/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Storage Queue Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-queue-output.md
description: Learn to create Azure Queue storage messages in Azure Functions.
Last updated 03/06/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Storage Queue Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-queue-trigger.md
description: Learn to run an Azure Function as Azure Queue storage data changes.
Last updated 04/04/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Storage Queue https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-queue.md
Title: Azure Queue storage trigger and bindings for Azure Functions overview description: Understand how to use the Azure Queue storage trigger and output binding in Azure Functions. + Last updated 11/11/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Storage Table Input https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-table-input.md
description: Understand how to use Azure Tables input bindings in Azure Function
Last updated 11/11/2022 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Storage Table Output https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-table-output.md
description: Understand how to use Azure Tables output bindings in Azure Functio
Last updated 11/11/2022 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Storage Table https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-storage-table.md
Title: Azure Tables bindings for Azure Functions
description: Understand how to use Azure Tables bindings in Azure Functions. Last updated 11/11/2022-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Timer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-timer.md
ms.assetid: d2f013d1-f458-42ae-baf8-1810138118ac
Last updated 03/06/2023 ms.devlang: csharp, java, javascript, powershell, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Twilio https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-twilio.md
description: Understand how to use Twilio bindings with Azure Functions.
Last updated 03/04/2022 ms.devlang: csharp, java, javascript, python-+ zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Bindings Warmup https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-bindings-warmup.md
keywords: azure functions, functions, event processing, warmup, cold start, prem
ms.devlang: csharp, java, javascript, python-+ Last updated 03/04/2022 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Create First Java Gradle https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-create-first-java-gradle.md
Title: Use Java and Gradle to publish a function to Azure
description: Create and publish an HTTP-triggered function to Azure with Java and Gradle. ms.devlang: java-+ Last updated 04/08/2020
azure-functions Functions Create First Quarkus https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-create-first-quarkus.md
Last updated 01/10/2023 ms.devlang: java-+ # Deploy serverless Java apps with Quarkus on Azure Functions
azure-functions Functions Create Maven Eclipse https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-create-maven-eclipse.md
description: How-to guide to create and publish a simple HTTP triggered serverle
Last updated 07/01/2018 ms.devlang: java-+ # Create your first function with Java and Eclipse
azure-functions Functions Create Maven Intellij https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-create-maven-intellij.md
Last updated 03/28/2022 ms.devlang: java-+ # Create your first Java function in Azure using IntelliJ
azure-functions Functions Create Your First Function Visual Studio https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-create-your-first-function-visual-studio.md
In this article, you learn how to:
> [!div class="checklist"] > * Use Visual Studio to create a C# class library project.
-> * Create a function that responds to HTTP requests.
+> * Create a function that responds to HTTP requests.
> * Run your code locally to verify function behavior. > * Deploy your code project to Azure Functions.
Completing this quickstart incurs a small cost of a few USD cents or less in you
## Prerequisites
-+ [Visual Studio 2022](https://visualstudio.microsoft.com/vs/). Make sure to select the **Azure development** workload during installation.
++ [Visual Studio 2022](https://visualstudio.microsoft.com/vs/). Make sure to select the **Azure development** workload during installation. + [Azure subscription](../guides/developer/azure-developer-guide.md#understanding-accounts-subscriptions-and-billing). If you don't already have an account, [create a free one](https://azure.microsoft.com/free/dotnet/) before you begin.
The Azure Functions project template in Visual Studio creates a C# class library
1. In **Create a new project**, enter *functions* in the search box, choose the **Azure Functions** template, and then select **Next**.
-1. In **Configure your new project**, enter a **Project name** for your project, and then select **Next**. The function app name must be valid as a C# namespace, so don't use underscores, hyphens, or any other nonalphanumeric characters.
+1. In **Configure your new project**, enter a **Project name** for your project, and then select **Next**. The function app name must be valid as a C# namespace, so don't use underscores, hyphens, or any other nonalphanumeric characters.
1. For the remaining **Additional information** settings,
The `FunctionName` method attribute sets the name of the function, which by defa
1. In the code, rename the Function1 class to `HttpExample`.
-1. In the `HttpTrigger` method named `Run`, rename the `FunctionName` method attribute to `HttpExample`.
+1. In the `HttpTrigger` method named `Run`, rename the `FunctionName` method attribute to `HttpExample`.
Your function definition should now look like the following code:
Now that you've renamed the function, you can test it on your local computer.
## Run the function locally
-Visual Studio integrates with Azure Functions Core Tools so that you can test your functions locally using the full Azure Functions runtime.
+Visual Studio integrates with Azure Functions Core Tools so that you can test your functions locally using the full Azure Functions runtime.
[!INCLUDE [functions-run-function-test-local-vs](../../includes/functions-run-function-test-local-vs.md)]
After you've verified that the function runs correctly on your local computer, i
## Publish the project to Azure
-Visual Studio can publish your local project to Azure. Before you can publish your project, you must have a function app in your Azure subscription. If you don't already have a function app in Azure, Visual Studio publishing creates one for you the first time you publish your project. In this article, you create a function app and related Azure resources.
+Visual Studio can publish your local project to Azure. Before you can publish your project, you must have a function app in your Azure subscription. If you don't already have a function app in Azure, Visual Studio publishing creates one for you the first time you publish your project. In this article, you create a function app and related Azure resources.
[!INCLUDE [Publish the project to Azure](../../includes/functions-vstools-publish.md)]
Visual Studio can publish your local project to Azure. Before you can publish yo
1. In Cloud Explorer, your new function app should be selected. If not, expand your subscription > **App Services**, and select your new function app.
-1. Right-click the function app and choose **Open in Browser**. This opens the root of your function app in your default web browser and displays the page that indicates your function app is running.
+1. Right-click the function app and choose **Open in Browser**. This opens the root of your function app in your default web browser and displays the page that indicates your function app is running.
:::image type="content" source="media/functions-create-your-first-function-visual-studio/function-app-running-azure-v4.png" alt-text="Function app running":::
Visual Studio can publish your local project to Azure. Before you can publish yo
## Clean up resources
-*Resources* in Azure refer to function apps, functions, storage accounts, and so forth. They're grouped into *resource groups*, and you can delete everything in a group by deleting the group.
+*Resources* in Azure refer to function apps, functions, storage accounts, and so forth. They're grouped into *resource groups*, and you can delete everything in a group by deleting the group.
You created Azure resources to complete this quickstart. You may be billed for these resources, depending on your [account status](https://azure.microsoft.com/account/) and [service pricing](https://azure.microsoft.com/pricing/). Other quickstarts in this collection build upon this quickstart. If you plan to work with subsequent quickstarts, tutorials, or with any of the services you've created in this quickstart, don't clean up the resources.
You created Azure resources to complete this quickstart. You may be billed for t
## Next steps
-In this quickstart, you used Visual Studio to create and publish a C# function app in Azure with a simple HTTP trigger function.
+In this quickstart, you used Visual Studio to create and publish a C# function app in Azure with a simple HTTP trigger function.
To learn more about working with C# functions that run in an isolated worker process, see the [Guide for running C# Azure Functions in an isolated worker process](dotnet-isolated-process-guide.md). Check out [.NET supported versions](functions-dotnet-class-library.md#supported-versions) to see other versions of supported .NET versions in an isolated worker process.
azure-functions Functions Dotnet Class Library https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-dotnet-class-library.md
description: Understand how to use C# to develop and publish code as class libra
ms.devlang: csharp-+ Last updated 10/12/2022- # Develop C# class library functions using Azure Functions
azure-functions Functions Dotnet Dependency Injection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-dotnet-dependency-injection.md
description: Learn how to use dependency injection for registering and using ser
ms.devlang: csharp-+ Last updated 03/24/2021
azure-functions Functions Event Grid Blob Trigger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-event-grid-blob-trigger.md
Title: 'Tutorial: Trigger Azure Functions on blob containers using an event subs
description: This tutorial shows how to create a low-latency, event-driven trigger on an Azure Blob Storage container using an Event Grid event subscription. -+ Last updated 3/1/2021 zone_pivot_groups: programming-languages-set-functions-lang-workers
azure-functions Functions Event Hub Cosmos Db https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-event-hub-cosmos-db.md
Last updated 11/04/2019 ms.devlang: java-+ #Customer intent: As a Java developer, I want to write Java functions that process data continually (for example, from IoT sensors), and store the processing results in Azure Cosmos DB.
azure-functions Functions Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-get-started.md
Title: Getting started with Azure Functions description: Take the first steps toward working with Azure Functions. + Last updated 12/13/2022 zone_pivot_groups: programming-languages-set-functions-full
azure-functions Functions How To Azure Devops https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-how-to-azure-devops.md
Last updated 05/15/2023 -+ ms.devlang: azurecli zone_pivot_groups: functions-task-versions
To create a build pipeline in Azure, use the `az functionapp devops-pipeline cre
- Review the [Azure Functions overview](functions-overview.md). - Review the [Azure DevOps overview](/azure/devops/pipelines/).-
azure-functions Functions Monitor Log Analytics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-monitor-log-analytics.md
Title: Monitoring Azure Functions with Azure Monitor Logs
description: Learn how to use Azure Monitor Logs with Azure Functions to monitor function executions. Last updated 04/15/2020-+ # Customer intent: As a developer, I want to monitor my functions so I can know if they're running correctly.
azure-functions Functions Monitoring https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-monitoring.md
description: Learn how to use Azure Application Insights with Azure Functions to
ms.assetid: 501722c3-f2f7-4224-a220-6d59da08a320 Last updated 07/05/2022-+ # Customer intent: As a developer, I want to understand what facilities are provided to help me monitor my functions so I can know if they're running correctly.
azure-functions Functions Node Upgrade V4 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-node-upgrade-v4.md
description: This article shows you how to upgrade your existing function apps r
Last updated 03/15/2023 ms.devlang: javascript, typescript+
azure-functions Functions Reference Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-reference-java.md
description: Understand how to develop functions with Java.
Last updated 09/14/2018 ms.devlang: java-+ # Azure Functions Java developer guide
azure-functions Functions Versions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-versions.md
Title: Azure Functions runtime versions overview description: Azure Functions supports multiple versions of the runtime. Learn the differences between them and how to choose the one that's right for you. -+ Last updated 01/09/2023 zone_pivot_groups: programming-languages-set-functions
azure-functions Migrate Version 1 Version 4 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/migrate-version-1-version-4.md
description: This article shows you how to upgrade your existing function apps r
Last updated 11/05/2022-+ zone_pivot_groups: programming-languages-set-functions
In version 2.x, the following changes were made:
> [!div class="nextstepaction"] > [Learn more about Functions versions](functions-versions.md)--
azure-functions Migrate Version 3 Version 4 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/migrate-version-3-version-4.md
Title: Migrate apps from Azure Functions version 3.x to 4.x description: This article shows you how to upgrade your existing function apps running on version 3.x of the Azure Functions runtime to be able to run on version 4.x of the runtime. + Last updated 11/05/2022 zone_pivot_groups: programming-languages-set-functions
azure-functions Functions Cli Mount Files Storage Linux https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/scripts/functions-cli-mount-files-storage-linux.md
Title: Mount a file share to a Python function app - Azure CLI
description: Create a serverless Python function app and mount an existing file share using the Azure CLI. Last updated 03/24/2022 -+ # Mount a file share to a Python function app using Azure CLI
azure-government Documentation Government Get Started Connect With Ps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-government/documentation-government-get-started-connect-with-ps.md
description: Information on connecting to your subscription in Azure Government
-+ Last updated 01/18/2023
azure-health-insights Configure Containers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-health-insights/configure-containers.md
+
+ Title: Configure Project Health Insights containers
+
+description: Project Health Insights containers use a common configuration framework, so that you can easily configure and manage storage, logging and telemetry, and security settings for your containers.
+++++ Last updated : 03/14/2023+++
+# Configure Project Health Insights docker containers
+
+Project Health Insights provides each container with a common configuration framework, so that you can easily configure and manage storage, logging and telemetry, and security settings for your containers. Several [example docker run commands](use-containers.md#run-the-container-with-docker-run) are also available.
+
+## Configuration settings
+
+The container has the following configuration settings:
+
+|Required|Setting|Purpose|
+|--|--|--|
+|Yes|[ApiKey](#apikey-configuration-setting)|Tracks billing information.|
+|Yes|[Billing](#billing-configuration-setting)|Specifies the endpoint URI of the service resource on Azure.|
+|Yes|[Eula](#eula-setting)| Indicates that you've accepted the license for the container.|
+|No|[ApplicationInsights__InstrumentationKey ](#applicationinsights-setting)|Enables adding [Azure Application Insights](/azure/application-insights) telemetry support to your container.|
+|Yes|[RAI_Terms](#rai-terms-setting)| Indicates acceptance of Responsible AI terms.|
+
+> [!IMPORTANT]
+> The [`ApiKey`](#apikey-configuration-setting), [`Billing`](#billing-configuration-setting), and [`Eula`](#eula-setting) settings are used together, and you must provide valid values for all three of them; otherwise your container won't start. For more information about using these configuration settings to instantiate a container, see [Billing](use-containers.md#billing).
+
+## ApiKey configuration setting
+
+The `ApiKey` setting specifies the Azure resource key used to track billing information for the container. You must specify a value for the ApiKey and the value must be a valid key for the _Health Insights_ resource specified for the [`Billing`](#billing-configuration-setting) configuration setting.
+
+This setting can be found in the following place:
+
+* Azure portal: **Health Insights** resource management, under **Keys and endpoint**
+
+## ApplicationInsights setting
+
+The `ApplicationInsights` setting allows you to add [Azure Application Insights](/azure/application-insights) telemetry support to your container. Application Insights provides in-depth monitoring of your container. You can easily monitor your container for availability, performance, and usage. You can also quickly identify and diagnose errors in your container.
+
+The following table describes the configuration settings supported under the `ApplicationInsights` section.
+
+|Required| Name | Data type | Description |
+|--||--|-|
+|No| `InstrumentationKey` | String | The instrumentation key of the Application Insights instance to which telemetry data for the container is sent.
+
+## Billing configuration setting
+
+The `Billing` setting specifies the endpoint URI of the resource on Azure used to meter billing information for the container. You must specify a value for this configuration setting, and the value must be a valid endpoint URI for a resource on Azure. The container reports usage about every 10 to 15 minutes.
+
+This setting can be found in the following place:
+
+* Azure portal: **Health Insights** Overview, labeled `Endpoint`
+
+|Required| Name | Data type | Description |
+|--||--|-|
+|Yes| `Billing` | String | Billing endpoint URI. For more information on obtaining the billing URI, see [gather required parameters](use-containers.md).
+
+## Eula setting
+
+The `Eula` setting indicates that you've accepted the license for the container. You must specify a value for this configuration setting, and the value must be set to `accept`.
+
+|Required| Name | Data type | Description |
+|--||--|-|
+|Yes| `Eula` | String | License acceptance **Example:** `Eula=accept` |
+
+Project Health Insights containers are licensed under [your agreement](https://go.microsoft.com/fwlink/?linkid=2018657) governing your use of Azure. If you don't have an existing agreement governing your use of Azure, you agree that your agreement use of Azure is the [Microsoft Online Subscription Agreement](https://go.microsoft.com/fwlink/?linkid=2018755), which incorporates the [Online Services Terms](https://go.microsoft.com/fwlink/?linkid=2018760). For previews, you also agree to the [Supplemental Terms of Use for Microsoft Azure Previews](https://go.microsoft.com/fwlink/?linkid=2018815). By using the container, you agree to these terms.
+
+## RAI-Terms setting
+
+The `RAI_Terms` setting indicates acceptance of Responsible AI terms. You must specify a value for this configuration setting, and this value must be set to 'accept'.
++
+|Required| Name | Data type | Description |
+|--||--|-|
+|Yes| `RAI_Terms` | String | Responsible AI terms acceptance **Example:** `RAI_Terms=accept` |
++
+## Logging settings
+
+The `Logging` settings manage logging support for your container. You can use the same configuration settings and values for your container that you use for an ASP.NET Core applications.
+
+The following logging providers are supported by the container:
+
+|Provider|Purpose|
+|--|--|
+|[Console](/aspnet/core/fundamentals/logging/#console-provider)|The ASP.NET Core `Console` logging provider. All of the ASP.NET Core configuration settings and default values for this logging provider are supported.|
+|[Debug](/aspnet/core/fundamentals/logging/#debug-provider)|The ASP.NET Core `Debug` logging provider. All of the ASP.NET Core configuration settings and default values for this logging provider are supported.|
+|[Disk](#disk-logging)|The JSON logging provider. This logging provider writes log data to the output mount.|
+
+This container command stores logging information in the JSON format to the output mount:
+
+```bash
+docker run --rm -it -p 5000:5000 \
+--memory 2g --cpus 1 \
+--mount type=bind,src=/home/azureuser/output,target=/output \
+<registry-location>/<image-name> \
+Eula=accept \
+Billing=<endpoint> \
+ApiKey=<api-key> \
+Logging:Disk:Format=json \
+Mounts:Output=/output
+```
+
+This container command shows debugging information, prefixed with `debug`, while the container is running:
+
+```bash
+docker run --rm -it -p 5000:5000 \
+--memory 2g --cpus 1 \
+<registry-location>/<image-name> \
+Eula=accept \
+Billing=<endpoint> \
+ApiKey=<api-key> \
+Logging:Console:LogLevel:Default=Debug
+```
+
+### Disk logging
+
+The `Disk` logging provider supports the following configuration settings:
++
+| Name | Data type | Description |
+||--|-|
+|`Format` | String | The output format for log files. Note: This value must be set to `json` to enable the logging provider. If this value is specified without also specifying an output mount while instantiating a container, an error occurs. |
+| `MaxFileSize` | Integer | The maximum size, in megabytes (MB), of a log file. When the size of the current log file meets or exceeds this value, a new log file is started by the logging provider. If -1 is specified, the size of the log file is limited only by the maximum file size, if any, for the output mount. The default value is 1. |
+
azure-health-insights Use Containers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-health-insights/use-containers.md
+
+ Title: How to use Project Health Insights containers
+
+description: Learn how to use Project Health Insight models on premises using Docker containers.
+++++ Last updated : 03/14/2023+++
+# Use Project Health Insights containers
+
+These services enable you to host Project Health Insights API on your own infrastructure. If you have security or data governance requirements that can't be fulfilled by calling Project Health Insights remotely, then on-premises Project Health Insights services might be a good solution.
+
+## Prerequisites
+
+You must meet the following prerequisites before using Project Health Insights containers.
+
+* If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/cognitive-services/) before you begin.
+
+* [Docker](https://docs.docker.com/) installed on a host computer. Docker must be configured to allow the containers to connect with and send billing data to Azure.
+ * On Windows, Docker must also be configured to support Linux containers.
+ * You should have a basic understanding of [Docker concepts](https://docs.docker.com/get-started/overview/).
+* A [Health Insights resource](https://ms.portal.azure.com/#create/Microsoft.CognitiveServicesHealthInsights)
+
+## Host computer requirements and recommendations
+
+The host that runs the Docker container on your premises, should be an x64-based computer. It can also be a Docker hosting service in Azure, such as:
+
+* [Azure Kubernetes Service](../../articles/aks/index.yml).
+* [Azure Container Instances](../../articles/container-instances/index.yml).
+* A [Kubernetes](https://kubernetes.io/) cluster deployed to [Azure Stack](/azure-stack/operator). For more information, see [Deploy Kubernetes to Azure Stack](/azure-stack/user/azure-stack-solution-template-kubernetes-deploy).
+
+The following table describes the minimum and recommended specifications for the different Health Insights containers.
++
+| Model | Minimum cpu | Maximum cpu | Minimum memory | Maximum memory| |
+|-|--|--|--|--|--|
+| Trial Matcher | 4000m |4000m |5G | 7G |
+| OncoPhenotype | 4000m |8000m |2G | 12G |
+
+CPU core and memory correspond to the `--cpus` and `--memory` settings, which are used as part of the `docker run` command.
+
+## Get the container images with `docker pull`
+
+Project Health Insights container images can be found on the `mcr.microsoft.com` container registry syndicate. They reside within the `azure-cognitive-services/health-insights/` repository and can be found by their model name.
+
+- Clinical Trial Matcher: The fully qualified container image name is `mcr.microsoft.com/azure-cognitive-services/health-insights/clinical-matching`
+- Onco-Phenotype: The fully qualified container image name is `mcr.microsoft.com/azure-cognitive-services/health-insights/cancer-profiling`
+
+To use the latest version of the container, you can use the `latest` tag. You can find a full list of tags on the MCR via `https://mcr.microsoft.com/v2/azure-cognitive-services/health-insights/clinical-matching/tags/list` and `https://mcr.microsoft.com/v2/azure-cognitive-services/health-insights/cancer-profiling/tags/list`.
+
+- Use the [`docker pull`](https://docs.docker.com/engine/reference/commandline/pull/) command to download this container image from the Microsoft public container registry. You can find the featured tags on the [dockerhub clinical matching page](https://hub.docker.com/_/microsoft-azure-cognitive-services-health-insights-clinical-matching) and [dockerhub cancer profiling page](https://hub.docker.com/_/microsoft-azure-cognitive-services-health-insights-cancer-profiling)
+
+```
+docker pull mcr.microsoft.com/azure-cognitive-services/health-insights/<model-name>:<tag-name>
+```
+
+- For Clinical Trial Matcher, use the [`docker pull`](https://docs.docker.com/engine/reference/commandline/pull/) command to download textanalytics healthcare container image from the Microsoft public container registry. You can find the featured tags on the [dockerhub](https://hub.docker.com/_/microsoft-azure-cognitive-services-textanalytics-healthcare)
+
+```
+docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/healthcare:<tag-name>
+```
+
+> [!TIP]
+> You can use the [docker images](https://docs.docker.com/engine/reference/commandline/images/) command to list your downloaded container images. For example, the following command lists the ID, repository, and tag of each downloaded container image, formatted as a table:
+>
+> ```
+> docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
+>
+> IMAGE ID REPOSITORY TAG
+> <image-id> <repository-path/name> <tag-name>
+> ```
+
+## Run the container with `docker run`
+
+Once the container is on the host computer, use the [docker run](https://docs.docker.com/engine/reference/commandline/run/) command to run the containers. The container continues to run until you stop it.
+container-
+> [!IMPORTANT]
+> * The docker commands in the following sections use the back slash, `\`, as a line continuation character. Replace or remove this based on your host operating system's requirements.
+> * The `Eula`, `Billing`, and `ApiKey` options must be specified to run the container; otherwise, the container won't start. For more information, see [Billing](#billing).
+> * The responsible AI '`RAI_Terms` acknowledgment must also be present with a value of `accept`.
+
+There are multiple ways you can install and run Project Health Insights containers.
+
+- Use the Azure portal to create a Project Health Insights resource, and use Docker to get your container.
+- Use an Azure VM with Docker to run the container.
+- Use PowerShell and Azure CLI scripts to automate resource deployment and container configuration.
+
+When you use Project Health Insights container, the data contained in your API requests and responses isn't visible to Microsoft, and is not used for training the model applied to your data.
+
+### Run the container locally
+
+> [!IMPORTANT]
+> The docker run command can only be used of the cancer-profiling model, to use the clinical-matching model, you should use the docker compose command. see Example Docker compose file.
+
+To run the container in your own environment after downloading the container image, execute the following `docker run` command. Replace the placeholders below with your own values:
+
+| Placeholder | Value | Format or example |
+|-|-||
+| **{API_KEY}** | The key for your Health Insights resource. You can find it on your resource's **Key and endpoint** page, on the Azure portal. |`xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`|
+| **{ENDPOINT_URI}** | The endpoint for accessing the API. You can find it on your resource's **Key and endpoint** page, on the Azure portal. | `https://<your-custom-subdomain>.cognitiveservices.azure.com` |
+
+```bash
+docker run --rm -it -p 5000:5000 --cpus 6 --memory 12g \
+mcr.microsoft.com/azure-cognitive-services/health-insights/<model-name>:<tag-name> \
+Eula=accept \
+rai_terms=accept \
+Billing={ENDPOINT_URI} \
+ApiKey={API_KEY}
+```
+
+For Clinical Trials, add this value:
+TrialMatcher__TA4HConfiguration__Host = `https://<text-analytics-container-endpoint>:5000`
+
+This command:
+
+- Runs Project Health Insights container from the container image
+- Allocates 6 CPU core and 12 gigabytes (GB) of memory
+- Exposes TCP port 5000 and allocates a pseudo-TTY for the container
+- Accepts the end user license agreement (EULA) and responsible AI (RAI) terms
+- Automatically removes the container after it exits. The container image is still available on the host computer.
+
+### Submit a query to the container
+
+Use the example cURL request as a reference how to submit a query to the container you have deployed replacing the `serverURL` variable with the appropriate value.
+
+```bash
+curl -X POST 'http://<serverURL>:5000/health-insights/<model>/' --header 'Content-Type: application/json' --header 'accept: application/json' --data-binary @example.json
+```
+
+#### Example docker compose file
+
+The below example shows how a [docker compose](https://docs.docker.com/compose/reference/overview) file can be created to deploy the health-insights containers.
+
+```yaml
+version: "3"
+
+ azure-cognitive-service-health-insights-clinical-matching:
+ container_name: azure-cognitive-service-health-insights-clinical-matching
+ image: {TRIAL_MATCHER_IMAGE_ID}
+ environment:
+ - EULA=accept
+ - RAI_TERMS=accept
+ - billing={AHI_ENDPOINT_URI}
+ - ApiKey={AHI_API_KEY}
+ - TrialMatcher__TA4HConfiguration__Host={http://<text-analytics container endpoint>:5000}
+ ports:
+ - 5000:5000/tcp
+ networks:
+ - hivnet
+ azure-cognitive-service-ta4h:
+ container_name: azure-cognitive-service-ta4h
+ image: {TA4H_IMAGE_ID}
+ environment:
+ - EULA=accept
+ - RAI_TERMS=accept
+ - billing={TA4H_ENDPOINT_URI}
+ - ApiKey={TA4H_API_KEY}
+ networks:
+ - hivnet
+networks:
+ ds4hvnet:
+ driver: bridge
+
+```
+
+To initiate this Docker compose file, execute the following command from a console at the root level of the file:
+
+```bash
+docker-compose up
+```
+
+### Run multiple containers on the same host
+
+If you intend to run multiple containers with exposed ports, make sure to run each container with a different exposed port. For example, run the first container on port 5000 and the second container on port 5001.
+
+You can have this container and a different Project Health Insights container running on the HOST together. You also can have multiple containers of the same Project Health Insights container running.
+
+## Query the container's prediction endpoint
+
+The container provides REST-based query prediction endpoint APIs.
+
+Use the host, `http://localhost:5000`, for container APIs.
+
+### Validate that a container is running
+
+There are several ways to validate that the container is running. Locate the *External IP* address and exposed port of the container in question, and open your favorite web browser. Use the various request URLs that follow to validate the container is running. The example request URLs listed here are `http://localhost:5000`, but your specific container might vary. Make sure to rely on your container's *External IP* address and exposed port.
+
+| Request URL | Purpose |
+|--|--|
+| `http://localhost:5000/` | The container provides a home page. |
+| `http://localhost:5000/ready` | Requested with GET, this URL provides a verification that the container is ready to accept a query against the model. This request can be used for Kubernetes [liveness and readiness probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/). |
+| `http://localhost:5000/status` | Also requested with GET, this URL verifies if the api-key used to start the container is valid without causing an endpoint query. This request can be used for Kubernetes [liveness and readiness probes](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/). |
++
+## Stop the container
+
+To shut down the container, in the command-line environment where the container is running, select `Ctrl+C`.
++
+## Troubleshooting
+
+If you run the container with an output mount and logging enabled, the container generates log files. The log files are helpful to troubleshoot issues that happen while starting or running the container.
+
+## Billing
+
+Project Health Insights containers send billing information to Azure, using a _Language_ resource on your Azure account.
+
+Queries to the container are billed at the pricing tier of the Azure resource that's used for the `ApiKey` parameter.
+
+Project Health Insights containers aren't licensed to run without being connected to the metering or billing endpoint. You must enable the containers to communicate billing information with the billing endpoint always. Project Health Insights containers don't send customer data, such as the image or text that's being analyzed, to Microsoft.
+
+### Connect to Azure
+
+The container needs the billing argument values to run. These values allow the container to connect to the billing endpoint. The container reports usage about every **10 to 15 minutes**. If the container doesn't connect to Azure within the allowed time window, the container continues to run but doesn't serve queries until the billing endpoint is restored. The connection is attempted 10 times at the same time interval of 10 to 15 minutes. If it can't connect to the billing endpoint within the 10 tries, the container stops serving requests.
+
+### Billing arguments
+
+The [docker run](https://docs.docker.com/engine/reference/commandline/run/) command starts the container when all three of the following options are provided with valid values:
+
+| Option | Description |
+|--|-|
+| `ApiKey` | The API key of Project Health Insights resource that's used to track billing information.<br/>The value of this option must be set to an API key for the provisioned resource that's specified in `Billing`. |
+| `Billing` | The endpoint of Project Health Insights resource that's used to track billing information.<br/>The value of this option must be set to the endpoint URI of a provisioned Azure resource.|
+| `Eula` | Indicates that you accepted the license for the container.<br/>The value of this option must be set to **accept**. |
+
+## Summary
+
+In this article, you learned concepts and workflow for downloading, installing, and running Project Health Insights containers. In summary:
+
+* Project Health Insights provides a Linux container for Docker
+* Container images are downloaded from the Microsoft Container Registry (MCR).
+* Container images run in Docker.
+* You can use either the REST API or SDK to call operations in Project Health Insights containers by specifying the host URI of the container.
+* You must specify billing information when instantiating a container.
+
+> [!IMPORTANT]
+> Project Health Insights containers are not licensed to run without being connected to Azure for metering. Customers need to enable the containers to communicate billing information with the metering service at all times. Project Health Insights containers do not send customer data (e.g. text that is being analyzed) to Microsoft.
+
+## Next steps
+>[!div class="nextstepaction"]
+* See [Configure containers](configure-containers.md) for configuration settings.
azure-maps Android Map Add Line Layer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/android-map-add-line-layer.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Android Map Events https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/android-map-events.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Choose Map Style https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/choose-map-style.md
Last updated 04/26/2020 -+ # Change the style of the map
azure-maps Clustering Point Data Android Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/clustering-point-data-android-sdk.md
Last updated 03/23/2021 + zone_pivot_groups: azure-maps-android
azure-maps Clustering Point Data Web Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/clustering-point-data-web-sdk.md
Last updated 07/29/2019
-+ # Clustering point data in the Web SDK
See code examples to add functionality to your app:
[Display clusters with a Symbol Layer]: https://samples.azuremaps.com/?search=symbol%20layer&sample=display-clusters-with-a-symbol-layer [Cluster weighted Heat Map]: https://samples.azuremaps.com/?search=heat%20maps&sample=cluster-weighted-heat-map [Display cluster area with Convex Hull]: https://samples.azuremaps.com/?search=cluster%20area&sample=display-cluster-area-with-convex-hull
-[Cluster aggregates]: https://samples.azuremaps.com/?search=clusters&sample=cluster-aggregates
+[Cluster aggregates]: https://samples.azuremaps.com/?search=clusters&sample=cluster-aggregates
azure-maps Create Data Source Android Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/create-data-source-android-sdk.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Create Data Source Web Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/create-data-source-web-sdk.md
Last updated 12/07/2020
-+ # Create a data source
azure-maps Data Driven Style Expressions Android Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/data-driven-style-expressions-android-sdk.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Data Driven Style Expressions Web Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/data-driven-style-expressions-web-sdk.md
Last updated 4/4/2019
-+ # Data-driven Style Expressions (Web SDK)
azure-maps Display Feature Information Android https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/display-feature-information-android.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps How To Add Shapes To Android Map https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-add-shapes-to-android-map.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps How To Add Symbol To Android Map https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-add-symbol-to-android-map.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps How To Add Tile Layer Android Map https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-add-tile-layer-android-map.md
Last updated 3/25/2021 + zone_pivot_groups: azure-maps-android
azure-maps How To Dev Guide Csharp Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-dev-guide-csharp-sdk.md
Last updated 11/11/2021 +
azure-maps How To Dev Guide Java Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-dev-guide-java-sdk.md
Last updated 01/25/2023 +
azure-maps How To Dev Guide Js Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-dev-guide-js-sdk.md
Last updated 11/15/2021 +
azure-maps How To Dev Guide Py Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-dev-guide-py-sdk.md
Last updated 01/15/2021 +
azure-maps How To Secure Spa App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-secure-spa-app.md
Last updated 10/28/2021
-+ # How to secure a single-page web application with non-interactive sign-in
Explore other samples that show how to integrate Azure AD with Azure Maps:
[Add a system-assigned identity]: ../app-service/overview-managed-identity.md?tabs=dotnet#add-a-system-assigned-identity [Grant role-based access]: #grant-role-based-access-for-users-to-azure-maps [Obtain tokens for Azure resources]: ../app-service/overview-managed-identity.md?tabs=dotnet#add-a-system-assigned-identity
-[Create a function access key]: ../azure-functions/functions-bindings-http-webhook-trigger.md?tabs=csharp#authorization-keys
+[Create a function access key]: ../azure-functions/functions-bindings-http-webhook-trigger.md?tabs=csharp#authorization-keys
azure-maps How To Secure Spa Users https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-secure-spa-users.md
Last updated 06/12/2020
-+ # Secure a single page application with user sign-in
Find the API usage metrics for your Azure Maps account:
Explore samples that show how to integrate Azure AD with Azure Maps: > [!div class="nextstepaction"]
-> [Azure Maps Samples](https://github.com/Azure-Samples/Azure-Maps-AzureAD-Samples/tree/master/src/ImplicitGrant)
+> [Azure Maps Samples](https://github.com/Azure-Samples/Azure-Maps-AzureAD-Samples/tree/master/src/ImplicitGrant)
azure-maps How To Secure Webapp Users https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-secure-webapp-users.md
Last updated 06/12/2020
-+ # Secure a web application with user sign-in
azure-maps How To Show Traffic Android https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-show-traffic-android.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps How To Use Android Map Control Library https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-use-android-map-control-library.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps How To Use Image Templates Web Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-use-image-templates-web-sdk.md
Last updated 8/6/2019
-+ # How to use image templates
azure-maps How To Use Indoor Module Ios https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-use-indoor-module-ios.md
Last updated 12/10/2021 +
azure-maps How To Use Spatial Io Module https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-use-spatial-io-module.md
Last updated 02/28/2020
--+ #Customer intent: As an Azure Maps web sdk user, I want to install and use the spatial io module so that I can integrate spatial data with the Azure Maps web sdk.
azure-maps Map Add Bubble Layer Android https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-bubble-layer-android.md
Last updated 2/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Map Add Bubble Layer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-bubble-layer.md
Last updated 05/15/2023 -+ # Add a bubble layer to a map
azure-maps Map Add Controls Android https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-controls-android.md
Last updated 02/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Map Add Controls https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-controls.md
Last updated 05/15/2023 -+ # Add controls to a map
azure-maps Map Add Drawing Toolbar https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-drawing-toolbar.md
Last updated 09/04/2019
--+ # Add a drawing tools toolbar to a map
Learn more about the classes and methods used in this article:
> [Drawing toolbar](/javascript/api/azure-maps-drawing-tools/atlas.control.drawingtoolbar) > [!div class="nextstepaction"]
-> [Drawing manager](/javascript/api/azure-maps-drawing-tools/atlas.drawing.drawingmanager)
+> [Drawing manager](/javascript/api/azure-maps-drawing-tools/atlas.drawing.drawingmanager)
azure-maps Map Add Heat Map Layer Android https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-heat-map-layer-android.md
Last updated 02/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Map Add Heat Map Layer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-heat-map-layer.md
Last updated 10/06/2021 -+ # Add a heat map layer to a map
azure-maps Map Add Image Layer Android https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-image-layer-android.md
Last updated 02/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Map Add Image Layer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-image-layer.md
Last updated 07/29/2019 -+ # Add an image layer to a map
azure-maps Map Add Line Layer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-line-layer.md
Last updated 08/08/2019 -+ # Add a line layer to the map
See the following articles for more code samples to add to your maps:
> [How to use image templates](how-to-use-image-templates-web-sdk.md) > [!div class="nextstepaction"]
-> [Add a polygon layer](map-add-shape.md)
+> [Add a polygon layer](map-add-shape.md)
azure-maps Map Add Pin https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-pin.md
Last updated 07/29/2019 -+ # Add a symbol layer to a map
See the following articles for more code samples to add to your maps:
> [Add a bubble layer](map-add-bubble-layer.md) > [!div class="nextstepaction"]
-> [Add HTML Makers](map-add-bubble-layer.md)
+> [Add HTML Makers](map-add-bubble-layer.md)
azure-maps Map Add Popup https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-popup.md
Last updated 02/27/2020 -+ # Add a popup to the map
See the following great articles for full code samples:
> [Add a line layer](map-add-line-layer.md) > [!div class="nextstepaction"]
-> [Add a polygon layer](map-add-shape.md)
+> [Add a polygon layer](map-add-shape.md)
azure-maps Map Add Shape https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-shape.md
Last updated 07/29/2019 -+ # Add a polygon layer to the map
For more code examples to add to your maps, see the following articles:
Additional resources: > [!div class="nextstepaction"]
-> [Azure Maps GeoJSON specification extension](extend-geojson.md#circle)
+> [Azure Maps GeoJSON specification extension](extend-geojson.md#circle)
azure-maps Map Add Tile Layer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-tile-layer.md
Last updated 3/25/2021 -+ # Add a tile layer to a map
azure-maps Map Create https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-create.md
Last updated 07/26/2019 -+ # Create a map
azure-maps Map Events https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-events.md
Last updated 09/10/2019 -+ # Interact with the map
See the following articles for full code examples:
> [Using the Azure Maps Services module](./how-to-use-services-module.md) > [!div class="nextstepaction"]
-> [Code samples](/samples/browse/?products=azure-maps)
+> [Code samples](/samples/browse/?products=azure-maps)
azure-maps Map Extruded Polygon Android https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-extruded-polygon-android.md
Last updated 02/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Map Extruded Polygon https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-extruded-polygon.md
Last updated 10/08/2019 -+ # Add a polygon extrusion layer to the map
Learn more about the classes and methods used in this article:
Additional resources: > [!div class="nextstepaction"]
-> [Azure Maps GeoJSON specification extension](extend-geojson.md#circle)
+> [Azure Maps GeoJSON specification extension](extend-geojson.md#circle)
azure-maps Map Get Information From Coordinate https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-get-information-from-coordinate.md
Last updated 07/29/2019 -+ # Get information from a coordinate
azure-maps Map Get Shape Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-get-shape-data.md
Last updated 09/04/2019 -+ # Get shape data
Learn more about the classes and methods used in this article:
> [Drawing manager](/javascript/api/azure-maps-drawing-tools/atlas.drawing.drawingmanager) > [!div class="nextstepaction"]
-> [Drawing toolbar](/javascript/api/azure-maps-drawing-tools/atlas.control.drawingtoolbar)
+> [Drawing toolbar](/javascript/api/azure-maps-drawing-tools/atlas.control.drawingtoolbar)
azure-maps Map Show Traffic https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-show-traffic.md
Last updated 07/29/2019 -+ # Show traffic on the map
Enhance your user experiences:
> [Building an accessible map](map-accessibility.md) > [!div class="nextstepaction"]
-> [Code sample page](https://aka.ms/AzureMapsSamples)
+> [Code sample page](https://aka.ms/AzureMapsSamples)
azure-maps Migrate From Bing Maps Web App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/migrate-from-bing-maps-web-app.md
Last updated 10/28/2021
-+ # Tutorial: Migrate a web app from Bing Maps
azure-maps Migrate From Google Maps Android App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/migrate-from-google-maps-android-app.md
Last updated 12/1/2021 + zone_pivot_groups: azure-maps-android
azure-maps Migrate From Google Maps Web App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/migrate-from-google-maps-web-app.md
Last updated 12/07/2020 -+ # Tutorial: Migrate a web app from Google Maps
azure-maps Quick Android Map https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/quick-android-map.md
Last updated 09/22/2022
-+ zone_pivot_groups: azure-maps-android
azure-maps Rest Sdk Developer Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/rest-sdk-developer-guide.md
Last updated 10/31/2021 +
azure-maps Set Android Map Styles https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/set-android-map-styles.md
Last updated 02/26/2021 + zone_pivot_groups: azure-maps-android
azure-maps Set Drawing Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/set-drawing-options.md
Last updated 01/29/2020 -+ # Use the drawing tools module
azure-maps Spatial Io Add Simple Data Layer https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/spatial-io-add-simple-data-layer.md
Last updated 02/29/2020 -+ #Customer intent: As an Azure Maps web sdk user, I want to add simple data layer so that I can render styled features on the map.
See the following articles for more code samples to add to your maps:
> [Leverage core operations](spatial-io-core-operations.md) > [!div class="nextstepaction"]
-> [Supported data format details](spatial-io-supported-data-format-details.md)
+> [Supported data format details](spatial-io-supported-data-format-details.md)
azure-maps Spatial Io Connect Wfs Service https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/spatial-io-connect-wfs-service.md
Last updated 03/03/2020 -+ # Connect to a WFS service
See the following articles for more code samples to add to your maps:
> [Leverage core operations](spatial-io-core-operations.md) > [!div class="nextstepaction"]
-> [Supported data format details](spatial-io-supported-data-format-details.md)
+> [Supported data format details](spatial-io-supported-data-format-details.md)
azure-maps Spatial Io Core Operations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/spatial-io-core-operations.md
Last updated 03/03/2020
--+ # Core IO operations
Learn more about the classes and methods used in this article:
See the following articles for more code samples to add to your maps:
-[Supported data format details](spatial-io-supported-data-format-details.md)
+[Supported data format details](spatial-io-supported-data-format-details.md)
azure-maps Spatial Io Read Write Spatial Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/spatial-io-read-write-spatial-data.md
Last updated 03/01/2020 -+ #Customer intent: As an Azure Maps web sdk user, I want to read and write spatial data so that I can use data for map rendering.
Learn more about the classes and methods used in this article:
See the following articles for more code samples to add to your maps:
-[Add an OGC map layer](spatial-io-add-ogc-map-layer.md)
+[Add an OGC map layer](spatial-io-add-ogc-map-layer.md)
azure-maps Supported Browsers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/supported-browsers.md
Last updated 03/25/2019 + # Web SDK supported browsers
azure-maps Tutorial Load Geojson File Android https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/tutorial-load-geojson-file-android.md
Last updated 12/10/2020 + zone_pivot_groups: azure-maps-android
azure-maps Tutorial Prioritized Routes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/tutorial-prioritized-routes.md
Last updated 12/29/2021
-+ # Tutorial: Find and display routes for different modes of travel using Azure Maps
azure-maps Tutorial Route Location https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/tutorial-route-location.md
Last updated 12/28/2021
-+ # Tutorial: How to display route directions using Azure Maps Route service and Map control
The next tutorial shows you how to create a route query with restrictions, like
[setCamera(CameraOptions | CameraBoundsOptions & AnimationOptions)]: /javascript/api/azure-maps-control/atlas.map#setcamera-cameraoptionscameraboundsoptionsanimationoptions- [MapControlCredential]: /javascript/api/azure-maps-rest/atlas.service.mapcontrolcredential [pipeline]: /javascript/api/azure-maps-rest/atlas.service.pipeline
-[routeURL]: /javascript/api/azure-maps-rest/atlas.service.routeurl
+[routeURL]: /javascript/api/azure-maps-rest/atlas.service.routeurl
azure-maps Tutorial Search Location https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/tutorial-search-location.md
Last updated 12/23/2021
-+ # Tutorial: Search nearby points of interest using Azure Maps
azure-monitor Agent Linux https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/agent-linux.md
Title: Install Log Analytics agent on Linux computers description: This article describes how to connect Linux computers hosted in other clouds or on-premises to Azure Monitor with the Log Analytics agent for Linux. Previously updated : 03/31/2022 Last updated : 06/01/2023
azure-monitor Agent Windows Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/agent-windows-troubleshoot.md
Title: Troubleshoot issues with the Log Analytics agent for Windows description: Describe the symptoms, causes, and resolution for the most common issues with the Log Analytics agent for Windows in Azure Monitor. Previously updated : 03/31/2022+ Last updated : 06/01/2023 - # Troubleshoot issues with the Log Analytics agent for Windows
azure-monitor Agent Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/agent-windows.md
Title: Install Log Analytics agent on Windows computers description: This article describes how to connect Windows computers hosted in other clouds or on-premises to Azure Monitor with the Log Analytics agent for Windows. Previously updated : 03/31/2022 Last updated : 06/01/2023
azure-monitor Agents Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/agents-overview.md
The tables below provide a comparison of Azure Monitor Agent with the legacy the
### Windows agents
-| | | Azure Monitor Agent | Log Analytics Agent | Diagnostics extension (WAD) |
-| - | - | - | - | - |
+| Category | Area | Azure Monitor Agent | Log Analytics Agent | Diagnostics extension (WAD) |
+|:|:|:|:|:|
| **Environments supported** | | | | | | | Azure | X | X | X | | | Other cloud (Azure Arc) | X | X | |
The tables below provide a comparison of Azure Monitor Agent with the legacy the
### Linux agents
-| | | Azure Monitor Agent | Log Analytics Agent | Diagnostics extension (LAD) | Telegraf agent |
-| - | - | - | - | - | - |
+| Category | Area | Azure Monitor Agent | Log Analytics Agent | Diagnostics extension (LAD) | Telegraf agent |
+|:|:|:|:|:|:|
| **Environments supported** | | | | | | | | Azure | X | X | X | X | | | Other cloud (Azure Arc) | X | X | | X |
View [supported operating systems for Azure Arc Connected Machine agent](../../a
| Windows Server 2008 R2 SP1 | X | X | X | | Windows Server 2008 R2 | | | X | | Windows Server 2008 SP2 | | X | |
-| Windows 11 Client Enterprise and Pro | X<sup>2</sup>, <sup>3</sup> | | |
+| Windows 11 Client Enterprise<br>(including multi-session) and Pro | X<sup>2</sup>, <sup>3</sup> | | |
| Windows 10 1803 (RS4) and higher | X<sup>2</sup> | | | | Windows 10 Enterprise<br>(including multi-session) and Pro<br>(Server scenarios only<sup>1</sup>) | X | X | X | | Windows 8 Enterprise and Pro<br>(Server scenarios only<sup>1</sup>) | | X | |
azure-monitor Azure Monitor Agent Migration Tools https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/azure-monitor-agent-migration-tools.md
Last updated 1/18/2023 --
-# Customer intent: As an Azure account administrator, I want to use the available Azure Monitor tools to migrate from Log Analytics Agent to Azure Monitor Agent and track the status of the migration in my account.
-+
+# Customer intent: As an Azure account administrator, I want to use the available Azure Monitor tools to migrate from Log Analytics Agent to Azure Monitor Agent and track the status of the migration in my account.
# Tools for migrating from Log Analytics Agent to Azure Monitor Agent
azure-monitor Azure Monitor Agent Migration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/azure-monitor-agent-migration.md
Last updated 4/3/2023 -+ # Customer intent: As an IT manager, I want to understand how I should move from using legacy agents to Azure Monitor Agent.
azure-monitor Data Collection Firewall https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/data-collection-firewall.md
+
+ Title: Collect Firewall logs with Azure Monitor Agent
+description: Configure collection of Windows Firewall logs on virtual machines with Azure Monitor Agent.
+ Last updated : 6/1/2023++++++
+# Collect Firewall logs with Azure Monitor Agent (Preview)
+Windows Firewall is a Microsoft Windows application that filters information coming to your system from the Internet and blocks potentially harmful programs. It is also known as Microsoft Defender Firewall in Windows 10 version 2004 and later. You can turn it on or off by following these steps:
+- Select Start, then open Settings
+- Under Update & Security, select Windows Security, Firewall & network protection.
+- Select a network profile: domain, private, or public.
+- Under Microsoft Defender Firewall, switch the setting to On or Off.
+
+## Prerequisites
+To complete this procedure, you need:
+- Log Analytics workspace where you have at least [contributor rights](../logs/manage-access.md#azure-rbac).
+- [Data collection endpoint](../essentials/data-collection-endpoint-overview.md#create-a-data-collection-endpoint).
+- [Permissions to create Data Collection Rule objects](../essentials/data-collection-rule-overview.md#permissions) in the workspace.
+- A Virtual Machine, Virtual Machine Scale Set, or Arc-enabled on-premises machine that is running firewall.
+
+## Create a data collection rule to collect firewall logs
+The [data collection rule](../essentials/data-collection-rule-overview.md) defines:
+- Which source log files Azure Monitor Agent scans for new events.
+- How Azure Monitor transforms events during ingestion.
+- The destination Log Analytics workspace and table to which Azure Monitor sends the data.
+
+You can define a data collection rule to send data from multiple machines to multiple Log Analytics workspaces, including workspaces in a different region or tenant. Create the data collection rule in the *same region* as your Analytics workspace.
+
+> [!NOTE]
+> To send data across tenants, you must first enable [Azure Lighthouse](../../lighthouse/overview.md).
+
+To create the data collection rule in the Azure portal:
+1. On the **Monitor** menu, select **Data Collection Rules**.
+1. Select **Create** to create a new data collection rule and associations.
+ [ ![Screenshot that shows the Create button on the Data Collection Rules screen.](media/data-collection-rule-azure-monitor-agent/data-collection-rules-updated.png) ](media/data-collection-rule-azure-monitor-agent/data-collection-rules-updated.png#lightbox)
+1. Enter a **Rule name** and specify a **Subscription**, **Resource Group**, **Region**, and **Platform Type**:
+ - **Region** specifies where the DCR will be created. The virtual machines and their associations can be in any subscription or resource group in the tenant.
+ - **Platform Type** specifies the type of resources this rule can apply to. The **Custom** option allows for both Windows and Linux types.
+ -**Data Collection End Point** select a previously created data [collection end point](../essentials/data-collection-endpoint-overview.md).
+ [ ![Screenshot that shows the Basics tab of the Data Collection Rule screen.](media/data-collection-rule-azure-monitor-agent/data-collection-rule-basics-updated.png) ](media/data-collection-rule-azure-monitor-agent/data-collection-rule-basics-updated.png#lightbox)
+1. On the **Resources** tab:
+ 1. Select **+ Add resources** and associate resources with the data collection rule. Resources can be Virtual Machines, Virtual Machine Scale Sets, and Azure Arc for servers. The Azure portal installs Azure Monitor Agent on resources that don't already have it installed.
+
+ > [!IMPORTANT]
+ > The portal enables system-assigned managed identity on the target resources, along with existing user-assigned identities, if there are any. For existing applications, unless you specify the user-assigned identity in the request, the machine defaults to using system-assigned identity instead.
+
+ If you need network isolation using private links, select existing endpoints from the same region for the respective resources or [create a new endpoint](../essentials/data-collection-endpoint-overview.md).
+ 1. Select **Enable Data Collection Endpoints**.
+ 1. Select a data collection endpoint for each of the resources associate to the data collection rule.
+
+ [ ![Screenshot that shows the Resources tab of the Data Collection Rule screen.](media/data-collection-rule-azure-monitor-agent/data-collection-rule-virtual-machines-with-endpoint.png) ](media/data-collection-rule-azure-monitor-agent/data-collection-rule-virtual-machines-with-endpoint.png#lightbox)
+
+1. On the **Collect and deliver** tab, select **Add data source** to add a data source and set a destination.
+1. Select **Firewall Logs**.
+
+ [ ![Screenshot that shows the Azure portal form to select firewall logs in a data collection rule.](media/data-collection-rule-azure-monitor-agent/firewall-data-collection-rule.png)](media/data-collection-rule-azure-monitor-agent/firewall-data-collection-rule.png#lightbox)
+
+1. On the **Destination** tab, add one or more destinations for the data source. You can select multiple destinations of the same or different types. For instance, you can select multiple Log Analytics workspaces, which is also known as multihoming.
+
+ [ ![Screenshot that shows the Azure portal form to add a data source in a data collection rule.](media/data-collection-rule-azure-monitor-agent/data-collection-rule-destination.png) ](media/data-collection-rule-azure-monitor-agent/data-collection-rule-destination.png#lightbox)
+
+1. Select **Review + create** to review the details of the data collection rule and association with the set of virtual machines.
+1. Select **Create** to create the data collection rule.
+
+> [!NOTE]
+> It can take up to 5 minutes for data to be sent to the destinations after you create the data collection rule.
++
+### Sample log queries
+
+- **Count the firewall log entries by URL for the host www.contoso.com.**
+
+ ```kusto
+ WindowsFirewall
+ | where csHost=="www.contoso.com"
+ | summarize count() by csUriStem
+ ```
+
+## Troubleshoot
+Use the following steps to troubleshoot the collection of firewall logs.
+
+### Run Azure Monitor Agent troubleshooter
+To test your configuration and share logs with Microsoft [use the Azure Monitor Agent Troubleshooter](use-azure-monitor-agent-troubleshooter.md)
+
+### Check if any firewall logs have been received
+Start by checking if any records have been collected for your firewall logs by running the following query in Log Analytics. If the query doesn't return records, check the other sections for possible causes. This query looks for entries in the last two days, but you can modify for another time range.
+
+``` kusto
+WindowsFirewall
+| where TimeGenerated > ago(48h)
+| order by TimeGenerated desc
+```
+
+### Verify that firewall logs are being created
+Look at the timestamps of the log files and open the latest to see that latest timestamps are present in the log files. The default location for firewall log files is C:\windows\system32\logfiles\firewall\pfirewall.log
+
+## Next steps
+Learn more about:
+- [Azure Monitor Agent](azure-monitor-agent-overview.md).
+- [Data collection rules](../essentials/data-collection-rule-overview.md).
+- [Data collection endpoints](../essentials/data-collection-endpoint-overview.md)
azure-monitor Data Sources Collectd https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/data-sources-collectd.md
Title: Collect data from CollectD in Azure Monitor | Microsoft Docs description: CollectD is an open source Linux daemon that periodically collects data from applications and system level information. This article provides information on collecting data from CollectD in Azure Monitor. Previously updated : 03/31/2022 Last updated : 06/01/2023
To maintain a familiar model between infrastructure metrics already collected by
## Next steps * Learn about [log queries](../logs/log-query-overview.md) to analyze the data collected from data sources and solutions.
-* Use [Custom Fields](../logs/custom-fields.md) to parse data from syslog records into individual fields.
+* Use [Custom Fields](../logs/custom-fields.md) to parse data from syslog records into individual fields.
azure-monitor Data Sources Iis Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/data-sources-iis-logs.md
Title: Collect IIS logs with the Log Analytics agent in Azure Monitor description: This article describes how to configure collection of IIS log files that store user activity and the details of the records they create in Azure Monitor. Previously updated : 03/31/2022 Last updated : 06/01/2023
azure-monitor Data Sources Json https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/data-sources-json.md
Title: Collecting custom JSON data sources with the Log Analytics agent for Linux in Azure Monitor description: Custom JSON data sources can be collected into Azure Monitor using the Log Analytics Agent for Linux. These custom data sources can be simple scripts returning JSON such as curl or one of FluentD's 300+ plugins. This article describes the configuration required for this data collection. Previously updated : 03/31/2022 Last updated : 06/01/2023
Custom JSON data sources can be collected into [Azure Monitor](../data-platform.
> [!NOTE]
-> Log Analytics agent for Linux v1.1.0-217+ is required for Custom JSON Data.
+> Log Analytics agent for Linux v1.1.0-217+ is required for Custom JSON Data.
+> This collection flow only works with MMA. Consider moving to the AMA agent and using the additional collection features available there
+>
## Configuration
Nested JSON data sources are supported, but are indexed based off of parent fiel
## Next steps
-* Learn about [log queries](../logs/log-query-overview.md) to analyze the data collected from data sources and solutions.
+* Learn about [log queries](../logs/log-query-overview.md) to analyze the data collected from data sources and solutions.
azure-monitor Data Sources Linux Applications https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/data-sources-linux-applications.md
Title: Collect Linux application performance in Azure Monitor | Microsoft Docs description: This article provides details for configuring the Log Analytics agent for Linux to collect performance counters for MySQL and Apache HTTP Server. Previously updated : 03/31/2022 Last updated : 06/01/2023
Once you configure the Log Analytics agent for Linux to send data to Azure Monit
## Next steps * [Collect performance counters](data-sources-performance-counters.md) from Linux agents.
-* Learn about [log queries](../logs/log-query-overview.md) to analyze the data collected from data sources and solutions.
+* Learn about [log queries](../logs/log-query-overview.md) to analyze the data collected from data sources and solutions.
azure-monitor Diagnostics Extension To Application Insights https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/diagnostics-extension-to-application-insights.md
Title: Send Azure Diagnostics data to Application Insights description: Update the Azure Diagnostics public configuration to send data to Application Insights. Previously updated : 03/31/2022 Last updated : 06/01/2023
azure-monitor Diagnostics Extension Troubleshooting https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/diagnostics-extension-troubleshooting.md
Title: Troubleshooting Azure Diagnostics extension description: Troubleshoot problems when you use Azure Diagnostics in Azure Virtual Machines, Azure Service Fabric, or Azure Cloud Services. Previously updated : 03/31/2022 Last updated : 06/01/2023
azure-monitor Alerts Troubleshoot Log https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-troubleshoot-log.md
When you create a log alert rule with system-assigned managed identity, the iden
[Metric measurement](alerts-unified-log.md#calculation-of-a-value) is a type of log alert that's based on summarized time series results. You can use these rules to group by columns to [split alerts](alerts-unified-log.md#split-by-alert-dimensions). If you're using the legacy Log Analytics API, splitting doesn't work as expected because it doesn't support grouping.
-You can use the current ScheduledQueryRules API to set **Aggregate On** in [Metric measurement](alerts-unified-log.md#calculation-of-a-value) rules, which work as expected. To learn more about switching to the current ScheduledQueryRules API, see [Upgrade to the current Log Alerts API from legacy Log Analytics Alert API]](/previous-versions/azure/azure-monitor/alerts/alerts-log-api-switch).
+You can use the current ScheduledQueryRules API to set **Aggregate On** in [Metric measurement](alerts-unified-log.md#calculation-of-a-value) rules, which work as expected. To learn more about switching to the current ScheduledQueryRules API, see [Upgrade to the current Log Alerts API from legacy Log Analytics Alert API](./alerts-log-api-switch.md).
## Log alert fired unnecessarily
azure-monitor Api Custom Events Metrics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/api-custom-events-metrics.md
description: Insert a few lines of code in your device or desktop app, webpage,
Last updated 01/24/2023 ms.devlang: csharp, java, javascript, vb-+
azure-monitor App Insights Azure Ad Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/app-insights-azure-ad-api.md
+
+ Title: Application Insights API Access with Microsoft Azure Active Directory (Azure AD) Authentication
+description: Learn how to authenticate and access the Azure Monitor Application Insights APIs using Azure AD
Last updated : 04/11/2023+++
+# Application Insights API Access with Microsoft Azure Active Directory (Azure AD) Authentication
+
+You can submit a query request by using the Azure Monitor Application Insights endpoint `https://api.applicationinsights.io`. To access the endpoint, you must authenticate through Azure Active Directory (Azure AD).
+
+## Set up authentication
+
+To access the API, you register a client app with Azure AD and request a token.
+
+1. [Register an app in Azure AD](../logs/api/register-app-for-token.md).
+
+1. On the app's overview page, select **API permissions**.
+1. Select **Add a permission**.
+1. On the **APIs my organization uses** tab, search for **Application Insights** and select **Application Insights API** from the list.
+
+1. Select **Delegated permissions**.
+1. Select the **Data.Read** checkbox.
+1. Select **Add permissions**.
+
+Now that your app is registered and has permissions to use the API, grant your app access to your Application Insights resource.
+
+1. From your **Application Insights resource** overview page, select **Access control (IAM)**.
+1. Select **Add role assignment**.
+
+1. Select the **Reader** role and then select **Members**.
+
+1. On the **Members** tab, choose **Select members**.
+1. Enter the name of your app in the **Select** box.
+1. Select your app and choose **Select**.
+1. Select **Review + assign**.
+
+1. After you finish the Active Directory setup and permissions, request an authorization token.
+
+>[!Note]
+> For this example, we applied the Reader role. This role is one of many built-in roles and might include more permissions than you require. More granular roles and permissions can be created.
+
+## Request an authorization token
+
+Before you begin, make sure you have all the values required to make the request successfully. All requests require:
+- Your Azure AD tenant ID.
+- Your App Insights App ID - If you are currently using API Keys, this is the same app ID.
+- Your Azure AD client ID for the app.
+- An Azure AD client secret for the app.
+
+The Application Insights API supports Azure AD authentication with three different [Azure AD OAuth2](/azure/active-directory/develop/active-directory-protocols-oauth-code) flows:
+- Client credentials
+- Authorization code
+- Implicit
+
+### Client credentials flow
+
+In the client credentials flow, the token is used with the Application Insights endpoint. A single request is made to receive a token by using the credentials provided for your app in the previous step when you [register an app in Azure AD](../logs/api/register-app-for-token.md).
+
+Use the `https://api.applicationinsights.io` endpoint.
+
+#### Client credentials token URL (POST request)
+
+```http
+ POST /<your-tenant-id>/oauth2/token
+ Host: https://login.microsoftonline.com
+ Content-Type: application/x-www-form-urlencoded
+
+ grant_type=client_credentials
+ &client_id=<app-client-id>
+ &resource=https://api.applicationinsights.io
+ &client_secret=<app-client-secret>
+```
+
+A successful request receives an access token in the response:
+
+```http
+ {
+ token_type": "Bearer",
+ "expires_in": "86399",
+ "ext_expires_in": "86399",
+ "access_token": ""eyJ0eXAiOiJKV1QiLCJ.....Ax"
+ }
+```
+
+Use the token in requests to the Application Insights endpoint:
+
+```http
+ POST /v1/apps/yous_app_id/query?timespan=P1D
+ Host: https://api.applicationinsights.io
+ Content-Type: application/json
+ Authorization: bearer <your access token>
+
+ Body:
+ {
+ "query": "requests | take 10"
+ }
+```
+
+Example response:
+
+```{
+ "tables": [
+ {
+ "name": "PrimaryResult",
+ "columns": [
+ {
+ "name": "timestamp",
+ "type": "datetime"
+ },
+ {
+ "name": "id",
+ "type": "string"
+ },
+ {
+ "name": "source",
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "type": "string"
+ },
+ {
+ "name": "url",
+ "type": "string"
+ },
+ {
+ "name": "success",
+ "type": "string"
+ },
+ {
+ "name": "resultCode",
+ "type": "string"
+ },
+ {
+ "name": "duration",
+ "type": "real"
+ },
+ {
+ "name": "performanceBucket",
+ "type": "string"
+ },
+ {
+ "name": "customDimensions",
+ "type": "dynamic"
+ },
+ {
+ "name": "customMeasurements",
+ "type": "dynamic"
+ },
+ {
+ "name": "operation_Name",
+ "type": "string"
+ },
+ {
+ "name": "operation_Id",
+ "type": "string"
+ },
+ {
+ "name": "operation_ParentId",
+ "type": "string"
+ },
+ {
+ "name": "operation_SyntheticSource",
+ "type": "string"
+ },
+ {
+ "name": "session_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_Id",
+ "type": "string"
+ },
+ {
+ "name": "user_AuthenticatedId",
+ "type": "string"
+ },
+ {
+ "name": "user_AccountId",
+ "type": "string"
+ },
+ {
+ "name": "application_Version",
+ "type": "string"
+ },
+ {
+ "name": "client_Type",
+ "type": "string"
+ },
+ {
+ "name": "client_Model",
+ "type": "string"
+ },
+ {
+ "name": "client_OS",
+ "type": "string"
+ },
+ {
+ "name": "client_IP",
+ "type": "string"
+ },
+ {
+ "name": "client_City",
+ "type": "string"
+ },
+ {
+ "name": "client_StateOrProvince",
+ "type": "string"
+ },
+ {
+ "name": "client_CountryOrRegion",
+ "type": "string"
+ },
+ {
+ "name": "client_Browser",
+ "type": "string"
+ },
+ {
+ "name": "cloud_RoleName",
+ "type": "string"
+ },
+ {
+ "name": "cloud_RoleInstance",
+ "type": "string"
+ },
+ {
+ "name": "appId",
+ "type": "string"
+ },
+ {
+ "name": "appName",
+ "type": "string"
+ },
+ {
+ "name": "iKey",
+ "type": "string"
+ },
+ {
+ "name": "sdkVersion",
+ "type": "string"
+ },
+ {
+ "name": "itemId",
+ "type": "string"
+ },
+ {
+ "name": "itemType",
+ "type": "string"
+ },
+ {
+ "name": "itemCount",
+ "type": "int"
+ }
+ ],
+ "rows": [
+ [
+ "2018-02-01T17:33:09.788Z",
+ "|0qRud6jz3k0=.c32c2659_",
+ null,
+ "GET Reports/Index",
+ "http://fabrikamfiberapp.azurewebsites.net/Reports",
+ "True",
+ "200",
+ "3.3833",
+ "<250ms",
+ "{\"_MS.ProcessedByMetricExtractors\":\"(Name:'Requests', Ver:'1.0')\"}",
+ null,
+ "GET Reports/Index",
+ "0qRud6jz3k0=",
+ "0qRud6jz3k0=",
+ "Application Insights Availability Monitoring",
+ "9fc6738d-7e26-44f0-b88e-6fae8ccb6b26",
+ "us-va-ash-azr_9fc6738d-7e26-44f0-b88e-6fae8ccb6b26",
+ null,
+ null,
+ "AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3",
+ "PC",
+ null,
+ null,
+ "52.168.8.0",
+ "Boydton",
+ "Virginia",
+ "United States",
+ null,
+ "fabrikamfiberapp",
+ "RD00155D5053D1",
+ "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "fabrikamprod",
+ "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "web:2.5.0-33031",
+ "051ad4ef-0776-11e8-ac6e-e30599af6943",
+ "request",
+ "1"
+ ],
+ [
+ "2018-02-01T17:33:15.786Z",
+ "|x/Ysh+M1TfU=.c32c265a_",
+ null,
+ "GET Home/Index",
+ "http://fabrikamfiberapp.azurewebsites.net/",
+ "True",
+ "200",
+ "716.2912",
+ "500ms-1sec",
+ "{\"_MS.ProcessedByMetricExtractors\":\"(Name:'Requests', Ver:'1.0')\"}",
+ null,
+ "GET Home/Index",
+ "x/Ysh+M1TfU=",
+ "x/Ysh+M1TfU=",
+ "Application Insights Availability Monitoring",
+ "58b15be6-d1e6-4d89-9919-52f63b840913",
+ "emea-se-sto-edge_58b15be6-d1e6-4d89-9919-52f63b840913",
+ null,
+ null,
+ "AutoGen_49c3aea0-4641-4675-93b5-55f7a62d22d3",
+ "PC",
+ null,
+ null,
+ "51.141.32.0",
+ "Cardiff",
+ "Cardiff",
+ "United Kingdom",
+ null,
+ "fabrikamfiberapp",
+ "RD00155D5053D1",
+ "cf58dcfd-0683-487c-bc84-048789bca8e5",
+ "fabrikamprod",
+ "5a2e4e0c-e136-4a15-9824-90ba859b0a89",
+ "web:2.5.0-33031",
+ "051ad4f0-0776-11e8-ac6e-e30599af6943",
+ "request",
+ "1"
+ ]
+ ]
+ }
+ ]
+}
+```
+
+### Authorization code flow
+
+The main OAuth2 flow supported is through [authorization codes](/azure/active-directory/develop/active-directory-protocols-oauth-code). This method requires two HTTP requests to acquire a token with which to call the Azure Monitor Application Insights API. There are two URLs, with one endpoint per request. Their formats are described in the following sections.
+
+#### Authorization code URL (GET request)
+
+```http
+ GET https://login.microsoftonline.com/YOUR_Azure AD_TENANT/oauth2/authorize?
+ client_id=<app-client-id>
+ &response_type=code
+ &redirect_uri=<app-redirect-uri>
+ &resource=https://api.applicationinsights.io
+```
+
+When a request is made to the authorize URL, the client\_id is the application ID from your Azure AD app, copied from the app's properties menu. The redirect\_uri is the homepage/login URL from the same Azure AD app. When a request is successful, this endpoint redirects you to the sign-in page you provided at sign-up with the authorization code appended to the URL. See the following example:
+
+```http
+ http://<app-client-id>/?code=AUTHORIZATION_CODE&session_state=STATE_GUID
+```
+
+At this point, you've obtained an authorization code, which you need now to request an access token.
+
+#### Authorization code token URL (POST request)
+
+```http
+ POST /YOUR_Azure AD_TENANT/oauth2/token HTTP/1.1
+ Host: https://login.microsoftonline.com
+ Content-Type: application/x-www-form-urlencoded
+
+ grant_type=authorization_code
+ &client_id=<app client id>
+ &code=<auth code fom GET request>
+ &redirect_uri=<app-client-id>
+ &resource=https://api.applicationinsights.io
+ &client_secret=<app-client-secret>
+```
+
+All values are the same as before, with some additions. The authorization code is the same code you received in the previous request after a successful redirect. The code is combined with the key obtained from the Azure AD app. If you didn't save the key, you can delete it and create a new one from the keys tab of the Azure AD app menu. The response is a JSON string that contains the token with the following schema. Types are indicated for the token values.
+
+Response example:
+
+```http
+ {
+ "access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax",
+ "expires_in": "3600",
+ "ext_expires_in": "1503641912",
+ "id_token": "not_needed_for_app_insights",
+ "not_before": "1503638012",
+ "refresh_token": "eyJ0esdfiJKV1ljhgYF.....Az",
+ "resource": "https://api.applicationinsights.io",
+ "scope": "Data.Read",
+ "token_type": "bearer"
+ }
+```
+
+The access token portion of this response is what you present to the Application Insights API in the `Authorization: Bearer` header. You can also use the refresh token in the future to acquire a new access\_token and refresh\_token when yours have gone stale. For this request, the format and endpoint are:
+
+```http
+ POST /YOUR_AAD_TENANT/oauth2/token HTTP/1.1
+ Host: https://login.microsoftonline.com
+ Content-Type: application/x-www-form-urlencoded
+
+ client_id=<app-client-id>
+ &refresh_token=<refresh-token>
+ &grant_type=refresh_token
+ &resource=https://api.applicationinsights.io
+ &client_secret=<app-client-secret>
+```
+
+Response example:
+
+```http
+ {
+ "token_type": "Bearer",
+ "expires_in": "3600",
+ "expires_on": "1460404526",
+ "resource": "https://api.applicationinsights.io",
+ "access_token": "eyJ0eXAiOiJKV1QiLCJ.....Ax",
+ "refresh_token": "eyJ0esdfiJKV1ljhgYF.....Az"
+ }
+```
+
+### Implicit code flow
+
+The Application Insights API supports the OAuth2 [implicit flow](/azure/active-directory/develop/active-directory-dev-understanding-oauth2-implicit-grant). For this flow, only a single request is required, but no refresh token can be acquired.
+
+#### Implicit code authorize URL
+
+```http
+ GET https://login.microsoftonline.com/YOUR_AAD_TENANT/oauth2/authorize?
+ client_id=<app-client-id>
+ &response_type=token
+ &redirect_uri=<app-redirect-uri>
+ &resource=https://api.applicationinsights.io
+```
+
+A successful request produces a redirect to your redirect URI with the token in the URL:
+
+```http
+ http://YOUR_REDIRECT_URI/#access_token=YOUR_ACCESS_TOKEN&token_type=Bearer&expires_in=3600&session_state=STATE_GUID
+```
+
+This access\_token can be used as the `Authorization: Bearer` header value when it's passed to the Application Insights API to authorize requests.
azure-monitor Asp Net Trace Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/asp-net-trace-logs.md
Title: Explore .NET trace logs in Application Insights
description: Search logs generated by Trace, NLog, or Log4Net. ms.devlang: csharp-+ Last updated 04/18/2023
azure-monitor Azure Ad Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/azure-ad-authentication.md
Using various authentication systems can be cumbersome and risky because it's di
> [!NOTE] > Note
-> This document is used to cover data ingestion into Application Insights using Azure AD. authentication. If you are looking for information on querying data within Application Insights, please refer to **[Query Application Insights using Azure AD Authentication](/azure/azure-monitor/logs/api/app-insights-azure-ad-api)**.
+> This document covers data ingestion into Application Insights using Azure AD. authentication. For information on querying data within Application Insights, see [Query Application Insights using Azure AD Authentication](./app-insights-azure-ad-api.md).
## Prerequisites >
This error usually occurs when the provided credentials don't grant access to in
* [Monitor your telemetry in the portal](overview-dashboard.md) * [Diagnose with Live Metrics Stream](live-stream.md)
-* [Query Application Insights using Azure AD Authentication](/azure/azure-monitor/logs/api/app-insights-azure-ad-api)
+* [Query Application Insights using Azure AD Authentication](./app-insights-azure-ad-api.md)
azure-monitor Azure Web Apps Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/azure-web-apps-java.md
description: Application performance monitoring for Azure app services using Jav
Last updated 03/22/2023 ms.devlang: java-+
azure-monitor Azure Web Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/azure-web-apps.md
Title: Monitor Azure App Service performance | Microsoft Docs
description: Application performance monitoring for Azure App Service. Chart load and response time, dependency information, and set alerts on performance. Last updated 03/01/2023-+ # Application monitoring for Azure App Service overview
azure-monitor Codeless Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/codeless-overview.md
If youΓÇÖre using the following supported SDKs, you can configure the SDK Loader
| SDK | More information | : | : | | ASP.NET Core | [Enable client-side telemetry for web applications](./asp-net-core.md?tabs=netcorenew%2Cnetcore6#enable-client-side-telemetry-for-web-applications) |
- | Node.js | [Automatic web Instrumentation[Preview]](./nodejs.md#automatic-web-instrumentationpreview) |
+ | Node.js | [Automatic web Instrumentation](./nodejs.md#automatic-web-instrumentationpreview) |
## Next steps
azure-monitor Custom Operations Tracking https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/custom-operations-tracking.md
Title: Track custom operations with Application Insights .NET SDK
description: Learn how to track custom operations with the Application Insights .NET SDK. ms.devlang: csharp-+ Last updated 11/26/2019
azure-monitor Data Retention Privacy https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/data-retention-privacy.md
Title: Data retention and storage in Application Insights | Microsoft Docs
description: Retention and privacy policy statement for Application Insights. Last updated 03/22/2023-+
azure-monitor Distributed Tracing Telemetry Correlation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/distributed-tracing-telemetry-correlation.md
Last updated 03/30/2023 ms.devlang: csharp, java, javascript, python-+ # What is distributed tracing and telemetry correlation?
You can also set the cloud role name via environment variable or system property
- Onboard all components of your microservice on Application Insights. Check out the [supported platforms](./app-insights-overview.md#supported-languages). - See the [data model](./data-model-complete.md) for Application Insights types. - Learn how to [extend and filter telemetry](./api-filtering-sampling.md).-- Review the [Application Insights config reference](configuration-with-applicationinsights-config.md).
+- Review the [Application Insights config reference](configuration-with-applicationinsights-config.md).
azure-monitor Eventcounters https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/eventcounters.md
Title: Event counters in Application Insights | Microsoft Docs
description: Monitor system and custom .NET/.NET Core EventCounters in Application Insights. Last updated 09/20/2019-+
Live Metrics do not show EventCounters as of today. Use Metric Explorer or Analy
## <a name="next"></a>Next steps * [Dependency tracking](./asp-net-dependencies.md)-
azure-monitor Get Metric https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/get-metric.md
Last updated 04/05/2023 ms.devlang: csharp+
azure-monitor Ilogger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/ilogger.md
description: Learn how to use Application Insights with the ILogger interface in
Last updated 04/24/2023 ms.devlang: csharp+
The Application Insights extension in Azure Web Apps uses the new provider. You
* [Logging in .NET](/dotnet/core/extensions/logging) * [Logging in ASP.NET Core](/aspnet/core/fundamentals/logging)
-* [.NET trace logs in Application Insights](./asp-net-trace-logs.md)
+* [.NET trace logs in Application Insights](./asp-net-trace-logs.md)
azure-monitor Ip Collection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/ip-collection.md
Title: Application Insights IP address collection | Microsoft Docs
description: Understand how Application Insights handles IP addresses and geolocation. Last updated 04/06/2023-+
azure-monitor Java Get Started Supplemental https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-get-started-supplemental.md
description: This article shows you how to set-up Application Insights
Last updated 05/20/2023 ms.devlang: java-+
Create a new file `jvm.options` in the server directory (for example, `<openlibe
### Others See your application server documentation on how to add JVM args.-
azure-monitor Java Jmx Metrics Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-jmx-metrics-configuration.md
description: Configure extra JMX metrics collection for Azure Monitor Applicatio
Last updated 05/13/2023 ms.devlang: java-+
azure-monitor Java Spring Boot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-spring-boot.md
description: How to configure Azure Monitor Application Insights for Spring Boot
Last updated 05/20/2023 ms.devlang: java-+ # Using Azure Monitor Application Insights with Spring Boot
azure-monitor Java Standalone Config https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-standalone-config.md
description: This article shows you how to configure Azure Monitor Application I
Last updated 05/20/2023 ms.devlang: java-+
This example shows what a configuration file looks like with multiple components
} } }
-```
+```
azure-monitor Java Standalone Profiler https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-standalone-profiler.md
description: How to configure the Azure Monitor Application Insights for Java Pr
Last updated 11/15/2022 ms.devlang: java-+ # Java Profiler for Azure Monitor Application Insights
azure-monitor Java Standalone Sampling Overrides https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-standalone-sampling-overrides.md
description: Learn to configure sampling overrides in Azure Monitor Application
Last updated 04/24/2023 ms.devlang: java-+
azure-monitor Java Standalone Telemetry Processors Examples https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-standalone-telemetry-processors-examples.md
description: Explore examples that show telemetry processors in Azure Monitor Ap
Last updated 05/13/2023 ms.devlang: java-+
Let's assume the input log message body is `User account with userId 123456xx fa
] } }
-```
+```
azure-monitor Java Standalone Telemetry Processors https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-standalone-telemetry-processors.md
description: Learn to configure telemetry processors in Azure Monitor Applicatio
Last updated 05/13/2023 ms.devlang: java-+
azure-monitor Java Standalone Upgrade From 2X https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-standalone-upgrade-from-2x.md
description: Upgrading from Azure Monitor Application Insights Java 2.x
Last updated 05/20/2023 ms.devlang: java-+
The telemetry processors perform the following actions (in order):
] } }
-```
+```
azure-monitor Javascript Feature Extensions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/javascript-feature-extensions.md
ibiza
Last updated 02/13/2023 ms.devlang: javascript+
azure-monitor Javascript Framework Extensions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/javascript-framework-extensions.md
ibiza
Last updated 02/13/2023 ms.devlang: javascript+
azure-monitor Javascript Sdk https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/javascript-sdk.md
## Enable Application Insights
-Two methods are available to manually enable Application Insights via the Application Insights JavaScript SDK.
+To enable Application Insights, follow these steps.
> [!TIP] > Good news! We're making it even easier to enable JavaScript. Check out where [SDK Loader Script injection by configuration is available](./codeless-overview.md#sdk-loader-script-injection-by-configuration)!
-### [SDK Loader Script](#tab/sdkloaderscript)
+### 1. Add the JavaScript code
-Use this method if you want to:
+Two methods are available to add the code to enable Application Insights via the Application Insights JavaScript SDK.
-- Load the SDK from the CDN instead of including the Application Insights code with your application code.-- Have control over which pages you add the Application Insights JavaScript SDK to.
+#### [SDK Loader Script](#tab/sdkloaderscript)
-To use this method, you must manually paste the SDK Loader Script at the top of each applicable page.
+The benefits of this method are:
+
+- You never have to update the SDK because you get the latest updates automatically.
+- You have control over which pages you add the Application Insights JavaScript SDK to.
-Use the following steps to enable Application Insights:
+To add the SDK Loader Script and its optional configuration, follow these steps:
1. Paste the SDK Loader Script at the top of each page for which you want to enable Application Insights.
Use the following steps to enable Application Insights:
:::image type="content" source="media/javascript-sdk/sdk-loader-script-configuration.png" alt-text="Screenshot of the SDK Loader Script. The parameters for configuring the SDK Loader Script are highlighted." lightbox="media/javascript-sdk/sdk-loader-script-configuration.png":::
-1. (Optional) Add optional [SDK configuration](#sdk-configuration), which is passed to the Application Insights JavaScript SDK during initialization.
-
- :::image type="content" source="media/javascript-sdk/sdk-loader-script-sdk-configuration.png" alt-text="Screenshot of the SDK Loader Script. The cfg object, which is used to configure the Application Insights JavaScript SDK, is highlighted." lightbox="media/javascript-sdk/sdk-loader-script-sdk-configuration.png":::
-
-1. Add your connection string:
-
- 1. Navigate to the **Overview** pane of your Application Insights resource.
- 1. Locate the **Connection String**.
- 1. Select the **Copy to clipboard** icon to copy the connection string to the clipboard.
-
- :::image type="content" source="media/migrate-from-instrumentation-keys-to-connection-strings/migrate-from-instrumentation-keys-to-connection-strings.png" alt-text="Screenshot that shows Application Insights overview and connection string." lightbox="media/migrate-from-instrumentation-keys-to-connection-strings/migrate-from-instrumentation-keys-to-connection-strings.png":::
-
- 1. Replace the placeholder `"YOUR_CONNECTION_STRING"` in the SDK Loader Script with your connection string copied to the clipboard.
-
- > [!NOTE]
- > An Application Insights [connection string](sdk-connection-string.md) contains information to connect to the Azure cloud and associate telemetry data with a specific Application Insights resource. The connection string includes the Instrumentation Key (a unique identifier), the endpoint suffix (to specify the Azure cloud), and optional explicit endpoints for individual services. The connection string isn't considered a security token or key.
-
-### SDK Loader Script configuration
+#### SDK Loader Script configuration
| Name | Type | Required? | Description |||--|
Use the following steps to enable Application Insights:
| crossOrigin | string | Optional | By including this setting, the script tag added to download the SDK includes the crossOrigin attribute with this string value. Use this setting when you need to provide support for CORS. When not defined (the default), no crossOrigin attribute is added. Recommended values are not defined (the default), "", or "anonymous". For all valid values, see the [cross origin HTML attribute](https://developer.mozilla.org/docs/Web/HTML/Attributes/crossorigin) documentation. | onInit | function(aiSdk) { ... } | Optional | This callback function is called after the main SDK script has been successfully loaded and initialized from the CDN (based on the src value). This callback function is useful when you need to insert a telemetry initializer. It's passed one argument, which is a reference to the SDK instance that's being called for and is also called before the first initial page view. If the SDK has already been loaded and initialized, this callback is still called. NOTE: During the processing of the sdk.queue array, this callback is called. You CANNOT add any more items to the queue because they're ignored and dropped. (Added as part of SDK Loader Script version 5--the sv:"5" value within the script). |
-#### JavaScript telemetry initializers
-
-See [JavaScript telemetry initializers](./api-filtering-sampling.md#javascript-telemetry-initializers).
-
-### SDK configuration
-
- | Name | Type | Required? | Description
- |||--|
- | cfg | object | Required | The required connection string and optional [SDK configuration](./javascript-sdk-advanced.md#sdk-configuration) passed to the Application Insights JavaScript SDK during initialization.
-
-### [npm Package](#tab/npmpackage)
+#### [npm package](#tab/npmpackage)
Use this method if you're creating your own bundles and you want to include the Application Insights code in your own bundle.
This option is only needed for developers who require more custom events and con
import { ApplicationInsights } from '@microsoft/applicationinsights-web' const appInsights = new ApplicationInsights({ config: {
- connectionString: 'YOUR_CONNECTION_STRING_GOES_HERE'
+ connectionString: 'YOUR_CONNECTION_STRING'
/* ...Other Configuration Options... */ } }); appInsights.loadAppInsights(); appInsights.trackPageView(); ```
-1. Add your connection string:
++
+### 2. Add your connection string
+
+To add your connection string, follow these steps:
1. Navigate to the **Overview** pane of your Application Insights resource. 1. Locate the **Connection String**.
This option is only needed for developers who require more custom events and con
:::image type="content" source="media/migrate-from-instrumentation-keys-to-connection-strings/migrate-from-instrumentation-keys-to-connection-strings.png" alt-text="Screenshot that shows Application Insights overview and connection string." lightbox="media/migrate-from-instrumentation-keys-to-connection-strings/migrate-from-instrumentation-keys-to-connection-strings.png":::
- 1. Replace the placeholder `'YOUR_CONNECTION_STRING_GOES_HERE'` in the JavaScript code with your connection string pasted to the clipboard.
-
+ 1. Replace the placeholder `"YOUR_CONNECTION_STRING"` in the JavaScript code with your connection string copied to the clipboard.
+ > [!NOTE] > An Application Insights [connection string](sdk-connection-string.md) contains information to connect to the Azure cloud and associate telemetry data with a specific Application Insights resource. The connection string includes the Instrumentation Key (a unique identifier), the endpoint suffix (to specify the Azure cloud), and optional explicit endpoints for individual services. The connection string isn't considered a security token or key.
-1. (Optional) Add [SDK configuration](./javascript-sdk-advanced.md#sdk-configuration).
+### 3. (Optional) Add SDK configuration
-
+The optional [SDK configuration](./javascript-sdk-advanced.md#sdk-configuration) is passed to the Application Insights JavaScript SDK during initialization.
-## What is collected automatically?
+To add SDK configuration, add each configuration option directly under `connectionString`. For example:
-When you enable the App Insights JavaScript SDK, the following data classes are collected automatically:
-- Uncaught exceptions in your app, including information on
- - Stack trace
- - Exception details and message accompanying the error
- - Line & column number of error
- - URL where error was raised
-- Network Dependency Requests made by your app XHR and Fetch (fetch collection is disabled by default) requests, include information on
- - Url of dependency source
- - Command & Method used to request the dependency
- - Duration of the request
- - Result code and success status of the request
- - ID (if any) of user making the request
- - Correlation context (if any) where request is made
-- User information (for example, Location, network, IP)-- Device information (for example, Browser, OS, version, language, model)-- Session information
+### 4. Confirm data is flowing
-> [!Note]
-> For some applications, such as single-page applications (SPAs), the duration may not be recorded and will default to 0.
-
-For more information, see the following link: https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-monitor/app/data-retention-privacy.md
+1. Go to your Application Insights resource that you've enabled the SDK for.
+1. In the Application Insights resource menu on the left, under **Investigate**, select the **Transaction search** pane.
+1. Open the **Event types** dropdown menu and select **Select all** to clear the checkboxes in the menu.
+1. From the **Event types** dropdown menu, select **Page View**.
-## Confirm data is flowing
+ It might take a few minutes for data to show up in the portal.
-Check the data flow by going to the Azure portal and navigating to the Application Insights resource that you've enabled the SDK for. From there, you can view the data in the "Transaction search" or "Metrics" sections.
-
-Additionally, you can use the SDK's trackPageView() method to manually send a page view event and verify that it appears in the portal.
+ :::image type="content" source="media/javascript-sdk/confirm-data-flowing.png" alt-text="Screenshot of the Application Insights Transaction search pane in the Azure portal with the Page View option selected. The page views are highlighted." lightbox="media/javascript-sdk/confirm-data-flowing.png":::
If you can't run the application or you aren't getting data as expected, see the dedicated [troubleshooting article](/troubleshoot/azure/azure-monitor/app-insights/javascript-sdk-troubleshooting).
dataset
Additional information is available for the following advanced scenarios:
+- [JavaScript SDK advanced topics](javascript-sdk-advanced.md)
- [React plugin](javascript-framework-extensions.md?tabs=react) - [React native plugin](javascript-framework-extensions.md?tabs=reactnative) - [Angular plugin](javascript-framework-extensions.md?tabs=reactnative)
Access-Control-Allow-Headers: `Request-Id`, `traceparent`, `Request-Context`, `<
Distributed tracing can be disabled in configuration.
+#### What is collected automatically?
+
+When you enable the App Insights JavaScript SDK, the following data classes are collected automatically:
+
+- Uncaught exceptions in your app, including information on
+ - Stack trace
+ - Exception details and message accompanying the error
+ - Line & column number of error
+ - URL where error was raised
+- Network Dependency Requests made by your app XHR and Fetch (fetch collection is disabled by default) requests, include information on
+ - Url of dependency source
+ - Command & Method used to request the dependency
+ - Duration of the request
+ - Result code and success status of the request
+ - ID (if any) of user making the request
+ - Correlation context (if any) where request is made
+- User information (for example, Location, network, IP)
+- Device information (for example, Browser, OS, version, language, model)
+- Session information
+
+> [!Note]
+> For some applications, such as single-page applications (SPAs), the duration may not be recorded and will default to 0.
+
+For more information, see the following link: https://github.com/MicrosoftDocs/azure-docs/blob/main/articles/azure-monitor/app/data-retention-privacy.md
+ ## Troubleshooting See the dedicated [troubleshooting article](/troubleshoot/azure/azure-monitor/app-insights/javascript-sdk-troubleshooting).
Detailed release notes regarding updates and bug fixes can be found on [GitHub](
## Next steps * [Track usage](usage-overview.md)
+* [Track page views](api-custom-events-metrics.md#page-views)
* [Custom events and metrics](api-custom-events-metrics.md)
+* [JavaScript telemetry initializers](api-filtering-sampling.md#javascript-telemetry-initializers)
* [Build-measure-learn](usage-overview.md) * [JavaScript SDK advanced topics](javascript-sdk-advanced.md)
azure-monitor Kubernetes Codeless https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/kubernetes-codeless.md
Title: Monitor applications on AKS with Application Insights - Azure Monitor | Microsoft Docs description: Azure Monitor integrates seamlessly with your application running on Azure Kubernetes Service and allows you to spot the problems with your apps quickly. + Last updated 11/15/2022
azure-monitor Monitor Functions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/monitor-functions.md
Title: Monitor applications running on Azure Functions with Application Insights - Azure Monitor | Microsoft Docs description: Azure Monitor integrates with your Azure Functions application, allowing performance monitoring and quickly identifying problems. + Last updated 04/24/2023
To collect custom telemetry from services such as Redis, Memcached, and MongoDB,
* See what [Application Map](./app-map.md?tabs=net) can do for your business. * Read about [requests and dependencies for Java apps](./java-in-process-agent.md). * Learn more about [Azure Monitor](../overview.md) and [Application Insights](./app-insights-overview.md).--
azure-monitor Opentelemetry Enable https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/opentelemetry-enable.md
description: This article provides guidance on how to enable Azure Monitor on ap
Last updated 05/20/2023 ms.devlang: csharp, javascript, typescript, python+
app.MapGet("/", () =>
app.Run(); ```
-By default, the activity ends up in the Application Insights `dependencies` table with dependency type `InProc`.
-
-For code representing a background job not captured by an instrumentation library, we recommend setting `ActivityKind.Server` in the `StartActivity` method to ensure it appears in the Application Insights `requests` table.
+When calling `StartActivity` it will default to `ActivityKind.Internal` but you can provide any other `ActivityKind`.
+`ActivityKind.Client`, `ActivityKind.Producer`, and `ActivityKind.Internal` are mapped to Application Insights `dependencies`.
+`ActivityKind.Server` and `ActivityKind.Consumer` are mapped to Application Insights `requests`.
#### [.NET](#tab/net)
using (var activity = activitySource.StartActivity("CustomActivity"))
} ```
+When calling `StartActivity` it will default to `ActivityKind.Internal` but you can provide any other `ActivityKind`.
+`ActivityKind.Client`, `ActivityKind.Producer`, and `ActivityKind.Internal` are mapped to Application Insights `dependencies`.
+`ActivityKind.Server` and `ActivityKind.Consumer` are mapped to Application Insights `requests`.
+ #### [Java](#tab/java) ##### Use the OpenTelemetry annotation
azure-monitor Performance Counters https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/performance-counters.md
description: Monitor system and custom .NET performance counters in Application
Last updated 01/06/2023 ms.devlang: csharp-+
azure-monitor Resources Roles Access Control https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/resources-roles-access-control.md
Title: Resources, roles, and access control in Application Insights | Microsoft
description: Owners, contributors and readers of your organization's insights. Last updated 04/13/2023-+
azure-monitor Sdk Connection String https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/sdk-connection-string.md
Title: Connection strings in Application Insights | Microsoft Docs
description: This article shows how to use connection strings. Last updated 11/15/2022-+
azure-monitor Telemetry Channels https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/telemetry-channels.md
description: How to customize telemetry channels in Application Insights SDKs fo
Last updated 05/14/2019 ms.devlang: csharp-+
Like every SDK for Application Insights, channels are open source. Read and cont
## Next steps * [Sampling](./sampling.md)
-* [SDK troubleshooting](./asp-net-troubleshoot-no-data.md)
+* [SDK troubleshooting](./asp-net-troubleshoot-no-data.md)
azure-monitor Tutorial Asp Net Custom Metrics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/tutorial-asp-net-custom-metrics.md
description: Learn how to use Application Insights to capture locally pre-aggreg
Last updated 08/22/2022 ms.devlang: csharp+
azure-monitor Worker Service https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/worker-service.md
Title: Application Insights for Worker Service apps (non-HTTP apps)
description: Monitoring .NET Core/.NET Framework non-HTTP apps with Azure Monitor Application Insights. ms.devlang: csharp-+ Last updated 04/24/2023
azure-monitor Autoscale Using Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/autoscale/autoscale-using-powershell.md
Last updated 01/05/2023 + - # Customer intent: As a user or dev ops administrator, I want to use powershell to set up autoscale so I can scale my VMSS.- # Configure autoscale with PowerShell
The following cmdlet deletes the resource group and all of its resources.
Remove-AzResourceGroup -Name $resourceGroupName ```-
azure-monitor Change Analysis Enable https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/change/change-analysis-enable.md
ms.contributor: cawa Last updated 08/23/2022 -+ # Enable Change Analysis
foreach ($webapp in $webapp_list)
- Learn about [visualizations in Change Analysis](change-analysis-visualizations.md) - Learn how to [troubleshoot problems in Change Analysis](change-analysis-troubleshoot.md) - Enable Application Insights for [Azure web apps](../../azure-monitor/app/azure-web-apps.md).-- Enable Application Insights for [Azure VM and Azure virtual machine scale set IIS-hosted apps](../../azure-monitor/app/azure-vm-vmss-apps.md).
+- Enable Application Insights for [Azure VM and Azure virtual machine scale set IIS-hosted apps](../../azure-monitor/app/azure-vm-vmss-apps.md).
azure-monitor Change Analysis Visualizations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/change/change-analysis-visualizations.md
ms.contributor: cawa Last updated 01/12/2023 -+
In the Change Analysis homepage, select a line of change to view details on the
## Next steps -- Learn how to [troubleshoot problems in Change Analysis](change-analysis-troubleshoot.md)
+- Learn how to [troubleshoot problems in Change Analysis](change-analysis-troubleshoot.md)
azure-monitor Container Insights Enable Aks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/containers/container-insights-enable-aks.md
Title: Enable Container insights for Azure Kubernetes Service (AKS) cluster
description: Learn how to enable Container insights on an Azure Kubernetes Service (AKS) cluster. Last updated 01/09/2023-+
azure-monitor Diagnostics Settings Policies Deployifnotexists https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/essentials/diagnostics-settings-policies-deployifnotexists.md
+ Last updated 02/25/2023
Built-in Audit logs policies for Log Analytics workspaces, Event Hubs, and Stora
* [Create diagnostic settings at scale using Azure Policy](./diagnostic-settings-policy.md) * [Azure Policy built-in definitions for Azure Monitor](../policy-reference.md) * [Azure Policy Overview](../../governance/policy/overview.md)
-* [Azure Enterprise Policy as Code](https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/azure-enterprise-policy-as-code-a-new-approach/ba-p/3607843)
+* [Azure Enterprise Policy as Code](https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/azure-enterprise-policy-as-code-a-new-approach/ba-p/3607843)
azure-monitor Rest Api Walkthrough https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/essentials/rest-api-walkthrough.md
description: How to authenticate requests and use the Azure Monitor REST API to
Last updated 01/30/2023-+
azure-monitor Delete Workspace https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/delete-workspace.md
Last updated 03/22/2022--+ # Delete and recover an Azure Log Analytics workspace
azure-monitor Move Workspace Region https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/move-workspace-region.md
A workspace environment can be complex and include connected sources, managed so
- *Installed solutions*: Select **Legacy solutions** on the workspace navigation pane for a list of installed solutions. - *Data collector API*: Data arriving through a [Data Collector API](../logs/data-collector-api.md) is stored in custom log tables. For a list of custom log tables, select **Logs** on the workspace navigation pane, and then select **Custom log** on the schema pane. - *Linked services*: Workspaces might have linked services to dependent resources such as an Azure Automation account, a storage account, or a dedicated cluster. Remove linked services from your workspace. Reconfigure them manually in the target workspace.
- - *Alerts*: To list alerts, select **Alerts** on your workspace navigation pane, and then select **Manage alert rules** on the toolbar. Alerts in workspaces created after June 1, 2019, or in workspaces that were [upgraded from the Log Analytics Alert API to the scheduledQueryRules API](/previous-versions/azure/azure-monitor/alerts/alerts-log-api-switch) can be included in the template.
+ - *Alerts*: To list alerts, select **Alerts** on your workspace navigation pane, and then select **Manage alert rules** on the toolbar. Alerts in workspaces created after June 1, 2019, or in workspaces that were [upgraded from the Log Analytics Alert API to the scheduledQueryRules API](../alerts/alerts-log-api-switch.md) can be included in the template.
- You can [check if the scheduledQueryRules API is used for alerts in your workspace](/previous-versions/azure/azure-monitor/alerts/alerts-log-api-switch#check-switching-status-of-workspace). Alternatively, you can configure alerts manually in the target workspace.
+ You can [check if the scheduledQueryRules API is used for alerts in your workspace](../alerts/alerts-log-api-switch.md#check-switching-status-of-workspace). Alternatively, you can configure alerts manually in the target workspace.
- *Query packs*: A workspace can be associated with multiple query packs. To identify query packs in your workspace, select **Logs** on the workspace navigation pane, select **queries** on the left pane, and then select the ellipsis to the right of the search box. A dialog with the selected query packs opens on the right. If your query packs are in the same resource group as the workspace that you're moving, you can include it with this migration. - Verify that your Azure subscription allows you to create Log Analytics workspaces in the target region.
azure-monitor Move Workspace https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/move-workspace.md
Consider these points before you move a Log Analytics workspace:
> - If you've already moved the workspace, disable all active rules under **Analytics** and reenable them after five minutes. This solution should be effective in most cases, although it's unsupported and undertaken at your own risk. > - It could take Azure Resource Manager a few hours to complete. Solutions might be unresponsive during the operation. >
-> **Re-create alerts:** All alerts must be re-created because the permissions are based on the workspace resource ID, which changes during a workspace move or resource name change. Alerts in workspaces created after June 1, 2019, or in workspaces that were [upgraded from the legacy Log Analytics Alert API to the scheduledQueryRules API](/previous-versions/azure/azure-monitor/alerts/alerts-log-api-switch) can be exported in templates and deployed after the move. You can [check if the scheduledQueryRules API is used for alerts in your workspace](/previous-versions/azure/azure-monitor/alerts/alerts-log-api-switch#check-switching-status-of-workspace). Alternatively, you can configure alerts manually in the target workspace.
+> **Re-create alerts:** All alerts must be re-created because the permissions are based on the workspace resource ID, which changes during a workspace move or resource name change. Alerts in workspaces created after June 1, 2019, or in workspaces that were [upgraded from the legacy Log Analytics Alert API to the scheduledQueryRules API](../alerts/alerts-log-api-switch.md) can be exported in templates and deployed after the move. You can [check if the scheduledQueryRules API is used for alerts in your workspace](../alerts/alerts-log-api-switch.md#check-switching-status-of-workspace). Alternatively, you can configure alerts manually in the target workspace.
> > **Update resource paths:** After a workspace move, any Azure or external resources that point to the workspace must be reviewed and updated to point to the new resource target path. >
azure-monitor Tutorial Logs Ingestion Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/tutorial-logs-ingestion-api.md
Title: 'Tutorial: Send data to Azure Monitor Logs with Logs ingestion API (Resource Manager templates)' description: Tutorial on how sending data to a Log Analytics workspace in Azure Monitor using the Logs ingestion API. Supporting components configured using Resource Manager templates. -+ Last updated 03/20/2023
azure-monitor Unify App Resource Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/unify-app-resource-data.md
You can modify the listed applications at any time in the portal by navigating t
>[!NOTE] >This method canΓÇÖt be used with log alerts because the access validation of the alert rule resources, including workspaces and applications, is performed at alert creation time. Adding new resources to the function after the alert creation isnΓÇÖt supported. If you prefer to use function for resource scoping in log alerts, you need to edit the alert rule in the portal or with a Resource Manager template to update the scoped resources. Alternatively, you can include the list of resources in the log alert query.
-The `withsource= SourceApp` command adds a column to the results that designates the application that sent the log. The parse operator is optional in this example and uses to extracts the application name from SourceApp property.
+The `withsource= SourceApp` command adds a column to the results that designates the application that sent the log. The parse operator is optional in this example and used to extract the application name from SourceApp property.
``` union withsource=SourceApp
The query uses Application Insights schema, although the query is executed in th
![Cross-query results example](media/unify-app-resource-data/app-insights-query-results.png) >[!NOTE]
->[Cross-resource queries](../logs/cross-workspace-query.md) in log alerts are only supported in the current [scheduledQueryRules API](/rest/api/monitor/scheduledqueryrule-2018-04-16/scheduled-query-rules). If you're using the legacy Log Analytics Alerts API, you'll need to [switch to the current API](/previous-versions/azure/azure-monitor/alerts/alerts-log-api-switch). [See example templates](../alerts/alerts-log-create-templates.md).
+>[Cross-resource queries](../logs/cross-workspace-query.md) in log alerts are only supported in the current [scheduledQueryRules API](/rest/api/monitor/scheduledqueryrule-2018-04-16/scheduled-query-rules). If you're using the legacy Log Analytics Alerts API, you'll need to [switch to the current API](../alerts/alerts-log-api-switch.md). [See example templates](../alerts/alerts-log-create-templates.md).
## Application Insights and Log Analytics workspace schema differences The following table shows the schema differences between Log Analytics and Application Insights.
azure-monitor Profiler Cloudservice https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/profiler/profiler-cloudservice.md
Title: Enable Profiler for Azure Cloud Services | Microsoft Docs description: Profile live Azure Cloud Services with Application Insights Profiler. -+ Last updated 07/15/2022
Deploy your service with the new Diagnostics configuration. Application Insights
> [!div class="nextstepaction"] > [Generate load and view Profiler traces](./profiler-data.md)
azure-monitor Profiler Servicefabric https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/profiler/profiler-servicefabric.md
Title: Enable Profiler for Azure Service Fabric applications description: Profile live Azure Service Fabric apps with Application Insights. -+ Last updated 07/15/2022
After you enable Application Insights, redeploy your application.
> [!div class="nextstepaction"] > [Generate load and view Profiler traces](./profiler-data.md)
azure-monitor Profiler Troubleshooting https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/profiler/profiler-troubleshooting.md
This article presents troubleshooting steps and information to enable you to use
Currently, the only regions that require endpoint modifications are [Azure Government](../../azure-government/compare-azure-government-global-azure.md#application-insights) and [Azure China](/azure/china/resources-developer-guide).
-|App setting | US Government Cloud | China Cloud |
+|App setting | US Government Cloud | China Cloud |
|||-| |ApplicationInsightsProfilerEndpoint | `https://profiler.monitor.azure.us` | `https://profiler.monitor.azure.cn` | |ApplicationInsightsEndpoint | `https://dc.applicationinsights.us` | `https://dc.applicationinsights.azure.cn` |
Currently, the only regions that require endpoint modifications are [Azure Gover
Profiler is supported on the [.NET Framework later than 4.6.2](https://dotnet.microsoft.com/download/dotnet-framework).
-If your web app is an ASP.NET Core application, it must be running on the [latest supported ASP.NET Core runtime](https://dotnet.microsoft.com/en-us/download/dotnet/6.0).
+If your web app is an ASP.NET Core application, it must be running on the [latest supported ASP.NET Core runtime](https://dotnet.microsoft.com/download/dotnet/6.0).
## Are you using the right Azure service plan?
Search for trace messages and custom events sent by Profiler to your Application
``` :::image type="content" source="./media/profiler-troubleshooting/search-results.png" alt-text="Screenshot that shows the search results from aforementioned search string.":::
-
+ The preceding search results include two examples of searches from two AI resources:
-
+ - If the application isn't receiving requests while Profiler is running, the message explains that the upload was canceled because of no activity.
-
+ - Profiler started and sent custom events when it detected requests that happened while Profiler was running. If the `ServiceProfilerSample` custom event is displayed, it means that a profile was captured and is available in the **Application Insights Performance** pane.
-
+ If no records are displayed, Profiler isn't running. Make sure you've [enabled Profiler on your Azure service](./profiler.md). ## Double counting in parallel threads
For Profiler to work properly, make sure:
The **WebJobs** pane opens. If **ApplicationInsightsProfiler3** doesn't show up, restart your App Service application.
-
+ :::image type="content" source="./media/profiler-troubleshooting/profiler-web-job.png" alt-text="Screenshot that shows the WebJobs pane, which displays the name, status, and last runtime of jobs."::: 1. To view the details of the WebJob, including the log, select the **ApplicationInsightsProfiler3** link.
If Profiler still isn't working for you, download the log and [submit an Azure s
#### Check the Diagnostic Services site extension status page
-If Profiler was enabled through the [Application Insights pane](profiler.md) in the portal, it was enabled by the Diagnostic Services site extension. You can check the status page of this extension by going to
+If Profiler was enabled through the [Application Insights pane](profiler.md) in the portal, it was enabled by the Diagnostic Services site extension. You can check the status page of this extension by going to
`https://{site-name}.scm.azurewebsites.net/DiagnosticServices`. > [!NOTE]
To check the settings that were used to configure Azure Diagnostics:
1. Sign in to the virtual machine (VM). 1. Open the log file at this location. The plug-in version might be newer on your machine.
-
+ For VMs: ``` c:\WindowsAzure\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log ```
-
+ For Azure Cloud ```
- c:\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
+ c:\logs\Plugins\Microsoft.Azure.Diagnostics.PaaSDiagnostics\1.11.3.12\DiagnosticsPlugin.log
``` 1. In the file, search for the string `WadCfg` to find the settings that were passed to the VM to configure Azure Diagnostics.
To check the settings that were used to configure Azure Diagnostics:
``` C:\ProgramData\ApplicationInsightsProfiler\config.json ```
-
+ For Azure Cloud ``` D:\ProgramData\ApplicationInsightsProfiler\config.json
azure-monitor Snapshot Debugger App Service https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/snapshot-debugger/snapshot-debugger-app-service.md
reviewer: cweining Last updated 04/24/2023-+ # Enable Snapshot Debugger for .NET apps in Azure App Service
azure-monitor Snapshot Debugger Data https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/snapshot-debugger/snapshot-debugger-data.md
reviewer: cweining -+ Last updated 04/14/2023
The downloaded snapshot includes any symbol files that were found on your web ap
Enable the Snapshot Debugger in your: - [App Service](./snapshot-debugger-app-service.md) - [Function App](./snapshot-debugger-function-app.md)-- [Virtual machine or other Azure service](./snapshot-debugger-vm.md)
+- [Virtual machine or other Azure service](./snapshot-debugger-vm.md)
azure-monitor Snapshot Debugger Function App https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/snapshot-debugger/snapshot-debugger-function-app.md
reviewer: cweining Last updated 08/18/2022-+ # Enable Snapshot Debugger for .NET and .NET Core apps in Azure Functions
azure-monitor Snapshot Debugger Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/snapshot-debugger/snapshot-debugger-troubleshoot.md
reviewer: cweining Last updated 03/20/2023-+ # <a id="troubleshooting"></a> Troubleshoot problems enabling Application Insights Snapshot Debugger or viewing snapshots
azure-monitor Snapshot Debugger Upgrade https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/snapshot-debugger/snapshot-debugger-upgrade.md
reviewer: cweining Last updated 08/18/2022-+ # Upgrade the Snapshot Debugger
azure-monitor Snapshot Debugger Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/snapshot-debugger/snapshot-debugger-vm.md
reviewer: cweining Last updated 03/21/2023-+ # Enable Snapshot Debugger for .NET apps in Azure Service Fabric, Cloud Services, and Virtual Machines
azure-monitor Whats New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/whats-new.md
Essentials|[Azure Monitor Metrics overview](essentials/data-platform-metrics.md)
General|[Cost optimization in Azure Monitor](best-practices-cost.md)|Rewritten to match organization of Well Architected Framework service guides| General|[Best practices for Azure Monitor Logs](best-practices-logs.md)|New article with consolidated list of best practices for Logs organized by WAF pillar.| General|[Migrate from System Center Operations Manager (SCOM) to Azure Monitor](azure-monitor-operations-manager.md)|Migrate from SCOM to Azure Monitor|
-Logs|[Application Insights API Access with Microsoft Azure Active Directory (Azure AD) Authentication](logs/api/app-insights-azure-ad-api.md)|New article that explains how to authenticate and access the Azure Monitor Application Insights APIs using Azure AD.|
+Logs|[Application Insights API Access with Microsoft Azure Active Directory (Azure AD) Authentication](app/app-insights-azure-ad-api.md)|New article that explains how to authenticate and access the Azure Monitor Application Insights APIs using Azure AD.|
Logs|[Tutorial: Replace custom fields in Log Analytics workspace with KQL-based custom columns](logs/custom-fields-migrate.md)|Guidance for migrate legacy custom fields to KQL-based custom columns using transformations.| Logs|[Monitor Log Analytics workspace health](logs/log-analytics-workspace-health.md)|View Log Analytics workspace health metrics, including query success metrics, directly from the Log Analytics workspace screen in the Azure portal.| Logs|[Set a table's log data plan to Basic or Analytics](logs/basic-logs-configure.md)|Dedicated SQL Pool tables and Kubernetes services tables now support Basic logs.|
Visualizations|[Azure Workbooks](./visualize/workbooks-overview.md)|New video to
|[Convert ITSM actions that send events to ServiceNow to Secure Webhook actions](./alerts/itsm-convert-servicenow-to-webhook.md)|As of September 2022, we're starting the three-year process of deprecating support of using ITSM actions to send events to ServiceNow. Learn how to convert ITSM actions that send events to ServiceNow to Secure Webhook actions.| |[Create a new alert rule](./alerts/alerts-create-new-alert-rule.md)|Added description of all available monitoring services to **Create a new alert rule** and **Alert processing rules** pages. <br><br>Added support for regional processing for metric alert rules that monitor a custom metric with the scope defined as one of the supported regions. <br><br> Clarified that selecting the **Automatically resolve alerts** setting makes log alerts stateful.| |[Types of Azure Monitor alerts](alerts/alerts-types.md)|Azure Database for PostgreSQL - Flexible Servers is supported for monitoring multiple resources.|
-|[Upgrade legacy rules management to the current Log Alerts API from legacy Log Analytics Alert API](/previous-versions/azure/azure-monitor/alerts/alerts-log-api-switch)|The process of moving legacy log alert rules management from the legacy API to the current API is now supported by the government cloud.|
+|[Upgrade legacy rules management to the current Log Alerts API from legacy Log Analytics Alert API](./alerts/alerts-log-api-switch.md)|The process of moving legacy log alert rules management from the legacy API to the current API is now supported by the government cloud.|
### Application Insights
azure-netapp-files Azure Netapp Files Resource Limits https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/azure-netapp-files-resource-limits.md
The following table describes resource limits for Azure NetApp Files:
| Maximum assigned throughput for a manual QoS volume | 4,500 MiB/s | No | | Number of cross-region replication data protection volumes (destination volumes) | 10 | Yes | | Number of cross-zone replication data protection volumes (destination volumes) | 10 | Yes |
-| Maximum numbers of policy-based (scheduled) backups per volume | <ul><li> Daily retention count: 1 (minimum) to 1019 (maximum) </li> <li> Weekly retention count: 1 (minimum) to 1019 (maximum) </li> <li> Monthly retention count: 1 (minimum) to 1019 (maximum) </ol></li> <br> The maximum daily, weekly, and monthly backup retention counts *combined* is 1019. | N |
+| Maximum numbers of policy-based (scheduled) backups per volume | <ul><li> Daily retention count: 2 (minimum) to 1019 (maximum) </li> <li> Weekly retention count: 1 (minimum) to 1019 (maximum) </li> <li> Monthly retention count: 1 (minimum) to 1019 (maximum) </ol></li> <br> The maximum hourly, daily, weekly, and monthly backup retention counts *combined* is 1019. | N |
| Maximum size of protected volume | 100 TiB | N | | Maximum number of volumes that can be backed up per subscription | 5 | Y | | Maximum number of manual backups per volume per day | 5 | Y |
You can create an Azure support request to increase the adjustable limits from t
- [Cost model for Azure NetApp Files](azure-netapp-files-cost-model.md) - [Regional capacity quota for Azure NetApp Files](regional-capacity-quota.md) - [Request region access for Azure NetApp Files](request-region-access.md)-- [Application resilience FAQs for Azure NetApp Files](faq-application-resilience.md)
+- [Application resilience FAQs for Azure NetApp Files](faq-application-resilience.md)
azure-netapp-files Azure Netapp Files Solution Architectures https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/azure-netapp-files-solution-architectures.md
This section provides references for Virtual Desktop infrastructure solutions.
* [Create an FSLogix profile container for a host pool using Azure NetApp Files](../virtual-desktop/create-fslogix-profile-container.md) * [Azure Virtual Desktop at enterprise scale](/azure/architecture/example-scenario/wvd/windows-virtual-desktop) * [Microsoft FSLogix for the enterprise - Azure NetApp Files best practices](/azure/architecture/example-scenario/wvd/windows-virtual-desktop-fslogix#azure-netapp-files-best-practices)
+* [Enhanced Performance and Scalability: Azure AD-joined Session Hosts with Azure NetApp Files](https://techcommunity.microsoft.com/t5/azure-architecture-blog/enhanced-performance-and-scalability-azure-ad-joined-session/ba-p/3836576)
* [Setting up Azure NetApp Files for MSIX App Attach](https://techcommunity.microsoft.com/t5/windows-virtual-desktop/setting-up-azure-netapp-files-for-msix-app-attach-step-by-step/m-p/1990021) * [Multiple forests with AD DS and Azure AD ΓÇô Azure Example Scenarios](/azure/architecture/example-scenario/wvd/multi-forest) * [Multiregion Business Continuity and Disaster Recovery (BCDR) for Azure Virtual Desktop ΓÇô Azure Example Scenarios](/azure/architecture/example-scenario/wvd/azure-virtual-desktop-multi-region-bcdr) * [Deploy Esri ArcGIS Pro in Azure Virtual Desktop ΓÇô Azure Example Scenarios](/azure/architecture/example-scenario/data/esri-arcgis-azure-virtual-desktop) - ### Citrix * [Citrix Profile Management with Azure NetApp Files Best Practices Guide](https://www.netapp.com/pdf.html?item=/media/55973-tr-4901.pdf)
This section provides solutions for Azure platform services.
* [Astra: protect, recover, and manage your AKS workloads on Azure NetApp Files](https://cloud.netapp.com/hubfs/Astra%20Azure%20Documentation.pdf) * [Integrate Azure NetApp Files with Azure Kubernetes Service](../aks/azure-netapp-files.md)
+* [Azure NetApp Files SMB volumes for Azure Kubernetes Services with Astra Trident on Windows](https://techcommunity.microsoft.com/t5/azure-architecture-blog/azure-netapp-files-smb-volumes-for-azure-kubernetes-services/ba-p/3052900)
* [Application data protection for AKS workloads on Azure NetApp Files - Azure Example Scenarios](/azure/architecture/example-scenario/file-storage/data-protection-kubernetes-astra-azure-netapp-files) * [Disaster Recovery of AKS workloads with Astra Control Service and Azure NetApp Files](https://techcommunity.microsoft.com/t5/azure-architecture-blog/disaster-recovery-of-aks-workloads-with-astra-control-service/ba-p/2948089) * [Protecting MongoDB on AKS/ANF with Astra Control Service using custom execution hooks](https://techcommunity.microsoft.com/t5/azure-architecture-blog/protecting-mongodb-on-aks-anf-with-astra-control-service-using/ba-p/3057574)
azure-netapp-files Backup Configure Policy Based https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/backup-configure-policy-based.md
na Previously updated : 12/13/2022 Last updated : 01/03/2023 # Configure policy-based backups for Azure NetApp Files
-Azure NetApp Files backup supports *policy-based* (scheduled) backups and *manual* (on-demand) backups at the volume level. You can use both types of backups in the same volume. During the configuration process, you will enable the backup feature for an Azure NetApp Files volume before policy-based backups or manual backups can be taken.
+Azure NetApp Files backup supports *policy-based* (scheduled) backups and *manual* (on-demand) backups at the volume level. You can use both types of backups in the same volume. During the configuration process, you'll enable the backup feature for an Azure NetApp Files volume before policy-based backups or manual backups can be taken.
This article shows you how to configure policy-based backups. For manual backup configuration, see [Configure manual backups](backup-configure-manual.md). > [!IMPORTANT] > The Azure NetApp Files backup feature is currently in preview. You need to submit a waitlist request for accessing the feature through the **[Azure NetApp Files Backup Public Preview](https://aka.ms/anfbackuppreviewsignup)** page. Wait for an official confirmation email from the Azure NetApp Files team before using the Azure NetApp Files backup feature.
-## About policy-based backups
+## About policy-based backups
-A volume needs to have the following two types of policies for the policy-based backup feature to work:
+Backups are long-running operations. The system schedules backups based on the primary workload (which is given a higher priority) and runs backups in the background. Depending on the size of the volume being backed up, a backup can run in background for hours. There's no option to select the start time for backups. The service performs the backups based on the internal scheduling and optimization logic.
-* A *snapshot policy* that controls when snapshots are created for the volume.
-* A *backup policy* that controls which snapshots to use for backing up to Azure storage.
-
-A snapshot policy handles creating snapshots on the volume. It is used by the backup functionality to back up the snapshots to Azure storage.
-
-Backups are long-running operations. The system schedules backups based on the primary workload (which is given a higher priority) and runs backups in the background. Depending on the size of the volume being backed up, a backup can run in background for hours. There is no option to select the start time for backups. The service performs the backups based on the internal scheduling and optimization logic.
-
-Assigning a policy creates a baseline snapshot that is the current state of the volume and transfers the snapshot to Azure storage. The baseline snapshot is created with a name starting with `snapmirror`. This baseline snapshot will be deleted automatically when the first scheduled backup is complete (based on the policy). If the backup policy is attached to a volume, the backup list will be empty until the baseline snapshot is transferred. When the backup is complete, the baseline backup entry will appear in the list of backups for the volume. After the baseline transfer, the list will be updated daily based on the policy. An empty list of backups indicates that the baseline backup is in progress. If a volume already has existing manual backups before you assign a backup policy, the baseline snapshot is not created. A baseline snapshot is created only when the volume has no prior backups.
+Assigning a policy creates a baseline snapshot that is the current state of the volume and transfers the snapshot to Azure storage. The baseline snapshot is created with a name starting with `baseline`. This baseline snapshot is deleted automatically when the first scheduled backup is complete (based on the policy). If the backup policy is attached to a volume, the backup list will be empty until the baseline snapshot is transferred. When the backup is complete, the baseline backup entry appears in the list of backups for the volume. After the baseline transfer, the list will be updated daily based on the policy. An empty list of backups indicates that the baseline backup is in progress. If a volume already has existing manual backups before you assign a backup policy, the baseline snapshot isn't created. A baseline snapshot is created only when the volume has no prior backups.
[!INCLUDE [consideration regarding deleting backups after deleting resource or subscription](includes/disable-delete-backup.md)]
-## Configure and apply a snapshot policy
-
-You need to create a snapshot policy and associate the snapshot policy to the volume that you want to back up. A single snapshot policy can be attached to multiple volumes. Changes in the snapshot policy can affect the backup functionality of a volume.
-
-1. Sign in to the Azure portal and navigate to **Azure NetApp Files**.
-2. Select your Azure NetApp Files account.
-3. Select **Snapshot policy**.
-
- ![Screenshot that shows how to navigate to Snapshot Policy option.](../media/azure-netapp-files/backup-navigate-snapshot-policy.png)
-
-4. Click **Add snapshot policy**.
-5. In the Snapshot policy page that appears, specify the number of snapshots to keep and the schedule for creating snapshots for the volume. Click **Save**.
-
- Currently, the backup functionality can back up only daily, weekly, and monthly snapshots. (Hourly backups are not supported).
-
- * For a *daily* snapshot configuration, specify the time of the day when you want the snapshot created.
- * For a *weekly* snapshot configuration, specify the day of the week and time of the day when you want the snapshot created.
- * For a *monthly* snapshot configuration, specify the day of the month and time of the day when you want the snapshot created.
-
- > [!IMPORTANT]
- > Be sure to specify a day that will work for all intended months. If you intend for the monthly snapshot configuration to work for all months in the year, pick a day of the month between 1 and 28. For example, if you specify `31` (day of the month), the monthly snapshot configuration is skipped for the months that have less than 31 days.
-
- * For each snapshot configuration, specify the number of snapshots that you want to keep.
-
- For example, if you want to have daily backups, you must configure a snapshot policy with a daily snapshot schedule and snapshot count, and then apply that daily snapshot policy to the volume. If you change the snapshot policy or delete the daily snapshot configuration, new daily snapshots will not be created, resulting in daily backups not taking place. The same process and behavior apply to weekly and monthly backups.
-
- Ensure that each snapshot has a unique snapshot schedule configuration. By design, Azure NetApp Files prevents you from deleting the latest backup. If multiple snapshots have the same time (for example, the same daily and weekly schedule configuration), Azure NetApp Files considers them as the latest snapshots, and deleting those backups is prevented.
-
- The following example shows a daily snapshot policy configuration:
-
- ![Screenshot that shows daily snapshot policy configuration.](../media/azure-netapp-files/backup-daily-snapshot-policy.png)
-
-6. Apply the snapshot policy to the volume that you want to back up:
-
- 1. Go to the **Volumes** page, right-click the volume that you want to apply the snapshot policy to, and select **Edit**.
- ![Screenshot that shows volume edit menu.](../media/azure-netapp-files/backup-volume-edit-menu.png)
-
- 2. In the Edit window, under **Snapshot policy**, select the policy to apply. Click **OK**.
- ![Screenshot that shows Edit window with Snapshot Policy pull-down.](../media/azure-netapp-files/backup-volume-edit-snapshot-policy.png)
- ## Configure a backup policy A backup policy enables a volume to be protected on a regularly scheduled interval.
-You need to create a backup policy and associate the backup policy to the volume that you want to back up. A single backup policy can be attached to multiple volumes. Backups can be temporarily suspended either by disabling the policy or by disabling backups at the volume level. Backups can also be completely disabled at the volume level, resulting in the clean-up of all the associated data in the Azure storage. A backup policy cannot be deleted if it is attached to any volumes.
+You need to create a backup policy and associate the backup policy to the volume that you want to back up. A single backup policy can be attached to multiple volumes. Backups can be temporarily suspended either by disabling the policy or by disabling backups at the volume level. Backups can also be completely disabled at the volume level, resulting in the clean-up of all the associated data in the Azure storage. A backup policy can't be deleted if it's attached to any volumes.
To enable a policy-based (scheduled) backup:
To enable a policy-based (scheduled) backup:
2. Select your Azure NetApp Files account. 3. Select **Backups**.
- :::image type="content" source="../media/azure-netapp-files/backup-navigate.png" alt-text="Screenshot that shows how to navigate to Backups option." lightbox="../media/azure-netapp-files/backup-navigate.png":::
+ :::image type="content" source="../media/azure-netapp-files/backup-navigate.png" alt-text="Screenshot that shows how to navigate to Backups option." lightbox="../media/azure-netapp-files/backup-navigate.png":::
4. Select **Backup Policies**. 5. Select **Add**.
-6. In the **Backup Policy** page, specify the backup policy name. Enter the number of backups that you want to keep for daily, weekly, and monthly backups. Click **Save**.
-
- :::image type="content" source="../media/azure-netapp-files/backup-policy-window-daily.png" alt-text="Screenshot that shows the Backup Policy window." lightbox="../media/azure-netapp-files/backup-policy-window-daily.png":::
-
- * If you configure and attach a backup policy to the volume without attaching a snapshot policy, the backup does not function properly. There will be only a baseline snapshot transferred to the Azure storage.
- * For each backup policy that you configure (for example, daily backups), ensure that you have a corresponding snapshot policy configuration (for example, daily snapshots).
- * Backup policy has a dependency on snapshot policy. If you havenΓÇÖt created snapshot policy yet, you can configure both policies at the same time by selecting the **Create snapshot policy** checkbox on the Backup Policy window. If you do not see the checkbox, you can follow [Manage snapshot policies](snapshots-manage-policy.md) to create and apply snapshot policy for the volume.
+6. In the **Backup Policy** page, specify the backup policy name. Enter the number of backups that you want to keep for daily, weekly, and monthly backups. Click **Save**.
- :::image type="content" source="../media/azure-netapp-files/backup-policy-snapshot-policy-option.png" alt-text="Screenshot that shows the Backup Policy window with Snapshot Policy selected." lightbox="../media/azure-netapp-files/backup-policy-snapshot-policy-option.png":::
+ The minimum value for **Daily Backups to Keep** is 2.
+ :::image type="content" source="../media/azure-netapp-files/backup-policy-window-daily.png" alt-text="Screenshot that shows the Backup Policy window." lightbox="../media/azure-netapp-files/backup-policy-window-daily.png":::
### Example of a valid configuration
-The following example configuration shows you how to configure a data protection policy on the volume with 5 latest daily snapshots, 4 latest weekly snapshots, and 3 latest monthly snapshots on the volume. This configuration results in backing up 15 latest daily snapshots, 6 latest weekly snapshots, and 4 latest monthly snapshots.
+The following example configuration shows you how to configure a data protection policy on the volume. This configuration results in backing up 15 latest daily snapshots, 6 latest weekly snapshots, and 4 latest monthly snapshots.
-* Snapshot policy:
- Daily: `Number of Snapshots to Keep = 5`
- Weekly: `Number of Snapshots to Keep = 4`
- Monthly: `Number of Snapshots to Keep = 3`
* Backup policy: Daily: `Daily Backups to Keep = 15` Weekly: `Weekly Backups to Keep = 6`
The following example configuration shows you how to configure a data protection
### Example of an invalid configuration
-The following example configuration has a backup policy configured for daily backups, but the snapshot policy does not have a corresponding configuration. As a result, no daily snapshots are created to be backed up by the backup policy. This configuration would back up only weekly and monthly snapshots.
+The following example configuration has a backup policy configured for daily backups. The daily backup policy is below the minimum of two. This configuration would back up only weekly and monthly snapshots.
-* Snapshot policy:
- Weekly: `Number of Snapshots to Keep = 4`
- Monthly: `Number of Snapshots to Keep = 3`
* Backup policy:
- Daily: `Daily Backups to Keep = 15`
+ Daily: `Daily Backups to Keep = 1`
Weekly: `Weekly Backups to Keep = 6` Monthly: `Monthly Backups to Keep = 4`
To enable the backup functionality for a volume:
1. Go to **Volumes** and select the volume for which you want to enable backup. 2. Select **Configure**. 3. In the Configure Backups page, toggle the **Enabled** setting to **On**.
-4. In the **Snapshot Policy** drop-down menu, assign the snapshot policy to use for the volume.
-5. In the **Backup Policy** drop-down menu, assign the backup policy to use for the volume. Click **OK**.
+4. In the **Backup Policy** drop-down menu, assign the backup policy to use for the volume. Click **OK**.
The Vault information is pre-populated.
- :::image type="content" source="../media/azure-netapp-files/backup-configure-window.png" alt-text="Screenshot that shows Configure Backups window." lightbox="../media/azure-netapp-files/backup-configure-window.png":::
-
+ :::image type="content" source="../media/azure-netapp-files/backup-configure-window.png" alt-text="Screenshot showing Configure Backups window." lightbox="../media/azure-netapp-files/backup-configure-window.png":::
## Next steps
To enable the backup functionality for a volume:
* [Delete backups of a volume](backup-delete.md) * [Volume backup metrics](azure-netapp-files-metrics.md#volume-backup-metrics) * [Azure NetApp Files backup FAQs](faq-backup.md)--
azure-netapp-files Backup Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/backup-introduction.md
na Previously updated : 05/23/2023 Last updated : 06/01/2023 # Understand Azure NetApp Files backup
-Azure NetApp Files backup expands the data protection capabilities of Azure NetApp Files by providing fully managed backup solution for long-term recovery, archive, and compliance. Backups created by the service are stored in Azure storage, independent of volume snapshots that are available for near-term recovery or cloning. Backups taken by the service can be restored to new Azure NetApp Files volumes within the region. Azure NetApp Files backup supports both policy-based (scheduled) backups and manual (on-demand) backups. For additional information, see [How Azure NetApp Files snapshots work](snapshots-introduction.md).
+Azure NetApp Files backup expands the data protection capabilities of Azure NetApp Files by providing fully managed backup solution for long-term recovery, archive, and compliance. Backups created by the service are stored in Azure storage, independent of volume snapshots that are available for near-term recovery or cloning. Backups taken by the service can be restored to new Azure NetApp Files volumes within the region. Azure NetApp Files backup supports both policy-based (scheduled) backups and manual (on-demand) backups. For more information, see [How Azure NetApp Files snapshots work](snapshots-introduction.md).
> [!IMPORTANT] > The Azure NetApp Files backup feature is currently in preview. You need to submit a waitlist request for accessing the feature through the **[Azure NetApp Files Backup Public Preview](https://aka.ms/anfbackuppreviewsignup)** page. The Azure NetApp Files backup feature is expected to be enabled within a week after you submit the waitlist request. You can check the status of feature registration by using the following command:
Backup restore is priced based on the total amount of backup capacity restored d
As a pricing example, assume the following situations: * Your source volume is from the Azure NetApp Files Premium service level. It has a volume quota size of 1000 GiB and a volume consumed size of 500 GiB at the beginning of the first day of a month. The volume is in the US South Central region.
-* YouΓÇÖve configured a daily *snapshot* policy with 5 local snapshots to keep, and a daily *backup* policy to keep 30 backup copies.
-* For simplicity, assume your source volume has a constant 1% data change every day, but the total volume consumed size does not grow (remains at 500 GiB).
+* For simplicity, assume your source volume has a constant 1% data change every day, but the total volume consumed size doesn't grow (remains at 500 GiB).
When the backup policy is assigned to the volume, the baseline backup to service-managed Azure storage is initiated. When the backup is complete, the baseline backup of 500 GiB will be added to the backup list of the volume. After the baseline transfer, daily backups only back up changed blocks. Assume 5-GiB daily incremental backups added, the total backup storage consumed would be `500GiB + 30*5GiB = 650GiB`.
-You will be billed at the end of month for backup at the rate of $0.05 per month for the total amount of storage consumed by the backup. That is, 650 GiB with a total monthly backup charge of `650*$0.05=$32.5`. Regular Azure NetApp Files storage capacity applies to local snapshots. See the [Azure NetApp Files Pricing](https://azure.microsoft.com/pricing/details/netapp/) page for more information.
+You'll be billed at the end of month for backup at the rate of $0.05 per month for the total amount of storage consumed by the backup. That is, 650 GiB with a total monthly backup charge of `650*$0.05=$32.5`. Regular Azure NetApp Files storage capacity applies to local snapshots. For more information, see the [Azure NetApp Files Pricing](https://azure.microsoft.com/pricing/details/netapp/) page.
-If you choose to restore a backup of, for example, 600 GiB to a new volume, you will be charged at the rate of $0.02 per GiB of backup capacity restores. In this case, it will be `600*$0.02 = $12` for the restore operation.
+If you choose to restore a backup of, for example, 600 GiB to a new volume, you'll be charged at the rate of $0.02 per GiB of backup capacity restores. In this case, it will be `600*$0.02 = $12` for the restore operation.
## Next steps
azure-netapp-files Backup Manage Policies https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/backup-manage-policies.md
na Previously updated : 09/27/2021 Last updated : 08/18/2022 # Manage backup policies for Azure NetApp Files
-A snapshot policy configuration is required for Azure NetApp Files [policy-based backups](backup-configure-policy-based.md) to automatically back up a volume. After you have set up Azure NetApp Files backups using a backup policy, you can modify or suspend a backup policy as needed.
+After you have set up Azure NetApp Files backups using [a backup policy](backup-configure-policy-based.md), you can modify or suspend a backup policy as needed.
Manual backups are not affected by changes in the backup policy.
azure-netapp-files Backup Requirements Considerations https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/backup-requirements-considerations.md
Azure NetApp Files backup in a region can only protect an Azure NetApp Files vol
* For volumes larger than 10 TB, it can take multiple hours to transfer all the data from the backup media.
-* Currently, the Azure NetApp Files backup feature supports backing up the daily, weekly, and monthly local snapshots created by the associated snapshot policy to the Azure storage. Hourly backups aren't currently supported.
+* The Azure NetApp Files backup feature supports backing up the daily, weekly, and monthly local snapshots to the Azure storage. Hourly backups aren't currently supported.
* Azure NetApp Files backup uses the [Zone-Redundant storage](../storage/common/storage-redundancy.md#redundancy-in-the-primary-region) (ZRS) account that replicates the data synchronously across three Azure availability zones in the region, except for the regions listed where only [Locally Redundant Storage](../storage/common/storage-redundancy.md#redundancy-in-the-primary-region) (LRS) storage is supported:
Azure NetApp Files backup in a region can only protect an Azure NetApp Files vol
LRS can recover from server-rack and drive failures. However, if a disaster such as a fire or flooding occurs within the data center, all replicas of a storage account using LRS might be lost or unrecoverable.
-* Using policy-based (scheduled) Azure NetApp Files backup requires that snapshot policy is configured and enabled. See [Manage snapshots by using Azure NetApp Files](azure-netapp-files-manage-snapshots.md).
- A configured snapshot policy for snapshots is required for the volume needing backup. The policy will also set the number of backups stored in Azure storage.
-
-* If an issue occurs (for example, no sufficient space left on the volume) and causes the snapshot policy to stop creating new snapshots, the backup feature won't have any new snapshots to back up.
+* Policy-based (scheduled) Azure NetApp Files backup is independent from [snapshot policy configuration](azure-netapp-files-manage-snapshots.md).
* In a cross-region replication setting, Azure NetApp Files backup can be configured on a source volume only. Azure NetApp Files backup isn't supported on a cross-region replication *destination* volume.
-* [Reverting a volume using snapshot revert](snapshots-revert-volume.md) isn't supported on Azure NetApp Files volumes that have backups.
-
-* See [Restore a backup to a new volume](backup-restore-new-volume.md) for other considerations related to restoring backups.
+* See [Restore a backup to a new volume](backup-restore-new-volume.md) for additional considerations related to restoring backups.
* [Disabling backups](backup-disable.md) for a volume will delete all the backups stored in the Azure storage for that volume. If you delete a volume, the backups will remain. If you no longer need the backups, you should [manually delete the backups](backup-delete.md).
azure-netapp-files Configure Customer Managed Keys https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/configure-customer-managed-keys.md
The following diagram demonstrates how customer-managed keys work with Azure Net
* Customer-managed keys can only be configured on new volumes. You can't migrate existing volumes to customer-managed key encryption. * To create a volume using customer-managed keys, you must select the *Standard* network features. You can't use customer-managed key volumes with volume configured using Basic network features. Follow instructions in to [Set the Network Features option](configure-network-features.md#set-the-network-features-option) in the volume creation page.
-* Customer-managed keys private endpoints do not support the **Disable public access** option. You must choose one of the **Allow public access** options.
+* For increased security, you can select the **Disable public access** option within the network settings of your key vault. When selecting this option, you must also select **Allow trusted Microsoft services to bypass this firewall** to permit the Azure NetApp Files service to access your encryption key.
* MSI Automatic certificate renewal isn't currently supported. It is recommended to set up an Azure monitor alert for when the MSI certificate is going to expire. * The MSI certificate has a lifetime of 90 days. It becomes eligible for renewal after 46 days. **After 90 days, the certificate is no longer be valid and the customer-managed key volumes under the NetApp account will go offline.** * To renew, you need to call the NetApp account operation `renewCredentials` if eligible for renewal. If it's not eligible, an error message communicates the date of eligibility.
azure-netapp-files Whats New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/whats-new.md
na Previously updated : 05/15/2023 Last updated : 06/01/2023 # What's new in Azure NetApp Files Azure NetApp Files is updated regularly. This article provides a summary about the latest new features and enhancements.
+## June 2023
+
+* [Customer-managed keys](configure-customer-managed-keys.md) for Azure NetApp Files now supports the option to Disable public access on the key vault that contains your encryption key. Selecting this option enhances network security by denying public configurations and allowing only connections through private endpoints.
+ ## May 2023 * Azure NetApp Files now supports [customer-managed keys](configure-customer-managed-keys.md) on both source and data replication volumes with [cross-region replication](cross-region-replication-requirements-considerations.md) or [cross-zone replication](cross-zone-replication-requirements-considerations.md) relationships.
azure-portal Azure Portal Markdown Tile https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-portal/azure-portal-markdown-tile.md
Title: Use a custom markdown tile on Azure dashboards
description: Learn how to add a markdown tile to an Azure dashboard to display static content Last updated 03/27/2023 -+ # Use a markdown tile on Azure dashboards to show custom content
You can use any combination of plain text, Markdown syntax, and HTML content on
## Next steps - Learn more about [creating dashboards in the Azure portal](../azure-portal/azure-portal-dashboards.md).-- Learn how to [share a dashboard by using Azure role-based access control](azure-portal-dashboard-share-access.md).
+- Learn how to [share a dashboard by using Azure role-based access control](azure-portal-dashboard-share-access.md).
azure-relay Relay Hybrid Connections Dotnet Api Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-relay/relay-hybrid-connections-dotnet-api-overview.md
Title: Overview of Azure Relay .NET Standard APIs | Microsoft Docs description: This article summarizes some of the key an overview of Azure Relay Hybrid Connections .NET Standard API. -+ Last updated 06/21/2022
azure-relay Relay Hybrid Connections Http Requests Dotnet Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-relay/relay-hybrid-connections-http-requests-dotnet-get-started.md
Title: Azure Relay Hybrid Connections - HTTP requests in .NET description: Write a C# console application for Azure Relay Hybrid Connections HTTP requests in .NET. -+ Last updated 09/26/2022
azure-relay Service Bus Dotnet Hybrid App Using Service Bus Relay https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-relay/service-bus-dotnet-hybrid-app-using-service-bus-relay.md
Title: Azure Windows Communication Foundation (WCF) Relay hybrid on-premises/cloud application (.NET) | Microsoft Docs description: Learn how to expose an on-premises WCF service to a web application in the cloud by using Azure Relay -+ Last updated 06/21/2022
Advance to the following tutorial:
[37]: ./media/service-bus-dotnet-hybrid-app-using-service-bus-relay/hy-service1.png [38]: ./media/service-bus-dotnet-hybrid-app-using-service-bus-relay/hy-service2.png [41]: ./media/service-bus-dotnet-hybrid-app-using-service-bus-relay/getting-started-multi-tier-40.png
-[43]: ./media/service-bus-dotnet-hybrid-app-using-service-bus-relay/getting-started-hybrid-43.png
+[43]: ./media/service-bus-dotnet-hybrid-app-using-service-bus-relay/getting-started-hybrid-43.png
azure-relay Service Bus Relay Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-relay/service-bus-relay-tutorial.md
Title: Expose an on-prem WCF REST service to clients using Azure Relay description: This tutorial describes how to expose an on-premises WCF REST service to an external client by using Azure WCF Relay. -+ Last updated 06/21/2022
azure-resource-manager Bicep Extensibility Kubernetes Provider https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/bicep-extensibility-kubernetes-provider.md
Title: Bicep extensibility Kubernetes provider description: Learn how to Bicep Kubernetes provider to deploy .NET applications to Azure Kubernetes Service clusters. -+ Last updated 04/18/2023
azure-resource-manager Decompile https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/decompile.md
Title: Decompile ARM template JSON to Bicep
description: Describes commands for decompiling Azure Resource Manager templates to Bicep files. Last updated 03/03/2023-+ # Decompiling ARM template JSON to Bicep
azure-resource-manager Installation Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/installation-troubleshoot.md
Title: Troubleshoot problems with Bicep installation description: How to resolve errors and problems with your Bicep installation. -+ Last updated 04/18/2023
azure-resource-manager Linter Rule Use Resource Symbol Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/bicep/linter-rule-use-resource-symbol-reference.md
Title: Linter rule - use resource symbol reference description: Linter rule - use resource symbol reference + Last updated 03/30/2023
azure-resource-manager Deploy Service Catalog Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/managed-applications/deploy-service-catalog-quickstart.md
Title: Deploy a service catalog managed application
description: Describes how to deploy a service catalog's managed application for an Azure Managed Application using Azure PowerShell, Azure CLI, or Azure portal. Last updated 05/12/2023-+ # Quickstart: Deploy a service catalog managed application
azure-resource-manager Manage Resource Groups Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/manage-resource-groups-python.md
Title: Manage resource groups - Python
description: Use Python to manage your resource groups through Azure Resource Manager. Shows how to create, list, and delete resource groups. -+ Last updated 02/27/2023
azure-resource-manager Manage Resources Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/manage-resources-python.md
Title: Manage resources - Python
description: Use Python and Azure Resource Manager to manage your resources. Shows how to deploy and delete resources. Last updated 04/21/2023-+ # Manage Azure resources by using Python
azure-resource-manager Move Resource Group And Subscription https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/move-resource-group-and-subscription.md
Title: Move resources to a new subscription or resource group
description: Use Azure Resource Manager to move resources to a new resource group or subscription. Last updated 04/24/2023-+ # Move resources to a new resource group or subscription
azure-resource-manager Tag Resources Bicep https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/tag-resources-bicep.md
Title: Tag resources, resource groups, and subscriptions with Bicep description: Shows how to use Bicep to apply tags to Azure resources. + Last updated 04/19/2023
azure-resource-manager Tag Resources Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/tag-resources-cli.md
Title: Tag resources, resource groups, and subscriptions with Azure CLI description: Shows how to use Azure CLI to apply tags to Azure resources. + Last updated 04/19/2023
azure-resource-manager Tag Resources Powershell https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/tag-resources-powershell.md
Title: Tag resources, resource groups, and subscriptions with Azure PowerShell description: Shows how to use Azure PowerShell to apply tags to Azure resources. + Last updated 04/19/2023
azure-resource-manager Tag Resources Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/management/tag-resources-python.md
Title: Tag resources, resource groups, and subscriptions with Python
description: Shows how to use Python to apply tags to Azure resources. Last updated 04/19/2023-+ # Apply tags with Python
azure-resource-manager Deploy Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-resource-manager/templates/deploy-python.md
Title: Deploy resources with Python and template
description: Use Azure Resource Manager and Python to deploy resources to Azure. The resources are defined in an Azure Resource Manager template. Last updated 04/24/2023-+ # Deploy resources with ARM templates and Python
azure-signalr Howto Disable Local Auth https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-signalr/howto-disable-local-auth.md
Last updated 03/31/2023 +
See the following docs to learn about authentication methods.
- [Overview of Azure AD for SignalR](signalr-concept-authorize-azure-active-directory.md) - [Authenticate with Azure applications](./signalr-howto-authorize-application.md)-- [Authenticate with managed identities](./signalr-howto-authorize-managed-identity.md)
+- [Authenticate with managed identities](./signalr-howto-authorize-managed-identity.md)
azure-signalr Signalr Concept Authenticate Oauth https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-signalr/signalr-concept-authenticate-oauth.md
Last updated 11/13/2019 ms.devlang: csharp-+ # Azure SignalR Service authentication
azure-signalr Signalr Concept Serverless Development Config https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-signalr/signalr-concept-serverless-development-config.md
Last updated 04/20/2022 ms.devlang: csharp, javascript-+ # Azure Functions development and configuration with Azure SignalR Service
azure-signalr Signalr Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-signalr/signalr-overview.md
description: Better understand what typical use case scenarios to use Azure Sign
-+ Last updated 11/30/2022
azure-signalr Signalr Quickstart Azure Functions Java https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-signalr/signalr-quickstart-azure-functions-java.md
Last updated 04/04/2022
ms.devlang: java-+ # Quickstart: Use Java to create an App showing GitHub star count with Azure Functions and SignalR Service
azure-signalr Signalr Quickstart Dotnet Core https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-signalr/signalr-quickstart-dotnet-core.md
description: A quickstart for using Azure SignalR Service to create a chat room
ms.devlang: csharp+ Last updated 08/03/2022
azure-signalr Signalr Quickstart Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-signalr/signalr-quickstart-dotnet.md
ms.devlang: csharp -+ Last updated 09/28/2020
azure-signalr Signalr Tutorial Authenticate Azure Functions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-signalr/signalr-tutorial-authenticate-azure-functions.md
Last updated 02/16/2023 ms.devlang: javascript-+ # Tutorial: Azure SignalR Service authentication with Azure Functions
azure-video-indexer Video Indexer Embed Widgets https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-video-indexer/video-indexer-embed-widgets.md
description: Learn how to embed Azure Video Indexer widgets in your apps.
Last updated 01/10/2023 -+ # Embed Azure Video Indexer widgets in your apps
azure-web-pubsub Choose Server Sdks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/choose-server-sdks.md
description: Learn how to choose the server SDKs with this reference doc
+ Last updated 11/08/2021
The Azure Web PubSub service provides server SDK with four languages: C#, Java,
## Server SDK - Python
-[Python Server SDK instruction](reference-server-sdk-python.md)
+[Python Server SDK instruction](reference-server-sdk-python.md)
azure-web-pubsub Howto Create Serviceclient With Java And Azure Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/howto-create-serviceclient-with-java-and-azure-identity.md
Last updated 11/15/2021 +
This how-to guide shows you how to create a `WebPubSubServiceClient` with Java a
## Complete sample -- [Simple chatroom with AAD Auth](https://github.com/Azure/azure-webpubsub/tree/main/samples/java/chatapp-aad)
+- [Simple chatroom with AAD Auth](https://github.com/Azure/azure-webpubsub/tree/main/samples/java/chatapp-aad)
azure-web-pubsub Howto Create Serviceclient With Javascript And Azure Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/howto-create-serviceclient-with-javascript-and-azure-identity.md
Last updated 11/15/2021 +
This how-to guide shows you how to create a `WebPubSubServiceClient` using Azure
## Complete sample -- [Simple chatroom with AAD Auth](https://github.com/Azure/azure-webpubsub/tree/main/samples/javascript/chatapp-aad)
+- [Simple chatroom with AAD Auth](https://github.com/Azure/azure-webpubsub/tree/main/samples/javascript/chatapp-aad)
azure-web-pubsub Howto Create Serviceclient With Net And Azure Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/howto-create-serviceclient-with-net-and-azure-identity.md
Last updated 11/15/2021 +
azure-web-pubsub Howto Create Serviceclient With Python And Azure Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/howto-create-serviceclient-with-python-and-azure-identity.md
Last updated 11/15/2021 +
This how-to guide shows you how to create a `WebPubSubServiceClient` using Azure
## Complete sample -- [Simple chatroom with AAD Auth](https://github.com/Azure/azure-webpubsub/tree/main/samples/python/chatapp-aad)
+- [Simple chatroom with AAD Auth](https://github.com/Azure/azure-webpubsub/tree/main/samples/python/chatapp-aad)
azure-web-pubsub Howto Develop Create Instance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/howto-develop-create-instance.md
Last updated 03/13/2023-+ zone_pivot_groups: azure-web-pubsub-create-resource-methods # Create a Web PubSub resource
azure-web-pubsub Howto Disable Local Auth https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/howto-disable-local-auth.md
Last updated 03/31/2023 +
See the following docs to learn about authentication methods.
- [Overview of Azure AD for Web PubSub](concept-azure-ad-authorization.md) - [Authenticate with Azure applications](./howto-authorize-from-application.md)-- [Authenticate with managed identities](./howto-authorize-from-managed-identity.md)
+- [Authenticate with managed identities](./howto-authorize-from-managed-identity.md)
azure-web-pubsub Quickstart Use Client Sdk