Updates from: 05/01/2023 01:06:12
Service Microsoft Docs article Related commit history on GitHub Change details
active-directory Concept Authentication Passwordless https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/concept-authentication-passwordless.md
The following providers offer FIDO2 security keys of different form factors that
| Nymi | ![y] | ![n]| ![y]| ![n]| ![n] | https://www.nymi.com/nymi-band | | Octatco | ![y] | ![y]| ![n]| ![n]| ![n] | https://octatco.com/ | | OneSpan Inc. | ![n] | ![y]| ![n]| ![y]| ![n] | https://www.onespan.com/products/fido |
-| Swissbit | ![n] | ![y]| ![y]| ![n]| ![n] | https://www.swissbit.com/en/products/ishield-fido2/ |
+| Swissbit | ![n] | ![y]| ![y]| ![n]| ![n] | https://www.swissbit.com/en/products/security-products/swissbit-tse/ |
| Thales Group | ![n] | ![y]| ![y]| ![n]| ![y] | https://cpl.thalesgroup.com/access-management/authenticators/fido-devices | | Thetis | ![y] | ![y]| ![y]| ![y]| ![n] | https://thetis.io/collections/fido2 | | Token2 Switzerland | ![y] | ![y]| ![y]| ![n]| ![n] | https://www.token2.swiss/shop/product/token2-t2f2-alu-fido2-u2f-and-totp-security-key |
active-directory Concept System Preferred Multifactor Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/concept-system-preferred-multifactor-authentication.md
description: Learn how to use system-preferred multifactor authentication
Previously updated : 04/03/2023 Last updated : 04/30/2023
System-preferred multifactor authentication (MFA) prompts users to sign in by us
For example, if a user registered both SMS and Microsoft Authenticator push notifications as methods for MFA, system-preferred MFA prompts the user to sign in by using the more secure push notification method. The user can still choose to sign in by using another method, but they're first prompted to try the most secure method they registered.
-System-preferred MFA is a Microsoft managed setting, which is a [tristate policy](#authentication-method-feature-configuration-properties). For preview, the **default** state is disabled. If you want to turn it on for all users or a group of users during preview, you need to explicitly change the Microsoft managed state to **enabled** by using Microsoft Graph API. Sometime after general availability, the Microsoft managed state for system-preferred MFA will change to **enabled**.
+System-preferred MFA is a Microsoft managed setting, which is a [tristate policy](#authentication-method-feature-configuration-properties). For preview, the **default** state is disabled. If you want to turn it on for all users or a group of users during preview, you need to explicitly change the Microsoft managed state to **Enabled**. Sometime after general availability, the Microsoft managed state for system-preferred MFA will change to **Enabled**.
After system-preferred MFA is enabled, the authentication system does all the work. Users don't need to set any authentication method as their default because the system always determines and presents the most secure method they registered.
active-directory Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/governance/apps.md
+
+ Title: Entra Identity Governance integrations
+description: This page provides an overview of the Entra Identity Governance integrations available to automate provisioning and governance controls.
+++++++ Last updated : 04/28/2023+++++
+# Entra Identity Governance integrations
+
+[Microsoft Entra Identity Governance](identity-governance-applications-prepare.md) allows you to balance your organization's need for security and employee productivity with the right processes and visibility. This page provides an overview of the hundreds of Entra Identity Governance integrations available. These application integrations are used to automate [identity lifecycle management](what-is-identity-lifecycle-management.md) and implement governance controls across your organization. Through these rich integrations, you can automate providing users [access to applications](entitlement-management-overview.md), perform [periodic reviews](access-reviews-overview.md) of who has access to an application, and secure them with capabilities such as multi-factor authentication.
+
+## Featured integrations
+
+| Category | Application |
+| : | : |
+| HR | [SuccessFactors - User Provisioning](../../active-directory/saas-apps/sap-successfactors-inbound-provisioning-tutorial.md) |
+| HR | [Workday - User Provisioning](../../active-directory/saas-apps/workday-inbound-cloud-only-tutorial.md)|
+|[LDAP](../../active-directory/app-provisioning/on-premises-ldap-connector-configure.md)| OpenLDAP<br>Microsoft Active Directory Lightweight Directory Services<br>389 Directory Server<br>Apache Directory Server<br>IBM Tivoli DS<br>Isode Directory<br>NetIQ eDirectory<br>Novell eDirectory<br>Open DJ<br>Open DS<br>Oracle (previously Sun ONE) Directory Server Enterprise Edition<br>RadiantOne Virtual Directory Server (VDS) |
+| [SQL](../../active-directory/app-provisioning/tutorial-ecma-sql-connector.md)| Microsoft SQL Server and Azure SQL<br>IBM DB2 10.x<br>IBM DB2 9.x<br>Oracle 10g and 11g<br>Oracle 12c and 18c<br>MySQL 5.x|
+| Cloud platform| [AWS IAM Identity Center](../../active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial.md) |
+| Cloud platform| [Google Cloud Platform - User Provisioning](../../active-directory/saas-apps/g-suite-provisioning-tutorial.md) |
+| Cloud platform|[SAP Cloud Identity Platform - Provisioning](../../active-directory/saas-apps/sap-cloud-platform-identity-authentication-provisioning-tutorial.md) |
+| CRM| [Salesforce - User Provisioning](../../active-directory/saas-apps/salesforce-provisioning-tutorial.md) |
+| ITSM| [ServiceNow](../../active-directory/saas-apps/servicenow-provisioning-tutorial.md)|
++
+## Entra Identity Governance Integrations
+The list below provides key integrations between Entra Identity Governance and various applications, including both provisioning and SSO integrations. For a full list of applications that Microsoft Entra integrates with specifically for SSO, see [here](../../active-directory/saas-apps/tutorial-list.md).
+
+| Application | Automated provisioning | Single Sign On (SSO)|
+| : | :-: | :-: |
+| [4me](../../active-directory/saas-apps/4me-provisioning-tutorial.md) | ΓùÅ | ΓùÅ|
+| [8x8](../../active-directory/saas-apps/8x8-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [15five](../../active-directory/saas-apps/15five-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Acunetix 360](../../active-directory/saas-apps/acunetix-360-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Adobe Identity Management](../../active-directory/saas-apps/adobe-identity-management-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Adobe Identity Management (OIDC)](../../active-directory/saas-apps/adobe-identity-management-provisioning-oidc-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Aha!](../../active-directory/saas-apps/aha-tutorial.md) | | ΓùÅ |
+| [Airstack](../../active-directory/saas-apps/airstack-provisioning-tutorial.md) | ΓùÅ | |
+| [Akamai Enterprise Application Access](../../active-directory/saas-apps/akamai-enterprise-application-access-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [AlertMedia](../../active-directory/saas-apps/alertmedia-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Alexis HR](../../active-directory/saas-apps/alexishr-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Alinto Protect (renamed Cleanmail)](../../active-directory/saas-apps/alinto-protect-provisioning-tutorial.md) | ΓùÅ | |
+| [Alvao](../../active-directory/saas-apps/alvao-provisioning-tutorial.md) | ΓùÅ | |
+| [Amazon Web Services (AWS) - Role Provisioning](../../active-directory/saas-apps/amazon-web-service-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Appaegis Isolation Access Cloud](../../active-directory/saas-apps/appaegis-isolation-access-cloud-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Apple School Manager](../../active-directory/saas-apps/apple-school-manager-provision-tutorial.md) | ΓùÅ | |
+| [Apple Business Manager](../../active-directory/saas-apps/apple-business-manager-provision-tutorial.md) | ΓùÅ | |
+| [Ardoq](../../active-directory/saas-apps/ardoq-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Asana](../../active-directory/saas-apps/asana-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [AskSpoke](../../active-directory/saas-apps/askspoke-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Atea](../../active-directory/saas-apps/atea-provisioning-tutorial.md) | ΓùÅ | |
+| [Atlassian Cloud](../../active-directory/saas-apps/atlassian-cloud-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Atmos](../../active-directory/saas-apps/atmos-provisioning-tutorial.md) | ΓùÅ | |
+| [AuditBoard](../../active-directory/saas-apps/auditboard-provisioning-tutorial.md) | ΓùÅ | |
+| [Autodesk SSO](../../active-directory/saas-apps/autodesk-sso-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Azure Databricks SCIM Connector](https://learn.microsoft.com/azure/databricks/administration-guide/users-groups/scim/aad) | ΓùÅ | |
+| [AWS IAM Identity Center](../../active-directory/saas-apps/aws-single-sign-on-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [BambooHR](../../active-directory/saas-apps/bamboo-hr-tutorial.md) | | ΓùÅ |
+| [BenQ IAM](../../active-directory/saas-apps/benq-iam-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Bentley - Automatic User Provisioning](../../active-directory/saas-apps/bentley-automatic-user-provisioning-tutorial.md) | ΓùÅ | |
+| [Better Stack](../../active-directory/saas-apps/better-stack-provisioning-tutorial.md) | ΓùÅ | |
+| [BIC Cloud Design](../../active-directory/saas-apps/bic-cloud-design-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [BIS](../../active-directory/saas-apps/bis-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [BitaBIZ](../../active-directory/saas-apps/bitabiz-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Bizagi Studio for Digital Process Automation](../../active-directory/saas-apps/bizagi-studio-for-digital-process-automation-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [BLDNG APP](../../active-directory/saas-apps/bldng-app-provisioning-tutorial.md) | ΓùÅ | |
+| [Blink](../../active-directory/saas-apps/blink-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Blinq](../../active-directory/saas-apps/blinq-provisioning-tutorial.md) | ΓùÅ | |
+| [BlogIn](../../active-directory/saas-apps/blogin-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [BlueJeans](../../active-directory/saas-apps/bluejeans-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Bonusly](../../active-directory/saas-apps/bonusly-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Box](../../active-directory/saas-apps/box-userprovisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Boxcryptor](../../active-directory/saas-apps/boxcryptor-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Bpanda](../../active-directory/saas-apps/bpanda-provisioning-tutorial.md) | ΓùÅ | |
+| [Brivo Onair Identity Connector](../../active-directory/saas-apps/brivo-onair-identity-connector-provisioning-tutorial.md) | ΓùÅ | |
+| [Britive](../../active-directory/saas-apps/britive-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [BrowserStack Single Sign-on](../../active-directory/saas-apps/browserstack-single-sign-on-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [BullseyeTDP](../../active-directory/saas-apps/bullseyetdp-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Cato Networks Provisioning](../../active-directory/saas-apps/cato-networks-provisioning-tutorial.md) | ΓùÅ | |
+| [Cerner Central](../../active-directory/saas-apps/cernercentral-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Cerby](../../active-directory/saas-apps/cerby-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Chaos](../../active-directory/saas-apps/chaos-provisioning-tutorial.md) | ΓùÅ | |
+| [Chatwork](../../active-directory/saas-apps/chatwork-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [CheckProof](../../active-directory/saas-apps/checkproof-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Cinode](../../active-directory/saas-apps/cinode-provisioning-tutorial.md) | ΓùÅ | |
+| [Cisco Umbrella User Management](../../active-directory/saas-apps/cisco-umbrella-user-management-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Cisco Webex](../../active-directory/saas-apps/cisco-webex-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Clarizen One](../../active-directory/saas-apps/clarizen-one-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Clebex](../../active-directory/saas-apps/clebex-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Cloud Academy SSO](../../active-directory/saas-apps/cloud-academy-sso-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Coda](../../active-directory/saas-apps/coda-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Code42](../../active-directory/saas-apps/code42-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Cofense Recipient Sync](../../active-directory/saas-apps/cofense-provision-tutorial.md) | ΓùÅ | |
+| [Comeet Recruiting Software](../../active-directory/saas-apps/comeet-recruiting-software-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Connecter](../../active-directory/saas-apps/connecter-provisioning-tutorial.md) | ΓùÅ | |
+| [Contentful](../../active-directory/saas-apps/contentful-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Concur](../../active-directory/saas-apps/concur-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Cornerstone OnDemand](../../active-directory/saas-apps/cornerstone-ondemand-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [CybSafe](../../active-directory/saas-apps/cybsafe-provisioning-tutorial.md) | ΓùÅ | |
+| [Documo](../../active-directory/saas-apps/documo-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [DocuSign](../../active-directory/saas-apps/docusign-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Dropbox Business](../../active-directory/saas-apps/dropboxforbusiness-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Dialpad](../../active-directory/saas-apps/dialpad-provisioning-tutorial.md) | ΓùÅ | |
+| [DigiCert](../../active-directory/saas-apps/digicert-tutorial.md) | | ΓùÅ |
+| [Directprint.io](../../active-directory/saas-apps/directprint-io-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Druva](../../active-directory/saas-apps/druva-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Dynamic Signal](../../active-directory/saas-apps/dynamic-signal-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Embed Signage](../../active-directory/saas-apps/embed-signage-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Envoy](../../active-directory/saas-apps/envoy-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Eletive](../../active-directory/saas-apps/eletive-provisioning-tutorial.md) | ΓùÅ | |
+| [Elium](../../active-directory/saas-apps/elium-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Exium](../../active-directory/saas-apps/exium-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Evercate](../../active-directory/saas-apps/evercate-provisioning-tutorial.md) | ΓùÅ | |
+| [Facebook Work Accounts](../../active-directory/saas-apps/facebook-work-accounts-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Federated Directory](../../active-directory/saas-apps/federated-directory-provisioning-tutorial.md) | ΓùÅ | |
+| [Figma](../../active-directory/saas-apps/figma-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Flock](../../active-directory/saas-apps/flock-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Foodee](../../active-directory/saas-apps/foodee-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Fortes Change Cloud](../../active-directory/saas-apps/fortes-change-cloud-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Frankli.io](../../active-directory/saas-apps/frankli-io-provisioning-tutorial.md) | ΓùÅ | |
+| [Freshservice Provisioning](../../active-directory/saas-apps/freshservice-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Fuze](../../active-directory/saas-apps/fuze-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [G Suite](../../active-directory/saas-apps/g-suite-provisioning-tutorial.md) | ΓùÅ | |
+| [Genesys Cloud for Azure](../../active-directory/saas-apps/purecloud-by-genesys-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [getAbstract](../../active-directory/saas-apps/getabstract-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [GHAE](../../active-directory/saas-apps/ghae-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [GitHub](../../active-directory/saas-apps/github-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [GitHub AE](../../active-directory/saas-apps/github-ae-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [GitHub Enterprise Managed User](../../active-directory/saas-apps/github-enterprise-managed-user-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [GitHub Enterprise Managed User (OIDC)](../../active-directory/saas-apps/github-enterprise-managed-user-oidc-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [GoToMeeting](../../active-directory/saas-apps/citrixgotomeeting-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Global Relay Identity Sync](../../active-directory/saas-apps/global-relay-identity-sync-provisioning-tutorial.md) | ΓùÅ | |
+| [Gong](../../active-directory/saas-apps/gong-provisioning-tutorial.md) | ΓùÅ | |
+| [GoLinks](../../active-directory/saas-apps/golinks-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Grammarly](../../active-directory/saas-apps/grammarly-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Group Talk](../../active-directory/saas-apps/grouptalk-provisioning-tutorial.md) | ΓùÅ | |
+| [Gtmhub](../../active-directory/saas-apps/gtmhub-provisioning-tutorial.md) | ΓùÅ | |
+| [Harness](../../active-directory/saas-apps/harness-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| HCL Domino | ΓùÅ | |
+| [HelloID](../../active-directory/saas-apps/helloid-provisioning-tutorial.md) | ΓùÅ | |
+| [Holmes Cloud](../../active-directory/saas-apps/holmes-cloud-provisioning-tutorial.md) | ΓùÅ | |
+| [Hootsuite](../../active-directory/saas-apps/hootsuite-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Hoxhunt](../../active-directory/saas-apps/hoxhunt-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Howspace](../../active-directory/saas-apps/howspace-provisioning-tutorial.md) | ΓùÅ | |
+| [H5mag](../../active-directory/saas-apps/h5mag-provisioning-tutorial.md) | ΓùÅ | |
+| IBM DB2 ([SQL connector](../../active-directory/app-provisioning/tutorial-ecma-sql-connector.md) ) | ΓùÅ | |
+| IBM Tivoli Directory Server ([SQL connector](../../active-directory/app-provisioning/tutorial-ecma-sql-connector.md) ) | ΓùÅ | |
+| [Ideo](../../active-directory/saas-apps/ideo-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Ideagen Cloud](../../active-directory/saas-apps/ideagen-cloud-provisioning-tutorial.md) | ΓùÅ | |
+| [Infor CloudSuite](../../active-directory/saas-apps/infor-cloudsuite-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [iPass SmartConnect](../../active-directory/saas-apps/ipass-smartconnect-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Iris Intranet](../../active-directory/saas-apps/iris-intranet-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Insight4GRC](../../active-directory/saas-apps/insight4grc-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Insite LMS](../../active-directory/saas-apps/insite-lms-provisioning-tutorial.md) | ΓùÅ | |
+| [introDus Pre and Onboarding Platform](../../active-directory/saas-apps/introdus-pre-and-onboarding-platform-provisioning-tutorial.md) | ΓùÅ | |
+| [Invision](../../active-directory/saas-apps/invision-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [InviteDesk](../../active-directory/saas-apps/invitedesk-provisioning-tutorial.md) | ΓùÅ | |
+| [Jive](../../active-directory/saas-apps/jive-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Jostle](../../active-directory/saas-apps/jostle-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Joyn FSM](../../active-directory/saas-apps/joyn-fsm-provisioning-tutorial.md) | ΓùÅ | |
+| [Juno Journey](../../active-directory/saas-apps/juno-journey-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Keeper Password Manager & Digital Vault](../../active-directory/saas-apps/keeper-password-manager-digitalvault-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Keepabl](../../active-directory/saas-apps/keepabl-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Kisi Phsyical Security](../../active-directory/saas-apps/kisi-physical-security-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Klaxoon](../../active-directory/saas-apps/klaxoon-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Klaxoon SAML](../../active-directory/saas-apps/klaxoon-saml-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Kno2fy](../../active-directory/saas-apps/kno2fy-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [KnowBe4 Security Awareness Training](../../active-directory/saas-apps/knowbe4-security-awareness-training-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Kpifire](../../active-directory/saas-apps/kpifire-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [KPN Grip](../../active-directory/saas-apps/kpn-grip-provisioning-tutorial.md) | ΓùÅ | |
+| [LanSchool Air](../../active-directory/saas-apps/lanschool-air-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [LawVu](../..//active-directory/saas-apps/lawvu-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [LDAP](../../active-directory/app-provisioning/on-premises-ldap-connector-configure.md) | ΓùÅ | |
+| [LimbleCMMS](../../active-directory/saas-apps/limblecmms-provisioning-tutorial.md) | ΓùÅ | |
+| [LinkedIn Elevate](../../active-directory/saas-apps/linkedinelevate-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [LinkedIn Sales Navigator](../../active-directory/saas-apps/linkedinsalesnavigator-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Lucid (All Products)](../../active-directory/saas-apps/lucid-all-products-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Lucidchart](../../active-directory/saas-apps/lucidchart-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Leapsome](../../active-directory/saas-apps/leapsome-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [LogicGate](../../active-directory/saas-apps/logicgate-provisioning-tutorial.md) | ΓùÅ | |
+| [Looop](../../active-directory/saas-apps/looop-provisioning-tutorial.md) | ΓùÅ | |
+| [LogMeIn](../../active-directory/saas-apps/logmein-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Maptician](../../active-directory/saas-apps/maptician-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [MediusFlow](../../active-directory/saas-apps/mediusflow-provisioning-tutorial.md) | ΓùÅ | |
+| [MerchLogix](../../active-directory/saas-apps/merchlogix-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Meta Networks Connector](../../active-directory/saas-apps/meta-networks-connector-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| MicroFocus Novell eDirectory ([LDAP connector](../../active-directory/app-provisioning/on-premises-ldap-connector-configure.md) ) | ΓùÅ | |
+| Microsoft Lightweight Directory Server (ADAM) ([LDAP connector](../../active-directory/app-provisioning/on-premises-ldap-connector-configure.md) ) | ΓùÅ | |
+| Microsoft SharePoint Server (SharePoint) | ΓùÅ | |
+| Microsoft SQL Server ([SQL connector](../../active-directory/app-provisioning/tutorial-ecma-sql-connector.md) ) | ΓùÅ | |
+| [Mixpanel](../../active-directory/saas-apps/mixpanel-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Mindtickle](../../active-directory/saas-apps/mindtickle-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Miro](../../active-directory/saas-apps/miro-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Monday.com](../../active-directory/saas-apps/mondaycom-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [MongoDB Atlas](../../active-directory/saas-apps/mongodb-cloud-tutorial.md) | | ΓùÅ |
+| [Mural Identity](../../active-directory/saas-apps/mural-identity-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [MX3 Diagnostics](../../active-directory/saas-apps/mx3-diagnostics-connector-provisioning-tutorial.md) | ΓùÅ | |
+| [myPolicies](../../active-directory/saas-apps/mypolicies-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| Net IQ eDirectory ([LDAP connector](../../active-directory/app-provisioning/on-premises-ldap-connector-configure.md) ) | ΓùÅ | |
+| [Netpresenter Next](../../active-directory/saas-apps/netpresenter-provisioning-tutorial.md) | ΓùÅ | |
+| [Netskope User Authentication](../../active-directory/saas-apps/netskope-administrator-console-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Netsparker Enterprise](../../active-directory/saas-apps/netsparker-enterprise-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [New Relic by Organization](../../active-directory/saas-apps/new-relic-by-organization-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [NordPass](../../active-directory/saas-apps/nordpass-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| Novell eDirectory ([LDAP connector](../../active-directory/app-provisioning/on-premises-ldap-connector-configure.md) ) | ΓùÅ | |
+| [Office Space Software](../../active-directory/saas-apps/officespace-software-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Olfeo SAAS](../../active-directory/saas-apps/olfeo-saas-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Open LDAP](../../active-directory/app-provisioning/on-premises-ldap-connector-configure.md) | ΓùÅ | |
+| [OpenText Directory Services](../../active-directory/saas-apps/open-text-directory-services-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Oracle Cloud Infrastructure Console](../../active-directory/saas-apps/oracle-cloud-infrastructure-console-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| Oracle Database | ΓùÅ | |
+| Oracle E-Business Suite | ΓùÅ | ΓùÅ |
+| [Oracle Fusion ERP](../../active-directory/saas-apps/oracle-fusion-erp-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| Oracle Internet Directory | ΓùÅ | |
+| Oracle PeopleSoft ERP | ΓùÅ | ΓùÅ |
+| Oracle SunOne | ΓùÅ | |
+| [PagerDuty](../../active-directory/saas-apps/pagerduty-tutorial.md) | | ΓùÅ |
+| [Palo Alto Networks Cloud Identity Engine - Cloud Authentication Service](../../active-directory/saas-apps/palo-alto-networks-cloud-identity-engine-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Palo Alto Networks SCIM Connector](../../active-directory/saas-apps/palo-alto-networks-scim-connector-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [PaperCut Cloud Print Management](../../active-directory/saas-apps/papercut-cloud-print-management-provisioning-tutorial.md) | ΓùÅ | |
+| [Parsable](../../active-directory/saas-apps/parsable-provisioning-tutorial.md) | ΓùÅ | |
+| [Peripass](../../active-directory/saas-apps/peripass-provisioning-tutorial.md) | ΓùÅ | |
+| [Pingboard](../../active-directory/saas-apps/pingboard-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Plandisc](../../active-directory/saas-apps/plandisc-provisioning-tutorial.md) | ΓùÅ | |
+| [Playvox](../../active-directory/saas-apps/playvox-provisioning-tutorial.md) | ΓùÅ | |
+| [Preciate](../../active-directory/saas-apps/preciate-provisioning-tutorial.md) | ΓùÅ | |
+| [PrinterLogic SaaS](../../active-directory/saas-apps/printer-logic-saas-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Priority Matrix](../../active-directory/saas-apps/priority-matrix-provisioning-tutorial.md) | ΓùÅ | |
+| [ProdPad](../../active-directory/saas-apps/prodpad-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Promapp](../../active-directory/saas-apps/promapp-provisioning-tutorial.md) | ΓùÅ | |
+| [Proxyclick](../../active-directory/saas-apps/proxyclick-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Peakon](../../active-directory/saas-apps/peakon-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Proware](../../active-directory/saas-apps/proware-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Real Links](../../active-directory/saas-apps/real-links-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Reward Gateway](../../active-directory/saas-apps/reward-gateway-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [RFPIO](../../active-directory/saas-apps/rfpio-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Ring Central](../../active-directory/saas-apps/ringcentral-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Robin](../../active-directory/saas-apps/robin-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Rollbar](../../active-directory/saas-apps/rollbar-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Rouse Sales](../../active-directory/saas-apps/rouse-sales-provisioning-tutorial.md) | ΓùÅ | |
+| [Salesforce](../../active-directory/saas-apps/salesforce-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Salesforce Sandbox](../../active-directory/saas-apps/salesforce-sandbox-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Samanage](../../active-directory/saas-apps/samanage-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [SAP Analytics Cloud](../../active-directory/saas-apps/sap-analytics-cloud-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [SAP Cloud Platform Identity Authentication](../../active-directory/saas-apps/sap-cloud-platform-identity-authentication-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| SAP R/3 | ΓùÅ | |
+| [SAP HANA](../../active-directory/saas-apps/saphana-tutorial.md) | ΓùÅ | ΓùÅ |
+| [SAP SuccessFactors to Active Directory](../../active-directory/saas-apps/sap-successfactors-inbound-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [SAP SuccessFactors to Azure Active Directory](../../active-directory/saas-apps/sap-successfactors-inbound-provisioning-cloud-only-tutorial.md) | ΓùÅ | ΓùÅ |
+| [SAP SuccessFactors Writeback ](../../active-directory/saas-apps/sap-successfactors-writeback-tutorial.md) | ΓùÅ | ΓùÅ |
+| [SchoolStream ASA](../../active-directory/saas-apps/schoolstream-asa-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Secure Deliver](../../active-directory/saas-apps/secure-deliver-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [SecureLogin](../../active-directory/saas-apps/secure-login-provisioning-tutorial.md) | ΓùÅ | |
+| [Sentry](../../active-directory/saas-apps/sentry-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [ServiceNow](../../active-directory/saas-apps/servicenow-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Segment](../../active-directory/saas-apps/segment-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Shopify Plus](../../active-directory/saas-apps/shopify-plus-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Sigma Computing](../../active-directory/saas-apps/sigma-computing-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Signagelive](../../active-directory/saas-apps/signagelive-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Slack](../../active-directory/saas-apps/slack-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Smartfile](../../active-directory/saas-apps/smartfile-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Smartsheet](../../active-directory/saas-apps/smartsheet-provisioning-tutorial.md) | ΓùÅ | |
+| [Smallstep SSH](../../active-directory/saas-apps/smallstep-ssh-provisioning-tutorial.md) | ΓùÅ | |
+| [Snowflake](../../active-directory/saas-apps/snowflake-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Soloinsight - CloudGate SSO](../../active-directory/saas-apps/soloinsight-cloudgate-sso-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [SoSafe](../../active-directory/saas-apps/sosafe-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [SpaceIQ](../../active-directory/saas-apps/spaceiq-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Splashtop](../../active-directory/saas-apps/splashtop-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [StarLeaf](../../active-directory/saas-apps/starleaf-provisioning-tutorial.md) | ΓùÅ | |
+| [Storegate](../../active-directory/saas-apps/storegate-provisioning-tutorial.md) | ΓùÅ | |
+| [SurveyMonkey Enterprise](../../active-directory/saas-apps/surveymonkey-enterprise-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Swit](../../active-directory/saas-apps/swit-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Symantec Web Security Service (WSS)](../../active-directory/saas-apps/symantec-web-security-service.md) | ΓùÅ | ΓùÅ |
+| [Tableau Cloud](../../active-directory/saas-apps/tableau-online-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Talentech](../../active-directory/saas-apps/talentech-provisioning-tutorial.md) | ΓùÅ | |
+| [Tap App Security](../../active-directory/saas-apps/tap-app-security-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Taskize Connect](../../active-directory/saas-apps/taskize-connect-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Teamgo](../../active-directory/saas-apps/teamgo-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [TeamViewer](../../active-directory/saas-apps/teamviewer-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [TerraTrue](../../active-directory/saas-apps/terratrue-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [ThousandEyes](../../active-directory/saas-apps/thousandeyes-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Tic-Tac Mobile](../../active-directory/saas-apps/tic-tac-mobile-provisioning-tutorial.md) | ΓùÅ | |
+| [TimeClock 365](../../active-directory/saas-apps/timeclock-365-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [TimeClock 365 SAML](../../active-directory/saas-apps/timeclock-365-saml-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Templafy SAML2](../../active-directory/saas-apps/templafy-saml-2-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Templafy OpenID Connect](../../active-directory/saas-apps/templafy-openid-connect-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [TheOrgWiki](../../active-directory/saas-apps/theorgwiki-provisioning-tutorial.md) | ΓùÅ | |
+| [Thrive LXP](../../active-directory/saas-apps/thrive-lxp-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Torii](../../active-directory/saas-apps/torii-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [TravelPerk](../../active-directory/saas-apps/travelperk-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Tribeloo](../../active-directory/saas-apps/tribeloo-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Twingate](../../active-directory/saas-apps/twingate-provisioning-tutorial.md) | ΓùÅ | |
+| [Uber](../../active-directory/saas-apps/uber-provisioning-tutorial.md) | ΓùÅ | |
+| [UNIFI](../../active-directory/saas-apps/unifi-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [uniFlow Online](../../active-directory/saas-apps/uniflow-online-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Velpic](../../active-directory/saas-apps/velpic-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Visibly](../../active-directory/saas-apps/visibly-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Visitly](../../active-directory/saas-apps/visitly-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Vonage](../../active-directory/saas-apps/vonage-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Webroot Security Awareness Training](../../active-directory/saas-apps/webroot-security-awareness-training-provisioning-tutorial.md) | ΓùÅ | |
+| [WEDO](../../active-directory/saas-apps/wedo-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Whimsical](../../active-directory/saas-apps/whimsical-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Workday to Active Directory](../../active-directory/saas-apps/workday-inbound-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Workday to Azure AD](../../active-directory/saas-apps/workday-inbound-cloud-only-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Workday Writeback](../../active-directory/saas-apps/workday-writeback-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Workteam](../../active-directory/saas-apps/workteam-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Workplace by Facebook](../../active-directory/saas-apps/workplace-by-facebook-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Workgrid](../../active-directory/saas-apps/workgrid-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Wrike](../../active-directory/saas-apps/wrike-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Yellowbox](../../active-directory/saas-apps/yellowbox-provisioning-tutorial.md) | ΓùÅ | |
+| [Zapier](../../active-directory/saas-apps/zapier-provisioning-tutorial.md) | ΓùÅ | |
+| [Zendesk](../../active-directory/saas-apps/zendesk-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zenya](../../active-directory/saas-apps/zenya-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zero](../../active-directory/saas-apps/zero-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zip](../../active-directory/saas-apps/zip-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zoom](../../active-directory/saas-apps/zoom-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zscaler](../../active-directory/saas-apps/zscaler-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zscaler Beta](../../active-directory/saas-apps/zscaler-beta-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zscaler One](../../active-directory/saas-apps/zscaler-one-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zscaler Private Access](../../active-directory/saas-apps/zscaler-private-access-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zscaler Two](../../active-directory/saas-apps/zscaler-two-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zscaler Three](../../active-directory/saas-apps/zscaler-three-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+| [Zscaler ZSCloud](../../active-directory/saas-apps/zscaler-zscloud-provisioning-tutorial.md) | ΓùÅ | ΓùÅ |
+
+## Partner driven integrations
+There is also a healthy partner ecosystem, further expanding the breadth and depth of integrations available with Entra Identity Governance. Explore the [partner integrations](../../active-directory/app-provisioning/partner-driven-integrations.md) available, including:
+* Epic
+* Cerner
+* IBM RACF
+* IBM i (AS/400)
+* Aurion People & Payroll
+
+## Next steps
+
+To learn more about application provisioning, see [What is application provisioning](../../active-directory/app-provisioning/user-provisioning.md).
active-directory Permissions Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/roles/permissions-reference.md
Previously updated : 02/21/2023 Last updated : 04/28/2023
Users in this role can enable, disable, and delete devices in Azure AD and read
> | microsoft.directory/devices/delete | Delete devices from Azure AD | > | microsoft.directory/devices/disable | Disable devices in Azure AD | > | microsoft.directory/devices/enable | Enable devices in Azure AD |
+> | microsoft.directory/deviceLocalCredentials/password/read | Read all properties of the backed up local administrator account credentials for Azure AD joined devices, including the password |
> | microsoft.directory/deviceManagementPolicies/standard/read | Read standard properties on device management application policies | > | microsoft.directory/deviceManagementPolicies/basic/update | Update basic properties on device management application policies | > | microsoft.directory/deviceRegistrationPolicy/standard/read | Read standard properties on device registration policies |
Users in this role can read basic directory information. This role should be use
> | microsoft.directory/users/photo/read | Read photo of users | > | microsoft.directory/users/registeredDevices/read | Read registered devices of users | > | microsoft.directory/users/scopedRoleMemberOf/read | Read user's membership of an Azure AD role, that is scoped to an administrative unit |
+> | microsoft.directory/users/sponsors/read | Read sponsors of users |
## Directory Synchronization Accounts
Users in this role can read and update basic information of users, groups, and s
> | microsoft.directory/users/basic/update | Update basic properties on users | > | microsoft.directory/users/manager/update | Update manager for users | > | microsoft.directory/users/photo/update | Update photo of users |
+> | microsoft.directory/users/sponsors/update | Update sponsors of users |
> | microsoft.directory/users/userPrincipalName/update | Update User Principal Name of users | ## Domain Name Administrator
Users with this role have access to all administrative features in Azure Active
> | microsoft.directory/namedLocations/delete | Delete custom rules that define network locations | > | microsoft.directory/namedLocations/standard/read | Read basic properties of custom rules that define network locations | > | microsoft.directory/namedLocations/basic/update | Update basic properties of custom rules that define network locations |
+> | microsoft.directory/deviceLocalCredentials/password/read | Read all properties of the backed up local administrator account credentials for Azure AD joined devices, including the password |
> | microsoft.directory/deviceManagementPolicies/standard/read | Read standard properties on device management application policies | > | microsoft.directory/deviceManagementPolicies/basic/update | Update basic properties on device management application policies | > | microsoft.directory/deviceRegistrationPolicy/standard/read | Read standard properties on device registration policies |
Users with this role **cannot** do the following:
> | microsoft.directory/connectorGroups/allProperties/read | Read all properties of application proxy connector groups | > | microsoft.directory/contacts/allProperties/read | Read all properties for contacts | > | microsoft.directory/customAuthenticationExtensions/allProperties/read | Read custom authentication extensions |
+> | microsoft.directory/deviceLocalCredentials/standard/read | Read all properties of the backed up local administrator account credentials for Azure AD joined devices, except the password |
> | microsoft.directory/devices/allProperties/read | Read all properties of devices | > | microsoft.directory/directoryRoles/allProperties/read | Read all properties of directory roles | > | microsoft.directory/directoryRoleTemplates/allProperties/read | Read all properties of directory role templates |
Users in this role can manage Azure Active Directory B2B guest user invitations
> | microsoft.directory/users/photo/read | Read photo of users | > | microsoft.directory/users/registeredDevices/read | Read registered devices of users | > | microsoft.directory/users/scopedRoleMemberOf/read | Read user's membership of an Azure AD role, that is scoped to an administrative unit |
+> | microsoft.directory/users/sponsors/read | Read sponsors of users |
## Helpdesk Administrator
This role was previously named Password Administrator in the [Azure portal](../.
> | Actions | Description | > | | | > | microsoft.directory/bitlockerKeys/key/read | Read bitlocker metadata and key on devices |
+> | microsoft.directory/deviceLocalCredentials/standard/read | Read all properties of the backed up local administrator account credentials for Azure AD joined devices, except the password |
> | microsoft.directory/users/invalidateAllRefreshTokens | Force sign-out by invalidating user refresh tokens | > | microsoft.directory/users/password/update | Reset passwords for all users | > | microsoft.azure.serviceHealth/allEntities/allTasks | Read and configure Azure Service Health |
Users in this role can create, manage and deploy provisioning configuration setu
> | microsoft.directory/servicePrincipals/tag/update | Update the tag property for service principals | > | microsoft.directory/servicePrincipals/synchronization/standard/read | Read provisioning settings associated with your service principal | > | microsoft.directory/signInReports/allProperties/read | Read all properties on sign-in reports, including privileged properties |
+> | microsoft.directory/users/authorizationInfo/update | Update the multivalued Certificate user IDs property of users |
> | microsoft.azure.serviceHealth/allEntities/allTasks | Read and configure Azure Service Health | > | microsoft.azure.supportTickets/allEntities/allTasks | Create and manage Azure support tickets | > | microsoft.office365.messageCenter/messages/read | Read messages in Message Center in the Microsoft 365 admin center, excluding security messages |
This role can create and manage all security groups. However, Intune Administrat
> | microsoft.directory/devices/extensionAttributeSet3/update | Update the extensionAttribute11 to extensionAttribute15 properties on devices | > | microsoft.directory/devices/registeredOwners/update | Update registered owners of devices | > | microsoft.directory/devices/registeredUsers/update | Update registered users of devices |
+> | microsoft.directory/deviceLocalCredentials/password/read | Read all properties of the backed up local administrator account credentials for Azure AD joined devices, including the password |
> | microsoft.directory/deviceManagementPolicies/standard/read | Read standard properties on device management application policies | > | microsoft.directory/deviceRegistrationPolicy/standard/read | Read standard properties on device registration policies | > | microsoft.directory/groups/hiddenMembers/read | Read hidden members of Security groups and Microsoft 365 groups, including role-assignable groups |
Users with this role **cannot** do the following:
> | microsoft.directory/users/invalidateAllRefreshTokens | Force sign-out by invalidating user refresh tokens | > | microsoft.directory/users/restore | Restore deleted users | > | microsoft.directory/users/basic/update | Update basic properties on users |
+> | microsoft.directory/users/authorizationInfo/update | Update the multivalued Certificate user IDs property of users |
> | microsoft.directory/users/manager/update | Update manager for users | > | microsoft.directory/users/password/update | Reset passwords for all users | > | microsoft.directory/users/userPrincipalName/update | Update User Principal Name of users |
Azure Advanced Threat Protection | Monitor and respond to suspicious security ac
> | microsoft.directory/crossTenantAccessPolicy/partners/b2bDirectConnect/update | Update Azure AD B2B direct connect settings of cross-tenant access policy for partners | > | microsoft.directory/crossTenantAccessPolicy/partners/crossCloudMeetings/update | Update cross-cloud Teams meeting settings of cross-tenant access policy for partners | > | microsoft.directory/crossTenantAccessPolicy/partners/tenantRestrictions/update | Update tenant restrictions of cross-tenant access policy for partners |
+> | microsoft.directory/deviceLocalCredentials/standard/read | Read all properties of the backed up local administrator account credentials for Azure AD joined devices, except the password |
> | microsoft.directory/domains/federation/update | Update federation property of domains | > | microsoft.directory/domains/federationConfiguration/standard/read | Read standard properties of federation configuration for domains | > | microsoft.directory/domains/federationConfiguration/basic/update | Update basic federation configuration for domains |
In | Can do
> | microsoft.directory/auditLogs/allProperties/read | Read all properties on audit logs, including privileged properties | > | microsoft.directory/authorizationPolicy/standard/read | Read standard properties of authorization policy | > | microsoft.directory/bitlockerKeys/key/read | Read bitlocker metadata and key on devices |
+> | microsoft.directory/deviceLocalCredentials/standard/read | Read all properties of the backed up local administrator account credentials for Azure AD joined devices, except the password |
> | microsoft.directory/domains/federationConfiguration/standard/read | Read standard properties of federation configuration for domains | > | microsoft.directory/entitlementManagement/allProperties/read | Read all properties in Azure AD entitlement management | > | microsoft.directory/identityProtection/allProperties/read | Read all resources in Azure AD Identity Protection |
Users with this role **cannot** do the following:
> | microsoft.directory/users/manager/update | Update manager for users | > | microsoft.directory/users/password/update | Reset passwords for all users | > | microsoft.directory/users/photo/update | Update photo of users |
+> | microsoft.directory/users/sponsors/update | Update sponsors of users |
+> | microsoft.directory/users/usageLocation/update | Update usage location of users |
> | microsoft.directory/users/userPrincipalName/update | Update User Principal Name of users | > | microsoft.azure.serviceHealth/allEntities/allTasks | Read and configure Azure Service Health | > | microsoft.azure.supportTickets/allEntities/allTasks | Create and manage Azure support tickets |
Assign the Viva Goals Administrator role to users who need to do the following t
- Manage and configure all aspects of the Microsoft Viva Goals application - Configure Microsoft Viva Goals admin settings - Read Azure AD tenant information-- Monitor Microsoft 365 service health
+- Monitor Microsoft 365 service health
- Create and manage Microsoft 365 service requests For more information, see [Roles and permissions in Viva Goals](/viva/goals/roles-permissions-in-viva-goals) and [Introduction to Microsoft Viva Goals](/viva/goals/intro-to-ms-viva-goals).
active-directory Memo 22 09 Multi Factor Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/standards/memo-22-09-multi-factor-authentication.md
Title: Memo 22-09 multifactor authentication requirements overview
-description: Get guidance on meeting multifactor authentication requirements outlined in US government OMB memorandum 22-09.
+description: Get guidance on meeting multifactor authentication requirements outlined in the Office of Management and Budget memorandum 22-09.
Previously updated : 3/10/2022 Last updated : 04/28/2023 # Meet multifactor authentication requirements of memorandum 22-09
-This series of articles offers guidance for using Azure Active Directory (Azure AD) as a centralized identity management system for implementing Zero Trust principles, as described in the US federal government's Office of Management and Budget (OMB) [memorandum 22-09](https://www.whitehouse.gov/wp-content/uploads/2022/01/M-22-09.pdf).
+Learn about using Azure Active Directory (Azure AD) as the centralized identity management system when implementing Zero Trust principles. See, US Office of Management and Budget (OMB) [M 22-09 Memorandum for the Heads of Executive Departments and Agencies](https://www.whitehouse.gov/wp-content/uploads/2022/01/M-22-09.pdf).
-The memo requires that all employees use enterprise-managed identities to access applications, and that phishing-resistant multifactor authentication (MFA) protect those personnel from sophisticated online attacks. Phishing is the attempt to obtain and compromise credentials, such as by sending a spoofed email that leads to an inauthentic site.
+The memo requirements are that employees use enterprise-managed identities to access applications, and that multifactor authentication protects employees from sophisticated online attacks, such as phishing. This attack method attempts to obtain and compromise credentials, with links to inauthentic sites.
-Adoption of MFA is critical for preventing unauthorized access to accounts and data. The memo requires MFA usage with phishing-resistant methods, defined as "authentication processes designed to detect and prevent disclosure of authentication secrets and outputs to a website or application masquerading as a legitimate system." The first step is to establish what MFA methods qualify as phishing resistant.
+Multifactor authentication prevents unauthorized access to accounts and data. The memo requirements cite multifactor authentication with phishing-resistant methods: authentication processes designed to detect and prevent disclosure of authentication secrets and outputs to a website or application masquerading as a legitimate system. Therefore, establish what multifactor authentication methods qualify as phishing-resistant.
## Phishing-resistant methods
-U.S. Federal agencies will be approaching this guidance from different starting points. Some agencies will have already deployed modern credentials such as [FIDO2 security keys](../authentication/concept-authentication-passwordless.md#fido2-security-keys) or [Windows Hello for Business](/windows/security/identity-protection/hello-for-business/hello-overview), many are evaluating [Azure AD certificate-based authentication](../authentication/concept-certificate-based-authentication.md) (currently in Public Preview), some are just starting to modernize their authentication credentials. This guidance is meant to inform agencies on the multiple options available to meet phishing-resistant MFA requirements with Azure AD. The reality is that phishing-resistant MFA is needed sooner than later. Microsoft recommends adopting phishing-resistant MFA method as soon as possible by whichever method below best matches the agency's current capability. Agencies should approach the phishing-resistant MFA requirement of the memorandum from the mindset of what can I do **now** to gain phishing-resistance for my accounts. Implementing phishing-resistant MFA will provide a significant positive impact on improving the agency's overall cybersecurity posture. The end goal here is to fully implement one or more of the modern credentials. However, if the quickest path to phishing-resistance is not a modern approach below, agencies should take that step as a starting point on their journey towards the more modern approaches.
+Some federal agencies have deployed modern credentials such as FIDO2 security keys or Windows Hello for Business. Many are evaluating Azure AD authentication with certificates.
-![Table of Azure AD phishing-resistant methods.](media/memo-22-09/azure-active-directory-pr-methods.png)
+Learn more:
-### Modern approaches
+* [FIDO2 security keys](../authentication/concept-authentication-passwordless.md#fido2-security-keys)
+* [Windows Hello for Business](/windows/security/identity-protection/hello-for-business/hello-overview)
+* [Overview of Azure AD certificate-based authentication](../authentication/concept-certificate-based-authentication.md)
-- **[FIDO2 security keys](../authentication/concept-authentication-passwordless.md#fido2-security-keys)** are, according to the [Cybersecurity & Infrastructure Security Agency (CISA)](https://www.cisa.gov/mfa) the gold standard of multifactor authentication.
+Some agencies are modernizing their authentication credentials. There are multiple options for meeting phishing-resistant multifactor authentication requirements with Azure AD. Microsoft recommends adopting phishing-resistant multifactor authentication method that matches the agency capabilities. Consider what's possible now for phishing-resistance multifactor authentication to improve the overall cybersecurity posture. Implement modern credentials. However, if the quickest path isn't a modern approach, take the step to begin the journey toward modern approaches.
-- **[Azure AD certificate-based authentication](../authentication/concept-certificate-based-authentication.md)** offers cloud native certificate based authentication (without dependency on a federated identity provider). This includes smart card implementations such as Common Access Card (CAC) & Personal Identity Verification (PIV) as well as derived PIV credentials deployed to mobile devices or security keys
+ ![Diagram of Azure AD phishing-resistant multifactor authentication methods.](media/memo-22-09/azure-active-directory-pr-methods.png)
-- **[Windows Hello for Business](/windows/security/identity-protection/hello-for-business/hello-overview)** offers passwordless multifactor authentication that is phishing-resistant. For more information, see the [Windows Hello for Business Deployment Overview](/windows/security/identity-protection/hello-for-business/hello-deployment-guide)
+### Modern approaches
-### Protection from external phishing
+* **FIDO2 security keys** are, according to the Cybersecurity & Infrastructure Security Agency (CISA) the gold standard of multifactor authentication
+ * See, [Passwordless authentication options for Azure AD, FIDO2 security keys](../authentication/concept-authentication-passwordless.md#fido2-security-keys)
+ * Go to cisa.gov for [More than a Password](https://www.cisa.gov/mfa)
+* **Azure AD certificate authentication** without dependency on a federated identity provider.
+ * This solution includes smart card implementations: Common Access Card (CAC), Personal Identity Verification (PIV), and derived PIV credentials for mobile devices or security keys
+ * See, [Overview of Azure AD certificate-based authentication](../authentication/concept-certificate-based-authentication.md)
+* **Windows Hello for Business** has phishing-resistant multifactor authentication
+ * See, [Windows Hello for Business Deployment Overview](/windows/security/identity-protection/hello-for-business/hello-deployment-guide)
+ * See, [Windows Hello for Business](/windows/security/identity-protection/hello-for-business/hello-overview)
-**[Microsoft Authenticator](../authentication/concept-authentication-authenticator-app.md) and conditional access policies that enforce managed devices**. Managed devices are Hybrid Azure AD joined device or device marked as compliant.
+### Protection from external phishing
-Microsoft Authenticator can be installed on the device accessing the application protected by Azure AD or on a separate device.
+Microsoft Authenticator and Conditional Access policies enforce managed devices: hybrid Azure AD joined devices or devices marked as compliant. Install Microsoft Authenticator on devices accessing applications protected by Azure AD.
+
+Learn more: [Authentication methods in Azure AD - Microsoft Authenticator app](../authentication/concept-authentication-authenticator-app.md)
->[!Important]
->
->To meet the phishing-resistant requirement with this approach:
->
->- Only the device accessing the protected application needs to be managed
->- All users allowed to use Microsoft Authenticator must be in scope for conditional access policy requiring managed device for access to all applications.
->- An additional conditional access policy is needed to block access targeting the Microsoft Intune Enrollment Cloud App. All users allowed to use Microsoft Authenticator must be in scope for this conditional access policy.
->
->Microsoft recommends that you use the same group(s) used to allow the Microsoft Authenticator App authentication method within both conditional access policies to ensure that once a user is enabled for the authentication method they are simultaneously in scope of both policies.
->
->This conditional access policy effectively prevents both:
->
->- The most significant vector of phishing threats from malicious external actors.
->- A malicious actor's ability to phish Microsoft Authenticator to register a new credential or join a device and enroll it in Intune such that it will be marked as compliant
+ >[!Important]
+ >To meet the phishing-resistant requirement: Manage only the devices accessing the protected application. Users allowed to use Microsoft Authenticator are in scope for Conditional Access policy requiring managed devices for access. A Conditional Access policy blocks access to the Microsoft Intune Enrollment Cloud App. Users allowed to use Microsoft Authenticator are in scope for this Conditional Access policy. Use the same group(s) to allow Microsoft Authenticator authentication in Conditional Access policies to ensure that users enabled for the authentication method are in scope for both policies. This Conditional Access policy prevents the most significant vector of phishing threats from malicious external actors. It also prevents malicious actor from phishing Microsoft Authenticator to register a credential, or join a device and enroll it in Intune to mark it as compliant.
-For more information on deploying this method, see the following resources:
-- [Plan your hybrid Azure Active Directory join implementation](../devices/hybrid-azuread-join-plan.md) **or** [How to: Plan your Azure AD join implementation](../devices/azureadjoin-plan.md)
+Learn more:
-- [Conditional Access: Require compliant or hybrid Azure AD joined device](../conditional-access/howto-conditional-access-policy-compliant-device.md)
+* [Plan your hybrid Azure AD join implementation](../devices/hybrid-azuread-join-plan.md), or
+* [How to: Plan your Azure AD join implementation](../devices/azureadjoin-plan.md)
+* See also, [Common Conditional Access policy: Require a compliant device, hybrid Azure AD joined device, or multifactor authentication for all users](../conditional-access/howto-conditional-access-policy-compliant-device.md)
>[!NOTE]
->
-> Today, Microsoft Authenticator by itself is not phishing-resistant. You must additionally configure conditional access policy requiring managed device to gain protection from external phishing threats.
+> Microsoft Authenticator isn't phishing-resistant. Configure Conditional Access policy to require that managed devices get protection from external phishing threats.
### Legacy
-**Federated Identity Provider (IdP) such as Active Directory Federation Services (AD FS) that's configured with phishing-resistant method(s).** While agencies can achieve phishing resistance via federated IdP, adopting or continuing to use a federated IdP adds significant cost, complexity and risk. Microsoft encourages agencies to realize the security benefits of Azure AD as a cloud based identity provider, removing [associated risk of a federated IdP](../fundamentals/protect-m365-from-on-premises-attacks.md).
-
-For more information on deploying this method, see the following resources:
+Federated identity providers (IdPs) such as Active Directory Federation Services (AD FS) configured with phishing-resistant method(s). While agencies achieve phishing resistance with federated IdP, it adds cost, complexity, and risk. Microsoft encourages the security benefits of Azure AD an IdP, removing the associated risk of a federated IdP
-- [Deploying Active Directory Federation Services in Azure](/windows-server/identity/ad-fs/deployment/how-to-connect-fed-azure-adfs)-- [Configuring AD FS for user certificate authentication](/windows-server/identity/ad-fs/operations/configure-user-certificate-authentication)
+Learn more:
-### Additional phishing-resistant method considerations
+* [Protecting Microsoft 365 from on-premises attacks](../fundamentals/protect-m365-from-on-premises-attacks.md)
+* [Deploying AD Federation Services in Azure](/windows-server/identity/ad-fs/deployment/how-to-connect-fed-azure-adfs)
+* [Configuring AD FS for user certificate authentication](/windows-server/identity/ad-fs/operations/configure-user-certificate-authentication)
-Your current device capabilities, user personas, and other requirements might dictate specific multifactor methods. For example, if you're adopting FIDO2 security keys that have only USB-C support, they can be used only from devices with USB-C ports.
+### Phishing-resistant method considerations
-Consider the following when evaluating phishing-resistant MFA methods:
+Your current device capabilities, user personas, and other requirements might dictate multi-factor methods. For example, FIDO2 security keys with USB-C support require devices with USB-C ports. Consider the following information when evaluating phishing-resistant multifactor authentication:
-- Device types and capabilities that you want to support. Examples include kiosks, laptops, mobile phones, biometric readers, USB, Bluetooth, and near-field communication devices.
+* **Device types and capabilities you can support**: kiosks, laptops, mobile phones, biometric readers, USB, Bluetooth, and near-field communication devices
+* **Organizational user personas**: front-line workers, remote workers with and without company-owned hardware, administrators with privileged access workstations, and business-to-business guest users
+* **Logistics**: distribute, configure, and register multifactor authentication methods such as FIDO2 security keys, smart cards, government-furnished equipment, or Windows devices with TPM chips
+* **Federal Information Processing Standards (FIPS) 140 validation at an authenticator assurance level**: some FIDO security keys are FIPS 140 validated at levels for AAL3 set by NIST SP 800-63B
+ * See, [Authenticator assurance levels](nist-about-authenticator-assurance-levels.md)
+ * See, [NIST authenticator assurance level 3 by using Azure AD](nist-authenticator-assurance-level-3.md)
+ * Go to nist.gov for [NIST Special Publication 800-63B, Digital Identity Guidelines](https://pages.nist.gov/800-63-3/sp800-63b.html)
-- User personas within your organization. Examples include front-line workers, remote workers with and without company-owned hardware, administrators with privileged access workstations, and business-to-business guest users.
+## Implementation considerations for phishing-resistant multifactor authentication
-- Logistics of distributing, configuring, and registering MFA methods such as FIDO2 security keys, smart cards, government-furnished equipment, or Windows devices with TPM chips.--- Need for FIPS 140 validation at a specific [authenticator assurance level](nist-about-authenticator-assurance-levels.md). For example, some FIDO security keys are FIPS 140 validated at levels required for [AAL3](nist-authenticator-assurance-level-3.md), as set by [NIST SP 800-63B](https://pages.nist.gov/800-63-3/sp800-63b.html).-
-## Implementation considerations for phishing-resistant MFA
-
-The following sections describe support for implementing phishing-resistant methods for both application and virtual device sign-in scenarios.
+See the following sections for support of implementing phishing-resistant methods for application and virtual device sign-in.
### Application sign-in scenarios from various clients
-The following table details the availability of phishing-resistant MFA scenarios, based on the device type that's used to sign in to the applications:
+The following table details the availability of phishing-resistant multifactor authentication scenarios, based on the device type that's used to sign in to the applications:
-| Device | AD FS as a federated identity provider configured with certificate-based authentication| Azure AD certificate-based authentication| FIDO2 security keys| Windows Hello for Business| Microsoft Authenticator with conditional access policies that enforce hybrid Azure AD join or compliant devices |
+| Device | AD FS as a federated IdP with certificate authentication| Azure AD certificate authentication| FIDO2 security keys| Windows Hello for Business| Microsoft Authenticator with Conditional Access policies enforcing hybrid Azure AD join or compliant devices |
| - | - | - | - | - | - | | Windows device| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| ![Checkmark with solid fill](media/memo-22-09/check.jpg) | | iOS mobile device| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| Not applicable| Not applicable| ![Checkmark with solid fill](media/memo-22-09/check.jpg) | | Android mobile device| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| Not applicable| Not applicable| ![Checkmark with solid fill](media/memo-22-09/check.jpg) |
-| MacOS device| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| Edge/Chrome | Not applicable| ![Checkmark with solid fill](media/memo-22-09/check.jpg) |
+| macOS device| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| ![Checkmark with solid fill](media/memo-22-09/check.jpg)| Edge/Chrome | Not applicable| ![Checkmark with solid fill](media/memo-22-09/check.jpg) |
-To learn more, see [Browser support for FIDO2 passwordless authentication](../authentication/fido2-compatibility.md).
+Learn more: [Browser support for FIDO2 passwordless authentication](../authentication/fido2-compatibility.md)
### Virtual device sign-in scenarios that require integration
-To enforce the use of phishing-resistant MFA methods, integration might be necessary based on your requirements. MFA should be enforced when users access applications and devices.
-
-For each of the five phishing-resistant MFA types previously mentioned, you use the same capabilities to access the following device types:
+To enforce phishing-resistant multifactor authentication, integration might be necessary. Enforce multifactor authentication for users accessing applications and devices. For the five phishing-resistant multifactor authentication types, use the same features to access the following device types:
| Target system| Integration actions | | - | - |
-| Azure Linux virtual machine (VM)| Enable the [Linux VM for Azure AD sign-in](../devices/howto-vm-sign-in-azure-ad-linux.md). |
-| Azure Windows VM| Enable the [Windows VM for Azure AD sign-in](../devices/howto-vm-sign-in-azure-ad-windows.md). |
-| Azure Virtual Desktop| Enable [Azure Virtual Desktop for Azure AD sign-in](/azure/architecture/example-scenario/wvd/azure-virtual-desktop-azure-active-directory-join). |
-| VMs hosted on-premises or in other clouds| Enable [Azure Arc](../../azure-arc/overview.md) on the VM and then enable Azure AD sign-in. (Currently in private preview for Linux. Support for Windows VMs hosted in these environments is on our roadmap.) |
-| Non-Microsoft virtual desktop solution| Integrate the virtual desktop solution as an app in Azure AD. |
+| Azure Linux virtual machine (VM)| Enable the [Linux VM for Azure AD sign-in](../devices/howto-vm-sign-in-azure-ad-linux.md) |
+| Azure Windows VM| Enable the [Windows VM for Azure AD sign-in](../devices/howto-vm-sign-in-azure-ad-windows.md) |
+| Azure Virtual Desktop| Enable [Azure Virtual Desktop for Azure AD sign-in](/azure/architecture/example-scenario/wvd/azure-virtual-desktop-azure-active-directory-join)|
+| VMs hosted on-premises or in other clouds| Enable [Azure Arc](../../azure-arc/overview.md) on the VM and then enable Azure AD sign-in. Currently in private preview for Linux. Support for Windows VMs hosted in these environments is on our roadmap. |
+| Non-Microsoft virtual desktop solution| Integrate the virtual desktop solution as an app in Azure AD|
-### Enforcing phishing-resistant MFA
+### Enforcing phishing-resistant multifactor authentication
-Conditional access enables you to enforce MFA for users in your tenant. With the addition of [cross-tenant access policies](../external-identities/cross-tenant-access-overview.md), you can enforce it on external users.
+Use Conditional Access to enforce multifactor authentication for users in your tenant. With the addition of cross-tenant access policies, you can enforce it on external users.
+
+Learn more: [Overview: Cross-tenant access with Azure AD External Identities](../external-identities/cross-tenant-access-overview.md)
#### Enforcement across agencies
-[Azure AD B2B collaboration](../external-identities/what-is-b2b.md) helps you meet the requirement to facilitate integration among agencies. It does this by:
+Use Azure AD B2B collaboration to meet requirements that facilitate integration:
-- Limiting what other Microsoft tenants your users can access.-- Enabling you to allow access to users whom you don't have to manage in your own tenant, but whom you can subject to your MFA and other access requirements.
+- Limit what other Microsoft tenants your users access
+- Allow access to users you don't have to manage in your tenant, but enforce multifactor authentication and other access requirements
-You must enforce MFA for partners and external users who access your organization's resources. This is common in many inter-agency collaboration scenarios. Azure AD provides cross-tenant access policies to help you configure MFA for external users who access your applications and resources.
+Learn more: [B2B collaboration overview](../external-identities/what-is-b2b.md)
-By using trust settings in cross-tenant access policies, you can trust the MFA method that the guest user's tenant is using instead of having them register an MFA method directly with your tenant. These policies can be configured on a per-organization basis. This ability requires you to understand the available MFA methods in the user's home tenant and determine if they meet the requirement for phishing resistance.
+Enforce multifactor authentication for partners and external users who access organizational resources. This action is common in inter-agency collaboration scenarios. Use Azure AD cross-tenant access policies to configure multifactor authentication for external users who access applications and resources.
-## Password policies
+Configure trust settings in cross-tenant access policies to trust the multifactor authentication method the guest user tenant uses. Avoid having users register a multifactor authentication method with your tenant. Enable these policies on a per-organization basis. You can determine the multifactor authentication methods in the user home tenant and decide if they meet phishing resistance requirements.
-The memo requires organizations to change password policies that are proven ineffective, such as complex passwords that are rotated often. This includes the removal of the requirement for special characters and numbers, along with time-based password rotation policies. Instead, consider doing the following:
+## Password policies
-* Use [password protection](..//authentication/concept-password-ban-bad.md) to enforce a common list of weak passwords that Microsoft maintains. You can also add custom banned passwords.
+The memo requires organizations to change ineffective password policies, such as complex, rotated passwords. Enforcement includes removing the requirement for special characters and numbers, with time-based password rotation policies. Instead, consider the following options:
-* Use [self-service password reset](..//authentication/tutorial-enable-sspr.md) to enable users to reset passwords as needed, such as after an account recovery.
+* **Password protection** to enforce a common list of weak passwords that Microsoft maintains
+ * In addition, include custom banned passwords
+ * See, [Eliminate bad passwords using Azure AD Password Protection](..//authentication/concept-password-ban-bad.md)
+* **Self-service password reset** to enable users to reset passwords, for instance after account recovery
+ * [Tutorial: Enable users to unlock their account or reset passwords using Azure AD self-service password reset](..//authentication/tutorial-enable-sspr.md)
+* **Azure AD Identity Protection** for alerts about compromised credentials
+ * [What is risk?](..//identity-protection/concept-identity-protection-risks.md)
-* Use [Azure AD Identity Protection](..//identity-protection/concept-identity-protection-risks.md) to be alerted about compromised credentials so you can take immediate action.
+Although the memo isn't specific about policies to use with passwords, consider the standard from NIST 800-63B.
-Although the memo isn't specific on which policies to use with passwords, consider the standard from [NIST 800-63B](https://pages.nist.gov/800-63-3/sp800-63b.html).
+See, [NIST Special Publication 800-63B, Digital Identity Guidelines](https://pages.nist.gov/800-63-3/sp800-63b.html).
## Next steps
-The following articles are part of this documentation set:
-
-[Meet identity requirements of memorandum 22-09](memo-22-09-meet-identity-requirements.md)
-
-[Enterprise-wide identity management system](memo-22-09-enterprise-wide-identity-management-system.md)
-
-[Authorization](memo-22-09-authorization.md)
-
-[Other areas of Zero Trust](memo-22-09-other-areas-zero-trust.md)
-
-For more information about Zero Trust, see:
-
-[Securing identity with Zero Trust](/security/zero-trust/deploy/identity)
+* [Meet identity requirements of memorandum 22-09 with Azure AD](memo-22-09-meet-identity-requirements.md)
+* [Enterprise-wide identity management system](memo-22-09-enterprise-wide-identity-management-system.md)
+* [Meet authorization requirements of memorandum 22-09](memo-22-09-authorization.md)
+* [Other areas of Zero Trust addressed in memorandum 22-09](memo-22-09-other-areas-zero-trust.md)
+* [Securing identity with Zero Trust](/security/zero-trust/deploy/identity)
aks Workload Identity Deploy Cluster https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/workload-identity-deploy-cluster.md
export SERVICE_ACCOUNT_NAMESPACE="default"
export SERVICE_ACCOUNT_NAME="workload-identity-sa" export SUBSCRIPTION="$(az account show --query id --output tsv)" export USER_ASSIGNED_IDENTITY_NAME="myIdentity"
-export FEDERATED_IDENTITY_CREDENTIAL="myFedIdentity"
+export FEDERATED_IDENTITY_CREDENTIAL_NAME="myFedIdentity"
``` ## Create AKS cluster
azure-monitor Agent Windows Troubleshoot https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/agents/agent-windows-troubleshoot.md
function GetVmssWithMMAInstalled
$hash.One = 1 $vmssList | Foreach-Object -ThrottleLimit $parallelThrottleLimit -Parallel {
- $len = $using:vmsCount
+ $len = $using:vmssCount
$hash = $using:hash $percent = 100 * $hash.One++ / $len Write-Progress -Activity "Getting VMSS Inventory" -PercentComplete $percent
azure-monitor Action Groups https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/action-groups.md
For information about pricing for supported countries/regions, see [Azure Monito
> [!NOTE] >
-> If you use the webhook action, your target webhook endpoint must be able to process the various JSON payloads that different alert sources emit. You can't pass security certificates through a webhook action. If the webhook endpoint expects a specific schema, for example, the Microsoft Teams schema, use the Logic Apps action to transform the alert schema to meet the target webhook's expectations.
+> If you use the webhook action, your target webhook endpoint must be able to process the various JSON payloads that different alert sources emit. You can't pass security certificates through a webhook action. To use basic authentication, you must pass your credentials through the URI. If the webhook endpoint expects a specific schema, for example, the Microsoft Teams schema, use the Logic Apps action to transform the alert schema to meet the target webhook's expectations.
Webhook action groups use the following rules:
azure-monitor Alerts Common Schema https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-common-schema.md
The common alert schema standardizes the consumption of Azure Monitor alert notifications. Historically, activity log, metric, and log alerts each had their own email templates and webhook schemas. The common alert schema provides one standardized schema for all alert notifications.
-A standardized schema can help you minimize the number of integrations, which simplifies the process of managing and maintaining your integrations.
+Using a standardized schema helps minimize the number of integrations, which simplifies the process of managing and maintaining your integrations. The common schema enables a richer alert consumption experience in both the Azure portal and the Azure mobile app.
The common alert schema provides a consistent structure for: - **Email templates**: Use the detailed email template to diagnose issues at a glance. Embedded links to the alert instance on the portal and to the affected resource ensure that you can quickly jump into the remediation process.
The common alert schema provides a consistent structure for:
- Azure Functions - Azure Automation runbook
-The new schema enables a richer alert consumption experience in both the Azure portal and the Azure mobile app.
- > [!NOTE] > Alerts generated by [VM insights](../vm/vminsights-overview.md) do not support the common schema.
The common schema includes information about the affected resource and the cause
If you want to route alert instances to specific teams based on criteria such as a resource group, you can use the fields in the **Essentials** section to provide routing logic for all alert types. The teams that receive the alert notification can then use the context fields for their investigation. - **Alert context**: Fields that vary depending on the type of the alert. The alert context fields describe the cause of the alert. For example, a metric alert would have fields like the metric name and metric value in the alert context. An activity log alert would have information about the event that generated the alert.-- **Custom Properties**: A ΓÇ£key: valueΓÇ¥ object, defined in the alert rule and added to the webhook notifications.
-If the custom properties are not set in the Alert rule, this field will be null. Note: today this is only supported for Metric Alerts other alert types will contain null in this field.
+- **Custom properties**: You can add more information to the alert payload by adding custom properties if you've configured action groups for a metric alert rule.
+ > [!NOTE]
+ > Custom properties are currently only supported by metric alerts. For all other alert types, the **custom properties** field is null.
## Sample alert payload ```json
For sample alerts that use the common schema, see [Sample alert payloads](alerts
| monitorCondition | When an alert fires, the alert's monitor condition is set to **Fired**. When the underlying condition that caused the alert to fire clears, the monitor condition is set to **Resolved**. | | monitoringService | The monitoring service or solution that generated the alert. The monitoring service determines which fields are in the alert context. | | alertTargetIds | The list of the Azure Resource Manager IDs that are affected targets of an alert. For a log alert defined on a Log Analytics workspace or Application Insights instance, it's the respective workspace or application. |
-| configurationItems |The list of affected resources of an alert.<br>In some cases, the configuration items can be different from the alert targets. For example, in metric-for-log or log alerts defined on a Log Analytics workspace, the configuration items are the actual resources sending the telemetry and not the workspace.<br><ul><li>In the log alerts API (Scheduled Query Rules) v2021-08-01, the `configurationItem` values are taken from explicitly defined dimensions in this priority: `Computer`, `_ResourceId`, `ResourceId`, `Resource`.</li><li>In earlier versions of the log alerts API, the `configurationItem` values are taken implicitly from the results in this priority: `Computer`, `_ResourceId`, `ResourceId`, `Resource`.</li></ul>In ITSM systems, the `configurationItems` field is used to correlate alerts to resources in a configuration management database. |
+| configurationItems |The list of affected resources of an alert.<br>In some cases, the configuration items can be different from the alert targets. For example, in metric-for-log or log alerts defined on a Log Analytics workspace, the configuration items are the actual resources sending the data, and not the workspace.<br><ul><li>In the log alerts API (Scheduled Query Rules) v2021-08-01, the `configurationItem` values are taken from explicitly defined dimensions in this priority: `Computer`, `_ResourceId`, `ResourceId`, `Resource`.</li><li>In earlier versions of the log alerts API, the `configurationItem` values are taken implicitly from the results in this priority: `Computer`, `_ResourceId`, `ResourceId`, `Resource`.</li></ul>In ITSM systems, the `configurationItems` field is used to correlate alerts to resources in a configuration management database. |
| originAlertId | The ID of the alert instance, as generated by the monitoring service generating it. | | firedDateTime | The date and time when the alert instance was fired in Coordinated Universal Time (UTC). | | resolvedDateTime | The date and time when the monitor condition for the alert instance is set to **Resolved** in UTC. Currently only applicable for metric alerts.|
For sample alerts that use the common schema, see [Sample alert payloads](alerts
|windowSize |The time period analyzed by the alert rule.| |allOf |Indicates that all conditions defined in the alert rule must be met to trigger an alert.| |alertSensitivity |In an alert rule with a dynamic threshold, indicates how sensitive the rule is, or how much the value can deviate from the upper or lower threshold.|
-|failingPeriods |In an alert rule with a dynamic threshold, the number of evaluation periods that don't meet the alert threshold that will trigger an alert. For example, you can indicate that an alert is triggered when 3 out of the last five evaluation periods aren't within the alert thresholds. |
+|failingPeriods |In an alert rule with a dynamic threshold, the number of evaluation periods that don't meet the alert threshold that trigger an alert. For example, you can indicate that an alert is triggered when 3 out of the last five evaluation periods aren't within the alert thresholds. |
|numberOfEvaluationPeriods|The total number of evaluations. | |minFailingPeriodsToAlert|The minimum number of evaluations that do no meet the alert rule conditions.| |ignoreDataBefore |(Optional.) In an alert rule with a dynamic threshold, the date from which the threshold is calculated. Use this value to indicate that the rule shouldn't calculate the dynamic threshold using data from before the specified date. |
For sample alerts that use the common schema, see [Sample alert payloads](alerts
|webTestName |If the condition type is `webtest`, the name of the webtest. | |windowStartTime |The start time of the evaluation window in which the alert fired. | |windowEndTime |The end time of the evaluation window in which the alert fired. |
+|customProperties ||
### Sample metric alert with a static threshold when the monitoringService = `Platform`
See [Azure Monitor managed service for Prometheus rule groups (preview)](../esse
} } ```
+## Custom properties fields
+
+If you've configured action groups for a metric alert rule, you can add more information to the alert payload by adding custom properties.
+
+The custom properties section contains ΓÇ£key: valueΓÇ¥ objects that are added to webhook notifications.
+
+If custom properties aren't set in the alert rule, the field is null.
+
+> [!NOTE]
+> Custom properties are currently only supported by metric alerts. For all other alert types, the **custom properties** field is null.
## Enable the common alert schema Use action groups in the Azure portal or use the REST API to enable the common alert schema. Schemas are defined at the action level. For example, you must separately enable the schema for an email action and a webhook action.
azure-monitor Alerts Create New Alert Rule https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-create-new-alert-rule.md
You create an alert rule by combining:
- The signal or telemetry from the resource. - Conditions.
-Then you define these elements for the resulting alert actions by using:
+You then define these elements for the resulting alert actions by using:
- [Alert processing rules](alerts-action-rules.md) - [Action groups](./action-groups.md)
+Alerts triggered by these alert rules contain a payload that uses the [common alert schema](alerts-common-schema.md).
## Create a new alert rule in the Azure portal 1. In the [portal](https://portal.azure.com/), select **Monitor** > **Alerts**.
azure-monitor Alerts Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-overview.md
This diagram shows you how alerts work.
:::image type="content" source="media/alerts-overview/alerts.png" alt-text="Diagram that explains Azure Monitor alerts." lightbox="media/alerts-overview/alerts.png":::
-An *alert rule* monitors your telemetry and captures a signal that indicates something is happening on the specified resource. The alert rule captures the signal and checks to see if the signal meets the criteria of the condition. If the conditions are met, an alert is triggered, which initiates the associated action group and updates the state of the alert.
+An *alert rule* monitors your data and captures a signal that indicates something is happening on the specified resource. The alert rule captures the signal and checks to see if the signal meets the criteria of the condition. If the conditions are met, an alert is triggered, which initiates the associated action group and updates the state of the alert.
An alert rule combines: - The resources to be monitored.
+ - The signal or data from the resource.
- Conditions. If you're monitoring more than one resource, the condition is evaluated separately for each of the resources. Alerts are fired for each resource separately.
-After an alert is triggered, the alert is made up of:
- **Action groups**: These groups can trigger notifications or an automated workflow to let users know that an alert has been triggered. Action groups can include: - Notification methods, such as email, SMS, and push notifications. - Automation runbooks.
After an alert is triggered, the alert is made up of:
- Event hubs. - **Alert conditions**: These conditions are set by the system. When an alert fires, the alert's monitor condition is set to **fired**. After the underlying condition that caused the alert to fire clears, the monitor condition is set to **resolved**. - **User response**: The response is set by the user and doesn't change until the user changes it.
+- **Alert processing rules**: You can use alert processing rules to make modifications to triggered alerts as they're being fired. You can use alert processing rules to add or suppress action groups, apply filters, or have the rule processed on a predefined schedule.
You can see all alert instances in all your Azure resources generated in the last 30 days on the [Alerts page](alerts-page.md) in the Azure portal.- ## Types of alerts This table provides a brief description of each alert type. For more information about each alert type and how to choose which alert type best suits your needs, see [Types of Azure Monitor alerts](alerts-types.md).
This table provides a brief description of each alert type. For more information
|[Activity log alerts](alerts-types.md#activity-log-alerts)|Activity log alerts are triggered when a new activity log event occurs that matches defined conditions. Resource Health alerts and Service Health alerts are activity log alerts that report on your service and resource health.| |[Smart detection alerts](alerts-types.md#smart-detection-alerts)|Smart detection on an Application Insights resource automatically warns you of potential performance problems and failure anomalies in your web application. You can migrate smart detection on your Application Insights resource to create alert rules for the different smart detection modules.| |[Prometheus alerts (preview)](alerts-types.md#prometheus-alerts-preview)|Prometheus alerts are used for alerting on the performance and health of Kubernetes clusters, including Azure Kubernetes Service (AKS). The alert rules are based on PromQL, which is an open-source query language.|- ## Recommended alert rules If you don't have alert rules defined for the selected resource, you can [enable recommended out-of-the-box alert rules in the Azure portal](alerts-manage-alert-rules.md#enable-recommended-alert-rules-in-the-azure-portal).
If you don't have alert rules defined for the selected resource, you can [enable
The system compiles a list of recommended alert rules based on: - The resource providerΓÇÖs knowledge of important signals and thresholds for monitoring the resource.-- Telemetry that tells us what customers commonly alert on for this resource.
+- Data that tells us what customers commonly alert on for this resource.
> [!NOTE] > Recommended alert rules is enabled for:
You can configure whether log or metric alerts are stateful or stateless. Activi
|Log alerts| The alert condition isn't met for a specific time range. The time range differs based on the frequency of the alert:<ul> <li>**1 minute**: The alert condition isn't met for 10 minutes.</li> <li>**5 to 15 minutes**: The alert condition isn't met for three frequency periods.</li> <li>**15 minutes to 11 hours**: The alert condition isn't met for two frequency periods.</li> <li>**11 to 12 hours**: The alert condition isn't met for one frequency period.</li></ul>| When an alert is considered resolved, the alert rule sends out a resolved notification by using webhooks or email. The monitor state in the Azure portal is set to **resolved**.- ## Pricing For information about pricing, see [Azure Monitor pricing](https://azure.microsoft.com/pricing/details/monitor/).
azure-monitor Alerts Payload Samples https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-payload-samples.md
The common schema includes information about the affected resource and the cause
If you want to route alert instances to specific teams based on criteria such as a resource group, you can use the fields in the **Essentials** section to provide routing logic for all alert types. The teams that receive the alert notification can then use the context fields for their investigation. - **Alert context**: Fields that vary depending on the type of the alert. The alert context fields describe the cause of the alert. For example, a metric alert would have fields like the metric name and metric value in the alert context. An activity log alert would have information about the event that generated the alert.
+- **Custom properties**: You can add more information to the alert payload by adding custom properties if you've configured action groups for a metric alert rule.
+
+ > [!NOTE]
+ > Custom properties are currently only supported by metric alerts. For all other alert types, the **custom properties** field is null.
## Sample alert payload
azure-monitor Alerts Processing Rules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/alerts/alerts-processing-rules.md
> [!NOTE] > Alert processing rules were previously known as 'action rules'. For backward compatibility, the Azure resource type of these rules is still **Microsoft.AlertsManagement/actionRules** .
-Alert processing rules allow you to apply processing on fired alerts. Alert processing rules are different from alert rules. Alert rules generate new alerts, while alert processing rules modify the fired alerts as they're being fired.
+Alert processing rules allow you to apply processing on fired alerts. Alert processing rules are different from alert rules. Alert rules generate new alerts, while alert processing rules modify the fired alerts as they're being fired.
You can use alert processing rules to add [action groups](./action-groups.md) or remove (suppress) action groups from your fired alerts. You can apply alert processing rules to different resource scopes, from a single resource, or to an entire subscription. You can also use them to apply various filters or have the rule work on a predefined schedule.
azure-monitor Api Custom Events Metrics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/api-custom-events-metrics.md
Individual telemetry calls can override the default values in their property dic
## Sample, filter, and process telemetry
-You can write code to process your telemetry before it's sent from the SDK. The processing includes data that's sent from the standard telemetry modules, such as HTTP request collection and dependency collection.
-
-[Add properties](./api-filtering-sampling.md#add-properties) to telemetry by implementing `ITelemetryInitializer`. For example, you can add version numbers or values that are calculated from other properties.
-
-[Filtering](./api-filtering-sampling.md#filtering) can modify or discard telemetry before it's sent from the SDK by implementing `ITelemetryProcessor`. You control what is sent or discarded, but you have to account for the effect on your metrics. Depending on how you discard items, you might lose the ability to navigate between related items.
-
-[Sampling](./api-filtering-sampling.md) is a packaged solution to reduce the volume of data that's sent from your app to the portal. It does so without affecting the displayed metrics. And it does so without affecting your ability to diagnose problems by navigating between related items like exceptions, requests, and page views.
-
-To learn more, see [Filter and preprocess telemetry in the Application Insights SDK](./api-filtering-sampling.md).
+See [Filter and preprocess telemetry in the Application Insights SDK](./api-filtering-sampling.md).
## Disable telemetry
azure-monitor Api Filtering Sampling https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/api-filtering-sampling.md
# Filter and preprocess telemetry in the Application Insights SDK
-Plug-ins for the Application Insights SDK can customize how telemetry is enriched and processed before it's sent to the Application Insights service.
+You can write code to filter, modify, or enrich your telemetry before it's sent from the SDK. The processing includes data that's sent from the standard telemetry modules, such as HTTP request collection and dependency collection.
+
+* [Filtering](./api-filtering-sampling.md#filtering) can modify or discard telemetry before it's sent from the SDK by implementing `ITelemetryProcessor`. For example, you could reduce the volume of telemetry by excluding requests from robots. Unlike sampling, You have full control what is sent or discarded, but it will affect any metrics based on aggregated logs. Depending on how you discard items, you might also lose the ability to navigate between related items.
+
+* [Add or Modify properties](./api-filtering-sampling.md#add-properties) to any telemetry sent from your app by implementing an `ITelemetryInitializer`. For example, you could add calculated values or version numbers by which to filter the data in the portal.
* [Sampling](sampling.md) reduces the volume of telemetry without affecting your statistics. It keeps together related data points so that you can navigate between them when you diagnose a problem. In the portal, the total counts are multiplied to compensate for the sampling.
-* Filtering with telemetry processors lets you filter out telemetry in the SDK before it's sent to the server. For example, you could reduce the volume of telemetry by excluding requests from robots. Filtering is a more basic approach to reducing traffic than sampling. It allows you more control over what's transmitted, but it affects your statistics. For example, you might filter out all successful requests.
-* [Telemetry initializers add or modify properties](#add-properties) to any telemetry sent from your app, which includes telemetry from the standard modules. For example, you could add calculated values or version numbers by which to filter the data in the portal.
-* [The SDK API](./api-custom-events-metrics.md) is used to send custom events and metrics.
+
+> [!NOTE]
+> [The SDK API](./api-custom-events-metrics.md) is used to send custom events and metrics.
Before you start:
azure-monitor Prometheus Metrics Enable https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/essentials/prometheus-metrics-enable.md
Deploy the template with the parameter file by using any valid method for deploy
## Enable Windows metrics collection
-As of version 6.4.0-main-02-22-2023-3ee44b9e, Windows metric collection has been enabled for the AKS clusters. Onboarding to the Azure Monitor Metrics add-on enables the Windows DaemonSet pods to start running on your node pools. Both Windows Server 2019 and Windows Server 2022 are supported. Follow these steps to enable the pods to collect metrics from your Windows node pools.
+As of version 6.4.0-main-02-22-2023-3ee44b9e of the Managed Prometheus addon container (prometheus_collector), Windows metric collection has been enabled for the AKS clusters. Onboarding to the Azure Monitor Metrics add-on enables the Windows DaemonSet pods to start running on your node pools. Both Windows Server 2019 and Windows Server 2022 are supported. Follow these steps to enable the pods to collect metrics from your Windows node pools.
1. Manually install windows-exporter on AKS nodes to access Windows metrics. Enable the following collectors:
azure-monitor Rest Api Walkthrough https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/essentials/rest-api-walkthrough.md
Once you've created a service principal, retrieve an access token using a REST c
```HTTP
- POST /<appId>/oauth2/v2.0/token
+ POST /<tenant-id>/oauth2/token
Host: https://login.microsoftonline.com Content-Type: application/x-www-form-urlencoded
batch Quick Run Dotnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/batch/quick-run-dotnet.md
Title: 'Quickstart: Use .NET to create a pool and run a job' description: Follow this quickstart to run a C# app that uses the Batch .NET client library to create and run Batch pools, nodes, jobs, and tasks. Previously updated : 04/20/2023 Last updated : 04/28/2023 ms.devlang: csharp
Review the code to understand the steps in the [Azure Batch .NET Quickstart](htt
### Create service clients and upload resource files
-1. To interact with the storage account, the app uses the Azure Storage Client Library for .NET to create a reference to the account with [CloudStorageAccount](/dotnet/api/microsoft.azure.storage.cloudstorageaccount), and from that creates a [CloudBlobClient](/dotnet/api/microsoft.azure.storage.blob.cloudblobclient).
+1. To interact with the storage account, the app uses the Azure Storage Blobs client library for .NET to create a [BlobServiceClient](/dotnet/api/azure.storage.blobs.blobserviceclient).
```csharp
- CloudBlobClient blobClient = CreateCloudBlobClient(StorageAccountName, StorageAccountKey);
+ var sharedKeyCredential = new StorageSharedKeyCredential(storageAccountName, storageAccountKey);
+ string blobUri = "https://" + storageAccountName + ".blob.core.windows.net";
+
+ var blobServiceClient = new BlobServiceClient(new Uri(blobUri), sharedKeyCredential);
+ return blobServiceClient;
```
-1. The app uses the `blobClient` reference to create a container in the storage account and upload data files to the container. The files in storage are defined as Batch [ResourceFile](/dotnet/api/microsoft.azure.batch.resourcefile) objects that Batch can later download to the compute nodes.
+1. The app uses the `blobServiceClient` reference to create a container in the storage account and upload data files to the container. The files in storage are defined as Batch [ResourceFile](/dotnet/api/microsoft.azure.batch.resourcefile) objects that Batch can later download to the compute nodes.
```csharp
- List<string> inputFilePaths = new List<string>
+ List<string> inputFilePaths = new()
{ "taskdata0.txt", "taskdata1.txt", "taskdata2.txt" };
- List<ResourceFile> inputFiles = new List<ResourceFile>();
+ var inputFiles = new List<ResourceFile>();
- foreach (string filePath in inputFilePaths)
+ foreach (var filePath in inputFilePaths)
{
- inputFiles.Add(UploadFileToContainer(blobClient, inputContainerName, filePath));
+ inputFiles.Add(UploadFileToContainer(containerClient, inputContainerName, filePath));
} ``` 1. The app creates a [BatchClient](/dotnet/api/microsoft.azure.batch.batchclient) object to create and manage Batch pools, jobs, and tasks. The Batch client uses shared key authentication. Batch also supports Azure Active Directory (Azure AD) authentication. ```csharp
- BatchSharedKeyCredentials cred = new BatchSharedKeyCredentials(BatchAccountUrl, BatchAccountName, BatchAccountKey);
+ var cred = new BatchSharedKeyCredentials(BatchAccountUrl, BatchAccountName, BatchAccountKey);
- using (BatchClient batchClient = BatchClient.Open(cred))
+ using BatchClient batchClient = BatchClient.Open(cred);
... ```
for (int i = 0; i < inputFiles.Count; i++)
string inputFilename = inputFiles[i].FilePath; string taskCommandLine = String.Format("cmd /c type {0}", inputFilename);
- CloudTask task = new CloudTask(taskId, taskCommandLine);
- task.ResourceFiles = new List<ResourceFile> { inputFiles[i] };
+ var task = new CloudTask(taskId, taskCommandLine)
+ {
+ ResourceFiles = new List<ResourceFile> { inputFiles[i] }
+ };
tasks.Add(task); }
defender-for-cloud Concept Cloud Security Posture Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/concept-cloud-security-posture-management.md
Title: Overview of Cloud Security Posture Management (CSPM)
description: Learn more about the new Defender CSPM plan and the other enhanced security features that can be enabled for your multicloud environment through the Defender Cloud Security Posture Management (CSPM) plan. Previously updated : 03/26/2023 Last updated : 04/25/2023 # Cloud Security Posture Management (CSPM)
The optional Defender CSPM plan, provides advanced posture management capabiliti
> [!NOTE] > The Microsoft Defender CSPM plan protects across multicloud workloads. With Defender CSPM generally available (GA), the plan will remain free until billing starts on August 1 2023. Billing will apply for compute, database, and storage resources. Billable workloads will be VMs, Storage Accounts, OSS DBs, and SQL PaaS & Servers on Machines. When billing starts, existing Microsoft Defender for Cloud customers will receive automatically applied discounts for Defender CSPM. ΓÇï
- Microsoft Defender CSPM protects across all your multicloud workloads, but billing only applies for Servers, Databases and Storage accounts at $15/billable resource/month. If you have one of the following plans enabled, you will receive a discount.
+ Microsoft Defender CSPM protects across all your multicloud workloads, but billing only applies for Servers, Databases and Storage accounts at $15/billable resource/month. The underlying services for AKS are regarded as servers for billing purposes.
-Current Microsoft Defender for Cloud customers receive automatically applied discounts (5-25% discount per billed workload based on the highest applicable discount).
-
-Refer to the following table:
+Current Microsoft Defender for Cloud customers receive automatically applied discounts (5-25% discount per billed workload based on the highest applicable discount). If you have one of the following plans enabled, you will receive a discount. Refer to the following table:
| Current Defender for Cloud Customer | Automatic Discount | Defender CSPM Price | |--|--|--|
defender-for-cloud Upcoming Changes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/upcoming-changes.md
To improve the Defender for DevOps user experience and enable further integratio
If you don't have an instance of a DevOps organization onboarded more than once to your organization, no further action is required. If you do have more than one instance of a DevOps organization onboarded to your tenant, the subscription owner will be notified and will need to delete the DevOps Connector(s) they don't want to keep by navigating to Defender for Cloud Environment Settings.
-Customers will have until June 30, 2023 to resolve this issue. After this date, only the most recent DevOps Connector created where an instance of the DevOps organization exists, will remain onboarded to Defender for DevOps.
+Customers will have until June 30, 2023 to resolve this issue. After this date, only the most recent DevOps Connector created where an instance of the DevOps organization exists will remain onboarded to Defender for DevOps. For example, if Organization Contoso exists in both connectorA and connectorB, and connectorB was created after connectorA, then connectorA will be removed from Defender for DevOps.
## Next steps
defender-for-iot Configure Mirror Span https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/traffic-mirroring/configure-mirror-span.md
switchport mode trunk
[!INCLUDE [validate-traffic-mirroring](../includes/validate-traffic-mirroring.md)]
+## Deploy with unidirectional gateways/data diodes
+
+You might deploy Defender for IoT with unidirectional gateways, also known as data diodes. Data diodes provide a secure way to monitor networks as they only allow data to flow in one direction. This means data can be monitored without compromising the security of the network, as data cannot be sent back in the opposite direction. Examples of data diode solutions are [Waterfall](https://waterfall-security.com/data-diode-solutions/), [Owl Cyber Defense](https://owlcyberdefense.com/products/data-diode-products/), or [Hirschmann](https://hirschmann.com/en/Hirschmann_Produkte/Hirschmann-News/Rail_Data_Diode/index.phtml).
+
+If unidirectional gateways are needed, we recommend deploying your data diodes on the SPAN traffic going to the sensor monitoring port. For example, use a data diode to monitor traffic from a sensitive system, such as an industrial control system, while keeping the system completely isolated from the monitoring system.
+
+Place your OT sensors outside the electronic perimeter and have them receive traffic from the diode. In this scenario, youΓÇÖll be able to manage your Defender for IoT sensors from the cloud, keeping them automatically updated with the latest threat intelligence packages.
+ ## Next steps > [!div class="step-by-step"]
dms Resource Scenario Status https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/dms/resource-scenario-status.md
description: Learn which migration scenarios are currently supported for Azure D
Previously updated : 06/13/2022 Last updated : 04/27/2022
expressroute Expressroute Routing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/expressroute/expressroute-routing.md
In addition to the above, Microsoft will also tag prefixes based on the service
| Azure Active Directory |12076:5060 | | Azure Resource Manager |12076:5070 | | Other Office 365 Online services** | 12076:5100 |
+| Microsoft Defender for Identity | 12076:5520 |
\* Azure Global Services includes only Azure DevOps at this time.
healthcare-apis Frequently Asked Questions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/frequently-asked-questions.md
Title: Frequently asked questions about the MedTech service - Azure Health Data Services
-description: This article provides answers to the frequently asked questions about the MedTech service.
+description: Learn about the MedTech service frequently asked questions.
Previously updated : 04/14/2023 Last updated : 04/28/2023
The MedTech service is available in these Azure regions: [Products available by
No. The MedTech service currently only supports the Azure Health Data Services FHIR service for the persistence of transformed device data. The open-source version of the MedTech service supports the use of different FHIR services.
-To learn more about the MedTech service open-source projects, see [Open-source projects](git-projects.md).
+To learn about the MedTech service open-source projects, see [Open-source projects](git-projects.md).
### What versions of FHIR does the MedTech service support?
The MedTech service supports the [HL7 FHIR&#174; R4](https://www.hl7.org/impleme
### Why do I have to provide device and FHIR destination mappings to the MedTech service?
-The MedTech service requires device and FHIR destination mappings to perform normalization and transformation processes on device message data. To learn how the MedTech service transforms device data into [FHIR Observations](https://www.hl7.org/fhir/observation.html), see [Overview of the MedTech service device data processing stages](overview-of-device-data-processing-stages.md).
+The MedTech service requires device and FHIR destination mappings to perform normalization and transformation processes on device data. To learn how the MedTech service transforms device data into [FHIR Observations](https://www.hl7.org/fhir/observation.html), see [Overview of the MedTech service device data processing stages](overview-of-device-data-processing-stages.md).
### Is JsonPathContent still supported by the MedTech service device mapping?
The MedTech service buffers [FHIR Observations](https://www.hl7.org/fhir/observa
|A Patient resource hasn't been created in the FHIR service (**Resolution type**: **Lookup** only)*.|Create a valid [Patient resource](https://www.hl7.org/fhir/patient.html) in the FHIR service.| |The Device.patient reference isn't set, or the reference is invalid (**Resolution type**: **Lookup** only)*.|Make sure the Device resource contains a valid [reference](https://www.hl7.org/fhir/device-definitions.html#Device.patient) to a Patient resource.|
-\* Reference [Configure the MedTech service for manual deployment using the Azure portal](deploy-new-config.md#destination-properties) for a functional description of the MedTech service resolution types (**Create** or **Lookup**).
+\* Reference [Deploy the MedTech service using the Azure portal](deploy-manual-portal.md#configure-the-destination-tab) for a functional description of the MedTech service resolution types (**Create** or **Lookup**).
### Does the MedTech service perform backups of device messages?
-No. The MedTech service doesn't back up the device messages that is sent to the event hub. The event hub owner controls the device message retention period within their event hub, which can be from one to 90 days. Event hubs can be deployed in [three different service tiers](../../event-hubs/event-hubs-quotas.md?source=recommendations#basic-vs-standard-vs-premium-vs-dedicated-tiers). Message retention limits are tier-dependent: Basic one day, Standard 1-7 days, Premium 90 days. If the MedTech service successfully processes the device message data, it's persisted in the FHIR service, and the FHIR service backup policy applies.
+No. The MedTech service doesn't back up the device messages that is sent to the event hub. The event hub owner controls the device message retention period within their event hub, which can be from one to 90 days. Event hubs can be deployed in [three different service tiers](../../event-hubs/event-hubs-quotas.md?source=recommendations#basic-vs-standard-vs-premium-vs-dedicated-tiers). Message retention limits are tier-dependent: Basic one day, Standard 1-7 days, Premium 90 days. If the MedTech service successfully processes the device data, it's persisted in the FHIR service, and the FHIR service backup policy applies.
To learn more about event hub message retention, see [What is the maximum retention period for events?](/azure/event-hubs/event-hubs-faq#what-is-the-maximum-retention-period-for-events-)
To learn more about event hub message retention, see [What is the maximum retent
Yes. The MedTech service supports device messages from all these vendors through the open-source version of the MedTech service.
-To learn more about the MedTech service open-source projects, see [Open-source projects](git-projects.md).
+To learn about the MedTech service open-source projects, see [Open-source projects](git-projects.md).
## Next steps
healthcare-apis Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/get-started.md
Previously updated : 04/26/2023 Last updated : 04/28/2023
Deploy a [FHIR service](../fhir/fhir-portal-quickstart.md) into your resource gr
### Deploy a MedTech service
-If you have successfully deployed the prerequisite resources, you're now ready to deploy the [MedTech service](deploy-manual-prerequisites.md) using your workspace.
+If you have successfully deployed the prerequisite resources, you're now ready to deploy the [MedTech service](deploy-manual-portal.md) using your workspace.
## Next steps
healthcare-apis Git Projects https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/git-projects.md
Title: GitHub projects for the MedTech service - Azure Health Data Services
-description: The MedTech service has a robust open-source (GitHub) library for ingesting device messages from popular wearable devices.
+description: Learn about the MedTech service open-source software library for ingesting device messages from popular wearable devices.
Previously updated : 04/20/2023 Last updated : 04/28/2023 # Open-source projects
> [!NOTE] > [Fast Healthcare Interoperability Resources (FHIR&#174;)](https://www.hl7.org/fhir/) is an open healthcare specification.
-Check out our open-source projects on GitHub that provide source code and instructions to deploy services for various uses with the MedTech service.
+Check out our open-source software (OSS) projects on GitHub, which provide source code and instructions to deploy services for various use cases with the MedTech service.
> [!IMPORTANT] > Links to OSS projects on the GitHub website are for informational purposes only and do not constitute an endorsement or guarantee of any kind. You should review the information and licensing terms on the OSS projects on GitHub before using it.
In this article, you learned about the open-source projects for the MedTech serv
To learn about the different deployment methods for the MedTech service, see > [!div class="nextstepaction"]
-> [Choose a deployment method for the MedTech service](deploy-new-choose.md)
+> [Choose a deployment method for the MedTech service](deploy-choose-method.md)
FHIR&#174; is a registered trademark of Health Level Seven International, registered in the U.S. Trademark Office and is used with their permission.
healthcare-apis How To Configure Metrics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/how-to-configure-metrics.md
Title: How to configure the MedTech service metrics - Azure Health Data Services
-description: This article explains how to configure the MedTech service metrics.
+description: Learn how to configure the MedTech service metrics.
Previously updated : 04/14/2023 Last updated : 04/28/2023
> [!NOTE] > [Fast Healthcare Interoperability Resources (FHIR&#174;)](https://www.hl7.org/fhir/) is an open healthcare specification.
-In this article, you'll learn how to configure the MedTech service metrics in the Azure portal. You'll also learn how to pin the MedTech service metrics tile to an Azure portal dashboard for later viewing.
+In this article, learn how to configure the MedTech service metrics in the Azure portal. You'll also learn how to pin the MedTech service metrics tile to an Azure portal dashboard for later viewing.
The MedTech service metrics can be used to help determine the health and performance of your MedTech service and can be useful with troubleshooting and seeing patterns and/or trends with your MedTech service.
healthcare-apis How To Enable Diagnostic Settings https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/how-to-enable-diagnostic-settings.md
Title: How to enable the MedTech service diagnostic settings - Azure Health Data Services
-description: This article explains how to enable the MedTech service diagnostic settings.
+description: Learn how to enable the MedTech service diagnostic settings.
Previously updated : 02/27/2023 Last updated : 04/28/2023
> [!NOTE] > [Fast Healthcare Interoperability Resources (FHIR&#174;)](https://www.hl7.org/fhir/) is an open healthcare specification.
-In this article, you'll learn how to enable diagnostic settings for the MedTech service to:
+In this article, learn how to enable diagnostic settings for the MedTech service to:
> [!div class="checklist"]
-> - Create a diagnostic setting to export logs and metrics for audit, analysis, or troubleshooting of the MedTech service.
-> - Use the Azure Log Analytics workspace to view the MedTech service logs.
-> - Access the MedTech service pre-defined Azure Log Analytics queries.
+> * Create a diagnostic setting to export logs and metrics for audit, analysis, or troubleshooting of the MedTech service.
+> * Use the Azure Log Analytics workspace to view the MedTech service logs.
+> * Access the MedTech service pre-defined Azure Log Analytics queries.
## Create a diagnostic setting for the MedTech service
healthcare-apis How To Use Mapping Debugger https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/how-to-use-mapping-debugger.md
Title: How to use the MedTech service Mapping debugger - Azure Health Data Services
-description: This article describes how to use the MedTech service Mapping debugger.
+description: Learn how to use the MedTech service Mapping debugger.
Previously updated : 04/14/2023 Last updated : 04/28/2023
healthcare-apis How To Use Monitoring And Health Checks Tabs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/how-to-use-monitoring-and-health-checks-tabs.md
Title: How to use the MedTech service monitoring and health check tabs - Azure Health Data Services
-description: This article describes how to use the MedTech service monitoring and health check tabs.
+description: Learn how to use the MedTech service monitoring and health check tabs.
Previously updated : 04/14/2023 Last updated : 04/28/2023
healthcare-apis Overview Of Device Data Processing Stages https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/overview-of-device-data-processing-stages.md
Title: Overview of the MedTech service device data processing stages - Azure Health Data Services
-description: This article provides an overview of the MedTech service device data processing stages. The MedTech service ingests, normalizes, groups, transforms, and persists device message data in the FHIR service.
+description: Learn about the MedTech service device data processing stages.
Previously updated : 04/14/2023 Last updated : 04/28/2023
Group is the next *optional* stage where the normalized messages available from
Device identity and measurement type grouping are optional and enabled by the use of the [SampledData](https://www.hl7.org/fhir/datatypes.html#SampledData) measurement type. The SampledData measurement type provides a concise way to represent a time-based series of measurements from a device message into FHIR Observations. When you use the SampledData measurement type, measurements can be grouped into a single FHIR Observation that represents a 1-hour period or a 24-hour period. ## Transform
-Transform is the next stage where normalized messages are processed using the user-selected/user-created conforming and valid [FHIR destination mapping](how-to-configure-fhir-mappings.md). Normalized messages get transformed into FHIR Observations if a matching FHIR destination mapping has been authored. At this point, the [Device](https://www.hl7.org/fhir/device.html) resource, along with its associated [Patient](https://www.hl7.org/fhir/patient.html) resource, is also retrieved from the FHIR service using the device identifier present in the device message. These resources are added as a reference to the FHIR Observation being created.
+Transform is the next stage where normalized messages are processed using the user-selected/user-created conforming and valid [FHIR destination mapping](overview-of-fhir-destination-mapping.md). Normalized messages get transformed into FHIR Observations if a matching FHIR destination mapping has been authored. At this point, the [Device](https://www.hl7.org/fhir/device.html) resource, along with its associated [Patient](https://www.hl7.org/fhir/patient.html) resource, is also retrieved from the FHIR service using the device identifier present in the device message. These resources are added as a reference to the FHIR Observation being created.
> [!NOTE] > All identity look ups are cached once resolved to decrease load on the FHIR service. If you plan on reusing devices with multiple patients, it is advised you create a virtual device resource that is specific to the patient and send the virtual device identifier in the device message payload. The virtual device can be linked to the actual device resource as a parent.
To get an overview of the MedTech service device and FHIR destination mappings,
> [Overview of the MedTech service device mapping](overview-of-device-mapping.md) > [!div class="nextstepaction"]
-> [Overview of the MedTech service FHIR destination mapping](how-to-configure-fhir-mappings.md)
+> [Overview of the MedTech service FHIR destination mapping](overview-of-fhir-destination-mapping.md)
FHIR&#174; is a registered trademark of Health Level Seven International, registered in the U.S. Trademark Office and is used with their permission.
healthcare-apis Overview Of Device Mapping https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/overview-of-device-mapping.md
Title: Overview the MedTech service device mapping - Azure Health Data Services
-description: This article provides an overview of the MedTech service device mapping.
+description: Learn about the MedTech service device mapping.
To learn how to use custom functions with the MedTech service device mapping, se
To get an overview of the MedTech service FHIR destination mapping, see > [!div class="nextstepaction"]
-> [Overview of the MedTech service FHIR destination mapping](how-to-configure-fhir-mappings.md)
+> [Overview of the MedTech service FHIR destination mapping](overview-of-fhir-destination-mapping.md)
FHIR&#174; is a registered trademark of Health Level Seven International, registered in the U.S. Trademark Office and is used with their permission.
healthcare-apis Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/overview.md
Title: What is the MedTech service? - Azure Health Data Services
-description: In this article, you'll learn about the MedTech service, its features, functions, integrations, and next steps.
+description: Learn about the MedTech service, its features, functions, integrations, and next steps.
Previously updated : 04/24/2023 Last updated : 04/28/2023
To learn about how the MedTech service processes device data, see
To learn about the different deployment methods for the MedTech service, see > [!div class="nextstepaction"]
-> [Choose a deployment method for the MedTech service](deploy-new-choose.md)
+> [Choose a deployment method for the MedTech service](deploy-choose-method.md)
To learn about the MedTech service frequently asked questions (FAQs), see
healthcare-apis Troubleshoot Errors Deployment https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/troubleshoot-errors-deployment.md
Title: Troubleshoot MedTech service deployment errors - Azure Health Data Services
-description: This article assists troubleshooting and fixing MedTech service deployment errors.
+description: Learn how to troubleshoot and fix MedTech service deployment errors.
Previously updated : 04/14/2023 Last updated : 04/28/2023
Here's a list of errors that can be found in the Azure Resource Manager (ARM) AP
**Description**: The device mapping provided in the MedTech service provisioning request is invalid. **Fix**:-- If you're deploying a MedTech service using an ARM template, correct the errors in the mapping JSON provided in the `properties.deviceMapping` property.-- If you're deploying a MedTech service using the Azure portal, correct the errors in the mapping JSON provided in the [**Device mapping** tab](deploy-new-config.md#configure-the-device-mapping-tab).
+* If you're deploying a MedTech service using an ARM template, correct the errors in the mapping JSON provided in the `properties.deviceMapping` property.
+* If you're deploying a MedTech service using the Azure portal, correct the errors in the mapping JSON provided in the [**Device mapping** tab](deploy-manual-portal.md#configure-the-device-mapping-tab).
### fullyQualifiedEventHubNamespace is null, empty, or formatted incorrectly
Here's a list of errors that can be found in the Azure Resource Manager (ARM) AP
Here's a list of errors that can be found in the Azure Resource Manager (ARM) API or Azure portal and fixes for these errors: |Error|
-||
+|--|
|[The maximum number of resource type iotconnectors/fhirdestinations has been reached.](#the-maximum-number-of-resource-type-iotconnectorsdestinations-has-been-reached)| |[The fhirServiceResourceId provided is invalid.](#the-fhirserviceresourceid-provided-is-invalid)| |[Ancestor resources must be fully provisioned before a child resource can be provisioned.](#ancestor-resources-must-be-fully-provisioned-before-a-child-resource-can-be-provisioned-1)
healthcare-apis Troubleshoot Errors Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/healthcare-apis/iot/troubleshoot-errors-logs.md
Title: Troubleshoot errors using the MedTech service logs - Azure Health Data Services
-description: This article assists troubleshooting and fixing MedTech service error logs.
+description: Learn how to troubleshoot and fix MedTech service error using the service logs.
Previously updated : 04/14/2023 Last updated : 04/28/2023
In the MedTech service logs, the error's name is logged in the **LogType**.
The errors' names are listed in the following table, and the fixes for them are provided below the table: |LogType|
-||
+|-|
|[CorrelationIdNotDefinedException](#correlationidnotdefinedexception)| |[FhirDataMappingException](#fhirdatamappingexception)| |[FhirResourceNotFoundException](#fhirresourcenotfoundexception)|
The errors' names are listed in the following table, and the fixes for them are
* A non-blank value for the key. - Also, on the Azure portal, go to the **Device mapping** blade of your MedTech service, and ensure that the device mapping property specified in the error message has a value that correctly references the corresponding key in your device messages. ### InvalidDataFormatException
If you'd like to use a system-assigned managed identity:
2. On the Azure portal, go to the **Identity** blade of your MedTech service, go to the **System assigned** tab, and ensure the following: * The **Status** is set to **On**.
- * The **Azure role assignments** show that your event hub has an **Azure Event Hubs Data Receiver** role assigned to your MedTech service’s system-assigned managed identity. If not, follow these [step-by-step instructions](deploy-new-deploy.md#grant-access-to-the-device-message-event-hub). 
+ * The **Azure role assignments** show that your event hub has an **Azure Event Hubs Data Receiver** role assigned to your MedTech service’s system-assigned managed identity. If not, follow these [instructions](deploy-manual-portal.md#grant-resource-access-to-the-medtech-service-system-managed-identity). 
If you'd like to use a user-assigned managed identity:
If you'd like to use a user-assigned managed identity:
3. On the Azure portal, go to the **Identity** blade of your MedTech service, go to the **User assigned** tab, and ensure that your user-assigned managed identity is shown. If not, add your user-assigned managed identity (see example at [Assign a user-assigned managed identity to an existing VM](../../active-directory/managed-identities-azure-resources/qs-configure-portal-windows-vm.md#assign-a-user-assigned-managed-identity-to-an-existing-vm)).
-4. On the Azure portal, go to your event hub, and assign the **Azure Event Hubs Data Receiver** role to your MedTech service's user-assigned managed identity (see [step-by-step instructions](deploy-new-deploy.md#grant-access-to-the-device-message-event-hub), but use the user-assigned managed identity instead of the system-assigned managed identity).
+4. On the Azure portal, go to your event hub, and assign the **Azure Event Hubs Data Receiver** role to your MedTech service's user-assigned managed identity (see [instructions](deploy-manual-portal.md#grant-resource-access-to-the-medtech-service-system-managed-identity), but use the user-assigned managed identity instead of the system-assigned managed identity).
### MultipleResourceFoundException
The expression and line with the error are specified in the error message.
**Severity**: Blocking
-**Fix**: On the Azure portal, go to your event hub, and assign the **Azure Event Hubs Data Receiver** role to your MedTech service (see [step-by-step instructions](deploy-new-deploy.md#grant-access-to-the-device-message-event-hub)).
+**Fix**: On the Azure portal, go to your event hub, and assign the **Azure Event Hubs Data Receiver** role to your MedTech service (see [instructions](deploy-manual-portal.md#grant-resource-access-to-the-medtech-service-system-managed-identity)).
### UnauthorizedAccessFhirServiceException
The expression and line with the error are specified in the error message.
**Severity**: Blocking
-**Fix**: On the Azure portal, go to your FHIR service, and assign the **FHIR Data Writer** role to your MedTech service (see [step-by-step instructions](deploy-new-deploy.md#grant-access-to-the-fhir-service)).
+**Fix**: On the Azure portal, go to your FHIR service, and assign the **FHIR Data Writer** role to your MedTech service (see [instructions](deploy-manual-portal.md#grant-resource-access-to-the-medtech-service-system-managed-identity)).
> [!NOTE] > If you're not able to fix your MedTech service issue using this troubleshooting guide, you can open an [Azure Technical Support](https://azure.microsoft.com/support/create-ticket/) ticket attaching copies of your device message and [device and FHIR destination mappings](how-to-use-mapping-debugger.md#overview-of-the-mapping-debugger) to your request to better help with issue determination.
network-watcher Diagnose Vm Network Traffic Filtering Problem Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/network-watcher/diagnose-vm-network-traffic-filtering-problem-cli.md
Title: Quickstart to diagnose a VM network traffic filter problem - Azure CLI
+ Title: 'Quickstart: Diagnose a VM network traffic filter problem - Azure CLI'
description: Learn how to use Azure CLI to diagnose a virtual machine network traffic filter problem using the IP flow verify capability of Azure Network Watcher.
postgresql How To Deploy Github Action https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/postgresql/single-server/how-to-deploy-github-action.md
Title: 'Quickstart: Connect to Azure PostgreSQL with GitHub Actions'
+ Title: "Quickstart: Connect to Azure PostgreSQL with GitHub Actions"
description: Use Azure PostgreSQL from a GitHub Actions workflow+++ Last updated : 04/28/2023 ---- Previously updated : 02/15/2023+
+ - github-actions-azure
+ - mode-other
# Quickstart: Use GitHub Actions to connect to Azure PostgreSQL [!INCLUDE [azure-database-for-postgresql-single-server-deprecation](../includes/azure-database-for-postgresql-single-server-deprecation.md)]
-**APPLIES TO:** :::image type="icon" source="./media/applies-to/yes.png" border="false":::Azure Database for PostgreSQL - Single Server :::image type="icon" source="./media/applies-to/yes.png" border="false":::Azure Database for PostgreSQL - Flexible Server
- Get started with [GitHub Actions](https://docs.github.com/en/actions) by using a workflow to deploy database updates to [Azure Database for PostgreSQL](https://azure.microsoft.com/services/postgresql/). ## Prerequisites
-You'll need:
+You need:
+ - An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F). - A GitHub repository with sample data (`data.sql`). If you don't have a GitHub account, [sign up for free](https://github.com/join). - An Azure Database for PostgreSQL server.
A GitHub Actions workflow is defined by a YAML (.yml) file in the `/.github/work
The file has two sections:
-|Section |Tasks |
-|||
-|**Authentication** | 1. Generate deployment credentials. |
-|**Deploy** | 1. Deploy the database. |
+| Section | Tasks |
+| | |
+| **Authentication** | 1. Generate deployment credentials. |
+| **Deploy** | 1. Deploy the database. |
## Generate deployment credentials
The file has two sections:
In the Azure portal, go to your Azure Database for PostgreSQL server and open **Settings** > **Connection strings**. Copy the **ADO.NET** connection string. Replace the placeholder values for `your_database` and `your_password`. The connection string looks similar to this.
-> [!IMPORTANT]
+> [!IMPORTANT]
> - For Single server use ```user=adminusername@servername``` . Note the ```@servername``` is required. > - For Flexible server , use ```user= adminusername``` without the ```@servername```.
In the Azure portal, go to your Azure Database for PostgreSQL server and open **
psql host={servername.postgres.database.azure.com} port=5432 dbname={your_database} user={adminusername} password={your_database_password} sslmode=require ```
-You'll use the connection string as a GitHub secret.
+You use the connection string as a GitHub secret.
## Configure the GitHub secrets
You'll use the connection string as a GitHub secret.
1. Go to **Actions** for your GitHub repository.
-2. Select **Set up your workflow yourself**.
+1. Select **Set up your workflow yourself**.
-2. Delete everything after the `on:` section of your workflow file. For example, your remaining workflow may look like this.
+1. Delete everything after the `on:` section of your workflow file. For example, your remaining workflow may look like this.
```yaml name: CI
You'll use the connection string as a GitHub secret.
branches: [ main ] ```
-1. Rename your workflow `PostgreSQL for GitHub Actions` and add the checkout and login actions. These actions check out your site code and authenticate with Azure using the GitHub secret(s) you created earlier.
+1. Rename your workflow `PostgreSQL for GitHub Actions` and add the checkout and sign in actions. These actions check out your site code and authenticate with Azure using the GitHub secret(s) you created earlier.
# [Service principal](#tab/userlevel)
You'll use the connection string as a GitHub secret.
with: creds: ${{ secrets.AZURE_CREDENTIALS }} ```+ # [OpenID Connect](#tab/openid) ```yaml
You'll use the connection string as a GitHub secret.
tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} ```+
-2. Use the Azure PostgreSQL Deploy action to connect to your PostgreSQL instance. Replace `POSTGRESQL_SERVER_NAME` with the name of your server. You should have a PostgreSQL data file named `data.sql` at the root level of your repository.
+1. Use the Azure PostgreSQL Deploy action to connect to your PostgreSQL instance. Replace `POSTGRESQL_SERVER_NAME` with the name of your server. You should have a PostgreSQL data file named `data.sql` at the root level of your repository.
```yaml - uses: azure/postgresql@v1
You'll use the connection string as a GitHub secret.
plsql-file: './data.sql' ```
-3. Complete your workflow by adding an action to logout of Azure. Here's the completed workflow. The file appears in the `.github/workflows` folder of your repository.
+1. Complete your workflow by adding an action to sign out of Azure. Here's the completed workflow. The file appears in the `.github/workflows` folder of your repository.
# [Service principal](#tab/userlevel)
You'll use the connection string as a GitHub secret.
run: | az logout ```
-
+
## Review your deployment
You'll use the connection string as a GitHub secret.
1. Open the first result to see detailed logs of your workflow's run.
- :::image type="content" source="media/how-to-deploy-github-action/gitbub-action-postgres-success.png" alt-text="Log of GitHub Actions run":::
+ :::image type="content" source="media/how-to-deploy-github-action/gitbub-action-postgres-success.png" alt-text="Log of GitHub Actions run" lightbox="media/how-to-deploy-github-action/gitbub-action-postgres-success.png":::
## Clean up resources
sentinel Data Connectors Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/data-connectors-reference.md
Title: Find your Microsoft Sentinel data connector | Microsoft Docs
description: Learn about specific configuration steps for Microsoft Sentinel data connectors. Previously updated : 04/18/2023 Last updated : 03/25/2023
Data connectors are available as part of the following offerings:
- [Cybersixgill Actionable Alerts (using Azure Function)](data-connectors/cybersixgill-actionable-alerts-using-azure-function.md)
+## Cynerio
+
+- [Cynerio Security Events](data-connectors/cynerio-security-events.md)
+ ## Darktrace - [AI Analyst Darktrace](data-connectors/ai-analyst-darktrace.md)
Data connectors are available as part of the following offerings:
- [Azure Data Lake Storage Gen1](data-connectors/azure-data-lake-storage-gen1.md) - [Azure DDoS Protection](data-connectors/azure-ddos-protection.md) - [Azure Event Hub](data-connectors/azure-event-hub.md)-- [Azure Information Protection](data-connectors/azure-information-protection.md) - [Azure Key Vault](data-connectors/azure-key-vault.md) - [Azure Kubernetes Service (AKS)](data-connectors/azure-kubernetes-service-aks.md) - [Azure Logic Apps](data-connectors/azure-logic-apps.md)
sentinel Auth0 Access Management Using Azure Function https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/data-connectors/auth0-access-management-using-azure-function.md
To integrate with Auth0 Access Management (using Azure Function) make sure you h
Follow the instructions to obtain the credentials. 1. In Auth0 Dashboard, go to **Applications > Applications**.
-2. Select your Application.
+2. Select your Application. This should be a "Machine-to-Machine" Application configured with at least **read:logs** and **read:logs_users** permissions.
3. Copy **Domain, ClientID, Client Secret**
sentinel Azure Information Protection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/data-connectors/azure-information-protection.md
- Title: "Azure Information Protection connector for Microsoft Sentinel"
-description: "Learn how to install the connector Azure Information Protection to connect your data source to Microsoft Sentinel."
-- Previously updated : 02/23/2023----
-# Azure Information Protection connector for Microsoft Sentinel
-
-**Azure Information Protection** helps protect your data whether itΓÇÖs stored in the cloud or in on-premises infrastructures. Control and help secure email, documents, and sensitive data that you share outside your company. From easy classification to embedded labels and permissions, enhance data protection at all times with Azure Information Protection. With Azure Information Protection you can:
--- Classify your data based on sensitivityΓÇï.-- Protect your data at all times.-- Add visibility and control by powerful logging and reportingΓÇï.-- Collaborate more securely with others.-
-Integrate Microsoft Azure Information Protection logs with Sentinel to view dashboards, create custom alerts, and improve investigation.
-
-[Get started with Azure Information Protection >](https://aka.ms/asi-aip-get-started)
-
-## Connector attributes
-
-| Connector attribute | Description |
-| | |
-| **Log Analytics table(s)** | InformationProtectionLogs_CL<br/> |
-| **Data collection rules support** | Not currently supported |
-| **Supported by** | [Microsoft Corporation](https://support.microsoft.com) |
--
-## Next steps
-
-For more information, go to the [related solution](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/azuresentinel.azure-sentinel-solution-azureinformationprotection?tab=Overview) in the Azure Marketplace.
sentinel Cynerio Security Events https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/data-connectors/cynerio-security-events.md
+
+ Title: "Cynerio Security Events connector for Microsoft Sentinel"
+description: "Learn how to install the connector Cynerio Security Events to connect your data source to Microsoft Sentinel."
++ Last updated : 04/29/2023++++
+# Cynerio Security Events connector for Microsoft Sentinel
+
+The [Cynerio](https://www.cynerio.com/) connector allows you to easily connect your Cynerio Security Events with Microsoft Sentinel, to view IDS Events. This gives you more insight into your organization network security posture and improves your security operation capabilities.
+
+## Connector attributes
+
+| Connector attribute | Description |
+| | |
+| **Log Analytics table(s)** | CynerioEvent_CL<br/> |
+| **Data collection rules support** | Not currently supported |
+| **Supported by** | [Cynerio](https://cynerio.com) |
+
+## Query samples
+
+**SSH Connections events in the last 24 hours**
+ ```kusto
+CynerioEvent_CL
+
+ | where date_t > ago(24h) and title_s == 'SSH Connection'
+ ```
+++
+## Vendor installation instructions
+
+Configure and connect Cynerio
+
+Cynerio can integrate with and export events directly to Microsoft Sentinel via Azure Server. Follow these steps to establish integration:
+
+1. In the Cynerio console, go to Settings > Integrations tab (default), and click on the **+Add Integration** button at the top right.
+
+2. Scroll down to the **SIEM** section.
+
+3. On the Microsoft Sentinel card, click the Connect button.
+
+4. The Integration Details window opens. Use the parameters below to fill out the form and set up the connection.
+++++
+## Next steps
+
+For more information, go to the [related solution](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/cynerio1681887657820.cynerio-medical-device-security-sentinel-connector?tab=Overview) in the Azure Marketplace.
sentinel Detect Threats Custom https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/sentinel/detect-threats-custom.md
A permanent failure occurs due to a change in the conditions that allow the rule
- Microsoft Sentinel had been removed from the target workspace. - A function used by the rule query is no longer valid; it has been either modified or removed. - Permissions to one of the data sources of the rule query were changed.-- One of the data sources of the rule query was deleted or disconnected.
+- One of the data sources of the rule query was deleted.
**In the event of a predetermined number of consecutive permanent failures, of the same type and on the same rule,** Microsoft Sentinel stops trying to execute the rule, and also takes the following steps:
spring-apps How To Self Diagnose Running In Vnet https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/spring-apps/how-to-self-diagnose-running-in-vnet.md
Previously updated : 01/25/2021 Last updated : 04/28/2023
This article shows you how to use Azure Spring Apps diagnostics to diagnose and solve problems in Azure Spring Apps running in virtual networks.
-Azure Spring Apps diagnostics supports interactive troubleshooting apps running in virtual networks without configuration. Azure Spring Apps diagnostics identifies problems and guides you to information that helps troubleshoot and resolve them.
+Azure Spring Apps diagnostics supports interactive troubleshooting applications running in virtual networks without configuration. Azure Spring Apps diagnostics identifies problems and guides you to information that helps troubleshoot issues and resolve them.
## Navigate to the diagnostics page
-The following procedure starts diagnostics for networked applications.
+Use the following steps to start diagnostics for networked applications.
1. Sign in to the Azure portal.
-1. Go to your Azure Spring Apps Overview page.
-1. Select **Diagnose and solve problems** in the menu on the left navigation pane.
-1. Select the third category, **Networking**.
+1. Go to your Azure Spring Apps instance.
+1. Select **Diagnose and solve problems** in the navigation pane.
+1. Select **Networking**.
- ![Self diagnostic title](media/spring-cloud-self-diagnose-vnet/self-diagostic-title.png)
+ :::image type="content" source="media/how-to-self-diagnose-running-in-vnet/self-diagnostic-title.png" alt-text="Screenshot of the Azure portal showing the Diagnose and solve problems page with the Networking troubleshooting category highlighted." lightbox="media/how-to-self-diagnose-running-in-vnet/self-diagnostic-title.png":::
## View a diagnostic report
-After you select the **Networking** category, you can view two issues related to Networking specific to your virtual-network injected Azure Spring Apps instances: **DNS Resolution** and **Required Outbound Traffic**.
+After you select the **Networking** category, you can view two issues related to networking specific to your virtual-network injected Azure Spring Apps instances: **DNS Resolution** and **Required Outbound Traffic**.
- ![Self diagnostic options](media/spring-cloud-self-diagnose-vnet/self-diagostic-dns-req-outbound-options.png)
+ :::image type="content" source="media/how-to-self-diagnose-running-in-vnet/self-diagnostic-dns-req-outbound-options.png" alt-text="Screenshot of the Azure portal showing the Network troubleshooting page for diagnose and solve problems." lightbox="media/how-to-self-diagnose-running-in-vnet/self-diagnostic-dns-req-outbound-options.png":::
-Select your target issue to view the diagnostic report. A summary of diagnostics will be displayed, such as:
+Select your target issue to view the diagnostic report. A summary of diagnostics displays, such as:
* *Resource has been removed.*
-* *Resource is not deployed in your own virtual network*.
+* *Resource isn't deployed in your own virtual network*.
-Some results contain related documentation. Different subnets will display the results separately.
+Some results contain related documentation. Different subnets display the results separately.
## DNS resolution
-If you select **DNS Resolution**, results will indicate whether there are DNS issues with applications. Healthy apps are listed as follows:
+If you select **DNS Resolution**, results indicate whether there are DNS issues with applications. Examples of healthy applications are shown the following examples:
* *DNS issues resolved with no issues in subnet 'subnet01'*. * *DNS issues resolved with no issues in subnet 'subnet02'*.
-The following diagnostic report example indicates that the health of the application is unknown. The reporting time frame does not include the time when the health status was reported. Assume that the context end time is *2021-03-03T04:20:00Z*. The latest TIMESTAMP in the **DNS Resolution Table Renderings** is *2021-03-03T03:39:00Z*, the previous day. The health check log may not have been sent out because of a blocked network.
+The following diagnostic report example indicates that the health of the application is unknown. The reporting time frame doesn't include the time when the health status was reported. Assume that the context end time is `2021-03-03T04:20:00Z`. The latest TIMESTAMP in the **DNS Resolution Table Renderings** is `2021-03-03T03:39:00Z`, the previous day. The health check log may not have been sent out because of a blocked network.
-The unknown health status results contain related documentation. You can select the left angle bracket to see the drop-down display.
+The unknown health status results contain related documentation. You can select the left angle bracket to see the drop-down display.
-![DNS unknown](media/spring-cloud-self-diagnose-vnet/self-diagostic-dns-unknown.png)
-If you misconfigured your Private DNS Zone record set, you will get a critical result such as: `Failed to resolve the Private DNS in subnet xxx`.
+If you misconfigured your Private DNS Zone record set, a critical result appears such as: `Failed to resolve the Private DNS in subnet xxx`.
-In the drop-down **DNS Resolution Table Renderings** you will find the detail message info from which you can check your config.
+In **DNS Resolution Table Renderings**, detailed message information displays from which you can check your configurations.
## Required Outbound Traffic
-If you select **Required Outbound Traffic**, results will indicate whether there are outbound traffic issues with applications. Healthy apps are listed as follows:
+If you select **Required Outbound Traffic**, results indicate whether there are outbound traffic issues with applications. The following examples are results for healthy applications:
* *Required outbound traffic resolved with no issues in subnet 'subnet01'. * *Required outbound traffic resolved with no issues in subnet 'subnet02'.
-If any subnet is blocked by NSG or firewall rules, and if you have not blocked the log, you will find the following failures. You can check whether you overlooked any [Customer Responsibilities](./vnet-customer-responsibilities.md).
+If any subnet is blocked because of NSG or firewall rules, and if you haven't blocked the log, endpoint check failures display in the summary for the issue. The following destination endpoints fail because no rule is matched:
-![Endpoint failed](media/spring-cloud-self-diagnose-vnet/self-diagostic-endpoint-failed.png)
+* `http://clr3.gigicert.com`
+* `http://mscrl.microsoft.com`
+* `http://crl.microsoft.com`
-If there is no data in the `Required Outbound Traffic Table Renderings` within 30 minutes, the result will be `health status unknown`.
-Maybe your network is blocked or the log service is down.
+You can check whether you overlooked any customer responsibilities. For more information, see [Customer responsibilities for running Azure Spring Apps in a virtual network](./vnet-customer-responsibilities.md).
-![Diagnostic endpoint unknown](media/spring-cloud-self-diagnose-vnet/self-diagostic-endpoint-unknown.png)
+If there's no data displayed for **Required Outbound Traffic Table Renderings** within 30 minutes, the result is `health status unknown`.
+Your network may be blocked or the log service is down.
## Next steps
storage Elastic San Delete https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/storage/elastic-san/elastic-san-delete.md
In your compute client, retrieve the sessionID for the Elastic SAN volumes you'd
Replace **yourStorageTargetIQN**, **yourStorageTargetPortalHostName**, and **yourStorageTargetPortalPort** with the values you kept, then run the following commands from your compute client to disconnect an Elastic SAN volume. ```
-iscsicli RemovePersistentTarget $yourStorageTargetIQN $yourStorageTargetPortalPort $yourStorageTargetPortalHostName
+iscsicli RemovePersistentTarget ROOT\ISCSIPRT\0000_0 $yourStorageTargetIQN -1 $yourStorageTargetPortalPort $yourStorageTargetPortalHostName
iscsicli LogoutTarget <sessionID>
virtual-machines Disk Encryption Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/virtual-machines/linux/disk-encryption-overview.md
Linux server distributions that are not endorsed by Azure do not support Azure D
| Publisher | Offer | SKU | URN | Volume type supported for encryption | | | | | |
+| Canonical | Ubuntu | 22.04-LTS | Canonical:0001-com-ubuntu-server-focal:22_04-lts:latest | OS and data disk |
+| Canonical | Ubuntu | 22.04-LTS Gen2 | Canonical:0001-com-ubuntu-server-focal:22_04-lts-gen2:latest | OS and data disk |
| Canonical | Ubuntu | 20.04-LTS | Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest | OS and data disk | | Canonical | Ubuntu | 20.04-DAILY-LTS | Canonical:0001-com-ubuntu-server-focal-daily:20_04-daily-lts:latest | OS and data disk | | Canonical | Ubuntu | 20.04-LTS Gen2 | Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:latest | OS and data disk |
web-application-firewall Application Gateway Crs Rulegroups Rules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/web-application-firewall/ag/application-gateway-crs-rulegroups-rules.md
-# Web Application Firewall CRS rule groups and rules
+# Web Application Firewall DRS and CRS rule groups and rules
+
+Application Gateway web application firewall (WAF) protects web applications from common vulnerabilities and exploits. Azure-managed rule sets provide an easy way to deploy protection against a common set of security threats. Since such rule sets are managed by Azure, the rules are updated as needed to protect against new attack signatures. Default rule set also includes the Microsoft Threat Intelligence Collection rules that are written in partnership with the Microsoft Intelligence team to provide increased coverage, patches for specific vulnerabilities, and better false positive reduction.
+
+Customers also have the option of using rules that are defined based on the OWASP core rule sets 3.2, 3.1, 3.0, or 2.2.9.
+
+Rules can be disabled on a rule-by-rule basis, or you can set specific actions by individual rule. This article contains the current rules and rule sets offered. In the rare occasion that a published ruleset needs to be updated, it will be documented here.
+
+## Default rule sets
+
+The Azure-managed Default Rule Set (DRS) includes rules against the following threat categories:
+
+- Cross-site scripting
+- Java attacks
+- Local file inclusion
+- PHP injection attacks
+- Remote command execution
+- Remote file inclusion
+- Session fixation
+- SQL injection protection
+- Protocol attackers
+The version number of the DRS increments when new attack signatures are added to the rule set.
+
+## Microsoft Threat Intelligence Collection rules
+
+The Microsoft Threat Intelligence Collection rules are written in partnership with the Microsoft Threat Intelligence team to provide increased coverage, patches for specific vulnerabilities, and better false positive reduction.
+
+> [!NOTE]
+> We suggest you to disable some of the rules while you get started with 2.1 on Application Gateway WAF. Details of the rules are as below.
+
+|Rule ID |Rule Group|Description |Details|
+|||||
+|942110 |SQLI|SQL Injection Attack: Common Injection Testing Detected |Replaced by MSTIC rule 99031001 |
+|942150 |SQLI|SQL Injection Attack|Replaced by MSTIC rule 99031003 |
+|942260 |SQLI|Detects basic SQL authentication bypass attempts 2/3 |Replaced by MSTIC rule 99031004 |
+|942430 |SQLI|Restricted SQL Character Anomaly Detection (args): # of special characters exceeded (12)|Too many false positives.|
+|942440 |SQLI|SQL Comment Sequence Detected|Replaced by MSTIC rule 99031002 |
+|99005006|MS-ThreatIntel-WebShells|Spring4Shell Interaction Attempt|Keep the rule enabled to prevent against SpringShell vulnerability|
+|99001014|MS-ThreatIntel-CVEs|Attempted Spring Cloud routing-expression injection [CVE-2022-22963](https://www.cve.org/CVERecord?id=CVE-2022-22963)|Keep the rule enabled to prevent against SpringShell vulnerability|
+|99001015|MS-ThreatIntel-WebShells|Attempted Spring Framework unsafe class object exploitation [CVE-2022-22965](https://www.cve.org/CVERecord?id=CVE-2022-22965)|Keep the rule enabled to prevent against SpringShell vulnerability|
+|99001016|MS-ThreatIntel-WebShells|Attempted Spring Cloud Gateway Actuator injection [CVE-2022-22947](https://www.cve.org/CVERecord?id=CVE-2022-22947)|Keep the rule enabled to prevent against SpringShell vulnerability|
-Application Gateway web application firewall (WAF) protects web applications from common vulnerabilities and exploits. This is done through rules that are defined based on the OWASP core rule sets 3.2, 3.1, 3.0, or 2.2.9. Rules can be disabled on a rule-by-rule basis, or you can set specific actions by individual rule. This article contains the current rules and rule sets offered. In the rare occasion that a published ruleset needs to be updated, it will be documented here.
## Core rule sets
The WAF protects against the following web vulnerabilities:
- Bots, crawlers, and scanners - Common application misconfigurations (for example, Apache and IIS)
-CRS is enabled by default in Detection mode in your WAF policies. You can disable or enable individual rules within the Core Rule Set to meet your application requirements. You can also set specific actions per rule. The CRS supports block, log and anomaly score actions. The Bot Manager ruleset supports the allow, block and log actions.
+## Tuning of Managed rule sets
+
+Both DRS and CRS are enabled by default in Detection mode in your WAF policies. You can disable or enable individual rules within the Managed Rule Set to meet your application requirements. You can also set specific actions per rule. The DRS/CRS supports block, log and anomaly score actions. The Bot Manager ruleset supports the allow, block and log actions.
Sometimes you might need to omit certain request attributes from a WAF evaluation. A common example is Active Directory-inserted tokens that are used for authentication. You can configure exclusions to apply when specific WAF rules are evaluated, or to apply globally to the evaluation of all WAF rules. Exclusion rules apply to your whole web application. For more information, see [Web Application Firewall (WAF) with Application Gateway exclusion lists](application-gateway-waf-configuration.md).
-By default, CRS version 3.2 and above will leverage anomaly scoring when a request matches a rule, CRS 3.1 and below will block matching requests by default. Additionally, custom rules can be configured in the same WAF policy if you wish to bypass any of the pre-configured rules in the Core Rule Set.
+By default, DRS version 2.1 / CRS version 3.2 and above will leverage anomaly scoring when a request matches a rule, CRS 3.1 and below will block matching requests by default. Additionally, custom rules can be configured in the same WAF policy if you wish to bypass any of the pre-configured rules in the Core Rule Set.
Custom rules are always applied before rules in the Core Rule Set are evaluated. If a request matches a custom rule, the corresponding rule action is applied. The request is either blocked or passed through to the back-end. No other custom rules or the rules in the Core Rule Set are processed. ### Anomaly scoring
-When you use CRS, your WAF is configured to use anomaly scoring by default. Traffic that matches any rule isn't immediately blocked, even when your WAF is in prevention mode. Instead, the OWASP rule sets define a severity for each rule: Critical, Error, Warning, or Notice. The severity affects a numeric value for the request, which is called the anomaly score:
+When you use CRS or DRS 2.1 and later, your WAF is configured to use anomaly scoring by default. Traffic that matches any rule isn't immediately blocked, even when your WAF is in prevention mode. Instead, the OWASP rule sets define a severity for each rule: Critical, Error, Warning, or Notice. The severity affects a numeric value for the request, which is called the anomaly score:
| Rule severity | Value contributed to anomaly score | |-|-|
If the anomaly score is 5 or greater, and the WAF is in Prevention mode, the req
For example, a single *Critical* rule match is enough for the WAF to block a request when in Prevention mode, because the overall anomaly score is 5. However, one *Warning* rule match only increases the anomaly score by 3, which isn't enough by itself to block the traffic. When an anomaly rule is triggered, it shows a "Matched" action in the logs. If the anomaly score is 5 or greater, there is a separate rule triggered with either "Blocked" or "Detected" action depending on whether WAF policy is in Prevention or Detection mode. For more information, please see [Anomaly Scoring mode](ag-overview.md#anomaly-scoring-mode).
+### DRS 2.1 (preview)
+
+DRS 2.1 rules offer better protection than earlier versions of the DRS. It includes additional rules developed by the Microsoft Threat Intelligence team and updates to signatures to reduce false positives. It also supports transformations beyond just URL decoding.
+
+DRS 2.1 includes 17 rule groups, as shown in the following table. Each group contains multiple rules, and you can customize behavior for individual rules, rule groups, or entire rule set.
+
+|Rule group|Description|
+|||
+|**[General](#general-21)**|General group|
+|**[METHOD-ENFORCEMENT](#drs911-21)**|Lock-down methods (PUT, PATCH)|
+|**[PROTOCOL-ENFORCEMENT](#drs920-21)**|Protect against protocol and encoding issues|
+|**[PROTOCOL-ATTACK](#drs921-21)**|Protect against header injection, request smuggling, and response splitting|
+|**[APPLICATION-ATTACK-LFI](#drs930-21)**|Protect against file and path attacks|
+|**[APPLICATION-ATTACK-RFI](#drs931-21)**|Protect against remote file inclusion (RFI) attacks|
+|**[APPLICATION-ATTACK-RCE](#drs932-21)**|Protect again remote code execution attacks|
+|**[APPLICATION-ATTACK-PHP](#drs933-21)**|Protect against PHP-injection attacks|
+|**[APPLICATION-ATTACK-NodeJS](#drs934-21)**|Protect against Node JS attacks|
+|**[APPLICATION-ATTACK-XSS](#drs941-21)**|Protect against cross-site scripting attacks|
+|**[APPLICATION-ATTACK-SQLI](#drs942-21)**|Protect against SQL-injection attacks|
+|**[APPLICATION-ATTACK-SESSION-FIXATION](#drs943-21)**|Protect against session-fixation attacks|
+|**[APPLICATION-ATTACK-SESSION-JAVA](#drs944-21)**|Protect against JAVA attacks|
+|**[MS-ThreatIntel-WebShells](#drs9905-21)**|Protect against Web shell attacks|
+|**[MS-ThreatIntel-AppSec](#drs9903-21)**|Protect against AppSec attacks|
+|**[MS-ThreatIntel-SQLI](#drs99031-21)**|Protect against SQLI attacks|
+|**[MS-ThreatIntel-CVEs](#drs99001-21)**|Protect against CVE attacks|
++ ### OWASP CRS 3.2 CRS 3.2 includes 14 rule groups, as shown in the following table. Each group contains multiple rules, which can be disabled. The ruleset is based off OWASP CRS 3.2.0 version.
You can enable a managed bot protection rule set to take custom actions on reque
The following rule groups and rules are available when using Web Application Firewall on Application Gateway.
+# [DRS 2.1](#tab/drs21)
+
+## <a name="drs21"></a> 2.1 rule sets (preview)
+
+### <a name="general-21"></a> General
+|RuleId|Description|
+|||
+|200002|Failed to parse request body.|
+|200003|Multipart request body failed strict validation|
++
+### <a name="drs911-21"></a> METHOD ENFORCEMENT
+|RuleId|Description|
+|||
+|911100|Method is not allowed by policy|
+
+### <a name="drs920-21"></a> PROTOCOL-ENFORCEMENT
+|RuleId|Description|
+|||
+|920100|Invalid HTTP Request Line|
+|920120|Attempted multipart/form-data bypass|
+|920121|Attempted multipart/form-data bypass|
+|920160|Content-Length HTTP header is not numeric.|
+|920170|GET or HEAD Request with Body Content.|
+|920171|GET or HEAD Request with Transfer-Encoding.|
+|920180|POST request missing Content-Length Header.|
+|920181|Content-Length and Transfer-Encoding headers present 99001003|
+|920190|Range: Invalid Last Byte Value.|
+|920200|Range: Too many fields (6 or more)|
+|920201|Range: Too many fields for pdf request (35 or more)|
+|920210|Multiple/Conflicting Connection Header Data Found.|
+|920220|URL Encoding Abuse Attack Attempt|
+|920230|Multiple URL Encoding Detected|
+|920240|URL Encoding Abuse Attack Attempt|
+|920260|Unicode Full/Half Width Abuse Attack Attempt|
+|920270|Invalid character in request (null character)|
+|920271|Invalid character in request (non printable characters)|
+|920280|Request Missing a Host Header|
+|920290|Empty Host Header|
+|920300|Request Missing an Accept Header|
+|920310|Request Has an Empty Accept Header|
+|920311|Request Has an Empty Accept Header|
+|920320|Missing User Agent Header|
+|920330|Empty User Agent Header|
+|920340|Request Containing Content, but Missing Content-Type header|
+|920341|Request containing content requires Content-Type header|
+|920350|Host header is a numeric IP address|
+|920420|Request content type is not allowed by policy|
+|920430|HTTP protocol version is not allowed by policy|
+|920440|URL file extension is restricted by policy|
+|920450|HTTP header is restricted by policy|
+|920470|Illegal Content-Type header|
+|920480|Request content type charset is not allowed by policy|
+|920500|Attempt to access a backup or working file|
+
+### <a name="drs921-21"></a> PROTOCOL-ATTACK
+
+|RuleId|Description|
+|||
+|921110|HTTP Request Smuggling Attack|
+|921120|HTTP Response Splitting Attack|
+|921130|HTTP Response Splitting Attack|
+|921140|HTTP Header Injection Attack via headers|
+|921150|HTTP Header Injection Attack via payload (CR/LF detected)|
+|921151|HTTP Header Injection Attack via payload (CR/LF detected)|
+|921160|HTTP Header Injection Attack via payload (CR/LF and header-name detected)|
+|921190|HTTP Splitting (CR/LF in request filename detected)|
+|921200|LDAP Injection Attack|
++
+### <a name="drs930-21"></a> LFI - Local File Inclusion
+|RuleId|Description|
+|||
+|930100|Path Traversal Attack (/../)|
+|930110|Path Traversal Attack (/../)|
+|930120|OS File Access Attempt|
+|930130|Restricted File Access Attempt|
+
+### <a name="drs931-21"></a> RFI - Remote File Inclusion
+|RuleId|Description|
+|||
+|931100|Possible Remote File Inclusion (RFI) Attack: URL Parameter using IP Address|
+|931110|Possible Remote File Inclusion (RFI) Attack: Common RFI Vulnerable Parameter Name used w/URL Payload|
+|931120|Possible Remote File Inclusion (RFI) Attack: URL Payload Used w/Trailing Question Mark Character (?)|
+|931130|Possible Remote File Inclusion (RFI) Attack: Off-Domain Reference/Link|
+
+### <a name="drs932-21"></a> RCE - Remote Command Execution
+|RuleId|Description|
+|||
+|932100|Remote Command Execution: Unix Command Injection|
+|932105|Remote Command Execution: Unix Command Injection|
+|932110|Remote Command Execution: Windows Command Injection|
+|932115|Remote Command Execution: Windows Command Injection|
+|932120|Remote Command Execution: Windows PowerShell Command Found|
+|932130|Remote Command Execution: Unix Shell Expression or Confluence Vulnerability (CVE-2022-26134) Found|
+|932140|Remote Command Execution: Windows FOR/IF Command Found|
+|932150|Remote Command Execution: Direct Unix Command Execution|
+|932160|Remote Command Execution: Unix Shell Code Found|
+|932170|Remote Command Execution: Shellshock (CVE-2014-6271)|
+|932171|Remote Command Execution: Shellshock (CVE-2014-6271)|
+|932180|Restricted File Upload Attempt|
+
+### <a name="drs933-21"></a> PHP Attacks
+|RuleId|Description|
+|||
+|933100|PHP Injection Attack: Opening/Closing Tag Found|
+|933110|PHP Injection Attack: PHP Script File Upload Found|
+|933120|PHP Injection Attack: Configuration Directive Found|
+|933130|PHP Injection Attack: Variables Found|
+|933140|PHP Injection Attack: I/O Stream Found|
+|933150|PHP Injection Attack: High-Risk PHP Function Name Found|
+|933151|PHP Injection Attack: Medium-Risk PHP Function Name Found|
+|933160|PHP Injection Attack: High-Risk PHP Function Call Found|
+|933170|PHP Injection Attack: Serialized Object Injection|
+|933180|PHP Injection Attack: Variable Function Call Found|
+|933200|PHP Injection Attack: Wrapper scheme detected|
+|933210|PHP Injection Attack: Variable Function Call Found|
+
+### <a name="drs934-21"></a> Node JS Attacks
+|RuleId|Description|
+|||
+|934100|Node.js Injection Attack|
+
+### <a name="drs941-21"></a> XSS - Cross-site Scripting
+|RuleId|Description|
+|||
+|941100|XSS Attack Detected via libinjection|
+|941101|XSS Attack Detected via libinjection.<br />This rule detects requests with a *Referer* header.|
+|941110|XSS Filter - Category 1: Script Tag Vector|
+|941120|XSS Filter - Category 2: Event Handler Vector|
+|941130|XSS Filter - Category 3: Attribute Vector|
+|941140|XSS Filter - Category 4: JavaScript URI Vector|
+|941150|XSS Filter - Category 5: Disallowed HTML Attributes|
+|941160|NoScript XSS InjectionChecker: HTML Injection|
+|941170|NoScript XSS InjectionChecker: Attribute Injection|
+|941180|Node-Validator Blacklist Keywords|
+|941190|XSS Using style sheets|
+|941200|XSS using VML frames|
+|941210|XSS using obfuscated JavaScript|
+|941220|XSS using obfuscated VB Script|
+|941230|XSS using 'embed' tag|
+|941240|XSS using 'import' or 'implementation' attribute|
+|941250|IE XSS Filters - Attack Detected.|
+|941260|XSS using 'meta' tag|
+|941270|XSS using 'link' href|
+|941280|XSS using 'base' tag|
+|941290|XSS using 'applet' tag|
+|941300|XSS using 'object' tag|
+|941310|US-ASCII Malformed Encoding XSS Filter - Attack Detected.|
+|941320|Possible XSS Attack Detected - HTML Tag Handler|
+|941330|IE XSS Filters - Attack Detected.|
+|941340|IE XSS Filters - Attack Detected.|
+|941350|UTF-7 Encoding IE XSS - Attack Detected.|
+|941360|JavaScript obfuscation detected.|
+|941370|JavaScript global variable found|
+|941380|AngularJS client side template injection detected|
+
+>[!NOTE]
+> This article contains references to the term *blacklist*, a term that Microsoft no longer uses. When the term is removed from the software, weΓÇÖll remove it from this article.
+
+### <a name="drs942-21"></a> SQLI - SQL Injection
+|RuleId|Description|
+|||
+|942100|SQL Injection Attack Detected via libinjection|
+|942110|SQL Injection Attack: Common Injection Testing Detected|
+|942120|SQL Injection Attack: SQL Operator Detected|
+|942140|SQL Injection Attack: Common DB Names Detected|
+|942150|SQL Injection Attack|
+|942160|Detects blind sqli tests using sleep() or benchmark().|
+|942170|Detects SQL benchmark and sleep injection attempts including conditional queries|
+|942180|Detects basic SQL authentication bypass attempts 1/3|
+|942190|Detects MSSQL code execution and information gathering attempts|
+|942200|Detects MySQL comment-/space-obfuscated injections and backtick termination|
+|942210|Detects chained SQL injection attempts 1/2|
+|942220|Looking for integer overflow attacks, these are taken from skipfish, except 3.0.00738585072007e-308 is the "magic number" crash|
+|942230|Detects conditional SQL injection attempts|
+|942240|Detects MySQL charset switch and MSSQL DoS attempts|
+|942250|Detects MATCH AGAINST, MERGE and EXECUTE IMMEDIATE injections|
+|942260|Detects basic SQL authentication bypass attempts 2/3|
+|942270|Looking for basic sql injection. Common attack string for mysql, oracle, and others.|
+|942280|Detects Postgres pg_sleep injection, waitfor delay attacks and database shutdown attempts|
+|942290|Finds basic MongoDB SQL injection attempts|
+|942300|Detects MySQL comments, conditions, and ch(a)r injections|
+|942310|Detects chained SQL injection attempts 2/2|
+|942320|Detects MySQL and PostgreSQL stored procedure/function injections|
+|942330|Detects classic SQL injection probings 1/2|
+|942340|Detects basic SQL authentication bypass attempts 3/3|
+|942350|Detects MySQL UDF injection and other data/structure manipulation attempts|
+|942360|Detects concatenated basic SQL injection and SQLLFI attempts|
+|942361|Detects basic SQL injection based on keyword alter or union|
+|942370|Detects classic SQL injection probings 2/2|
+|942380|SQL Injection Attack|
+|942390|SQL Injection Attack|
+|942400|SQL Injection Attack|
+|942410|SQL Injection Attack|
+|942430|Restricted SQL Character Anomaly Detection (args): # of special characters exceeded (12)|
+|942440|SQL Comment Sequence Detected|
+|942450|SQL Hex Encoding Identified|
+|942460|Meta-Character Anomaly Detection Alert - Repetitive Non-Word Characters|
+|942470|SQL Injection Attack|
+|942480|SQL Injection Attack|
+|942500|MySQL in-line comment detected.|
+|942510|SQLi bypass attempt by ticks or backticks detected.|
+
+### <a name="drs943-21"></a> SESSION-FIXATION
+|RuleId|Description|
+|||
+|943100|Possible Session Fixation Attack: Setting Cookie Values in HTML|
+|943110|Possible Session Fixation Attack: SessionID Parameter Name with Off-Domain Referrer|
+|943120|Possible Session Fixation Attack: SessionID Parameter Name with No Referrer|
+
+### <a name="drs944-21"></a> JAVA Attacks
+|RuleId|Description|
+|||
+|944100|Remote Command Execution: Apache Struts, Oracle WebLogic|
+|944110|Detects potential payload execution|
+|944120|Possible payload execution and remote command execution|
+|944130|Suspicious Java classes|
+|944200|Exploitation of Java deserialization Apache Commons|
+|944210|Possible use of Java serialization|
+|944240|Remote Command Execution: Java serialization and Log4j vulnerability ([CVE-2021-44228](https://www.cve.org/CVERecord?id=CVE-2021-44228), [CVE-2021-45046](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-45046))|
+|944250|Remote Command Execution: Suspicious Java method detected|
+
+### <a name="drs9905-21"></a> MS-ThreatIntel-WebShells
+|RuleId|Description|
+|||
+|99005002|Web Shell Interaction Attempt (POST)|
+|99005003|Web Shell Upload Attempt (POST) - CHOPPER PHP|
+|99005004|Web Shell Upload Attempt (POST) - CHOPPER ASPX|
+|99005005|Web Shell Interaction Attempt|
+|99005006|Spring4Shell Interaction Attempt|
+
+### <a name="drs9903-21"></a> MS-ThreatIntel-AppSec
+|RuleId|Description|
+|||
+|99030001|Path Traversal Evasion in Headers (/.././../)|
+|99030002|Path Traversal Evasion in Request Body (/.././../)|
+
+### <a name="drs99031-21"></a> MS-ThreatIntel-SQLI
+|RuleId|Description|
+|||
+|99031001|SQL Injection Attack: Common Injection Testing Detected|
+|99031002|SQL Comment Sequence Detected.|
+|99031003|SQL Injection Attack|
+|99031004|Detects basic SQL authentication bypass attempts 2/3|
+
+### <a name="drs99001-21"></a> MS-ThreatIntel-CVEs
+|RuleId|Description|
+|||
+|99001001|Attempted F5 tmui (CVE-2020-5902) REST API Exploitation with known credentials|
+|99001002|Attempted Citrix NSC_USER directory traversal [CVE-2019-19781](https://www.cve.org/CVERecord?id=CVE-2019-19781)|
+|99001003|Attempted Atlassian Confluence Widget Connector exploitation [CVE-2019-3396](https://www.cve.org/CVERecord?id=CVE-2019-3396)|
+|99001004|Attempted Pulse Secure custom template exploitation [CVE-2020-8243](https://www.cve.org/CVERecord?id=CVE-2019-8243)|
+|99001005|Attempted SharePoint type converter exploitation [CVE-2020-0932](https://www.cve.org/CVERecord?id=CVE-2019-0932)|
+|99001006|Attempted Pulse Connect directory traversal [CVE-2019-11510](https://www.cve.org/CVERecord?id=CVE-2019-11510)|
+|99001007|Attempted Junos OS J-Web local file inclusion [CVE-2020-1631](https://www.cve.org/CVERecord?id=CVE-2019-1631)|
+|99001008|Attempted Fortinet path traversal [CVE-2018-13379](https://www.cve.org/CVERecord?id=CVE-2019-13379)|
+|99001009|Attempted Apache struts ognl injection [CVE-2017-5638](https://www.cve.org/CVERecord?id=CVE-2019-5638)|
+|99001010|Attempted Apache struts ognl injection [CVE-2017-12611](https://www.cve.org/CVERecord?id=CVE-2019-12611)|
+|99001011|Attempted Oracle WebLogic path traversal [CVE-2020-14882](https://www.cve.org/CVERecord?id=CVE-2019-14882)|
+|99001012|Attempted Telerik WebUI insecure deserialization exploitation [CVE-2019-18935](https://www.cve.org/CVERecord?id=CVE-2019-18935)|
+|99001013|Attempted SharePoint insecure XML deserialization [CVE-2019-0604](https://www.cve.org/CVERecord?id=CVE-2019-0604)|
+|99001014|Attempted Spring Cloud routing-expression injection [CVE-2022-22963](https://www.cve.org/CVERecord?id=CVE-2022-22963)|
+|99001015|Attempted Spring Framework unsafe class object exploitation [CVE-2022-22965](https://www.cve.org/CVERecord?id=CVE-2022-22965)|
+|99001016|Attempted Spring Cloud Gateway Actuator injection [CVE-2022-22947](https://www.cve.org/CVERecord?id=CVE-2022-22947)|
+
+> [!NOTE]
+> When reviewing your WAF's logs, you might see rule ID 949110. The description of the rule might include *Inbound Anomaly Score Exceeded*.
+>
+> This rule indicates that the total anomaly score for the request exceeded the maximum allowable score. For more information, see [Anomaly scoring](./ag-overview.md#anomaly-scoring-mode).
++ # [OWASP 3.2](#tab/owasp32) ## <a name="owasp32"></a> 3.2 rule sets
web-application-firewall Application Gateway Waf Configuration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/web-application-firewall/ag/application-gateway-waf-configuration.md
My-Header: 1=1
The value of the header (`1=1`) might be detected as an attack by the WAF. But if you know this is a legitimate value for your scenario, you can configure an exclusion for the *value* of the header. To do so, you use the **RequestHeaderValues** match variable, the operator **contains**, and the selector (`My-Header`). > [!NOTE]
-> Request attributes by key and values are only available in CRS 3.2 or newer and Bot Manager 1.0 or newer.
+> Request attributes by key and values are only available in DRS 2.1 / CRS 3.2 or newer and Bot Manager 1.0 or newer.
> > Request attributes by names work the same way as request attributes by values, and are included for backward compatibility with CRS 3.1 and earlier versions. We recommend you use request attributes by values instead of attributes by names. For example, use **RequestHeaderValues** instead of **RequestHeaderNames**.
-In contrast, if your WAF detects the header's name (`My-Header`) as an attack, you could configure an exclusion for the header *key* by using the **RequestHeaderKeys** request attribute. The **RequestHeaderKeys** attribute is only available in CRS 3.2 or newer and Bot Manager 1.0 or newer.
+In contrast, if your WAF detects the header's name (`My-Header`) as an attack, you could configure an exclusion for the header *key* by using the **RequestHeaderKeys** request attribute. The **RequestHeaderKeys** attribute is only available in DRS 2.1 / CRS 3.2 or newer and Bot Manager 1.0 or newer.
## Exclusion scopes
Exclusions can be configured to apply to a specific set of WAF rules, to ruleset
You can configure an exclusion for a specific rule, group of rules, or rule set. You must specify the rule or rules that the exclusion applies to. You also need to specify the request attribute that should be excluded from the WAF evaluation. To exclude a complete group of rules, only provide the `ruleGroupName` parameter, the `rules` parameter is only useful when you want to limit the exclusion to specific rules of a group.
-Per-rule exclusions are available when you use the OWASP (CRS) ruleset version 3.2 or later or Bot Manager ruleset version 1.0 or later.
+Per-rule exclusions are available when you use the DRS ruleset versions 2.1 / OWASP (CRS) ruleset version 3.2 or later or Bot Manager ruleset version 1.0 or later.
#### Example
web-application-firewall Application Gateway Waf Request Size Limits https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/web-application-firewall/ag/application-gateway-waf-request-size-limits.md
The following two size limits configurations are available:
The default value for file upload limit is 100 MB.
-For CRS 3.2 (on the WAF_v2 SKU) and newer, these limits are as follows when using a WAF policy for Application Gateway:
+For DRS 2.1 / CRS 3.2 (on the WAF_v2 SKU) and newer, these limits are as follows when using a WAF policy for Application Gateway:
- 2 MB request body size limit - 4 GB file upload limit
web-application-firewall Custom Waf Rules Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/web-application-firewall/ag/custom-waf-rules-overview.md
# Custom rules for Web Application Firewall v2 on Azure Application Gateway
-The Azure Application Gateway Web Application Firewall (WAF) v2 comes with a pre-configured, platform-managed ruleset that offers protection from many different types of attacks. These attacks include cross site scripting, SQL injection, and others. If you're a WAF admin, you may want to write your own rules to augment the core rule set (CRS) rules. Your custom rules can either block, allow, or log requested traffic based on matching criteria. If the WAF policy is set to detection mode, and a custom block rule is triggered, the request is logged and no blocking action is taken.
+The Azure Application Gateway Web Application Firewall (WAF) v2 comes with a pre-configured, platform-managed ruleset that offers protection from many different types of attacks. These attacks include cross site scripting, SQL injection, and others. If you're a WAF admin, you may want to write your own rules to augment the default rule set(DRS) / core rule set (CRS) rules. Your custom rules can either block, allow, or log requested traffic based on matching criteria. If the WAF policy is set to detection mode, and a custom block rule is triggered, the request is logged and no blocking action is taken.
Custom rules allow you to create your own rules that are evaluated for each request that passes through the WAF. These rules hold a higher priority than the rest of the rules in the managed rule sets. The custom rules contain a rule name, rule priority, and an array of matching conditions. If these conditions are met, an action is taken (to allow, block, or log). If a custom rule is triggered, and an allow or block action is taken, no further custom or managed rules are evaluated. Custom rules can be enabled/disabled on demand.
Must be one of the variables:
- RemoteAddr ΓÇô IPv4 Address/Range of the remote computer connection - RequestMethod ΓÇô HTTP Request method - QueryString ΓÇô Variable in the URI-- PostArgs ΓÇô Arguments sent in the POST body. Custom Rules using this match variable are only applied if the 'Content-Type' header is set to 'application/x-www-form-urlencoded' and 'multipart/form-data'. Additional content type of `application/json` is supported with CRS version 3.2 or greater, bot protection rule set, and geo-match custom rules.
+- PostArgs ΓÇô Arguments sent in the POST body. Custom Rules using this match variable are only applied if the 'Content-Type' header is set to 'application/x-www-form-urlencoded' and 'multipart/form-data'. Additional content type of `application/json` is supported with DRS version 2.1 / CRS version 3.2 or greater, bot protection rule set, and geo-match custom rules.
- RequestUri ΓÇô URI of the request - RequestHeaders ΓÇô Headers of the request-- RequestBody ΓÇô This contains the entire request body as a whole. Custom rules using this match variable are only applied if the 'Content-Type' header is set to `application/x-www-form-urlencoded` media type. Additional content types of `application/soap+xml, application/xml, text/xml` are supported with CRS version 3.2 or greater, bot protection rule set, and geo-match custom rules.
+- RequestBody ΓÇô This contains the entire request body as a whole. Custom rules using this match variable are only applied if the 'Content-Type' header is set to `application/x-www-form-urlencoded` media type. Additional content types of `application/soap+xml, application/xml, text/xml` are supported with DRS version 2.1 / CRS version 3.2 or greater, bot protection rule set, and geo-match custom rules.
- RequestCookies ΓÇô Cookies of the request ### Selector [optional]