Updates from: 06/15/2023 01:09:42
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 process is used when a user signs in with a FIDO2 security key:
The following providers offer FIDO2 security keys of different form factors that are known to be compatible with the passwordless experience. We encourage you to evaluate the security properties of these keys by contacting the vendor as well as the [FIDO Alliance](https://fidoalliance.org/).
-| Provider | Biometric | USB | NFC | BLE | FIPS Certified | Contact |
-||:--:|::|::|::|:--:|--|
-| AuthenTrend | ![y] | ![y]| ![y]| ![y]| ![n] | https://authentrend.com/about-us/#pg-35-3 |
-| Ciright | ![n] | ![n]| ![y]| ![n]| ![n] | https://www.cyberonecard.com/ |
-| Crayonic | ![y] | ![n]| ![y]| ![y]| ![n] | https://www.crayonic.com/keyvault |
-| Ensurity | ![y] | ![y]| ![n]| ![n]| ![n] | https://www.ensurity.com/contact |
-| Excelsecu | ![y] | ![y]| ![y]| ![y]| ![n] | https://www.excelsecu.com/productdetail/esecufido2secu.html |
-| Feitian | ![y] | ![y]| ![y]| ![y]| ![y] | https://shop.ftsafe.us/pages/microsoft |
-| Fortinet | ![n] | ![y]| ![n]| ![n]| ![n] | https://www.fortinet.com/ |
-| Giesecke + Devrient (G+D) | ![y] | ![y]| ![y]| ![y]| ![n] | https://www.gi-de.com/en/identities/enterprise-security/hardware-based-authentication |
-| GoTrustID Inc. | ![n] | ![y]| ![y]| ![y]| ![n] | https://www.gotrustid.com/idem-key |
-| HID | ![n] | ![y]| ![y]| ![n]| ![n] | https://www.hidglobal.com/products/crescendo-key |
-| Hypersecu | ![n] | ![y]| ![n]| ![n]| ![n] | https://www.hypersecu.com/hyperfido |
-| Hypr | ![y] | ![y]| ![n]| ![y]| ![n] | https://www.hypr.com/true-passwordless-mfa |
-| Identiv | ![n] | ![y]| ![y]| ![n]| ![n] | https://www.identiv.com/products/logical-access-control/utrust-fido2-security-keys/nfc |
-| IDmelon Technologies Inc. | ![y] | ![y]| ![y]| ![y]| ![n] | https://www.idmelon.com/#idmelon |
-| Kensington | ![y] | ![y]| ![n]| ![n]| ![n] | https://www.kensington.com/solutions/product-category/why-biometrics/ |
-| KONA I | ![y] | ![n]| ![y]| ![y]| ![n] | https://konai.com/business/security/fido |
-| Movenda | ![y] | ![n]| ![y]| ![y]| ![n] | https://www.movenda.com/en/authentication/fido2/overview |
-| NeoWave | ![n] | ![y]| ![y]| ![n]| ![n] | https://neowave.fr/en/products/fido-range/ |
-| 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/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 |
-| Token Ring | ![y] | ![n]| ![y]| ![n]| ![n] | https://www.tokenring.com/ |
-| TrustKey Solutions | ![y] | ![y]| ![n]| ![n]| ![n] | https://www.trustkeysolutions.com/security-keys/ |
-| VinCSS | ![n] | ![y]| ![n]| ![n]| ![n] | https://passwordless.vincss.net |
-| WiSECURE Technologies | ![n] | ![y]| ![n]| ![n]| ![n] | https://wisecure-tech.com/en-us/zero-trust/fido/authtron |
-| Yubico | ![y] | ![y]| ![y]| ![n]| ![y] | https://www.yubico.com/solutions/passwordless/ |
--
+| Provider | Biometric | USB | NFC | BLE | FIPS Certified |
+|:-|:-:|:-:|:-:|:-:|:-:|
+| [AuthenTrend](https://authentrend.com/about-us/#pg-35-3) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [ACS](https://www.acs.com.hk/en/products/553/pocketkey-fido%C2%AE-certified-usb-security-key/) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [ATOS](https://atos.net/en/solutions/cyber-security/iot-and-ot-security/smart-card-solution-cardos-for-iot) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [Ciright](https://www.cyberonecard.com/) | ![n] | ![n]| ![y]| ![n]| ![n] |
+| [Crayonic](https://www.crayonic.com/keyvault) | ![y] | ![n]| ![y]| ![y]| ![n] |
+| [Cryptnox](https://cryptnox.com/) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [Ensurity](https://www.ensurity.com/contact) | ![y] | ![y]| ![n]| ![n]| ![n] |
+| [Excelsecu](https://www.excelsecu.com/productdetail/esecufido2secu.html) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [Feitian](https://shop.ftsafe.us/pages/microsoft) | ![y] | ![y]| ![y]| ![y]| ![y] |
+| [Fortinet](https://www.fortinet.com/) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [Giesecke + Devrient (G+D)](https://www.gi-de.com/en/identities/enterprise-security/hardware-based-authentication) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [GoTrustID Inc.](https://www.gotrustid.com/idem-key) | ![n] | ![y]| ![y]| ![y]| ![n] |
+| [HID](https://www.hidglobal.com/products/crescendo-key) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [HIDEEZ](https://hideez.com/products/hideez-key-4) | ![n] | ![y]| ![y]| ![y]| ![n] |
+| [Hypersecu](https://www.hypersecu.com/hyperfido) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [Hypr](https://www.hypr.com/true-passwordless-mfa) | ![y] | ![y]| ![n]| ![y]| ![n] |
+| [Identiv](https://www.identiv.com/products/logical-access-control/utrust-fido2-security-keys/nfc) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [IDmelon Technologies Inc.](https://www.idmelon.com/#idmelon) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [Kensington](https://www.kensington.com/solutions/product-category/why-biometrics/) | ![y] | ![y]| ![n]| ![n]| ![n] |
+| [KONA I](https://konai.com/business/security/fido) | ![y] | ![n]| ![y]| ![y]| ![n] |
+| [Movenda](https://www.movenda.com/en/authentication/fido2/overview) | ![y] | ![n]| ![y]| ![y]| ![n] |
+| [NeoWave](https://neowave.fr/en/products/fido-range/) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [Nymi](https://www.nymi.com/nymi-band) | ![y] | ![n]| ![y]| ![n]| ![n] |
+| [Octatco](https://octatco.com/) | ![y] | ![y]| ![n]| ![n]| ![n] |
+| [OneSpan Inc.](https://www.onespan.com/products/fido) | ![n] | ![y]| ![n]| ![y]| ![n] |
+| [Precision Biometric](https://www.innait.com/product/fido/) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [RSA](https://www.rsa.com/products/securid/) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [Sentry](https://sentryenterprises.com/) | ![n] | ![n]| ![y]| ![n]| ![n] |
+| [Swissbit](https://www.swissbit.com/en/products/ishield-key/) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [Thales Group](https://cpl.thalesgroup.com/access-management/authenticators/fido-devices) | ![n] | ![y]| ![y]| ![n]| ![y] |
+| [Thetis](https://thetis.io/collections/fido2) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [Token2 Switzerland](https://www.token2.swiss/shop/product/token2-t2f2-alu-fido2-u2f-and-totp-security-key) | ![y] | ![y]| ![y]| ![n]| ![n] |
+| [Token Ring](https://www.tokenring.com/) | ![y] | ![n]| ![y]| ![n]| ![n] |
+| [TrustKey Solutions](https://www.trustkeysolutions.com/en/sub/product.form) | ![y] | ![y]| ![n]| ![n]| ![n] |
+| [VinCSS](https://passwordless.vincss.net) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [WiSECURE Technologies](https://wisecure-tech.com/en-us/zero-trust/fido/authtron) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [Yubico](https://www.yubico.com/solutions/passwordless/) | ![y] | ![y]| ![y]| ![n]| ![y] |
<!--Image references--> [y]: ./media/fido2-compatibility/yes.png
active-directory Concept Fido2 Hardware Vendor https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/concept-fido2-hardware-vendor.md
You can become a Microsoft-compatible FIDO2 security key vendor through the foll
The following table lists partners who are Microsoft-compatible FIDO2 security key vendors.
-| Provider | Biometric | USB | NFC | BLE | FIPS Certified | Contact |
-||:--:|::|::|::|:--:|--|
-| AuthenTrend | ![y] | ![y]| ![y]| ![y]| ![n] | https://authentrend.com/about-us/#pg-35-3 |
-| Ciright | ![n] | ![n]| ![y]| ![n]| ![n] | https://www.cyberonecard.com/ |
-| Crayonic | ![y] | ![n]| ![y]| ![y]| ![n] | https://www.crayonic.com/keyvault |
-| Ensurity | ![y] | ![y]| ![n]| ![n]| ![n] | https://www.ensurity.com/contact |
-| Excelsecu | ![y] | ![y]| ![y]| ![y]| ![n] | https://www.excelsecu.com/productdetail/esecufido2secu.html |
-| Feitian | ![y] | ![y]| ![y]| ![y]| ![y] | https://shop.ftsafe.us/pages/microsoft |
-| Fortinet | ![n] | ![y]| ![n]| ![n]| ![n] | https://www.fortinet.com/ |
-| Giesecke + Devrient (G+D) | ![y] | ![y]| ![y]| ![y]| ![n] | https://www.gi-de.com/en/identities/enterprise-security/hardware-based-authentication |
-| GoTrustID Inc. | ![n] | ![y]| ![y]| ![y]| ![n] | https://www.gotrustid.com/idem-key |
-| HID | ![n] | ![y]| ![y]| ![n]| ![n] | https://www.hidglobal.com/products/crescendo-key |
-| Hypersecu | ![n] | ![y]| ![n]| ![n]| ![n] | https://www.hypersecu.com/hyperfido |
-| Hypr | ![y] | ![y]| ![n]| ![y]| ![n] | https://www.hypr.com/true-passwordless-mfa |
-| Identiv | ![n] | ![y]| ![y]| ![n]| ![n] | https://www.identiv.com/products/logical-access-control/utrust-fido2-security-keys/nfc |
-| IDmelon Technologies Inc. | ![y] | ![y]| ![y]| ![y]| ![n] | https://www.idmelon.com/#idmelon |
-| Kensington | ![y] | ![y]| ![n]| ![n]| ![n] | https://www.kensington.com/solutions/product-category/why-biometrics/ |
-| KONA I | ![y] | ![n]| ![y]| ![y]| ![n] | https://konai.com/business/security/fido |
-| Movenda | ![y] | ![n]| ![y]| ![y]| ![n] | https://www.movenda.com/en/authentication/fido2/overview |
-| NeoWave | ![n] | ![y]| ![y]| ![n]| ![n] | https://neowave.fr/en/products/fido-range/ |
-| 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-key/ |
-| 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 |
-| Token Ring | ![y] | ![n]| ![y]| ![n]| ![n] | https://www.tokenring.com/ |
-| TrustKey Solutions | ![y] | ![y]| ![n]| ![n]| ![n] | https://www.trustkeysolutions.com/security-keys/ |
-| VinCSS | ![n] | ![y]| ![n]| ![n]| ![n] | https://passwordless.vincss.net |
-| WiSECURE Technologies | ![n] | ![y]| ![n]| ![n]| ![n] | https://wisecure-tech.com/en-us/zero-trust/fido/authtron |
-| Yubico | ![y] | ![y]| ![y]| ![n]| ![y] | https://www.yubico.com/solutions/passwordless/ |
--
+| Provider | Biometric | USB | NFC | BLE | FIPS Certified |
+|:-|:-:|:-:|:-:|:-:|:-:|
+| [AuthenTrend](https://authentrend.com/about-us/#pg-35-3) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [ACS](https://www.acs.com.hk/en/products/553/pocketkey-fido%C2%AE-certified-usb-security-key/) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [ATOS](https://atos.net/en/solutions/cyber-security/iot-and-ot-security/smart-card-solution-cardos-for-iot) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [Ciright](https://www.cyberonecard.com/) | ![n] | ![n]| ![y]| ![n]| ![n] |
+| [Crayonic](https://www.crayonic.com/keyvault) | ![y] | ![n]| ![y]| ![y]| ![n] |
+| [Cryptnox](https://cryptnox.com/) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [Ensurity](https://www.ensurity.com/contact) | ![y] | ![y]| ![n]| ![n]| ![n] |
+| [Excelsecu](https://www.excelsecu.com/productdetail/esecufido2secu.html) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [Feitian](https://shop.ftsafe.us/pages/microsoft) | ![y] | ![y]| ![y]| ![y]| ![y] |
+| [Fortinet](https://www.fortinet.com/) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [Giesecke + Devrient (G+D)](https://www.gi-de.com/en/identities/enterprise-security/hardware-based-authentication) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [GoTrustID Inc.](https://www.gotrustid.com/idem-key) | ![n] | ![y]| ![y]| ![y]| ![n] |
+| [HID](https://www.hidglobal.com/products/crescendo-key) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [HIDEEZ](https://hideez.com/products/hideez-key-4) | ![n] | ![y]| ![y]| ![y]| ![n] |
+| [Hypersecu](https://www.hypersecu.com/hyperfido) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [Hypr](https://www.hypr.com/true-passwordless-mfa) | ![y] | ![y]| ![n]| ![y]| ![n] |
+| [Identiv](https://www.identiv.com/products/logical-access-control/utrust-fido2-security-keys/nfc) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [IDmelon Technologies Inc.](https://www.idmelon.com/#idmelon) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [Kensington](https://www.kensington.com/solutions/product-category/why-biometrics/) | ![y] | ![y]| ![n]| ![n]| ![n] |
+| [KONA I](https://konai.com/business/security/fido) | ![y] | ![n]| ![y]| ![y]| ![n] |
+| [Movenda](https://www.movenda.com/en/authentication/fido2/overview) | ![y] | ![n]| ![y]| ![y]| ![n] |
+| [NeoWave](https://neowave.fr/en/products/fido-range/) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [Nymi](https://www.nymi.com/nymi-band) | ![y] | ![n]| ![y]| ![n]| ![n] |
+| [Octatco](https://octatco.com/) | ![y] | ![y]| ![n]| ![n]| ![n] |
+| [OneSpan Inc.](https://www.onespan.com/products/fido) | ![n] | ![y]| ![n]| ![y]| ![n] |
+| [Precision Biometric](https://www.innait.com/product/fido/) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [RSA](https://www.rsa.com/products/securid/) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [Sentry](https://sentryenterprises.com/) | ![n] | ![n]| ![y]| ![n]| ![n] |
+| [Swissbit](https://www.swissbit.com/en/products/ishield-key/) | ![n] | ![y]| ![y]| ![n]| ![n] |
+| [Thales Group](https://cpl.thalesgroup.com/access-management/authenticators/fido-devices) | ![n] | ![y]| ![y]| ![n]| ![y] |
+| [Thetis](https://thetis.io/collections/fido2) | ![y] | ![y]| ![y]| ![y]| ![n] |
+| [Token2 Switzerland](https://www.token2.swiss/shop/product/token2-t2f2-alu-fido2-u2f-and-totp-security-key) | ![y] | ![y]| ![y]| ![n]| ![n] |
+| [Token Ring](https://www.tokenring.com/) | ![y] | ![n]| ![y]| ![n]| ![n] |
+| [TrustKey Solutions](https://www.trustkeysolutions.com/en/sub/product.form) | ![y] | ![y]| ![n]| ![n]| ![n] |
+| [VinCSS](https://passwordless.vincss.net) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [WiSECURE Technologies](https://wisecure-tech.com/en-us/zero-trust/fido/authtron) | ![n] | ![y]| ![n]| ![n]| ![n] |
+| [Yubico](https://www.yubico.com/solutions/passwordless/) | ![y] | ![y]| ![y]| ![n]| ![y] |
<!--Image references--> [y]: ./media/fido2-compatibility/yes.png
active-directory How To Mfa Authenticator Lite https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/how-to-mfa-authenticator-lite.md
Microsoft Authenticator Lite is another surface for Azure Active Directory (Azur
Users receive a notification in Outlook mobile to approve or deny sign-in, or they can copy a TOTP to use during sign-in. >[!NOTE]
->This is an important security enhancement for users authenticating via telecom transports. This feature is currently in the state ΓÇÿMicrosoft managedΓÇÖ. Until June 9th, leaving the feature set to ΓÇÿMicrosoft managedΓÇÖ will have no impact on your users and the feature will remain turned off unless you explicitly change the state to enabled. The Microsoft managed value of this feature will be changed from ΓÇÿdisabledΓÇÖ to ΓÇÿenabledΓÇÖ on June 9th. We have made some changes to the feature configuration, so if you made an update before GA (5/17), please validate that the feature is in the correct state for your tenant prior to June 9th. If you do not wish for this feature to be enabled on June 9th, move the state to ΓÇÿdisabledΓÇÖ or set users to include and exclude groups.
+>This is an important security enhancement for users authenticating via telecom transports. This feature is currently in the state ΓÇÿMicrosoft managedΓÇÖ. Until June 26, leaving the feature set to ΓÇÿMicrosoft managedΓÇÖ will have no impact on your users and the feature will remain turned off unless you explicitly change the state to enabled. The Microsoft managed value of this feature will be changed from ΓÇÿdisabledΓÇÖ to ΓÇÿenabledΓÇÖ on June 26. We have made some changes to the feature configuration, so if you made an update before GA (5/17), please validate that the feature is in the correct state for your tenant prior to June 26. If you do not wish for this feature to be enabled on June 26, move the state to ΓÇÿdisabledΓÇÖ or set users to include and exclude groups.
## Prerequisites
Users receive a notification in Outlook mobile to approve or deny sign-in, or th
## Enable Authenticator Lite
-By default, Authenticator Lite is [Microsoft managed](concept-authentication-default-enablement.md#microsoft-managed-settings). Until June 9th, leaving the feature set to ΓÇÿMicrosoft managedΓÇÖ will have no impact on your users and the feature will remain turned off unless you explicitly change the state to enabled. The Microsoft managed value of this feature will be changed from ΓÇÿdisabledΓÇÖ to ΓÇÿenabledΓÇÖ on June 9th. We have made some changes to the feature configuration, so if you made an update before GA (5/17), please validate that the feature is in the correct state for your tenant prior to June 9th. If you do not wish for this feature to be enabled on June 9th, move the state to ΓÇÿdisabledΓÇÖ or set users to include and exclude groups.
+By default, Authenticator Lite is [Microsoft managed](concept-authentication-default-enablement.md#microsoft-managed-settings). Until June 26, leaving the feature set to ΓÇÿMicrosoft managedΓÇÖ will have no impact on your users and the feature will remain turned off unless you explicitly change the state to enabled. The Microsoft managed value of this feature will be changed from ΓÇÿdisabledΓÇÖ to ΓÇÿenabledΓÇÖ on June 26. We have made some changes to the feature configuration, so if you made an update before GA (5/17), please validate that the feature is in the correct state for your tenant prior to June 26. If you do not wish for this feature to be enabled on June 26, move the state to ΓÇÿdisabledΓÇÖ or set users to include and exclude groups.
### Enablement Authenticator Lite in Azure portal UX
active-directory Howto Authentication Temporary Access Pass https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/authentication/howto-authentication-temporary-access-pass.md
Title: Configure a Temporary Access Pass in Azure AD to register Passwordless authentication methods
-description: Learn how to configure and enable users to register Passwordless authentication methods by using a Temporary Access Pass
+ Title: Configure a Temporary Access Pass in Azure AD to register passwordless authentication methods
+description: Learn how to configure and enable users to register passwordless authentication methods by using a Temporary Access Pass
Previously updated : 01/29/2023 Last updated : 06/14/2023
-# Configure Temporary Access Pass in Azure AD to register Passwordless authentication methods
+# Configure Temporary Access Pass in Azure AD to register passwordless authentication methods
-Passwordless authentication methods, such as FIDO2 and Passwordless Phone Sign-in through the Microsoft Authenticator app, enable users to sign in securely without a password.
+Passwordless authentication methods, such as FIDO2 and passwordless phone sign-in through the Microsoft Authenticator app, enable users to sign in securely without a password.
Users can bootstrap Passwordless methods in one of two ways: - Using existing Azure AD Multi-Factor Authentication methods - Using a Temporary Access Pass (TAP)
-A Temporary Access Pass is a time-limited passcode that can be configured for multi or single use to allow users to onboard other authentication methods including passwordless methods such as Microsoft Authenticator, FIDO2 or Windows Hello for Business.
+A Temporary Access Pass is a time-limited passcode that can be configured for single or multiple. Users can sign in with a Temporary Access Pass to onboard other authentication methods including passwordless methods such as Microsoft Authenticator, FIDO2 or Windows Hello for Business.
A Temporary Access Pass also makes recovery easier when a user has lost or forgotten their strong authentication factor like a FIDO2 security key or Microsoft Authenticator app, but needs to sign in to register new strong authentication methods.
You can also perform these actions using the REST APIs.
A Temporary Access Pass policy defines settings, such as the lifetime of passes created in the tenant, or the users and groups who can use a Temporary Access Pass to sign-in. Before anyone can sign-in with a Temporary Access Pass, you need to enable Temporary Access Pass in the authentication method policy and choose which users and groups can sign in by using a Temporary Access Pass.
-Although you can create a Temporary Access Pass for any user, only those included in the policy can sign-in with it.
+Although you can create a Temporary Access Pass for any user, only users included in the policy can sign-in with it.
Global administrator and Authentication Policy administrator role holders can update the Temporary Access Pass authentication method policy. To configure the Temporary Access Pass authentication method policy:
To configure the Temporary Access Pass authentication method policy:
1. Under the **Manage** menu header, select **Authentication methods** > **Policies**. 1. From the list of available authentication methods, select **Temporary Access Pass**.
- ![Screenshot of how to manage Temporary Access Pass within the authentication method policy experience.](./media/how-to-authentication-temporary-access-pass/select-temporary-access-pass-policy.png)
+ :::image type="content" border="true" source="./media/how-to-authentication-temporary-access-pass/select-temporary-access-pass-policy.png" alt-text="Screenshot of how to manage Temporary Access Pass within the authentication method policy experience.":::
-1. Set the **Enable** to **Yes** to enable the policy. Then select the **Target** users.
+1. Click **Enable** and then select users to include or exclude from the policy.
- ![Screenshot of how to enable the Temporary Access Pass authentication method policy.](./media/how-to-authentication-temporary-access-pass/enable-temporary-access-pass.png)
+ :::image type="content" border="true" source="./media/how-to-authentication-temporary-access-pass/enable-temporary-access-pass.png" alt-text="Screenshot of how to enable the Temporary Access Pass authentication method policy.":::
-1. (Optional) Select **Configure** and modify the default Temporary Access Pass settings, such as setting maximum lifetime, or length.
-![Screenshot of how to customize the settings for Temporary Access Pass.](./media/how-to-authentication-temporary-access-pass/configure-temporary-access-pass.png)
-1. Select **Save** to apply the policy.
+1. (Optional) Select **Configure** to modify the default Temporary Access Pass settings, such as setting maximum lifetime, or length, and click **Update**.
+ :::image type="content" border="true" source="./media/how-to-authentication-temporary-access-pass/configure-temporary-access-pass.png" alt-text="Screenshot of how to customize the settings for Temporary Access Pass.":::
+1. Select **Save** to apply the policy.
The default value and the range of allowed values are described in the following table. - | Setting | Default values | Allowed values | Comments | ||||| | Minimum lifetime | 1 hour | 10 ΓÇô 43,200 Minutes (30 days) | Minimum number of minutes that the Temporary Access Pass is valid. | | Maximum lifetime | 8 hours | 10 ΓÇô 43,200 Minutes (30 days) | Maximum number of minutes that the Temporary Access Pass is valid. |
- | Default lifetime | 1 hour | 10 ΓÇô 43,200 Minutes (30 days) | Default values can be overridden by the individual passes, within the minimum and maximum lifetime configured by the policy. |
- | One-time use | False | True / False | When the policy is set to false, passes in the tenant can be used either once or more than once during its validity (maximum lifetime). By enforcing one-time use in the Temporary Access Pass policy, all passes created in the tenant will be created as one-time use. |
+ | Default lifetime | 1 hour | 10 ΓÇô 43,200 Minutes (30 days) | Individual passes within the minimum and maximum lifetime configured by the policy can override default value. |
+ | One-time use | False | True/False | When the policy is set to false, passes in the tenant can be used either once or more than once during its validity (maximum lifetime). By enforcing one-time use in the Temporary Access Pass policy, all passes created in the tenant are one-time use. |
| Length | 8 | 8-48 characters | Defines the length of the passcode. | ## Create a Temporary Access Pass
These roles can perform the following actions related to a Temporary Access Pass
- Authentication Administrators can create, delete, and view a Temporary Access Pass on members (except themselves) - Global Reader can view the Temporary Access Pass details on the user (without reading the code itself).
-1. Sign in to the Azure portal as either a Global administrator, Privileged Authentication administrator, or Authentication administrator.
+1. Sign in to the Azure portal by using of the preceding roles.
1. Select **Azure Active Directory**, browse to Users, select a user, such as *Chris Green*, then choose **Authentication methods**. 1. If needed, select the option to **Try the new user authentication methods experience**. 1. Select the option to **Add authentication methods**.
The most common use for a Temporary Access Pass is for a user to register authen
1. Open a web browser to [https://aka.ms/mysecurityinfo](https://aka.ms/mysecurityinfo). 1. Enter the UPN of the account you created the Temporary Access Pass for, such as *tapuser@contoso.com*.
-1. If the user is included in the Temporary Access Pass policy, they'll see a screen to enter their Temporary Access Pass.
+1. If the user is included in the Temporary Access Pass policy, they see a screen to enter their Temporary Access Pass.
1. Enter the Temporary Access Pass that was displayed in the Azure portal.
- ![Screenshot of how to enter a Temporary Access Pass.](./media/how-to-authentication-temporary-access-pass/enter.png)
+ :::image type="content" border="true" source="./media/how-to-authentication-temporary-access-pass/enter.png" alt-text="Screenshot of how to enter a Temporary Access Pass.":::
>[!NOTE]
->For federated domains, a Temporary Access Pass is preferred over federation. A user with a Temporary Access Pass will complete the authentication in Azure AD and will not get redirected to the federated Identity Provider (IdP).
+>For federated domains, a Temporary Access Pass is preferred over federation. A user with a Temporary Access Pass completes the authentication in Azure AD and isn't redirected to the federated Identity Provider (IdP).
The user is now signed in and can update or register a method such as FIDO2 security key. Users who update their authentication methods due to losing their credentials or device should make sure they remove the old authentication methods. Users can also continue to sign-in by using their password; a TAP doesnΓÇÖt replace a userΓÇÖs password. - ### User management of Temporary Access Pass
-Users managing their security information at [https://aka.ms/mysecurityinfo](https://aka.ms/mysecurityinfo) will see an entry for the Temporary Access Pass. If a user does not have any other registered methods, they'll be presented a banner at the top of the screen requesting them to add a new sign-in method. Users can additionally view the TAP expiration time, and delete the TAP if no longer needed.
+Users managing their security information at [https://aka.ms/mysecurityinfo](https://aka.ms/mysecurityinfo) see an entry for the Temporary Access Pass. If a user does not have any other registered methods, they get a banner at the top of the screen that says to add a new sign-in method. Users can also see the TAP expiration time, and delete the TAP if it's no longer needed.
![Screenshot of how users can manage a Temporary Access Pass in My Security Info.](./media/how-to-authentication-temporary-access-pass/tap-my-security-info.png) ### Windows device setup Users with a Temporary Access Pass can navigate the setup process on Windows 10 and 11 to perform device join operations and configure Windows Hello for Business. Temporary Access Pass usage for setting up Windows Hello for Business varies based on the devices joined state.
-For Azure AD Joined devices:
-- During the Azure AD Join setup process, users can authenticate with a TAP (no password required) to join the device and register Windows Hello for Business.-- On already joined devices, users must first authenticate with another method such as a password, smartcard or FIDO2 key, before using TAP to set up Windows Hello for Business. -- If the [Web sign-in](/windows/client-management/mdm/policy-csp-authentication#authentication-enablewebsignin) feature on Windows is also enabled, the user can use TAP to sign into the device. This is intended only for completing initial device setup, or recovery when the user does not know or have a password.
+For joined devices to Azure AD:
+- During the domain-join setup process, users can authenticate with a TAP (no password required) to join the device and register Windows Hello for Business.
+- On already-joined devices, users must first authenticate with another method such as a password, smartcard or FIDO2 key, before using TAP to set up Windows Hello for Business.
+- If the [Web sign-in](/windows/client-management/mdm/policy-csp-authentication#authentication-enablewebsignin) feature on Windows is also enabled, the user can use TAP to sign into the device. This is intended only for completing initial device setup, or recovery when the user doesn't know or have a password.
-For Hybrid Azure AD Joined devices:
-- Users must first authenticate with another method such as a password, smartcard or FIDO2 key, before using TAP to set up Windows Hello for Business.
+For hybrid-joined devices, users must first authenticate with another method such as a password, smartcard or FIDO2 key, before using TAP to set up Windows Hello for Business.
![Screenshot of how to enter Temporary Access Pass when setting up Windows 10.](./media/how-to-authentication-temporary-access-pass/windows-10-tap.png)
If MFA is required for the resource tenant, the guest user needs to perform MFA
An expired or deleted Temporary Access Pass canΓÇÖt be used for interactive or non-interactive authentication. Users need to reauthenticate with different authentication methods after the Temporary Access Pass is expired or deleted.
-The token lifetime (session token, refresh token, access token, etc.) obtained via a Temporary Access Pass login will be limited to the Temporary Access Pass lifetime. As a result, a Temporary Access Pass expiring will lead to the expiration of the associated token.
+The token lifetime (session token, refresh token, access token, and so on) obtained by using a Temporary Access Pass login is limited to the Temporary Access Pass lifetime. When a Temporary Access Pass expires, it leads to the expiration of the associated token.
## Delete an expired Temporary Access Pass
For more information, see [Remove-MgUserAuthenticationTemporaryAccessPassMethod]
- A user can only have one Temporary Access Pass. The passcode can be used during the start and end time of the Temporary Access Pass. - If the user requires a new Temporary Access Pass:
- - If the existing Temporary Access Pass is valid, the admin can create a new Temporary Access Pass which will override the existing valid Temporary Access Pass.
+ - If the existing Temporary Access Pass is valid, the admin can create a new Temporary Access Pass to override the existing valid Temporary Access Pass.
- If the existing Temporary Access Pass has expired, a new Temporary Access Pass will override the existing Temporary Access Pass. For more information about NIST standards for onboarding and recovery, see [NIST Special Publication 800-63A](https://pages.nist.gov/800-63-3/sp800-63a.html#sec4).
For more information about NIST standards for onboarding and recovery, see [NIST
Keep these limitations in mind: - When using a one-time Temporary Access Pass to register a Passwordless method such as FIDO2 or Phone sign-in, the user must complete the registration within 10 minutes of sign-in with the one-time Temporary Access Pass. This limitation doesn't apply to a Temporary Access Pass that can be used more than once.-- Users in scope for Self Service Password Reset (SSPR) registration policy *or* [Identity Protection Multi-factor authentication registration policy](../identity-protection/howto-identity-protection-configure-mfa-policy.md) will be required to register authentication methods after they've signed in with a Temporary Access Pass using a browser.
-Users in scope for these policies will get redirected to the [Interrupt mode of the combined registration](concept-registration-mfa-sspr-combined.md#combined-registration-modes). This experience doesn't currently support FIDO2 and Phone Sign-in registration.
+- Users in scope for Self Service Password Reset (SSPR) registration policy *or* [Identity Protection Multi-factor authentication registration policy](../identity-protection/howto-identity-protection-configure-mfa-policy.md) are required to register authentication methods after they've signed in with a Temporary Access Pass using a browser.
+Users in scope for these policies are redirected to the [Interrupt mode of the combined registration](concept-registration-mfa-sspr-combined.md#combined-registration-modes). This experience doesn't currently support FIDO2 and Phone Sign-in registration.
- A Temporary Access Pass can't be used with the Network Policy Server (NPS) extension and Active Directory Federation Services (AD FS) adapter. - It can take a few minutes for changes to replicate. Because of this, after a Temporary Access Pass is added to an account it can take a while for the prompt to appear. For the same reason, after a Temporary Access Pass expires, users may still see a prompt for Temporary Access Pass. ## Troubleshooting -- If a Temporary Access Pass isn't offered to a user during sign-in, check the following:
- - The user is in scope for the Temporary Access Pass authentication method policy.
- - The user has a valid Temporary Access Pass, and if it's one-time use, it wasnΓÇÖt used yet.
-- If **Temporary Access Pass sign in was blocked due to User Credential Policy** appears during sign-in with a Temporary Access Pass, check the following:
- - The user has a multi-use Temporary Access Pass while the authentication method policy requires a one-time Temporary Access Pass.
- - A one-time Temporary Access Pass was already used.
+- If a Temporary Access Pass isn't offered to a user during sign-in:
+ - Make sure the user is in scope for the Temporary Access Pass authentication method policy.
+ - Make sure the user has a valid Temporary Access Pass, and if it's one-time use, it wasnΓÇÖt used yet.
+- If **Temporary Access Pass sign in was blocked due to User Credential Policy** appears during sign-in with a Temporary Access Pass:
+ - Make sure the user doesn't have a multi-use Temporary Access Pass while the authentication method policy requires a one-time Temporary Access Pass.
+ - Check if a one-time Temporary Access Pass was already used.
- If Temporary Access Pass sign-in was blocked due to User Credential Policy, check that the user is in scope for the TAP policy. ## Next steps
active-directory All Reports https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/cloud-infrastructure-entitlement-management/all-reports.md
This article provides you with a list and description of the system reports avai
| Report name | Type of the report | File format | Description | Availability | Collated report? | |-|--|--|| -|-| | Access Key Entitlements and Usage Report | Summary </p>Detailed | CSV | This report displays: </p> - Access key age, last rotation date, and last usage date availability in the summary report. Use this report to decide when to rotate access keys. </p> - Granted task and Permissions creep index (PCI) score. This report provides supporting information when you want to take the action on the keys. | AWS</p>Azure</p>GCP | Yes |
-| All Permissions for Identity | Detailed | CSV | This report lists all the assigned permissions for the selected identities. | Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP) | N/A |
-| Group Entitlements and Usage | Summary | CSV | This report tracks all group level entitlements and the permission assignment, PCI. The number of members is also listed as part of this report. | AWS, Azure, or GCP | Yes |
-| Identity Permissions | Summary | CSV | This report tracks any, or specific, task usage per **User**, **Group**, **Role**, or **App**. | AWS, Azure, or GCP | No |
-| NIST 800-53 | Detailed </p>Summary </p>Dashboard | CSV </p>PDF | **Dashboard**: This report helps track the overall progress of the NIST 800-53 benchmark. It lists the percentage passing, overall pass or fail of test control along with the breakup of L1/L2 per Auth system. </p>**Summary**: For each authorized system, this report lists the test control pass or fail per authorized system and the number of resources evaluated for each test control. </p>**Detailed**: This report helps auditors and administrators to track the resource level pass or fail per test control. | AWS, Azure, or GCP | Yes |
-| PCI DSS | Detailed </p>Summary </p>Dashboard | CSV | **Dashboard**: This report helps track the overall progress of the PCI-DSS benchmark. It lists the percentage passing, overall pass or fail of test control along with the breakup of L1/L2 per Auth system. </p>**Summary**: For each authorized system, this report lists the test control pass or fail per authorized system and the number of resources evaluated for each test control. </p>**Detailed**: This report helps auditors and administrators to track the resource level pass or fail per test control. | AWS, Azure, or GCP | Yes |
-| PCI History | Summary | CSV | This report helps track **Monthly PCI History** for each authorized system. It can be used to plot the trend of the PCI. | AWS, Azure, or GCP | Yes |
-| Permissions Analytics Report (PAR) | Summary | PDF | This report helps monitor the **Identity Privilege** related activity across the authorized systems. It captures any Identity permission change. </p>This report has the following main sections: **User Summary**, **Group Summary**, **Role Summary & Delete Task Summary**. </p>The **User Summary** lists the current granted permissions along with high-risk permissions and resources accessed in 1-day, 7-day, or 30-days durations. There are subsections for newly added or deleted users, users with PCI change, high-risk active/inactive users. </p>The **Group Summary** lists the administrator level groups with the current granted permissions along with high-risk permissions and resources accessed in 1-day, 7-day, or 30-day durations. There are subsections for newly added or deleted groups, groups with PCI change, High-risk active/inactive groups. </p>The **Role Summary** and the **Group Summary** list similar details. </p>The **Delete Task** summary section lists the number of times the **Delete Task** has been executed in the given period. | AWS, Azure, or GCP | No |
-| Permissions Analytics Report (PAR) | Detailed | CSV | This report lists the different key findings in the selected authorized systems. The key findings include **Super identities**, **Inactive identities**, **Over-provisioned active identities**, **Storage bucket hygiene**, **Access key age (AWS)**, and so on. </p>This report helps administrators to visualize the findings across the organization and make decisions. | AWS, Azure, or GCP | Yes |
-| Role/Policy Details | Summary | CSV | This report captures **Assigned/Unassigned** and **Custom/system policy with used/unused condition** for specific or all AWS accounts. </p>Similar data can be captured for Azure and GCP for assigned and unassigned roles. | AWS, Azure, or GCP | No |
-| User Entitlements and Usage | Detailed <p>Summary | CSV | This report provides a summary and details of **User entitlements and usage**. </p>**Data displayed on Usage Analytics** screen is downloaded as part of the **Summary** report. </p>**Detailed permissions usage per User** is listed in the Detailed report. | AWS, Azure, or GCP | Yes |
+| All Permissions for Identity | Detailed | CSV | This report lists all the assigned permissions for the selected identities. | AWS</p>Azure</p>GCP | N/A |
+| Group Entitlements and Usage | Summary | CSV | This report tracks all group level entitlements and the permission assignment, PCI. The number of members is also listed as part of this report. | AWS</p>Azure</p>GCP | Yes |
+| Identity Permissions | Summary | CSV | This report tracks any, or specific, task usage per **User**, **Group**, **Role**, or **App**. | AWS</p>Azure</p>GCP | N/A |
+| AWS Role Policy Audit | Detailed | CSV | This report gives the list of AWS roles, which can be assumed by **User**, **Group**, **resource** or **AWS Role**. | AWS | N/A |
+| Cross Account Access Details| Detailed | CSV | This report helps track **User**, **Group** from other AWS accounts have cross account access to the specified AWS account. | AWS | N/A |
+| PCI History | Summary | CSV | This report helps track **Monthly PCI History** for each authorized system. It can be used to plot the trend of the PCI. | AWS</p>Azure</p>GCP | Yes |
+| Permissions Analytics Report (PAR) | Detailed | CSV | This report lists the different key findings in the selected authorized systems. The key findings include **Super identities**, **Inactive identities**, **Over-provisioned active identities**, **Storage bucket hygiene**, **Access key age (AWS)**, and so on. </p>This report helps administrators to visualize the findings across the organization and make decisions. | AWS</p>Azure</p>GCP | Yes |
+| Role/Policy Details | Summary | CSV | This report captures **Assigned/Unassigned** and **Custom/system policy with used/unused condition** for specific or all AWS accounts. </p>Similar data can be captured for Azure and GCP for assigned and unassigned roles. | AWS</p>Azure</p>GCP | No |
+| User Entitlements and Usage | Detailed <p>Summary <p> Permissions | CSV | **Summary** This report provides the summary view of all the identities with Permissions Creep Index (PCI), granted and executed tasks per Azure subscription, AWS account, GCP project. </p>**Detailed** This report provides a detailed view of Azure role assignments, GCP role assignments and AWS policy assignment along with Permissions Creep Index (PCI), tasks used by each identity. </p>**Permissions** This report provides the list of role assignments for Azure, GCP and policy assignments in AWS per identity. | AWS</p>Azure</p>GCP | Yes |
## Next steps
active-directory Faqs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/cloud-infrastructure-entitlement-management/faqs.md
Yes, a customer can detect, mitigate, and monitor the risk of 'backdoor' account
## Where can customers access Permissions Management?
-Customers can access the Permissions Management interface with a link from the Azure AD extension in the Azure portal.
+Customers can access the Permissions Management interface from the [Microsoft Entra admin center](https://entra.microsoft.com/) .
## Can non-cloud customers use Permissions Management on-premises?
No, Permissions Management doesn't have access to sensitive personal data.
## Where can I find more information about Permissions Management?
-You can read our blog and visit our web page. You can also get in touch with your Microsoft point of contact to schedule a demo.
+You can read our [blog](https://techcommunity.microsoft.com/t5/microsoft-entra-azure-ad-blog/bg-p/Identity) and visit our [web page](https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-permissions-management). You can also get in touch with your Microsoft point of contact to schedule a demo.
## What is the data destruction/decommission process?
Although Permissions Management supports all resources, Microsoft only requires
## How do I figure out how many resources I have?
-To find out how many resources you have across your multicloud infrastructure, view the Billable Resources tab in Permissions Management.
+To find out how many resources you have across your multicloud infrastructure, select Settings (gear icon) and view the Billable Resources tab in Permissions Management.
## What do I do if IΓÇÖm using Public Preview version of Entra Permissions Management?
active-directory Permissions Management Trial User Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/cloud-infrastructure-entitlement-management/permissions-management-trial-user-guide.md
If the above points are met, continue with the following steps:
**Option 1 (Recommended): Automatically manage** ΓÇô this option allows subscriptions to be automatically detected and monitored without additional configuration.
- **Option 2**: **Enter authorization systems** - you have the ability to specify only certain subscriptions to manage and monitor with MEPM (up to 10 per collector).
+ **Option 2**: **Enter authorization systems** - you have the ability to specify only certain subscriptions to manage and monitor with MEPM (up to 100 per collector).
**Option 3**: **Select authorization systems** - this option detects all subscriptions that are accessible by the Cloud Infrastructure Entitlement Management application.
active-directory Concept Conditional Access Cloud Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/conditional-access/concept-conditional-access-cloud-apps.md
Administrators can assign a Conditional Access policy to the following cloud app
- Microsoft Application Insights Analytics - [Microsoft Azure Information Protection](/azure/information-protection/faqs#i-see-azure-information-protection-is-listed-as-an-available-cloud-app-for-conditional-accesshow-does-this-work) - [Microsoft Azure Management](#microsoft-azure-management)-- Microsoft Azure Subscription Management - Microsoft Defender for Cloud Apps - Microsoft Commerce Tools Access Control Portal - Microsoft Commerce Tools Authentication Service
active-directory Concept Conditional Access Conditions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/conditional-access/concept-conditional-access-conditions.md
+ # Conditional Access: Conditions Within a Conditional Access policy, an administrator can make use of signals from conditions like risk, device platform, or location to enhance their policy decisions.
This setting works with all browsers. However, to satisfy a device policy, like
| iOS | Microsoft Edge, Safari (see the notes) | | Android | Microsoft Edge, Chrome | | macOS | Microsoft Edge, Chrome, Safari |
+| Linux Desktop|Microsoft Edge|
These browsers support device authentication, allowing the device to be identified and validated against a policy. The device check fails if the browser is running in private mode or if cookies are disabled.
By selecting **Other clients**, you can specify a condition that affects apps th
The device state condition was used to exclude devices that are hybrid Azure AD joined and/or devices marked as compliant with a Microsoft Intune compliance policy from an organization's Conditional Access policies. For example, *All users* accessing the *Microsoft Azure Management* cloud app including **All device state** excluding **Device Hybrid Azure AD joined** and **Device marked as compliant** and for *Access controls*, **Block**.
- - This example would create a policy that only allows access to Microsoft Azure Management from devices that are either hybrid Azure AD joined or devices marked as compliant.
+- This example would create a policy that only allows access to Microsoft Azure Management from devices that are either hybrid Azure AD joined or devices marked as compliant.
The above scenario, can be configured using *All users* accessing the *Microsoft Azure Management* cloud app with **Filter for devices** condition in **exclude** mode using the following rule **device.trustType -eq "ServerAD" -or device.isCompliant -eq True** and for *Access controls*, **Block**. - This example would create a policy that blocks access to Microsoft Azure Management cloud app from unmanaged or non-compliant devices.
ThereΓÇÖs a new optional condition in Conditional Access called filter for devic
- [Conditional Access: Grant](concept-conditional-access-grant.md) - [Conditional Access common policies](concept-conditional-access-policy-common.md)++
active-directory Concept Conditional Access Users Groups https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/conditional-access/concept-conditional-access-users-groups.md
The following options are available to include when creating a Conditional Acces
> [!WARNING] > Conditional Access policies do not support users assigned a directory role [scoped to an administrative unit](../roles/admin-units-assign-roles.md) or directory roles scoped directly to an object, like through [custom roles](../roles/custom-create.md).
+> [!NOTE]
+> When targeting policies to B2B direct connect external users, these policies will also be applied to B2B collaboration users accessing Teams or SharePoint Online who are also eligible for B2B direct connect. The same applies for policies targeted to B2B collaboration external users, meaning users accessing Teams shared channels will have B2B collaboration policies apply if they also have a guest user presence in the tenant.
+ ## Exclude users When organizations both include and exclude a user or group the user or group is excluded from the policy, as an exclude action overrides an include in policy. Exclusions are commonly used for emergency access or break-glass accounts. More information about emergency access accounts and why they're important can be found in the following articles:
active-directory Location Condition https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/conditional-access/location-condition.md
If you select **Determine location by IP address**, the system collects the IP a
If you select **Determine location by GPS coordinates**, the user needs to have the Microsoft Authenticator app installed on their mobile device. Every hour, the system contacts the userΓÇÖs Microsoft Authenticator app to collect the GPS location of the userΓÇÖs mobile device.
-The first time the user must share their location from the Microsoft Authenticator app, the user receives a notification in the app. The user needs to open the app and grant location permissions. Every hour the user is accessing resources covered by the policy they need to approve a push notification from the app.
+The first time the user must share their location from the Microsoft Authenticator app, the user receives a notification in the app. The user needs to open the app and grant location permissions. For the next 24 hours, if the user is still accessing the resource and granted the app permission to run in the background, the device's location is shared silently once per hour.
+
+- After 24 hours, the user must open the app and approve the notification.
+- Users who have number matching or additional context enabled in the Microsoft Authenticator app won't receive notifications silently and must open the app to approve notifications.
-Every time the user shares their GPS location, the app does jailbreak detection (Using the same logic as the Intune MAM SDK). If the device is jailbroken, the location isn't considered valid, and the user isn't granted access.
+Every time the user shares their GPS location, the app does jailbreak detection (Using the same logic as the Intune MAM SDK). If the device is jailbroken, the location isn't considered valid, and the user isn't granted access. The Microsoft Authenticator app on Android uses the Google Play Integrity API to facilitate jailbreak detection. If the Google Play Integrity API is unavailable, the request is denied and the user isn't be able to access the requested resource unless the Conditional Access policy is disabled.
> [!NOTE] > A Conditional Access policy with GPS-based named locations in report-only mode prompts users to share their GPS location, even though they aren't blocked from signing in.
active-directory App Objects And Service Principals https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/app-objects-and-service-principals.md
To access resources that are secured by an Azure AD tenant, the entity that requ
There are three types of service principal: -- **Application** - The type of service principal is the local representation, or application instance, of a global application object in a single tenant or directory. In this case, a service principal is a concrete instance created from the application object and inherits certain properties from that application object. A service principal is created in each tenant where the application is used and references the globally unique app object. The service principal object defines what the app can actually do in the specific tenant, who can access the app, and what resources the app can access.
+- **Application** - This type of service principal is the local representation, or application instance, of a global application object in a single tenant or directory. In this case, a service principal is a concrete instance created from the application object and inherits certain properties from that application object. A service principal is created in each tenant where the application is used and references the globally unique app object. The service principal object defines what the app can actually do in the specific tenant, who can access the app, and what resources the app can access.
When an application is given permission to access resources in a tenant (upon registration or consent), a service principal object is created. When you register an application using the Azure portal, a service principal is created automatically. You can also create service principal objects in a tenant using Azure PowerShell, Azure CLI, Microsoft Graph, and other tools.
active-directory Custom Extension Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/develop/custom-extension-get-started.md
The following JSON snippet demonstrates how to configure these properties.
``` > [!WARNING]
-> Do not set `acceptMappedClaims` property to `true` for multi-tenant apps, which can allow malicious actors to create claims-mapping policies for your app. Instead [configure a custom signing key](active-directory-claims-mapping.md#configure-a-custom-signing-key).
+> Do not set `acceptMappedClaims` property to `true` for multi-tenant apps, which can allow malicious actors to create claims-mapping policies for your app. Instead [configure a custom signing key](/graph/application-saml-sso-configure-api#option-2-create-a-custom-signing-certificate).
## Step 4. Assign a custom claims provider to your app
active-directory Device Management Azure Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/devices/device-management-azure-portal.md
The exported list includes these device identity attributes:
If you want to manage device identities by using the Azure portal, the devices need to be either [registered or joined](overview.md) to Azure AD. As an administrator, you can control the process of registering and joining devices by configuring the following device settings.
-You must be assigned one of the following roles to view or manage device settings in the Azure portal:
+You must be assigned one of the following roles to view device settings in the Azure portal:
- Global Administrator - Global Reader - Cloud Device Administrator-- Intune administrator-- Windows 365 administrator-- Directory reviewer
+- Intune Administrator
+- Windows 365 Administrator
+- Directory Reviewer
+
+You must be assigned one of the following roles to manage device settings in the Azure portal:
+
+- Global Administrator
+- Cloud Device Administrator
![Screenshot that shows device settings related to Azure AD.](./media/device-management-azure-portal/device-settings-azure-portal.png)
You must be assigned one of the following roles to view or manage device setting
This option is a premium edition capability available through products like Azure AD Premium and Enterprise Mobility + Security. - **Enable Azure AD Local Administrator Password Solution (LAPS) (preview)**: LAPS is the management of local account passwords on Windows devices. LAPS provides a solution to securely manage and retrieve the built-in local admin password. With cloud version of LAPS, customers can enable storing and rotation of local admin passwords for both Azure AD and Hybrid Azure AD join devices. To learn how to manage LAPS in Azure AD, see [the overview article](howto-manage-local-admin-passwords.md). -- **Restrict non-admin users from recovering the BitLocker key(s) for their owned devices (preview)**: In this preview, admins can block self-service BitLocker key access to the registered owner of the device. Default users without the BitLocker read permission will be unable to view or copy their BitLocker key(s) for their owned devices.
+- **Restrict non-admin users from recovering the BitLocker key(s) for their owned devices**: Admins can block self-service BitLocker key access to the registered owner of the device. Default users without the BitLocker read permission will be unable to view or copy their BitLocker key(s) for their owned devices. You must be a Global Administrator or Privileged Role Administrator to update this setting.
- **Enterprise State Roaming**: For information about this setting, see [the overview article](enterprise-state-roaming-overview.md).
active-directory Howto Vm Sign In Azure Ad Windows https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/devices/howto-vm-sign-in-azure-ad-windows.md
Azure China 21Vianet:
- `https://login.chinacloudapi.cn`: For authentication flows. - `https://pas.chinacloudapi.cn`: For Azure RBAC flows.
+### Authentication requirements
+
+[Azure AD Guest accounts](https://learn.microsoft.com/azure/active-directory/external-identities/what-is-b2b) cannot connect to Azure Bastion via Azure AD authentication.
+ ## Enable Azure AD login for a Windows VM in Azure To use Azure AD login for a Windows VM in Azure, you must:
active-directory How To Add Attributes To Token https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/external-identities/customers/how-to-add-attributes-to-token.md
Previously updated : 05/08/2023 Last updated : 06/14/2023
You can specify which built-in or custom attributes you want to include as claim
### To add a built-in attribute to the token as a claim
-1. On the **Manage claim** page, select **Add new claim**.
+1. On the **Attributes & Claims** page, select **Add new claim**.
1. Enter a **Name**. 1. Next to **Source**, select **Attribute**. Then use the drop down list to select the built-in attribute.
You can specify which built-in or custom attributes you want to include as claim
### To add a custom attribute to the token as a claim
-1. On the **Manage claim** page, select **Add new claim**.
+1. On the **Attributes & Claims** page, select **Add new claim**.
1. Enter a **Name**. 1. Next to **Source**, select **Directory schema extension (Preview)**.
You can specify which built-in or custom attributes you want to include as claim
### Update the application manifest to accept mapped claims
-Ensure that **"allowPublicClient": true** is set in the application manifest.
-
-1. In the left menu, under **Manage**, select **Manifest** to open application manifest.
-
-1. Find the **acceptMappedClaims** key and ensure its value is set to **true**.
+1. In the [Microsoft Entra admin center](https://entra.microsoft.com/), select **Azure Active Directory**.
+1. Select **Applications** > **App registrations**.
+1. Select your application in the list to open the application's **Overview** page.
+1. In the left menu, under **Manage**, select **Manifest** to open the application manifest.
+1. Find the **acceptMappedClaims** key and set its value to **true**.
+1. Find the **allowPublicClient** key and set its value to **true**.
+1. Select **Save**.
## Next steps
active-directory How To Facebook Federation Customers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/external-identities/customers/how-to-facebook-federation-customers.md
If you don't already have a Facebook account, sign up at [https://www.facebook.c
1. From the menu, select **Facebook Login**, select **Settings**. 1. In **Valid OAuth redirect URIs**, enter the following URIs, replacing `<tenant-ID>` with your customer tenant ID and `<tenant-name>` with your customer tenant name: - `https://login.microsoftonline.com/te/<tenant-ID>/oauth2/authresp`
- - `https://<tenant-ID>.ciamlogin.com/<tenant-ID>/federation/oidc/www.facebook.com`
- - `https://<tenant-ID>.ciamlogin.com/<tenant-name>.onmicrosoft.com/federation/oidc/www.facebook.com`
- - `https://<tenant-ID>.ciamlogin.com/<tenant-ID>/federation/oauth2`
- - `https://<tenant-ID>.ciamlogin.com/<tenant-name>.onmicrosoft.com/federation/oauth2`
+ - `https://<tenant-name>.ciamlogin.com/<tenant-ID>/federation/oidc/www.facebook.com`
+ - `https://<tenant-name>.ciamlogin.com/<tenant-name>.onmicrosoft.com/federation/oidc/www.facebook.com`
+ - `https://<tenant-name>.ciamlogin.com/<tenant-ID>/federation/oauth2`
+ - `https://<tenant-name>.ciamlogin.com/<tenant-name>.onmicrosoft.com/federation/oauth2`
> [!NOTE] > To find your customer tenant ID, go to the [Microsoft Entra admin center](https://entra.microsoft.com). Under **Azure Active Directory**, select **Overview**. Then select the **Overview** tab and copy the **Tenant ID**. 1. Select **Save Changes** at the bottom of the page.
After you create the Facebook application, in this step you set the Facebook cli
<!-- ![Screenshot that shows how to add Facebook identity provider in Azure AD.](./media/sign-in-with-facebook/configure-facebook-idp.png)--> 1. Enter a **Name**. For example, *Facebook*.
-1. For the **Client ID**, enter the Client ID of the Facebook application that you created earlier.
-1. For the **Client secret**, enter the Client Secret that you recorded.
+1. For the **Client ID**, enter the App ID of the Facebook application that you created earlier.
+1. For the **Client secret**, enter the App Secret that you recorded.
1. Select **Save**. To configure Facebook federation by using PowerShell, follow these steps:
active-directory How To User Flow Sign Up Sign In Customers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/external-identities/customers/how-to-user-flow-sign-up-sign-in-customers.md
You can choose the order in which the attributes are displayed on the sign-up pa
1. Select **Save**.
-1. Select **Create**. The new user flow appears in the user flows list. (You might need to refresh the page.)
- ## Next steps - [Add your application to the user flow](how-to-user-flow-add-application.md)
active-directory Road To The Cloud Establish https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/road-to-the-cloud-establish.md
Previously updated : 06/03/2022 Last updated : 06/14/2023
active-directory Road To The Cloud Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/road-to-the-cloud-introduction.md
Previously updated : 06/03/2022 Last updated : 06/14/2023
active-directory Road To The Cloud Posture https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/road-to-the-cloud-posture.md
Previously updated : 06/03/2022 Last updated : 06/14/2023
Many companies that migrate from Active Directory to Azure AD start with an envi
* **Devices**: Focuses on domain-joined client devices.
-* **Users**: Represents the human and non-human identities and attributes that access resources from devices.
+* **Users and Groups**: Represents human and workload identities and attributes for resource access and group membership for governance and policy creation.
[![Architectural diagram that depicts the common technologies contained in the pillars of applications, devices, and users.](media/road-to-cloud-posture/road-to-the-cloud-start.png)](media/road-to-cloud-posture/road-to-the-cloud-start.png#lightbox)
In this state:
In the hybrid state, organizations start to enhance their on-premises environment through cloud capabilities. The solutions can be planned to reduce complexity, increase security posture, and reduce the footprint of the on-premises environment.
-During the transition and while operating in this state, organizations grow the skills and expertise for using Azure AD for IAM solutions. Because user accounts and device attachments are relatively easy and a common part of day-to-day IT operations, this is the approach that most organizations have used.
+During the transition and while operating in this state, organizations grow the skills and expertise for using Azure AD for IAM solutions. Because user accounts and device attachments are relatively easy and a common part of day-to-day IT operations, most organizations have used this approach.
In this state:
In this state:
* New Windows clients are joined to Azure AD and are managed through Intune. * ECMA connectors are used to provision users and groups for on-premises apps.
-* All apps that previously used an AD DS-integrated federated identity provider, such as AD FS, are updated to use Azure AD for authentication. If you were using password-based authentication through that identity provider for Azure AD, it's migrated to password hash synchronization.
+* All apps that previously used an AD DS-integrated federated identity provider, such as AD FS, are updated to use Azure AD for authentication. If you used password-based authentication through that identity provider for Azure AD, it's migrated to password hash synchronization.
* Plans to shift file and print services to Azure AD are being developed. * Azure AD provides a business-to-business (B2B) collaboration capability. * New groups are created and managed in Azure AD.
In this state:
### State 5: 100% cloud
-In the 100%-cloud state, Azure AD and other Azure tools provide all IAM capability. This is the long-term aspiration for many organizations.
+In the 100%-cloud state, Azure AD and other Azure tools provide all IAM capability. This state is the long-term aspiration for many organizations.
In this state:
The transformation between the states is similar to moving locations:
1. **Limit new items in the old location**: You stop investing in the old location and set a policy to stage new items in the new location. For more information, see [Implement a cloud-first approach](road-to-the-cloud-implement.md). These activities set the foundation to migrate at scale and reach state 3.
-1. **Move existing items to the new location**: You move items from the old location to the new location. You assess the business value of the items to determine if you'll move them as is, upgrade them, replace them, or deprecate them. For more information, see [Transition to the cloud](road-to-the-cloud-migrate.md).
+1. **Move existing items to the new location**: You move items from the old location to the new location. You assess the business value of the items to determine if you move them as is, upgrade them, replace them, or deprecate them. For more information, see [Transition to the cloud](road-to-the-cloud-migrate.md).
These activities enable you to complete state 3 and reach states 4 and 5. Based on your business objectives, you decide what end state you want to target.
active-directory Whats New https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/fundamentals/whats-new.md
Managed identities are a part of the Azure infrastructure, simplifying how devel
With MSAL.NET 4.54.0, the Managed Identity APIs are now stable. There are a few changes that we added that make them easier to use and integrate that might require tweaking your code if youΓÇÖve used our [experimental implementation](https://den.dev/blog/managed-identity-msal-net/): -- When using Managed Identity APIs, developers will need to specify the identity type when creating an [ManagedIdentityApplication](/dotnet/api/microsoft.identity.client.managedidentityapplication).
+- When using Managed Identity APIs, developers need to specify the identity type when creating an [ManagedIdentityApplication](/dotnet/api/microsoft.identity.client.managedidentityapplication).
- When acquiring tokens with Managed Identity APIs and using the default HTTP client, MSAL retries the request for certain exception codes. - We added a new [MsalManagedIdentityException](/dotnet/api/microsoft.identity.client.msalmanagedidentityexception) class that represents any Managed Identity-related exceptions. It includes general exception information, including the Azure source from which the exception originates. - MSAL will now proactively refresh tokens acquired with Managed Identity.
The Azure AD on-premises application provisioning feature now supports both the
**Service category:** Identity Protection **Product capability:** Identity Security & Protection
-Identity Protection has added a new detection, using the Microsoft Threat Intelligence database, to detect sign-in's performed from IP addresses of known nation state and cyber-crime actors and allow customers to block these sign-ins's by using risk-based conditional access policies. For more information, see: [Sign-in risk](../identity-protection/concept-identity-protection-risks.md#sign-in-risk).
+Identity Protection has added a new detection, using the Microsoft Threat Intelligence database, to detect sign-in's performed from IP addresses of known nation state and cyber-crime actors and allow customers to block these sign-in's by using risk-based conditional access policies. For more information, see: [Sign-in risk](../identity-protection/concept-identity-protection-risks.md#sign-in-risk).
Token Protection for sign-in sessions is our first release on a road-map to comb
**Service category:** Group Management **Product capability:** Directory
-Starting in June 2023, the secrets stored on a single group can't exceed 48 individual secrets, or have a total size greater than 10KB across all secrets on a single group. Groups with more than 10KB of secrets will immediately stop working in June 2023. In June, groups exceeding 48 secrets are unable to increase the number of secrets they have, though they may still update or delete those secrets. We highly recommend reducing to fewer than 48 secrets by January 2024.
+Starting in June 2023, the secrets stored on a single group can't exceed 48 individual secrets, or have a total size greater than 10 KB across all secrets on a single group. Groups with more than 10 KB of secrets will immediately stop working in June 2023. In June, groups exceeding 48 secrets are unable to increase the number of secrets they have, though they may still update or delete those secrets. We highly recommend reducing to fewer than 48 secrets by January 2024.
Group secrets are typically created when a group is assigned credentials to an app using Password-based single sign-on. To reduce the number of secrets assigned to a group, we recommend creating additional groups, and splitting up group assignments to your Password-based SSO applications across those new groups. For more information, see: [Add password-based single sign-on to an application](../manage-apps/configure-password-single-sign-on-non-gallery-applications.md).
Group secrets are typically created when a group is assigned credentials to an a
**Service category:** Microsoft Authenticator App **Product capability:** User Authentication
-Authenticator Lite is an additional surface for Azure Active Directory users to complete multifactor authentication using push notifications on their Android or iOS device. With Authenticator Lite, users can satisfy a multifactor authentication requirement from the convenience of a familiar app. Authenticator Lite is currently enabled in the Outlook mobile app. Users may receive a notification in their Outlook mobile app to approve or deny, or use the Outlook app to generate an OATH verification code that can be entered during sign-in. The *'Microsoft managed'* setting for this feature will be set to enabled on May 26th, 2023. This enables the feature for all users in tenants where the feature is set to Microsoft managed. If you wish to change the state of this feature, please do so before May 26, 2023. For more information, see: [How to enable Microsoft Authenticator Lite for Outlook mobile (preview)](../authentication/how-to-mfa-authenticator-lite.md).
+Authenticator Lite is an additional surface for Azure Active Directory users to complete multifactor authentication using push notifications on their Android or iOS device. With Authenticator Lite, users can satisfy a multifactor authentication requirement from the convenience of a familiar app. Authenticator Lite is currently enabled in the Outlook mobile app. Users may receive a notification in their Outlook mobile app to approve or deny, or use the Outlook app to generate an OATH verification code that can be entered during sign-in. The *'Microsoft managed'* setting for this feature will be set to be enabled on May 26, 2023. This enables the feature for all users in tenants where the feature is set to Microsoft managed. If you wish to change the state of this feature, please do so before May 26, 2023. For more information, see: [How to enable Microsoft Authenticator Lite for Outlook mobile (preview)](../authentication/how-to-mfa-authenticator-lite.md).
For more information, see: [How to use number matching in multifactor authentica
Earlier, we announced our plan to bring IPv6 support to Microsoft Azure Active Directory (Azure AD), enabling our customers to reach the Azure AD services over IPv4, IPv6 or dual stack endpoints. This is just a reminder that we have started introducing IPv6 support into Azure AD services in a phased approach in late March 2023.
-If you utilize Conditional Access or Identity Protection, and have IPv6 enabled on any of your devices, you likely must take action to avoid impacting your users. For most customers, IPv4 won't completely disappear from their digital landscape, so we aren't planning to require IPv6 or to deprioritize IPv4 in any Azure AD features or services. We'll continue to share additional guidance on IPv6 enablement in Azure AD at this link: [IPv6 support in Azure Active Directory](/troubleshoot/azure/active-directory/azure-ad-ipv6-support).
+If you utilize Conditional Access or Identity Protection, and have IPv6 enabled on any of your devices, you likely must take action to avoid impacting your users. For most customers, IPv4 won't completely disappear from their digital landscape, so we aren't planning to require IPv6 or to deprioritize IPv4 in any Azure AD features or services. We continue to share additional guidance on IPv6 enablement in Azure AD at this link: [IPv6 support in Azure Active Directory](/troubleshoot/azure/active-directory/azure-ad-ipv6-support).
Starting July 2023, we're modernizing the following Terms of Use end user experi
- View previously accepted terms of use. - Accept or decline terms of use as part of the sign-in flow.
-No functionalities will be removed. The new PDF viewer adds functionality and the limited visual changes in the end-user experiences will be communicated in a future update. If your organization has allow-listed only certain domains, you must ensure your allowlist includes the domains ΓÇÿmyaccount.microsoft.comΓÇÖ and ΓÇÿ*.myaccount.microsoft.comΓÇÖ for Terms of Use to continue working as expected.
+No functionalities are removed. The new PDF viewer adds functionality and the limited visual changes in the end-user experiences will be communicated in a future update. If your organization has allow-listed only certain domains, you must ensure your allowlist includes the domains ΓÇÿmyaccount.microsoft.comΓÇÖ and ΓÇÿ*.myaccount.microsoft.comΓÇÖ for Terms of Use to continue working as expected.
No functionalities will be removed. The new PDF viewer adds functionality and th
**Service category:** Privileged Identity Management **Product capability:** Privileged Identity Management
-Privileged Identity Management (PIM) role activation has been expanded to the Billing and AD extensions in the Azure portal. Shortcuts have been added to Subscriptions (billing) and Access Control (AD) to allow users to activate PIM roles directly from these blades. From the Subscriptions blade, select **View eligible subscriptions** in the horizontal command menu to check your eligible, active, and expired assignments. From there, you can activate an eligible assignment in the same pane. In Access control (IAM) for a resource, you can now select **View my access** to see your currently active and eligible role assignments and activate directly. By integrating PIM capabilities into different Azure portal blades, this new feature allows users to gain temporary access to view or edit subscriptions and resources more easily.
+Privileged Identity Management (PIM) role activation has been expanded to the Billing and AD extensions in the Azure portal. Shortcuts have been added to Subscriptions (billing) and Access Control (AD) to allow users to activate PIM roles directly from these settings. From the Subscriptions settings, select **View eligible subscriptions** in the horizontal command menu to check your eligible, active, and expired assignments. From there, you can activate an eligible assignment in the same pane. In Access control (IAM) for a resource, you can now select **View my access** to see your currently active and eligible role assignments and activate directly. By integrating PIM capabilities into different Azure portal blades, this new feature allows users to gain temporary access to view or edit subscriptions and resources more easily.
For more information Microsoft cloud settings, see: [Activate my Azure resource roles in Privileged Identity Management](../privileged-identity-management/pim-resource-roles-activate-your-roles.md).
For more information on how to enable this feature, see: [Cloud Sync directory e
-## December 2022
-
-### Public Preview - Windows 10+ Troubleshooter for Diagnostic Logs
---
-**Type:** New feature
-**Service category:** Audit
-**Product capability:** Monitoring & Reporting
-
-This feature analyzes uploaded client-side logs, also known as diagnostic logs, from a Windows 10+ device that is having an issue(s) and suggests remediation steps to resolve the issue(s). Admins can work with end user to collect client-side logs, and then upload them to this troubleshooter in the Entra Portal. For more information, see: [Troubleshooting Windows devices in Azure AD](../devices/troubleshoot-device-windows-joined.md).
----
-### General Availability - Multiple Password-less Phone Sign-ins for iOS Devices
---
-**Type:** New feature
-**Service category:** Authentications (Logins)
-**Product capability:** User Authentication
-
-End users can now enable password-less phone sign-in for multiple accounts in the Authenticator App on any supported iOS device. Consultants, students, and others with multiple accounts in Azure AD can add each account to Microsoft Authenticator and use password-less phone sign-in for all of them from the same iOS device. The Azure AD accounts can be in the same tenant or different tenants. Guest accounts aren't supported for multiple account sign-ins from one device.
--
-End users aren't required to enable the optional telemetry setting in the Authenticator App. For more information, see: [Enable passwordless sign-in with Microsoft Authenticator](../authentication/howto-authentication-passwordless-phone.md).
----
-### Public Preview(refresh) - Updates to Conditional Access templates
---
-**Type:** Changed feature
-**Service category:** Conditional Access
-**Product capability:** Identity Security & Protection
-
-Conditional Access templates provide a convenient method to deploy new policies aligned with Microsoft recommendations. In total, there are 14 Conditional Access policy templates, filtered by five different scenarios; secure foundation, zero trust, remote work, protect administrators, and emerging threats.
-
-In this Public Preview refresh, we've enhanced the user experience with an updated design and added four new improvements:
-
-- Admins can create a Conditional Access policy by importing a JSON file.-- Admins can duplicate existing policy.-- Admins can view more detailed policy information.-- Admins can query templates programmatically via MSGraph API.--
-For more information, see: [Conditional Access templates (Preview)](../conditional-access/concept-conditional-access-policy-common.md).
---
-### Public Preview - Admins can restrict their users from creating tenants
---
-**Type:** New feature
-**Service category:** User Access Management
-**Product capability:** User Management
-
-The ability for users to create tenants from the Manage Tenant overview has been present in Azure AD since almost the beginning of the Azure portal. This new capability in the User Settings option allows admins to restrict their users from being able to create new tenants. There's also a new [Tenant Creator](../roles/permissions-reference.md#tenant-creator) role to allow specific users to create tenants. For more information, see [Default user permissions](../fundamentals/users-default-permissions.md#restrict-member-users-default-permissions).
----
-### General availability - Consolidated App launcher (My Apps) settings and new preview settings
---
-**Type:** New feature
-**Service category:** My Apps
-**Product capability:** End User Experiences
-
-We have consolidated relevant app launcher settings in a new App launchers section in the Azure and Entra portals. The entry point can be found under Enterprise applications, where Collections used to be. You can find the Collections option by selecting App launchers. In addition, we've added a new App launchers Settings option. This option has some settings you may already be familiar with like the Microsoft 365 settings. The new Settings options also have controls for previews. As an admin, you can choose to try out new app launcher features while they are in preview. Enabling a preview feature means that the feature turns on for your organization. This enabled feature reflects in the My Apps portal, and other app launchers for all of your users. To learn more about the preview settings, see: [End-user experiences for applications](../manage-apps/end-user-experiences.md).
----
-### Public preview - Converged Authentication Methods Policy
---
-**Type:** New feature
-**Service category:** MFA
-**Product capability:** User Authentication
-
-The Converged Authentication Methods Policy enables you to manage all authentication methods used for MFA and SSPR in one policy. You can migrate off the legacy MFA and SSPR policies, and target authentication methods to groups of users instead of enabling them for all users in the tenant. For more information, see: [Manage authentication methods for Azure AD](../authentication/concept-authentication-methods-manage.md).
----
-### General Availability - Administrative unit support for devices
---
-**Type:** New feature
-**Service category:** Directory Management
-**Product capability:** AuthZ/Access Delegation
-
-You can now use administrative units to delegate management of specified devices in your tenant by adding devices to an administrative unit. You're also able to assign built-in, and custom device management roles, scoped to that administrative unit. For more information, see: [Device management](../roles/administrative-units.md#device-management).
----
-### Public Preview - Frontline workers using shared devices can now use Microsoft Edge and Yammer apps on Android
---
-**Type:** New feature
-**Service category:** N/A
-**Product capability:** SSO
-
-Companies often provide mobile devices to frontline workers that need are shared between shifts. MicrosoftΓÇÖs shared device mode allows frontline workers to easily authenticate by automatically signing users in and out of all the apps that have enabled this feature. In addition to Microsoft Teams and Managed Home Screen being generally available, we're excited to announce that Microsoft Edge and Yammer apps on Android are now in Public Preview.
-
-For more information on deploying frontline solutions, see: [frontline deployment documentation](https://aka.ms/frontlinewhitepaper).
--
-For more information on shared-device mode, see: [Azure Active Directory Shared Device Mode documentation](../develop/msal-android-shared-devices.md#microsoft-applications-that-support-shared-device-mode).
--
-For steps to set up shared device mode with Intune, see: [Intune setup blog](https://techcommunity.microsoft.com/t5/intune-customer-success/enroll-android-enterprise-dedicated-devices-into-azure-ad-shared/ba-p/1820093).
----
-### Public preview - New provisioning connectors in the Azure AD Application Gallery - December 2022
---
-**Type:** New feature
-**Service category:** App Provisioning
-**Product capability:** 3rd Party Integration
-
-We've added the following new applications in our App gallery with Provisioning support. You can now automate creating, updating, and deleting of user accounts for these newly integrated apps:
--- [GHAE](../saas-apps/ghae-provisioning-tutorial.md)--
-For more information about how to better secure your organization by using automated user account provisioning, see: [Automate user provisioning to SaaS applications with Azure AD](../app-provisioning/user-provisioning.md).
----
-### General Availability - On-premises application provisioning
---
-**Type:** Changed feature
-**Service category:** Provisioning
-**Product capability:** Outbound to On-premises Applications
-
-Azure AD supports provisioning users into applications hosted on-premises or in a virtual machine, without having to open up any firewalls. If your application supports [SCIM](https://techcommunity.microsoft.com/t5/identity-standards-blog/provisioning-with-scim-getting-started/ba-p/880010), or you've built a SCIM gateway to connect to your legacy application, you can use the Azure AD Provisioning agent to [directly connect](../app-provisioning/on-premises-scim-provisioning.md) with your application and automate provisioning and deprovisioning. If you have legacy applications that don't support SCIM and rely on an [LDAP](../app-provisioning/on-premises-ldap-connector-configure.md) user store, or a [SQL](../app-provisioning/tutorial-ecma-sql-connector.md) database, Azure AD can support those as well.
----
-### General Availability - New Federated Apps available in Azure AD Application gallery - December 2022
---
-**Type:** New feature
-**Service category:** Enterprise Apps
-**Product capability:** 3rd Party Integration
-
-In December 2022 we've added the following 44 new applications in our App gallery with Federation support:
-
-[Bionexo IDM](https://login.bionexo.com/), [SMART Meeting Pro](https://www.smarttech.com/en/business/software/meeting-pro), [Venafi Control Plane ΓÇô Datacenter](../saas-apps/venafi-control-plane-tutorial.md), [HighQ](../saas-apps/highq-tutorial.md), [Drawboard PDF](https://pdf.drawboard.com/), [ETU Skillsims](../saas-apps/etu-skillsims-tutorial.md), [TencentCloud IDaaS](../saas-apps/tencent-cloud-idaas-tutorial.md), [TeamHeadquarters Email Agent OAuth](https://thq.entry.com/), [Verizon MDM](https://verizonmdm.vzw.com/), [QRadar SOAR](../saas-apps/qradar-soar-tutorial.md), [Tripwire Enterprise](../saas-apps/tripwire-enterprise-tutorial.md), [Cisco Unified Communications Manager](../saas-apps/cisco-unified-communications-manager-tutorial.md), [Howspace](https://login.in.howspace.com/), [Flipsnack SAML](../saas-apps/flipsnack-saml-tutorial.md), [Albert](http://www.albertinvent.com/), [Altinget.no](https://www.altinget.no/), [Coveo Hosted Services](../saas-apps/coveo-hosted-services-tutorial.md), [Cybozu(cybozu.com)](../saas-apps/cybozu-tutorial.md), [BombBomb](https://app.bombbomb.com/app), [VMware Identity Service](../saas-apps/vmware-identity-service-tutorial.md), [HexaSync](https://app-az.hexasync.com/login), [Trifecta Teams](https://app.trifectateams.net/), [VerosoftDesign](https://verosoft-design.vercel.app/), [Mazepay](https://app.mazepay.com/), [Wistia](../saas-apps/wistia-tutorial.md), [Begin.AI](https://app.begin.ai/), [WebCE](../saas-apps/webce-tutorial.md), [Dream Broker Studio](https://dreambroker.com/studio/login/), [PKSHA Chatbot](../saas-apps/pksha-chatbot-tutorial.md), [PGM-BCP](https://ups-pgm-bcp.4gfactor.com/azure/), [ChartDesk SSO](../saas-apps/chartdesk-sso-tutorial.md), [Elsevier SP](../saas-apps/elsevier-sp-tutorial.md), [GreenCommerce IdentityServer](https://identity.jem-id.nl/Account/Login), [Fullview](https://app.fullview.io/sign-in), [Aqua Platform](../saas-apps/aqua-platform-tutorial.md), [SpedTrack](../saas-apps/spedtrack-tutorial.md), [Pinpoint](https://pinpoint.ddiworld.com/psg2?sso=true), [Darzin Outlook Add-in](https://outlook.darzin.com/graph-login.html), [Simply Stakeholders Outlook Add-in](https://outlook.simplystakeholders.com/graph-login.html), [tesma](../saas-apps/tesma-tutorial.md), [Parkable](../saas-apps/parkable-tutorial.md), [Unite Us](../saas-apps/unite-us-tutorial.md)
-
-You can also find the documentation of all the applications from here https://aka.ms/AppsTutorial,
-
-For listing your application in the Azure AD app gallery, read the details here https://aka.ms/AzureADAppRequest
---
-### ADAL End of Support Announcement
-
-**Type:** N/A
-**Service category:** Other
-**Product capability:** Developer Experience
-
-As part of our ongoing initiative to improve the developer experience, service reliability, and security of customer applications, we'll end support for the Azure Active Directory Authentication Library (ADAL). The final deadline to migrate your applications to Azure Active Directory Authentication Library (MSAL) has been extended to **June 30, 2023**.
-
-### Why are we doing this?
-
-As we consolidate and evolve the Microsoft Identity platform, we're also investing in making significant improvements to the developer experience and service features that make it possible to build secure, robust and resilient applications. To make these features available to our customers, we needed to update the architecture of our software development kits. As a result of this change, weΓÇÖve decided that the path forward requires us to sunset Azure Active Directory Authentication Library. This allows us to focus on developer experience investments with Azure Active Directory Authentication Library.
-
-### What happens?
-
-We recognize that changing libraries isn't an easy task, and can't be accomplished quickly. We're committed to helping customers plan their migrations to Microsoft Authentication Library and execute them with minimal disruption.
--- In June 2020, we [announced the 2-year end of support timeline for ADAL](https://devblogs.microsoft.com/microsoft365dev/end-of-support-timelines-for-azure-ad-authentication-library-adal-and-azure-ad-graph/). -- In December 2022, weΓÇÖve decided to extend the Azure Active Directory Authentication Library end of support to June 2023. -- Through the next six months (January 2023 ΓÇô June 2023) we continue informing customers about the upcoming end of support along with providing guidance on migration. -- On June 2023 we'll officially sunset Azure Active Directory Authentication Library, removing library documentation and archiving all GitHub repositories related to the project. -
-### How to find out which applications in my tenant are using Azure Active Directory Authentication Library?
-
-Refer to our post on [Microsoft Q&A](/answers/questions/360928/information-how-to-find-apps-using-adal-in-your-te.html) for details on identifying Azure Active Directory Authentication Library apps with the help of [Azure Workbooks](../../azure-monitor/visualize/workbooks-overview.md).
-### If IΓÇÖm using Azure Active Directory Authentication Library, what can I expect after the deadline?
--- There will be no new releases (security or otherwise) to the library after June 2023. -- We won't accept any incident reports or support requests for Azure Active Directory Authentication Library. Azure Active Directory Authentication Library to Microsoft Authentication Library migration support would continue. -- The underpinning services continue working and applications that depend on Azure Active Directory Authentication Library should continue working. Applications, and the resources they access, are at increased security and reliability risk due to not having the latest updates, service configuration, and enhancements made available through the Microsoft Identity platform. -
-### What features can I only access with Microsoft Authentication Library?
-
-The number of features and capabilities that we're adding to Microsoft Authentication Library libraries are growing weekly. Some of them include:
-- Support for Microsoft accounts (MSA) -- Support for Azure AD B2C accounts -- Handling throttling -- Proactive token refresh and token revocation based on policy or critical events for Microsoft Graph and other APIs that supportΓÇ»[Continuous Access Evaluation (CAE)](../develop/app-resilience-continuous-access-evaluation.md)-- Auth broker support with device-based conditional access policies -- Azure AD hardware-based certificate authentication (CBA) on mobile -- System browsers on mobile devices
-And more. For an up-to-date list, refer to our [migration guide](../develop/msal-migration.md#how-to-migrate-to-msal).
-
-### How to migrate?
-
-To make the migration process easier, we published a [comprehensive guide](../develop/msal-migration.md#how-to-migrate-to-msal) that documents the migration paths across different platforms and programming languages.
-
-In addition to the Azure Active Directory Authentication Library to Microsoft Authentication Library update, we recommend migrating from Azure AD Graph API to Microsoft Graph. This change enables you to take advantage of the latest additions and enhancements, such as CAE, across the Microsoft service offering through a single, unified endpoint. You can read more in our [Migrate your apps from Azure AD Graph to Microsoft Graph](/graph/migrate-azure-ad-graph-overview) guide. You can post any questions to [Microsoft Q&A](/answers/topics/azure-active-directory.html) or [Stack Overflow](https://stackoverflow.com/questions/tagged/msal).
--
active-directory How To Connect Health Agent Install https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/hybrid/connect/how-to-connect-health-agent-install.md
To start the agent installation, double-click the *.exe* file you downloaded. In
:::image type="content" source="media/how-to-connect-health-agent-install/install1.png" alt-text="Screenshot that shows the installation window for the Azure AD Connect Health AD FS agent.":::
-After the installation finishes, select **Configure Now**.
--
-A PowerShell window opens to start the agent registration process. When you're prompted, sign in by using an Azure AD account that has permissions to register the agent. By default, the Hybrid Identity Administrator account has permissions.
+When you're prompted, sign in by using an Azure AD account that has permissions to register the agent. By default, the Hybrid Identity Administrator account has permissions.
:::image type="content" source="media/how-to-connect-health-agent-install/install3.png" alt-text="Screenshot that shows the sign-in window for Azure AD Connect Health AD FS.":::
-After you sign in, PowerShell continues the installation. When it finishes, you can close PowerShell. Configuration is complete.
+After you sign in, the installation process will complete and you can close the window.
-At this point, the agent services should start to automatically allow the agent to securely upload the required data to the cloud service.
-
-If you haven't met all the prerequisites, warnings appear in the PowerShell window. Be sure to complete the [requirements](how-to-connect-health-agent-install.md#requirements) before you install the agent. The following screenshot shows an example of these warnings.
+At this point, the agent services should start to automatically allow the agent to securely upload the required data to the cloud service.
To verify that the agent was installed, look for the following services on the server. If you completed the configuration, they should already be running. Otherwise, they're stopped until the configuration is complete. -- Azure AD Connect Health AD FS Diagnostics Service-- Azure AD Connect Health AD FS Insights Service-- Azure AD Connect Health AD FS Monitoring Service
+- Microsoft Azure AD Connect Agent Updater
+- Microsoft Azure AD Connect Health Agent
:::image type="content" source="media/how-to-connect-health-agent-install/install5.png" alt-text="Screenshot that shows Azure AD Connect Health AD FS services.":::
active-directory How To Connect Health Data Freshness https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/hybrid/connect/how-to-connect-health-data-freshness.md
The following table maps service types to corresponding required data types:
| Service type | Agent (Windows Service name) | Purpose | Data type generated | | | | | |
-| Azure AD Connect (Sync) | Azure AD Connect Health Sync Insights Service | Collect AAD Connect-specific information (connectors, synchronization rules, etc.) | - AadSyncService-SynchronizationRules <br /> - AadSyncService-Connectors <br /> - AadSyncService-GlobalConfigurations <br /> - AadSyncService-RunProfileResults <br /> - AadSyncService-ServiceConfigurations <br /> - AadSyncService-ServiceStatus |
-| | Azure AD Connect Health Sync Monitoring Service | Collect AAD Connect-specific perf counters, ETW traces, files | Performance counter |
+| Azure AD Connect (Sync) | Azure AD Connect Health Sync Insights Service | Collect Azure AD Connect-specific information (connectors, synchronization rules, etc.) | - AadSyncService-SynchronizationRules <br /> - AadSyncService-Connectors <br /> - AadSyncService-GlobalConfigurations <br /> - AadSyncService-RunProfileResults <br /> - AadSyncService-ServiceConfigurations <br /> - AadSyncService-ServiceStatus |
+| | Azure AD Connect Health Sync Monitoring Service | Collect Azure AD Connect-specific perf counters, ETW traces, files | Performance counter |
| AD DS | Azure AD Connect Health AD DS Insights Service | Perform synthetic tests, collect topology information, replication metadata | - Adds-TopologyInfo-Json <br /> - Common-TestData-Json (creates the test results) | | | Azure AD Connect Health AD DS Monitoring Service | Collect ADDS-specific perf counters, ETW traces, files | - Performance counter <br /> - Common-TestData-Json (uploads the test results) |
-| AD FS | Azure AD Connect Health AD FS Diagnostics Service | Perform synthetic tests | TestResult (creates the test results) |
-| | Azure AD Connect Health AD FS Insights Service | Collect ADFS usage metrics | Adfs-UsageMetrics |
-| | Azure AD Connect Health AD FS Monitoring Service | Collect ADFS-specific perf counters, ETW traces, files | TestResult (uploads the test results) |
+| AD FS | Microsoft Azure AD Connect Health Agent | Perform synthetic tests | TestResult (creates the test results) |
+| | Microsoft Azure AD Connect Health Agent | Collect ADFS usage metrics | Adfs-UsageMetrics |
+| | Microsoft Azure AD Connect Health Agent | Collect ADFS-specific perf counters, ETW traces, files | TestResult (uploads the test results) |
## Troubleshooting steps
The steps required to diagnose the issue is given below. The first is a set of b
> This alert follows Connect Health [data retention policy](reference-connect-health-user-privacy.md#data-retention-policy) * Make sure the latest versions of the agents are installed. View [release history](reference-connect-health-version-history.md).
-* Make sure that Azure AD Connect Health Agents services are **running** on the machine. For example, Connect Health for AD FS should have three services.
+* Make sure that Microsoft Azure AD Connect Health Agents services are **running** on the machine. For example, Connect Health for AD FS should have two services.
![Verify Azure AD Connect Health](./media/how-to-connect-health-agent-install/install5.png) * Make sure to go over and meet the [requirements section](how-to-connect-health-agent-install.md#requirements).
active-directory Reference Connect Germany https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/hybrid/connect/reference-connect-germany.md
- Title: Azure AD Connect in Microsoft Cloud Germany
-description: Azure AD Connect will integrate your on-premises directories with Azure Active Directory. This allows you to provide a common identity for Microsoft 365, Azure, and SaaS applications integrated with Azure AD.
-keywords: introduction to Azure AD Connect, Azure AD Connect overview, what is Azure AD Connect, install active directory, Germany, Black Forest
------- Previously updated : 01/19/2023-----
-# Azure AD Connect in Microsoft Cloud Germany - Public Preview
-## Introduction
-Azure AD Connect provides synchronization between your on-premises Active Directory and Azure Active Directory.
-Currently, many of the scenarios in [Microsoft Cloud Germany](https://azure.microsoft.com/global-infrastructure/germany/
-) must be done by the operator.
-When using Microsoft Cloud Germany, you must be aware of the following information:
-
-* The following URLs must be opened on a proxy server for synchronization to occur successfully:
-
- * *.microsoftonline.de
- * *.windows.net
- * * Certificate Revocation Lists
-* When you sign in to your Azure AD directory, you must use an account in the onmicrosoft.de domain.
-
-
-## Download
-You can download Azure AD Connect from the Azure AD Connect blade within the portal. Use the instructions below to locate the Azure AD Connect blade.
-
-### The Azure AD Connect Blade
-Once you've signed in to the Azure portal:
-
-1. Go to Browse
-2. Select Azure Active Directory
-3. Then select Azure AD Connect
-
-You'll see these details:
-
-![Azure AD Connect Blade](./media/reference-connect-germany/germany1.png)
-
-The following table describes the features shown in the blade.
-
-| Title | Description |
-| | |
-| SYNC STATUS |Let's you know whether synchronization is enabled or disabled. |
-| LAST SYNC |The last time a successful sync completed. |
-| FEDERATED DOMAINS |Shows the number of federated domains currently configured. |
-
-## Installation
-To install Azure AD Connect, you can use the documentation [here](how-to-connect-install-roadmap.md).
-
-## Advanced features and Additional Information
-For additional information about custom settings or advanced configurations, go to [Integrating your on-premises identities with Azure Active Directory](../whatis-hybrid-identity.md). This page provides information and links to additional guidance.
-
active-directory Reference Connect Health Version History https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/hybrid/connect/reference-connect-health-version-history.md
The Azure Active Directory team regularly updates Azure AD Connect Health with n
Azure AD Connect Health for Sync is integrated with Azure AD Connect installation. Read more about [Azure AD Connect release history](./reference-connect-version-history.md) For feature feedback, vote at [Connect Health User Voice channel](https://feedback.azure.com/d365community/forum/22920db1-ad25-ec11-b6e6-000d3a4f0789)
+## May / June 2023
+**Agent Updates**
+
+Microsoft Azure AD Connect Health ADFS Agents (versions 4.5.x)
+
+- New version of the Azure AD Connect Health ADFS agent that uses an updated architecture.
+ - Updated installer package
+ - Migration to MSAL authentication library
+ - New pre-requisite checks
+ - Improved logging
+ ## 27 March 2023 **Agent Update**
-Azure AD Connect Health ADDS and ADFS Health Agents (version 3.2.2256.26, Download Center Only)
+Azure AD Connect Health AD DS and ADFS Health Agents (version 3.2.2256.26, Download Center Only)
- We created a fix for so that the agents would be FIPS compliant
- - the change was to have the agents use ΓÇÿCloudStorageAccount.UseV1MD5 = falseΓÇÖ so the agent only uses only FIPS compliant cryptography, otherwise azure blob client causes FIPs exceptions to be thrown.
+ - the change was to have the agents use ΓÇÿCloudStorageAccount.UseV1MD5 = falseΓÇÖ so the agent only uses only FIPS compliant cryptography, otherwise Azure blob client causes FIPs exceptions to be thrown.
- Update of Newtonsoft.json library from 12.0.1 to 13.0.1 to resolve a component governance alert. - In ADFS health agent, the TestADFSDuplicateSPN test was disabled as the test was unreliable, it would generate misleading alerts when server experienced transient connectivity issues.
active-directory Whatis Azure Ad Connect https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/hybrid/connect/whatis-azure-ad-connect.md
Integrating your on-premises directories with Azure AD makes your users more pro
## Why use Azure AD Connect Health? When authenticating with Azure AD, your users are more productive because there's a common identity to access both cloud and on-premises resources. Ensuring the environment is reliable, so that users can access these resources, becomes a challenge. Azure AD Connect Health helps monitor and gain insights into your on-premises identity infrastructure thus ensuring the reliability of this environment. It is as simple as installing an agent on each of your on-premises identity servers.
-Azure AD Connect Health for AD FS supports AD FS 2.0 on Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 and Windows Server 2019. It also supports monitoring the AD FS proxy or web application proxy servers that provide authentication support for extranet access. With an easy and quick installation of the Health Agent, Azure AD Connect Health for AD FS provides you a set of key capabilities.
+Azure AD Connect Health for AD FS supports AD FS on Windows Server 2012 R2, Windows Server 2016, Windows Server 2019 and Windows Server 2022. It also supports monitoring the web application proxy servers that provide authentication support for extranet access. With an easy and quick installation of the Health Agent, Azure AD Connect Health for AD FS provides you a set of key capabilities.
Key benefits and best practices:
active-directory Access Panel Collections https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/access-panel-collections.md
Your users can use the My Apps portal to view and start the cloud-based applicat
> [!NOTE] > This article covers how an admin can enable and create collections. For information for the end user about how to use the My Apps portal and collections, see [Access and use collections](https://support.microsoft.com/account-billing/organize-apps-using-collections-in-the-my-apps-portal-2dae6b8a-d8b0-4a16-9a5d-71ed4d6a6c1d). ## Prerequisites To create collections on the My Apps portal, you need:
active-directory Add Application Portal Assign Users https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/add-application-portal-assign-users.md
In this quickstart, you use the Azure portal to create a user account in your Az
It's recommended that you use a nonproduction environment to test the steps in this quickstart. + ## Prerequisites To create a user account and assign it to an enterprise application, you need:
active-directory Add Application Portal Configure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/add-application-portal-configure.md
This article shows you where you can configure the properties of an enterprise application in your Azure Active Directory (Azure AD) tenant. For more information about the properties that you can configure, see [Properties of an enterprise application](application-properties.md). + ## Prerequisites To configure the properties of an enterprise application, you need:
active-directory Add Application Portal Setup Oidc Sso https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/add-application-portal-setup-oidc-sso.md
Add an application that supports [OpenID Connect (OIDC)](../develop/active-direc
It is recommended that you use a non-production environment to test the steps in this page. + ## Prerequisites To configure OIDC-based SSO, you need:
active-directory Add Application Portal Setup Sso https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/add-application-portal-setup-sso.md
Azure AD has a gallery that contains thousands of pre-integrated applications th
It is recommended that you use a non-production environment to test the steps in this article. + ## Prerequisites To configure SSO, you need:
active-directory Add Application Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/add-application-portal.md
In this quickstart, you use the Azure portal to add an enterprise application to
It's recommended that you use a nonproduction environment to test the steps in this quickstart. + ## Prerequisites To add an enterprise application to your Azure AD tenant, you need:
active-directory Application Sign In Other Problem Access Panel https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/application-sign-in-other-problem-access-panel.md
Access to My Apps can be blocked due to a problem with the userΓÇÖs account. Fol
- [Check a userΓÇÖs assigned licenses](#check-a-users-assigned-licenses) - [Assign a user a license](#assign-a-user-a-license) + ### Check if a user account exists in Azure Active Directory To check if a userΓÇÖs account is present, follow these steps:
active-directory Application Sign In Problem Application Error https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/application-sign-in-problem-application-error.md
If the error message doesn't clearly identify what's missing from the response,
- Send the SAML response to the app vendor and ask them what's missing. + ## Attributes are missing from the SAML response To add an attribute in the Azure AD configuration that will be sent in the Azure AD response, follow these steps:
active-directory Application Sign In Problem First Party Microsoft https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/application-sign-in-problem-first-party-microsoft.md
Application access can be blocked due to a problem with a user that is assigned
- [Assign a user a license](#assign-a-user-a-license) + ### Check if a user account exists in Azure Active Directory To check if a userΓÇÖs account is present, follow these steps:
active-directory Application Sign In Unexpected User Consent Prompt https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/application-sign-in-unexpected-user-consent-prompt.md
Further prompts can be expected in various scenarios:
> [!NOTE] > Following Microsoft's recommendations and best practices, many organizations have disabled or limited users' permission to grant consent to apps. If an application forces users to grant consent every time they sign in, most users will be blocked from using these applications even if an administrator grants tenant-wide admin consent. If you encounter an application which is requiring user consent even after admin consent has been granted, check with the app publisher to see if they have a setting or option to stop forcing user consent on every sign in. + ## Troubleshooting steps ### Compare permissions requested and granted for the applications
active-directory Assign App Owners https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/assign-app-owners.md
An [owner of an enterprise application](overview-assign-app-owners.md) in Azure Active Directory (Azure AD) can manage the organization-specific configuration of the application, such as single sign-on, provisioning, and user assignments. An owner can also add or remove other owners. Unlike Global Administrators, owners can manage only the enterprise applications they own. In this article, you learn how to assign an owner of an application. + ## Assign an owner :::zone pivot="portal"
active-directory Assign User Or Group Access Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/assign-user-or-group-access-portal.md
Group-based assignment requires Azure Active Directory Premium P1 or P2 edition.
For greater control, certain types of enterprise applications can be configured to require user assignment. For more information on requiring user assignment for an app, see [Manage access to an application](what-is-access-management.md#requiring-user-assignment-for-an-app). + ## Prerequisites To assign users to an enterprise application, you need:
active-directory Certificate Signing Options https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/certificate-signing-options.md
Azure AD supports two signing algorithms, or secure hash algorithms (SHAs), to s
* **SHA-1**. This algorithm is older, and it's treated as less secure than SHA-256. If an application supports only this signing algorithm, you can select this option in the **Signing Algorithm** drop-down list. Azure AD then signs the SAML response with the SHA-1 algorithm. + ## Change certificate signing options and signing algorithm To change an application's SAML certificate signing options and the certificate signing algorithm, select the application in question:
active-directory Cloudflare Conditional Access Policies https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/cloudflare-conditional-access-policies.md
With Conditional Access, administrators enforce policies on application and user
Learn more: [What is Conditional Access?](../conditional-access/overview.md) + ## Prerequisites * An Azure AD subscription
active-directory Cloudflare Integration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/cloudflare-integration.md
In this tutorial, learn to integrate Azure Active Directory (Azure AD) with Cloudflare Zero Trust. Build rules based on user identity and group membership. Users authenticate with Azure AD credentials and connect to Zero Trust protected applications. + ## Prerequisites * An Azure AD subscription
active-directory Configure Admin Consent Workflow https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/configure-admin-consent-workflow.md
The admin consent workflow gives admins a secure way to grant access to applicat
To approve requests, a reviewer must have the [permissions required](grant-admin-consent.md#prerequisites) to grant admin consent for the application requested. Simply designating them as a reviewer doesn't elevate their privileges. + ## Prerequisites To configure the admin consent workflow, you need:
active-directory Configure Linked Sign On https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/configure-linked-sign-on.md
Some common scenarios where linked-based SSO is valuable include:
- Add deep links to specific web pages that you want to appear on your user's access pages. - Add a link to an application that doesn't require authentication. The linked option doesn't provide sign-on functionality through Azure AD credentials, but you can still use some of the other features of enterprise applications. For example, you can use audit logs and add a custom logo and application name. + ## Prerequisites To configure linked-based SSO in your Azure AD tenant, you need:
active-directory Configure Password Single Sign On Non Gallery Applications https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/configure-password-single-sign-on-non-gallery-applications.md
Choose password-based SSO when:
The configuration page for password-based SSO is simple. It includes only the URL of the sign-on page that the application uses. This string must be the page that includes the username input field. + ## Prerequisites To configure password-based SSO in your Azure AD tenant, you need:
active-directory Configure Permission Classifications https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/configure-permission-classifications.md
Three permission classifications are supported: "Low", "Medium" (preview), and "
The minimum permissions needed to do basic sign-in are `openid`, `profile`, `email`, and `offline_access`, which are all delegated permissions on the Microsoft Graph. With these permissions an app can read details of the signed-in user's profile, and can maintain this access even when the user is no longer using the app. + ## Prerequisites To configure permission classifications, you need:
active-directory Configure User Consent Groups https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/configure-user-consent-groups.md
Group and team owners can authorize applications, such as applications published by third-party vendors, to access your organization's data associated with a group. For example, a team owner in Microsoft Teams can allow an app to read all Teams messages in the team, or list the basic profile of a group's members. See [Resource-specific consent in Microsoft Teams](/microsoftteams/resource-specific-consent) to learn more. + ## Prerequisites To complete the tasks in this guide, you need the following:
active-directory Configure User Consent https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/configure-user-consent.md
Before an application can access your organization's data, a user must grant the
To reduce the risk of malicious applications attempting to trick users into granting them access to your organization's data, we recommend that you allow user consent only for applications that have been published by a [verified publisher](../develop/publisher-verification-overview.md). + ## Prerequisites To configure user consent, you need:
active-directory Custom Security Attributes Apps https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/custom-security-attributes-apps.md
[Custom security attributes](../fundamentals/custom-security-attributes-overview.md) in Azure Active Directory (Azure AD) are business-specific attributes (key-value pairs) that you can define and assign to Azure AD objects. For example, you can assign custom security attribute to filter your applications or to help determine who gets access. This article describes how to assign, update, list, or remove custom security attributes for Azure AD enterprise applications. + ## Prerequisites To assign or remove custom security attributes for an application in your Azure AD tenant, you need:
active-directory Debug Saml Sso Issues https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/debug-saml-sso-issues.md
To download and install the My Apps Secure Sign-in Extension, use one of the fol
- [Chrome](https://go.microsoft.com/fwlink/?linkid=866367) - [Microsoft Edge](https://microsoftedge.microsoft.com/addons/detail/my-apps-secure-signin-ex/gaaceiggkkiffbfdpmfapegoiohkiipl) + ## Test SAML-based single sign-on To test SAML-based single sign-on between Azure AD and a target application:
active-directory Delete Application Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/delete-application-portal.md
To delete an enterprise application, you need:
- One of the following roles: Global Administrator, Cloud Application Administrator, Application Administrator, or owner of the service principal. - An [enterprise application added to your tenant](add-application-portal.md) + ## Delete an enterprise application :::zone pivot="portal"
active-directory Disable User Sign In Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/disable-user-sign-in-portal.md
There may be situations while configuring or managing an application where you d
In this article, you'll learn how to prevent users from signing in to an application in Azure Active Directory through both the Azure portal and PowerShell. If you're looking for how to block specific users from accessing an application, use [user or group assignment](./assign-user-or-group-access-portal.md). - ## Prerequisites
active-directory End User Experiences https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/end-user-experiences.md
When an authorized user selects one of these application-specific links, they fi
These links use the same access control mechanisms as My Apps and Microsoft 365. Only those users or groups who have been assigned to the application in the Azure portal will be able to successfully authenticate. However, any user who is unauthorized will see a message explaining that they haven't been granted access. The unauthorized user is given a link to load My Apps to view available applications that they do have access to. + ## Manage preview settings As an admin, you can choose to try out new app launcher features while they are in preview. Enabling a preview feature means that the feature is turned on for your organization and will be reflected in the My Apps portal and other app launchers for all your users.
active-directory Grant Admin Consent https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/grant-admin-consent.md
By default, granting tenant-wide admin consent to an application will allow all
Granting tenant-wide admin consent may revoke any permissions that had previously been granted tenant-wide for that application. Permissions that have previously been granted by users on their own behalf won't be affected. + ## Prerequisites Granting tenant-wide admin consent requires you to sign in as a user that is authorized to consent on behalf of the organization.
active-directory Hide Application From User Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/hide-application-from-user-portal.md
Learn how to hide enterprise applications in Azure Active Directory. When an application is hidden, users still have permissions to the application. + ## Prerequisites - Application administrator privileges are required to hide an application from the My Apps portal and Microsoft 365 launcher.
active-directory Howto Enforce Signed Saml Authentication https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/howto-enforce-signed-saml-authentication.md
If enabled Azure Active Directory will validate the requests against the public
> Enabling `Require Verification certificates` will not allow IDP-initiated authentication requests (like SSO testing feature, MyApps or M365 app launcher) to be validated as the IDP would not possess the same private keys as the registered application. + ## To configure SAML Request Signature Verification in the Azure portal 1. Inside the Azure portal, navigate to **Azure Active Directory** from the Search bar or Azure Services.
active-directory Howto Saml Token Encryption https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/howto-saml-token-encryption.md
To configure token encryption, you need to upload an X.509 certificate file that
Azure AD uses AES-256 to encrypt the SAML assertion data. + ## Configure enterprise application SAML token encryption This section describes how to configure enterprise application's SAML token encryption. Applications that have been set up from the **Enterprise applications** blade in the Azure portal, either from the Application Gallery or a Non-Gallery app. For applications registered through the **App registrations** experience, follow the [Configure registered application SAML token encryption](#configure-registered-application-saml-token-encryption) guidance.
active-directory Manage Application Permissions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/manage-application-permissions.md
In this article, you learn how to review permissions granted to applications in
The steps in this article apply to all applications that were added to your Azure AD tenant via user or admin consent. For more information on consenting to applications, see [User and admin consent](user-admin-consent-overview.md). + ## Prerequisites To review permissions granted to applications, you need:
active-directory Manage Consent Requests https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/manage-consent-requests.md
Title: Manage consent to applications and evaluate consent requests
-description: Learn how to manage consent requests when user consent is disabled or restricted, and how to evaluate a request for tenant-wide admin consent to an application in Azure Active Directory.
+description: Learn how to manage consent requests when user consent is restricted, and how to evaluate a request for tenant-wide admin consent to an application in Azure Active Directory.
Previously updated : 07/14/2022 Last updated : 06/14/2023
# Manage consent to applications and evaluate consent requests
-Microsoft recommends that you [restrict user consent](../../active-directory/manage-apps/configure-user-consent.md) to allow users to consent only for apps from verified publishers, and only for permissions that you select. For apps that don't meet these criteria, the decision-making process will be centralized with your organization's security and identity administrator team.
+Microsoft recommends that you [restrict user consent](../../active-directory/manage-apps/configure-user-consent.md) to allow users to consent only for apps from verified publishers, and only for permissions that you select. For apps that don't meet these criteria, the decision-making process is centralized with your organization's security and identity administrator team.
-After you've disabled or restricted user consent, you have several important steps to take to help keep your organization secure as you continue to allow business-critical applications to be used. These steps are crucial to minimize impact on your organization's support team and IT administrators, and to help prevent the use of un-managed accounts in third-party applications.
+After you've disabled or restricted user consent, you have several important steps to take to help keep your organization secure as you continue to allow business-critical applications to be used. These steps are crucial to minimize impact on your organization's support team and IT administrators, and to help prevent the use of unmanaged accounts in third-party applications.
+
+This article provides guidance on managing consent to applications and evaluating consent requests in Microsoft's recommendations, including restricting user consent to verified publishers and selected permissions. It covers concepts such as process changes, education for administrators, auditing and monitoring, and managing tenant-wide admin consent.
## Process changes and education
- 1. Consider enabling the [admin consent workflow](configure-admin-consent-workflow.md) to allow users to request administrator approval directly from the consent screen.
+ - Consider enabling the [admin consent workflow](configure-admin-consent-workflow.md) to allow users to request administrator approval directly from the consent screen.
- 1. Ensure that all administrators understand the [permissions and consent framework](../develop/consent-framework.md), how the [consent prompt](../develop/application-consent-experience.md) works, and how to [evaluate a request for tenant-wide admin consent](#evaluate-a-request-for-tenant-wide-admin-consent).
+ - Ensure that all administrators understand the:
+ - [Permissions and consent framework](../develop/permissions-consent-overview.md)
+ - How the [consent consent experience and prompts](../develop/application-consent-experience.md) work.
+ - How to [evaluate a request for tenant-wide admin consent](#evaluate-a-request-for-tenant-wide-admin-consent).
- 1. Review your organization's existing processes for users to request administrator approval for an application, and update them if necessary. If processes are changed:
- * Update the relevant documentation, monitoring, automation, and so on.
- * Communicate process changes to all affected users, developers, support teams, and IT administrators.
+ - Review your organization's existing processes for users to request administrator approval for an application, and update them if necessary. If processes are changed:
+ - Update the relevant documentation, monitoring, automation, and so on.
+ - Communicate process changes to all affected users, developers, support teams, and IT administrators.
## Auditing and monitoring
-1. [Audit apps and granted permissions](../../security/fundamentals/steps-secure-identity.md#audit-apps-and-consented-permissions) in your organization to ensure that no unwarranted or suspicious applications have previously been granted access to data.
+- [Audit apps and granted permissions](../../security/fundamentals/steps-secure-identity.md#audit-apps-and-consented-permissions) in your organization to ensure that no unwarranted or suspicious applications have previously been granted access to data.
-2. Review the [Detect and Remediate Illicit Consent Grants in Office 365](/microsoft-365/security/office-365-security/detect-and-remediate-illicit-consent-grants) article for more best practices and safeguards against suspicious applications that request OAuth consent.
+- Review the [Detect and Remediate Illicit Consent Grants in Office 365](/microsoft-365/security/office-365-security/detect-and-remediate-illicit-consent-grants) article for more best practices and safeguards against suspicious applications that request OAuth consent.
-3. If your organization has the appropriate license, do the following:
+- If your organization has the appropriate license:
- * Use other [OAuth application auditing features in Microsoft Defender for Cloud Apps](/cloud-app-security/investigate-risky-oauth).
- * Use [Azure Monitor Workbooks](../reports-monitoring/howto-use-azure-monitor-workbooks.md) to monitor permissions and consent-related activity. The *Consent Insights* workbook provides a view of apps by number of failed consent requests. This information can help you prioritize applications for administrators to review and decide whether to grant them admin consent.
+ - Use other [OAuth application auditing features in Microsoft Defender for Cloud Apps](/cloud-app-security/investigate-risky-oauth).
+ - Use [Azure Monitor Workbooks](../reports-monitoring/howto-use-azure-monitor-workbooks.md) to monitor permissions and consent-related activity. The *Consent Insights* workbook provides a view of apps by number of failed consent requests. This information can help you prioritize applications for administrators to review and decide whether to grant them admin consent.
### Other considerations for reducing friction To minimize impact on trusted, business-critical applications that are already in use, consider proactively granting administrator consent to applications that have a high number of user consent grants:
-1. Take an inventory of the apps already added to your organization with high usage, based on sign-in logs or consent grant activity. You can use a [PowerShell script](https://gist.github.com/psignoret/41793f8c6211d2df5051d77ca3728c09) to quickly and easily discover applications with a large number of user consent grants.
+- Take an inventory of the apps already added to your organization with high usage, based on sign-in logs or consent grant activity. You can use a [PowerShell script](https://gist.github.com/psignoret/41793f8c6211d2df5051d77ca3728c09) to quickly and easily discover applications with a large number of user consent grants.
-2. Evaluate the top applications to grant admin consent.
+- Evaluate the top applications to grant admin consent.
> [!IMPORTANT] > Carefully evaluate an application before granting tenant-wide admin consent, even if many users in the organization have already consented for themselves.
-3. For each approved application, grant tenant-wide admin consent and consider restricting user access by [requiring user assignment](assign-user-or-group-access-portal.md).
+- For each approved application, grant tenant-wide admin consent and consider restricting user access by [requiring user assignment](assign-user-or-group-access-portal.md).
## Evaluate a request for tenant-wide admin consent
-Granting tenant-wide admin consent is a sensitive operation. Permissions will be granted on behalf of the entire organization, and they can include permissions to attempt highly privileged operations. Examples of such operations are role management, full access to all mailboxes or all sites, and full user impersonation.
+Granting tenant-wide admin consent is a sensitive operation. Permissions are granted on behalf of the entire organization, and they can include permissions to attempt highly privileged operations. Examples of such operations are role management, full access to all mailboxes or all sites, and full user impersonation.
Before you grant tenant-wide admin consent, it's important to ensure that you trust the application, and the application publisher for the level of access you're granting. If you aren't confident that you understand who controls the application and why the application is requesting the permissions, do *not* grant consent. When you're evaluating a request to grant admin consent, here are some recommendations to consider:
-* Understand the [permissions and consent framework](../develop/consent-framework.md) in the Microsoft identity platform.
+- Understand the [permissions and consent framework](../develop/consent-framework.md) in the Microsoft identity platform.
-* Understand the difference between [delegated permissions and application permissions](../develop/v2-permissions-and-consent.md#permission-types).
+- Understand the difference between [delegated permissions and application permissions](../develop/v2-permissions-and-consent.md#permission-types).
Application permissions allow the application to access the data for the entire organization, without any user interaction. Delegated permissions allow the application to act on behalf of a user who was signed into the application at some point.
-* Understand the permissions that are being requested.
+- Understand the permissions that are being requested.
The permissions requested by the application are listed in the [consent prompt](../develop/application-consent-experience.md). Expanding the permission title displays the permissionΓÇÖs description. The description for application permissions generally ends in "without a signed-in user." The description for delegated permissions generally end with "on behalf of the signed-in user." Permissions for the Microsoft Graph API are described in [Microsoft Graph Permissions Reference](/graph/permissions-reference). Refer to the documentation for other APIs to understand the permissions they expose. If you don't understand a permission that's being requested, do *not* grant consent.
-* Understand which application is requesting permissions and who published the application.
+- Understand which application is requesting permissions and who published the application.
Be wary of malicious applications that try to look like other applications. If you doubt the legitimacy of an application or its publisher, do *not* grant consent. Instead, seek confirmation (for example, directly from the application publisher).
-* Ensure that the requested permissions are aligned with the features you expect from the application.
+- Ensure that the requested permissions are aligned with the features you expect from the application.
For example, an application that offers SharePoint site management might require delegated access to read all site collections, but it wouldn't necessarily need full access to all mailboxes, or full impersonation privileges in the directory.
active-directory Manage Self Service Access https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/manage-self-service-access.md
Using this feature, you can:
- Optionally automatically assign self-service assigned users to an application role directly. + ## Prerequisites To enable self-service application access, you need:
active-directory Restore Application https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/restore-application.md
In this article, you'll learn how to restore a soft deleted enterprise applicati
>[!IMPORTANT] >If you deleted an [application registration](../develop/howto-remove-app.md) in its home tenant through app registrations in the Azure portal, the enterprise application, which is its corresponding service principal also got deleted. If you restore the deleted application registration through the Azure portal, its corresponding service principal, won't be restored. Instead, this action will create a new service principal. Therefore, if you had configurations on the previous enterprise application, you can't restore them through the Azure portal. Use the workaround provided in this article to recover the deleted service principal and its previous configurations.++ ## Prerequisites To restore an enterprise application, you need:
active-directory Review Admin Consent Requests https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/review-admin-consent-requests.md
In this article, you learn how to review and take action on admin consent requests. To review and act on consent requests, you must be designated as a reviewer. For more information, check out the [Configure the admin consent workflow](configure-admin-consent-workflow.md) article. As a reviewer, you can view all admin consent requests but you can only act on those requests that were created after you were designated as a reviewer. + ## Prerequisites To review and take action on admin consent requests, you need:
active-directory Troubleshoot Password Based Sso https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/troubleshoot-password-based-sso.md
There are two ways to capture sign-in fields for your custom apps:
In general, if automatic sign-in field capture doesn't work, try the manual option. + ### Automatically capture sign-in fields for an app To configure password-based SSO by using automatic sign-in field capture, follow these steps:
active-directory Troubleshoot Saml Based Sso https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/troubleshoot-saml-based-sso.md
If you encounter a problem when configuring an application. Verify you have followed all the steps in the tutorial for the application. In the applicationΓÇÖs configuration, you have inline documentation on how to configure the application. Also, you can access the [List of tutorials on how to integrate SaaS apps with Azure Active Directory](../saas-apps/tutorial-list.md) for a detail step-by-step guidance. + ## CanΓÇÖt add another instance of the application To add a second instance of an application, you need to be able to:
active-directory Tutorial Govern Monitor https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/tutorial-govern-monitor.md
Using the information in this tutorial, an administrator of the application lear
> * Access the sign-ins report > * Send logs to Azure Monitor + ## Prerequisites - An Azure account with an active subscription. If you don't already have one, [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
active-directory Tutorial Manage Access Security https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/tutorial-manage-access-security.md
Using the information in this tutorial, an administrator learns how to:
> * Communicate a term of use to users of the application > * Create a collection in the My Apps portal + ## Prerequisites * An Azure account with an active subscription. [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
active-directory Tutorial Manage Certificates For Federated Single Sign On https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/tutorial-manage-certificates-for-federated-single-sign-on.md
In this tutorial, an administrator of the application learns how to:
> * Add email notification address for certificate expiration dates > * Renew certificates + ## Prerequisites - An Azure account with an active subscription. If you don't already have one, [Create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
active-directory View Applications Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/manage-apps/view-applications-portal.md
In this quickstart, you learn how to use the Azure portal to search for and view
It's recommended that you use a nonproduction environment to test the steps in this quickstart. + ## Prerequisites To view applications that have been registered in your Azure AD tenant, you need:
active-directory Recommendation Migrate From Adal To Msal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/reports-monitoring/recommendation-migrate-from-adal-to-msal.md
This article covers the recommendation to migrate from the Azure Active Director
## Description
-The Azure Active Directory Authentication Library (ADAL) is [currently slated for end-of-support](../fundamentals/whats-new.md#adal-end-of-support-announcement) on June 30, 2023. We recommend that customers migrate to Microsoft Authentication Libraries (MSAL), which replaces ADAL.
+The Azure Active Directory Authentication Library (ADAL) is currently slated for end-of-support on June 30, 2023. We recommend that customers migrate to Microsoft Authentication Libraries (MSAL), which replaces ADAL.
This recommendation shows up if your tenant has applications that still use ADAL.
active-directory Notion Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/notion-provisioning-tutorial.md
The scenario outlined in this tutorial assumes that you already have the followi
1. Determine what data to [map between Azure AD and Notion](../app-provisioning/customize-application-attributes.md). ## Step 2. Configure Notion to support provisioning with Azure AD
-Contact Notion support to configure Notion to support provisioning with Azure AD.
+1. Log in to your Notion Workspace, open the **Settings and Members → Identity & Provisioning** tab and scroll down to the **SCIM provisioning** section.
+1. If a token hasnΓÇÖt already been generated, click **+ Add token** and copy the token. YouΓÇÖll enter this token as your Secret Token in step 5.5.
+1. NotionΓÇÖs SCIM tenant URL is `https://www.notion.so/scim/v2`, which youΓÇÖll use in step 5.5.
+ ## Step 3. Add Notion from the Azure AD application gallery
active-directory Zoho One Provisioning Tutorial https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/saas-apps/zoho-one-provisioning-tutorial.md
+
+ Title: 'Tutorial: Configure Zoho One for automatic user provisioning with Azure Active Directory | Microsoft Docs'
+description: Learn how to automatically provision and de-provision user accounts from Azure AD to Zoho One.
++
+writer: twimmers
+
+ms.assetid: 691f20c5-4d88-407c-a882-94b4864547a8
++++ Last updated : 03/07/2023+++
+# Tutorial: Configure Zoho One for automatic user provisioning
+
+This tutorial describes the steps you need to perform in both Zoho One and Azure Active Directory (Azure AD) to configure automatic user provisioning. When configured, Azure AD automatically provisions and de-provisions users and groups to [Zoho One](https://www.zoho.com) using the Azure AD Provisioning service. For important details on what this service does, how it works, and frequently asked questions, see [Automate user provisioning and deprovisioning to SaaS applications with Azure Active Directory](../app-provisioning/user-provisioning.md).
++
+## Supported capabilities
+> [!div class="checklist"]
+> * Create users in Zoho One.
+> * Remove users in Zoho One when they do not require access anymore.
+> * Keep user attributes synchronized between Azure AD and Zoho One.
+> * Provision groups and group memberships in Zoho One
+> * [Single sign-on](zohoone-tutorial.md) to Zoho One (recommended).
+
+## Prerequisites
+
+The scenario outlined in this tutorial assumes that you already have the following prerequisites:
+
+* [An Azure AD tenant](../develop/quickstart-create-new-tenant.md)
+* A user account in Azure AD with [permission](../roles/permissions-reference.md) to configure provisioning (for example, Application Administrator, Cloud Application administrator, Application Owner, or Global Administrator).
+* An administrator account with Zoho One.
+
+## Step 1. Plan your provisioning deployment
+1. Learn about [how the provisioning service works](../app-provisioning/user-provisioning.md).
+1. Determine who will be in [scope for provisioning](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+1. Determine what data to [map between Azure AD and Zoho One](../app-provisioning/customize-application-attributes.md).
+
+## Step 2. Configure Zoho One to support provisioning with Azure AD
+
+Contact Zoho One support to configure Zoho One to support provisioning with Azure AD.
+
+## Step 3. Add Zoho One from the Azure AD application gallery
+
+Add Zoho One from the Azure AD application gallery to start managing provisioning to Zoho One. If you have previously setup Zoho One for SSO you can use the same application. However it's recommended that you create a separate app when testing out the integration initially. Learn more about adding an application from the gallery [here](../manage-apps/add-application-portal.md).
+
+## Step 4. Define who will be in scope for provisioning
+
+The Azure AD provisioning service allows you to scope who will be provisioned based on assignment to the application and or based on attributes of the user / group. If you choose to scope who will be provisioned to your app based on assignment, you can use the following [steps](../manage-apps/assign-user-or-group-access-portal.md) to assign users and groups to the application. If you choose to scope who will be provisioned based solely on attributes of the user or group, you can use a scoping filter as described [here](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* Start small. Test with a small set of users and groups before rolling out to everyone. When scope for provisioning is set to assigned users and groups, you can control this by assigning one or two users or groups to the app. When scope is set to all users and groups, you can specify an [attribute based scoping filter](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+* If you need more roles, you can [update the application manifest](../develop/howto-add-app-roles-in-azure-ad-apps.md) to add new roles.
++
+## Step 5. Configure automatic user provisioning to Zoho One
+
+This section guides you through the steps to configure the Azure AD provisioning service to create, update, and disable users and/or groups in TestApp based on user and/or group assignments in Azure AD.
+
+### To configure automatic user provisioning for Zoho One in Azure AD:
+
+1. Sign in to the [Azure portal](https://portal.azure.com). Select **Enterprise Applications**, then select **All applications**.
+
+ ![Screenshot of Enterprise applications blade.](common/enterprise-applications.png)
+
+1. In the applications list, select **Zoho One**.
+
+ ![Screenshot of the Zoho One link in the Applications list.](common/all-applications.png)
+
+1. Select the **Provisioning** tab.
+
+ ![Screenshot of Provisioning tab.](common/provisioning.png)
+
+1. Set the **Provisioning Mode** to **Automatic**.
+
+ ![Screenshot of Provisioning tab automatic.](common/provisioning-automatic.png)
+
+1. Under the **Admin Credentials** section, input your Zoho One Tenant URL, Authorization Endpoint and Token Endpoint. Click **Test Connection** to ensure Azure AD can connect to Zoho One. If the connection fails, ensure your Zoho One account has Admin permissions and try again.
+
+ ![Screenshot of Token.](media/zoho-one-provisioning-tutorial/test-connection.png)
+
+ >[!NOTE]
+ >* Zoho One's Tenant URL, Authorization Endpoint and Token Endpoint are all region specific. So be carful in entering those.
+ >* **Authorization Endpoint** should always be appended with `?access_type=offline&prompt=consent&response_type=code&state=&client_id=1000.T3YYZHB8J5Y2BQ185U2FWOIKREUWAH&scope=ZohoOne.SCIM.ALL&redirect_uri=https%3A%2f%2fportal.azure.com%2fTokenAuthorize` while entering the value (For example, if the region is US, then the Authorization Endpoint to be entered should be `https://accounts.zoho.com/oauth/v2/auth?access_type=offline&prompt=consent&response_type=code&state=&client_id=1000.T3YYZHB8J5Y2BQ185U2FWOIKREUWAH&scope=ZohoOne.SCIM.ALL&redirect_uri=https%3A%2f%2fportal.azure.com%2fTokenAuthorize`)
+
+1. In the **Notification Email** field, enter the email address of a person or group who should receive the provisioning error notifications and select the **Send an email notification when a failure occurs** check box.
+
+ ![Screenshot of Notification Email.](common/provisioning-notification-email.png)
+
+1. Select **Save**.
+
+1. Under the **Mappings** section, select **Synchronize Azure Active Directory Users to Zoho One**.
+
+1. Review the user attributes that are synchronized from Azure AD to Zoho One in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the user accounts in Zoho One for update operations. If you choose to change the [matching target attribute](../app-provisioning/customize-application-attributes.md), you'll need to ensure that the Zoho One API supports filtering users based on that attribute. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported for filtering|Required by Zoho One|
+ |||||
+ |userName|String|&check;|&check;
+ |active|Boolean||
+ |displayName|String||
+ |title|String||
+ |emails[type eq "work"].value|String||
+ |preferredLanguage|String||
+ |name.givenName|String||
+ |name.familyName|String||
+ |name.formatted|String||
+ |preferredLanguage|String||
+ |addresses[type eq "work"].formatted|String||
+ |addresses[type eq "work"].streetAddress|String||
+ |addresses[type eq "work"].locality|String||
+ |addresses[type eq "work"].region|String||
+ |addresses[type eq "work"].postalCode|String||
+ |addresses[type eq "work"].country|String||
+ |phoneNumbers[type eq "mobile"].value|String||
+ |pphoneNumbers[type eq "fax"].value|String||
+ |phoneNumbers[type eq "work"].value|String||
+ |externalId|String||
+
+1. Under the **Mappings** section, select **Synchronize Azure Active Directory Groups to Zoho One**.
+
+1. Review the group attributes that are synchronized from Azure AD to Zoho One in the **Attribute-Mapping** section. The attributes selected as **Matching** properties are used to match the groups in Zoho One for update operations. Select the **Save** button to commit any changes.
+
+ |Attribute|Type|Supported for filtering|Required by Zoho One|
+ |||||
+ |displayName|String|&check;|&check;
+ |members|Reference||
+ |externalId|String||
++
+1. To configure scoping filters, refer to the following instructions provided in the [Scoping filter tutorial](../app-provisioning/define-conditional-rules-for-provisioning-user-accounts.md).
+
+1. To enable the Azure AD provisioning service for Zoho One, change the **Provisioning Status** to **On** in the **Settings** section.
+
+ ![Screenshot of Provisioning Status Toggled On.](common/provisioning-toggle-on.png)
+
+1. Define the users and/or groups that you would like to provision to Zoho One by choosing the desired values in **Scope** in the **Settings** section.
+
+ ![Screenshot of Provisioning Scope.](common/provisioning-scope.png)
+
+1. When you're ready to provision, click **Save**.
+
+ ![Screenshot of Saving Provisioning Configuration.](common/provisioning-configuration-save.png)
+
+This operation starts the initial synchronization cycle of all users and groups defined in **Scope** in the **Settings** section. The initial cycle takes longer to perform than subsequent cycles, which occur approximately every 40 minutes as long as the Azure AD provisioning service is running.
+
+## Step 6. Monitor your deployment
+Once you've configured provisioning, use the following resources to monitor your deployment:
+
+* Use the [provisioning logs](../reports-monitoring/concept-provisioning-logs.md) to determine which users have been provisioned successfully or unsuccessfully
+* Check the [progress bar](../app-provisioning/application-provisioning-when-will-provisioning-finish-specific-user.md) to see the status of the provisioning cycle and how close it's to completion
+* If the provisioning configuration seems to be in an unhealthy state, the application goes into quarantine. Learn more about quarantine states [here](../app-provisioning/application-provisioning-quarantine-status.md).
+
+## More resources
+
+* [Managing user account provisioning for Enterprise Apps](../app-provisioning/configure-automatic-user-provisioning-portal.md)
+* [What is application access and single sign-on with Azure Active Directory?](../manage-apps/what-is-single-sign-on.md)
+
+## Next steps
+
+* [Learn how to review logs and get reports on provisioning activity](../app-provisioning/check-status-user-account-provisioning.md)
active-directory Howto Verifiable Credentials Partner Au10tix https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/active-directory/verifiable-credentials/howto-verifiable-credentials-partner-au10tix.md
# Configure Verified ID by AU10TIX as your Identity Verification Partner
-In this article, we cover the steps needed to integrate Microsoft Entra Verified ID with [AU10TIX](https://www.au10tix.com/). AU10TIX is a global leader in identity verification enabling companies to scale up their business by accelerating onboarding scenarios and ongoing verification throughout the customer lifecycle. It is an automated solution for the verification of ID documents + biometrics in 8 seconds or less. AU10TIX supports the verification of documents in over 190 countries reading documents in their regional languages.
+In this article, we cover the steps needed to integrate Microsoft Entra Verified ID with [AU10TIX](https://www.au10tix.com/). AU10TIX is a global leader in identity verification enabling companies to scale up their business by accelerating onboarding scenarios and ongoing verification throughout the customer lifecycle. It is an automated solution for the verification of ID documents + biometrics in 8 seconds or less. AU10TIX supports the verification of documents in over 190 countries/regions reading documents in their regional languages.
To learn more about AU10TIX and its complete set of solutions, visit https://www.au10tix.com/.
aks Azure Cni Overlay https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/azure-cni-overlay.md
Previously updated : 06/12/2023 Last updated : 06/14/2023 # Configure Azure CNI Overlay networking in Azure Kubernetes Service (AKS)
Azure CNI Overlay has the following limitations:
## Set up Overlay clusters
->[!NOTE]
-> You must have CLI version 2.47.0 or later to use the `--network-plugin-mode` argument. For Windows, you must have the [latest aks-preview Azure CLI extension installed](#install-the-aks-preview-azure-cli-extensionwindows-only).
+> [!NOTE]
+> You must have CLI version 2.48.0 or later to use the `--network-plugin-mode` argument. For Windows, you must have the latest aks-preview Azure CLI extension installed and can follow the instructions below.
Create a cluster with Azure CNI Overlay using the [`az aks create`][az-aks-create] command. Make sure to use the argument `--network-plugin-mode` to specify an overlay cluster. If the pod CIDR isn't specified, then AKS assigns a default space: `viz. 10.244.0.0/16`.
location="westcentralus"
az aks create -n $clusterName -g $resourceGroup --location $location --network-plugin azure --network-plugin-mode overlay --pod-cidr 192.168.0.0/16 ```
+## Upgrade an existing cluster to CNI Overlay
+
+> [!NOTE]
+> You can update an existing Azure CNI cluster to Overlay if the cluster meets the following criteria:
+>
+> - The cluster is on Kubernetes version 1.22+.
+> - Doesn't use the dynamic pod IP allocation feature.
+> - Doesn't have network policies enabled.
+> - Doesn't use any Windows node pools with docker as the container runtime.
+
+The upgrade process triggers each node pool to be re-imaged simultaneously. Upgrading each node pool separately to Overlay isn't supported. Any disruptions to cluster networking are similar to a node image upgrade or Kubernetes version upgrade where each node in a node pool is re-imaged.
+
+Update an existing Azure CNI cluster to use Overlay using the [`az aks update`][az-aks-update] command.
+
+```azurecli-interactive
+clusterName="myOverlayCluster"
+resourceGroup="myResourceGroup"
+location="westcentralus"
+
+az aks update --name $clusterName \
+--group $resourceGroup \
+--network-plugin-mode overlay \
+--pod-cidr 192.168.0.0/16
+```
+
+The `--pod-cidr` parameter is required when upgrading from legacy CNI because the pods need to get IPs from a new overlay space, which doesn't overlap with the existing node subnet. The pod CIDR also can't overlap with any VNet address of the node pools. For example, if your VNet address is *10.0.0.0/8*, and your nodes are in the subnet *10.240.0.0/16*, the `--pod-cidr` can't overlap with *10.0.0.0/8* or the existing service CIDR on the cluster.
+
+> [!WARNING]
+> Prior to Windows OS Build 20348.1668, there was a limitation around Windows Overlay pods incorrectly SNATing packets from host network pods, which had a more detrimental effect for clusters upgrading to Overlay. To avoid this issue, **use Windows OS Build 20348.1668**.
+ ## Install the aks-preview Azure CLI extension - Windows only [!INCLUDE [preview features callout](includes/preview/preview-callout.md)]
az extension update --name aks-preview
az provider register --namespace Microsoft.ContainerService ```
-## Upgrade an existing cluster to CNI Overlay (Preview)
-
-> [!NOTE]
-> The upgrade capability is still in preview and requires the preview AKS Azure CLI extension.
->
-> You can update an existing Azure CNI cluster to Overlay if the cluster meets the following criteria:
->
-> - The cluster is on Kubernetes version 1.22+.
-> - Doesn't use the dynamic pod IP allocation feature.
-> - Doesn't have network policies enabled.
-> - Doesn't use any Windows node pools with docker as the container runtime.
-
-The upgrade process triggers each node pool to be reimaged simultaneously. Upgrading each node pool separately to Overlay isn't supported. Any disruptions to cluster networking are similar to a node image upgrade or Kubernetes version upgrade where each node in a node pool is reimaged.
-
-Update an existing Azure CNI cluster to use Overlay using the [`az aks update`][az-aks-update] command.
-
-```azurecli-interactive
-clusterName="myOverlayCluster"
-resourceGroup="myResourceGroup"
-location="westcentralus"
-
-az aks update --name $clusterName \
group $resourceGroup \network-plugin-mode overlay \pod-cidr 192.168.0.0/16
-```
-
-The `--pod-cidr` parameter is required when upgrading from legacy CNI because the pods need to get IPs from a new overlay space, which doesn't overlap with the existing node subnet. The pod CIDR also can't overlap with any VNet address of the node pools. For example, if your VNet address is *10.0.0.0/8*, and your nodes are in the subnet *10.240.0.0/16*, the `--pod-cidr` can't overlap with *10.0.0.0/8* or the existing service CIDR on the cluster.
-
-> [!WARNING]
-> Prior to Windows OS Build 20348.1668, there was a limitation around Windows Overlay pods incorrectly SNATing packets from host network pods, which had a more detrimental effect for clusters upgrading to Overlay. To avoid this issue, **use Windows OS Build 20348.1668**.
- ## Next steps To learn how to utilize AKS with your own Container Network Interface (CNI) plugin, see [Bring your own Container Network Interface (CNI) plugin](use-byo-cni.md).
aks Concepts Storage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/concepts-storage.md
Title: Concepts - Storage in Azure Kubernetes Services (AKS)
-description: Learn about storage in Azure Kubernetes Service (AKS), including volumes, persistent volumes, storage classes, and claims
+description: Learn about storage in Azure Kubernetes Service (AKS), including volumes, persistent volumes, storage classes, and claims.
Last updated 04/26/2023
Multiple pods may need to:
* Share the same data volumes. * Reattach data volumes if the pod is rescheduled on a different node.
-Finally, you might need to collect and store sensitive data or application configuration information into pods.
+You also might need to collect and store sensitive data or application configuration information into pods.
This article introduces the core concepts that provide storage to your applications in AKS: -- [Volumes](#volumes)-- [Persistent volumes](#persistent-volumes)-- [Storage classes](#storage-classes)-- [Persistent volume claims](#persistent-volume-claims)
+* [Volumes](#volumes)
+* [Persistent volumes](#persistent-volumes)
+* [Storage classes](#storage-classes)
+* [Persistent volume claims](#persistent-volume-claims)
![Storage options for applications in an Azure Kubernetes Services (AKS) cluster](media/concepts-storage/aks-storage-options.png)
This article introduces the core concepts that provide storage to your applicati
Kubernetes typically treats individual pods as ephemeral, disposable resources. Applications have different approaches available to them for using and persisting data. A *volume* represents a way to store, retrieve, and persist data across pods and through the application lifecycle.
-Traditional volumes are created as Kubernetes resources backed by Azure Storage. You can manually create data volumes to be assigned to pods directly, or have Kubernetes automatically create them. Data volumes can use: [Azure Disk][disks-types], [Azure Files][storage-files-planning], [Azure NetApp Files][azure-netapp-files-service-levels], or [Azure Blobs][storage-account-overview].
+Traditional volumes are created as Kubernetes resources backed by Azure Storage. You can manually create data volumes to be assigned to pods directly or have Kubernetes automatically create them. Data volumes can use: [Azure Disk][disks-types], [Azure Files][storage-files-planning], [Azure NetApp Files][azure-netapp-files-service-levels], or [Azure Blobs][storage-account-overview].
> [!NOTE]
-> Depending on the VM SKU that's being used, the Azure Disk CSI driver might have a per-node volume limit. For some powerful VMs (for example, 16 cores), the limit is 64 volumes per node. To identify the limit per VM SKU, review the **Max data disks** column for each VM SKU offered. For a list of VM SKUs offered and their corresponding detailed capacity limits, see [General purpose virtual machine sizes][general-purpose-machine-sizes].
+> Depending on the VM SKU you're using, the Azure Disk CSI driver might have a per-node volume limit. For some powerful VMs (for example, 16 cores), the limit is 64 volumes per node. To identify the limit per VM SKU, review the **Max data disks** column for each VM SKU offered. For a list of VM SKUs offered and their corresponding detailed capacity limits, see [General purpose virtual machine sizes][general-purpose-machine-sizes].
To help determine best fit for your workload between Azure Files and Azure NetApp Files, review the information provided in the article [Azure Files and Azure NetApp Files comparison][azure-files-azure-netapp-comparison].
metadata:
name: managed-premium-retain provisioner: disk.csi.azure.com parameters:
- skuName: Premium_LRS
+ skuName: Premium_ZRS
reclaimPolicy: Retain volumeBindingMode: WaitForFirstConsumer allowVolumeExpansion: true
aks Kubernetes Helm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/kubernetes-helm.md
This article shows you how to configure and use Helm in a Kubernetes cluster on
```output NAME CHART VERSION APP VERSION DESCRIPTION
- ingress-nginx/ingress-nginx 2.12.0 0.34.1 Ingress controller for Kubernetes using NGINX a...
+ ingress-nginx/ingress-nginx 4.7.0 1.8.0 Ingress controller for Kubernetes using NGINX a...
``` 2. Update the list of charts using the [helm repo update][helm-repo-update] command.
This article uses the [NGINX ingress controller Helm chart][ingress-nginx-helm-c
```azurecli REGISTRY_NAME=<REGISTRY_NAME>
- CONTROLLER_REGISTRY=k8s.gcr.io
+ CONTROLLER_REGISTRY=registry.k8s.io
CONTROLLER_IMAGE=ingress-nginx/controller
- CONTROLLER_TAG=v0.48.1
- PATCH_REGISTRY=docker.io
- PATCH_IMAGE=jettech/kube-webhook-certgen
- PATCH_TAG=v1.5.1
- DEFAULTBACKEND_REGISTRY=k8s.gcr.io
+ CONTROLLER_TAG=v1.8.0
+ PATCH_REGISTRY=registry.k8s.io
+ PATCH_IMAGE=ingress-nginx/kube-webhook-certgen
+ PATCH_TAG=v20230407
+ DEFAULTBACKEND_REGISTRY=registry.k8s.io
DEFAULTBACKEND_IMAGE=defaultbackend-amd64 DEFAULTBACKEND_TAG=1.5
aks Quick Windows Container Deploy Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/learn/quick-windows-container-deploy-cli.md
az aks nodepool add \
The above command creates a new node pool named *npwin* and adds it to the *myAKSCluster*. The above command also uses the default subnet in the default vnet created when running `az aks create`. The OS SKU was not specified so the nodepool will be set to the default operating system based on the Kubernetes version of the cluster.
+## Add a Windows Server 2019 or Windows Server 2022 node pool
-## Add a Windows Server 2019 node pool
+AKS supports Windows Server 2019 and 2022 node pools. For Kubernetes version 1.25.0 and higher, Windows Server 2022 is the default operating system. For earlier Kubernetes versions, Windows Server 2019 is the default OS. To use Windows Server 2019, you need to specify the following parameters:
+- `os-type` set the value to `Windows`
+- `os-sku` set the value to `Windows2019`
> [!NOTE]
-> Windows Server 2019 is being retired after Kubernetes version 1.32 reaches end of life (EOL) and won't be supported in future releases. For more information about this retirement, see the [AKS release notes][aks-release-notes].
-
-When creating a Windows node pool, on Kubernetes version 1.24 or earlier, the default operating system will be Windows Server 2019. To use Windows Server 2019 node pools when not the default option, you need to specify an OS SKU type of `Windows2019`.
-
-```azurecli-interactive
-az aks nodepool add \
- --resource-group myResourceGroup \
- --cluster-name myAKSCluster \
- --os-type Windows \
- --os-sku Windows2019 \
- --name npwin \
- --node-count 1
-```
-
-The above command creates a new Windows Server 2019 node pool named *npwin* and adds it to the *myAKSCluster*. The above command also uses the default subnet in the default vnet created when running `az aks create`.
-
-## Add a Windows Server 2022 node pool
-
-When creating a Windows node pool, for Kubernetes 1.25 and higher the default operating system will be Windows Server 2022. To use Windows Server 2022 nodes when not default, you need to specify an OS SKU type of `Windows2022`.
-
-> [!NOTE]
-> Windows Server 2022 requires Kubernetes version "1.23.0" or higher.
+> - Windows Server 2022 requires Kubernetes version "1.23.0" or higher.
+> - Windows Server 2019 is being retired after Kubernetes version 1.32 reaches end of life (EOL) and won't be supported in future releases. For more information about this retirement, see the [AKS release notes][aks-release-notes].
Use the `az aks nodepool add` command to add a Windows Server 2022 node pool:
aks Open Service Mesh About https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/open-service-mesh-about.md
OSM can be added to your Azure Kubernetes Service (AKS) cluster by enabling the
> > |Kubernetes version | OSM version installed | > ||--|
-> | 1.24.0 or greater | 1.2.4 |
+> | 1.24.0 or greater | 1.2.5 |
> | Between 1.23.5 and 1.24.0 | 1.1.3 | > | Below 1.23.5 | 1.0.0 |
aks Open Service Mesh Binary https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/open-service-mesh-binary.md
This article will discuss how to download the OSM client library to be used to o
> [!IMPORTANT] > Based on the version of Kubernetes your cluster is running, the OSM add-on installs a different version of OSM:
-> - If your cluster is running Kubernetes version 1.24.0 or greater, the OSM add-on installs version *1.2.4* of OSM.
+> - If your cluster is running Kubernetes version 1.24.0 or greater, the OSM add-on installs version *1.2.5* of OSM.
> - If your cluster is running a version of Kubernetes between 1.23.5 and 1.24.0, the OSM add-on installs version *1.1.3* of OSM. > - If your cluster is running a version of Kubernetes below 1.23.5, the OSM add-on installs version *1.0.0* of OSM.
aks Open Service Mesh Deploy Addon Az Cli https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/open-service-mesh-deploy-addon-az-cli.md
This article shows you how to install the Open Service Mesh (OSM) add-on on an A
> [!IMPORTANT] > Based on the version of Kubernetes your cluster is running, the OSM add-on installs a different version of OSM:
-> - If your cluster is running Kubernetes version 1.24.0 or greater, the OSM add-on installs version *1.2.4* of OSM.
+> - If your cluster is running Kubernetes version 1.24.0 or greater, the OSM add-on installs version *1.2.5
+> * of OSM.
> - If your cluster is running a version of Kubernetes between 1.23.5 and 1.24.0, the OSM add-on installs version *1.1.3* of OSM. > - If your cluster is running a version of Kubernetes below 1.23.5, the OSM add-on installs version *1.0.0* of OSM.
aks Open Service Mesh Deploy Addon Bicep https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/open-service-mesh-deploy-addon-bicep.md
This article shows you how to deploy the Open Service Mesh (OSM) add-on to Azure
> [!IMPORTANT] > Based on the version of Kubernetes your cluster is running, the OSM add-on installs a different version of OSM:
-> - If your cluster is running Kubernetes version 1.24.0 or greater, the OSM add-on installs version *1.2.4* of OSM.
+> - If your cluster is running Kubernetes version 1.24.0 or greater, the OSM add-on installs version *1.2.5* of OSM.
> - If your cluster is running a version of Kubernetes between 1.23.5 and 1.24.0, the OSM add-on installs version *1.1.3* of OSM. > - If your cluster is running a version of Kubernetes below 1.23.5, the OSM add-on installs version *1.0.0* of OSM.
aks Support Policies https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/support-policies.md
Clusters with zero **Ready** nodes (or all **Not Ready**) and zero **Running** V
AKS reserves the right to archive control planes that have been configured out of support guidelines for extended periods equal to and beyond 30 days. AKS maintains backups of cluster etcd metadata and can readily reallocate the cluster. This reallocation is initiated by any PUT operation bringing the cluster back into support, such as an upgrade or scale to active agent nodes.
-All clusters in a suspended or deleted subscription will be stopped immediately and deleted after 30 days
+All clusters in a suspended subscription will be stopped immediately and deleted after 90 days. All clusters in a deleted subscription will be deleted immediately.
## Unsupported alpha and beta Kubernetes features
aks Use Azure Ad Pod Identity https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/use-azure-ad-pod-identity.md
Last updated 04/28/2023
Azure Active Directory (Azure AD) pod-managed identities use Kubernetes primitives to associate [managed identities for Azure resources][az-managed-identities] and identities in Azure AD with pods. Administrators create identities and bindings as Kubernetes primitives that allow pods to access Azure resources that rely on Azure AD as an identity provider.
-> [!NOTE]
+> [!IMPORTANT]
> We recommend you review [Azure AD workload identity][workload-identity-overview]. > This authentication method replaces pod-managed identity (preview), which integrates with the > Kubernetes native capabilities to federate with any external identity providers on behalf of the > application. >
-> The open source Azure AD pod-managed identity (preview) in Azure Kubernetes Service has been deprecated as of 10/24/2022, and the project will be archived in Sept. 2023. For more information, see the [deprecation notice](https://github.com/Azure/aad-pod-identity#-announcement).
-> The AKS Managed add-on begins deprecation in Sept. 2023.
+> The open source Azure AD pod-managed identity (preview) in Azure Kubernetes Service has been deprecated as of 10/24/2022, and the project will be archived in Sept. 2023. For more information, see the [deprecation notice](https://github.com/Azure/aad-pod-identity#-announcement). The AKS Managed add-on begins deprecation in Sept. 2023.
+>
+> To disable the AKS Managed add-on, use the following command: `az feature unregister --namespace "Microsoft.ContainerService" --name "EnablePodIdentityPreview"`.
## Before you begin
aks Use Kms Etcd Encryption https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/aks/use-kms-etcd-encryption.md
Title: Use Key Management Service (KMS) etcd encryption in Azure Kubernetes Serv
description: Learn how to use the Key Management Service (KMS) etcd encryption with Azure Kubernetes Service (AKS) Previously updated : 04/12/2023 Last updated : 06/15/2023 # Add Key Management Service (KMS) etcd encryption to an Azure Kubernetes Service (AKS) cluster
The following limitations apply when you integrate KMS etcd encryption with AKS:
* Deletion of the key, Key Vault, or the associated identity isn't supported. * KMS etcd encryption doesn't work with system-assigned managed identity. The key vault access policy is required to be set before the feature is enabled. In addition, system-assigned managed identity isn't available until cluster creation, thus there's a cycle dependency. * Azure Key Vault with Firewall enabled to allow public access isn't supported because it blocks traffic from KMS plugin to the Key Vault.
-* The maximum number of secrets that a cluster enabled with KMS supports is 2,000.
+* The maximum number of secrets supported by a cluster enabled with KMS is 2,000. However, it's important to note that [KMS V2][kms-v2-support] isn't limited by this restriction and can handle a higher number of secrets.
* Bring your own (BYO) Azure Key Vault from another tenant isn't supported.
-* With KMS enabled, you can't change associated Azure Key Vault model (public, private). To [change associated key vault mode][changing-associated-key-vault-mode], you need to disable and enable KMS again.
-* If a cluster is enabled KMS with private key vault and not using the `API Server VNet integration` tunnel, then stop/start cluster is not allowed.
+* With KMS enabled, you can't change associated Azure Key Vault model (public, private). To [change associated key vault mode][changing-associated-key-vault-mode], you need to disable and enable KMS again.
+* If a cluster is enabled with KMS and private key vault and isn't using the `API Server VNet integration` tunnel, then stop/start cluster isn't allowed.
* Using the virtual machine scale set (VMSS) API to scale down nodes in the cluster to zero will deallocate the nodes, causing the cluster to go down and unrecoverable.
Use the following command to update all secrets. Otherwise, the old secrets will
kubectl get secrets --all-namespaces -o json | kubectl replace -f - ```
+## KMS V2 support
+
+Since AKS version 1.27 and above, enabling the KMS feature configures KMS V2. With KMS V2, you aren't limited to the 2,000 secrets support. For more information, you can refer to the [KMS V2 Improvements](https://kubernetes.io/blog/2023/05/16/kms-v2-moves-to-beta/).
+
+### Migration to KMS v2
+
+If your cluster version is less than 1.27 and you already enabled KMS, use the following steps to migrate to KMS V2:
+
+1. Disable KMS on the cluster.
+2. Perform the storage migration.
+3. Upgrade the cluster to version 1.27 or higher.
+4. Re-enable KMS on the cluster.
+5. Perform the storage migration
+
+#### Disable KMS
+
+Disable KMS on an existing cluster using the `az aks update` command with the `--disable-azure-keyvault-kms` flag.
+
+```azurecli-interactive
+az aks update --name myAKSCluster --resource-group MyResourceGroup --disable-azure-keyvault-kms
+```
+
+#### Storage migration
+
+Update all secrets using the `kubectl get secrets` command with the `--all-namespaces` flag.
+
+```azurecli-interactive
+kubectl get secrets --all-namespaces -o json | kubectl replace -f -
+```
+
+#### Upgrade AKS cluster
+
+Upgrade the AKS cluster using the `az aks upgrade` command and specify your desired version as `1.27.x` or higher for `--kubernetes-version`.
+
+```azurecli-interactive
+az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version <AKS version>
+```
+
+Example:
+
+```azurecli-interactive
+az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.27.1
+```
+
+#### Re-enable KMS
+
+You can reenable the KMS feature on the cluster to encrypt the secrets. After that, the AKS cluster uses KMS V2.
+If you donΓÇÖt want to do the KMS v2 migration, you can create a new 1.27+ cluster with KMS enabled.
+
+#### Storage migration
+
+Re-encrypt all secrets under KMS V2 using the `kubectl get secrets` command with the `--all-namespaces` flag.
+
+```azurecli-interactive
+kubectl get secrets --all-namespaces -o json | kubectl replace -f -
+```
+ <!-- LINKS - Internal --> [aks-support-policies]: support-policies.md [aks-faq]: faq.md
kubectl get secrets --all-namespaces -o json | kubectl replace -f -
[changing-associated-key-vault-mode]: use-kms-etcd-encryption.md#update-key-vault-mode [install-azure-cli]: /cli/azure/install-azure-cli [api-server-vnet-integration]: api-server-vnet-integration.md
+[kms-v2-support]: use-kms-etcd-encryption.md#kms-v2-support
api-management Api Management Policies https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/api-management-policies.md
More information about policies:
- [Trigger output binding](invoke-dapr-binding-policy.md): Uses Dapr runtime to invoke an external system via output binding. To learn more about bindings in Dapr, see the description in this [README](https://github.com/dapr/docs/blob/master/README.md) file. ## GraphQL resolver policies
+- [Azure SQL data source for resolver](sql-data-source-policy.md) - Configures the Azure SQL request and optional response to resolve data for an object type and field in a GraphQL schema.
- [Cosmos DB data source for resolver](cosmosdb-data-source-policy.md) - Configures the Cosmos DB request and optional response to resolve data for an object type and field in a GraphQL schema. - [HTTP data source for resolver](http-data-source-policy.md) - Configures the HTTP request and optionally the HTTP response to resolve data for an object type and field in a GraphQL schema. - [Publish event to GraphQL subscription](publish-event-policy.md) - Publishes an event to one or more subscriptions specified in a GraphQL API schema. Configure the policy in a GraphQL resolver for a related field in the schema for another operation type such as a mutation. -- [Azure SQL data source for resolver](sql-data-source-policy.md) - Configures the Azure SQL request and optional response to resolve data for an object type and field in a GraphQL schema. ## Transformation policies - [Convert JSON to XML](json-to-xml-policy.md) - Converts request or response body from JSON to XML.
api-management Identity Provider Adal Retirement Sep 2025 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/api-management/breaking-changes/identity-provider-adal-retirement-sep-2025.md
Your service is impacted by this change if:
## What is the deadline for the change?
-On 30 September, 2025, these identity providers will stop functioning. To avoid disruption of your developer portal, you need to update your Azure AD applications and identity provider configuration in Azure API Management by that date. Your developer portal might be at a security risk after Microsoft ADAL support ends in June 1, 2023. Learn more in [the official announcement](../../active-directory/fundamentals/whats-new.md#adal-end-of-support-announcement).
+On 30 September, 2025, these identity providers will stop functioning. To avoid disruption of your developer portal, you need to update your Azure AD applications and identity provider configuration in Azure API Management by that date. Your developer portal might be at a security risk after Microsoft ADAL support ends in June 1, 2023.
Developer portal sign-in and sign-up with Azure AD or Azure AD B2C will stop working past 30 September, 2025 if you don't update your ADAL-based Azure AD or Azure AD B2C identity providers. This new authentication method is more secure, as it relies on the OAuth 2.0 authorization code flow with PKCE and uses an up-to-date software library.
app-service Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/app-service/overview.md
description: Learn how Azure App Service helps you develop and host web applicat
ms.assetid: 94af2caf-a2ec-4415-a097-f60694b860b3 Previously updated : 07/21/2021 Last updated : 06/14/2023 # App Service overview
-*Azure App Service* is an HTTP-based service for hosting web applications, REST APIs, and mobile back ends. You can develop in your favorite language, be it .NET, .NET Core, Java, Ruby, Node.js, PHP, or Python. Applications run and scale with ease on both Windows and [Linux](#app-service-on-linux)-based environments.
+*Azure App Service* is an HTTP-based service for hosting web applications, REST APIs, and mobile back ends. You can develop in your favorite language, be it .NET, .NET Core, Java, Node.js, PHP, and Python. Applications run and scale with ease on both Windows and [Linux](#app-service-on-linux)-based environments.
App Service adds the power of Microsoft Azure to your application, such as security, load balancing, autoscaling, and automated management. Additionally, you can take advantage of its DevOps capabilities, such as continuous deployment from Azure DevOps, GitHub, Docker Hub, and other sources, package management, staging environments, custom domain, and TLS/SSL certificates.
If you need to create another web app with an outdated runtime version that is n
### Limitations
-> [!NOTE]
-> Linux and Windows App Service plans can now share resource groups. This limitation has been lifted from the platform and existing resource groups have been updated to support this.
->
- * App Service on Linux is not supported on [Shared](https://azure.microsoft.com/pricing/details/app-service/plans/) pricing tier. * The Azure portal shows only features that currently work for Linux apps. As features are enabled, they're activated on the portal. * When deployed to built-in images, your code and content are allocated a storage volume for web content, backed by Azure Storage. The disk latency of this volume is higher and more variable than the latency of the container filesystem. Apps that require heavy read-only access to content files may benefit from the custom container option, which places files in the container filesystem instead of on the content volume.
If you need to create another web app with an outdated runtime version that is n
Create your first web app.
+> [!div class="nextstepaction"]
+> [Getting started)](getting-started.md)
+ > [!div class="nextstepaction"] > [ASP.NET Core (on Windows or Linux)](quickstart-dotnetcore.md)
application-gateway Create Multiple Sites Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/application-gateway/create-multiple-sites-portal.md
Previously updated : 06/08/2023 Last updated : 06/13/2023 #Customer intent: As an IT administrator, I want to use the Azure portal to set up an application gateway so I can host multiple sites.
Sign in to the [Azure portal](https://portal.azure.com).
1. On the **Frontends** tab, verify **Frontend IP address type** is set to **Public**. <br>You can configure the Frontend IP to be Public or Private as per your use case. In this example, you'll choose a Public Frontend IP. > [!NOTE]
- > For the application gateway v2 SKU, you can only choose **Public** frontend IP configuration. Private frontend IP configuration is currently not enabled for this v2 SKU.
+ > For the application gateway v2 SKU, you can only choose **Public** frontend IP configuration. Use of a private frontend IP address configuration is currently in public preview. For more information, see [Private Application Gateway deployment](application-gateway-private-deployment.md).
2. Select **Add new** for the **Public IP address** and enter *myAGPublicIPAddress* for the public IP address name, and then select **OK**.
applied-ai-services Form Recognizer Container Install Run https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/applied-ai-services/form-recognizer/containers/form-recognizer-container-install-run.md
Previously updated : 05/10/2023 Last updated : 06/13/2023
The following code sample is a self-contained `docker compose` example to run t
```yml version: "3.9"
- azure-cognitive-service-document:
+ azure-cognitive-service-document:
container_name: azure-cognitive-service-document image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/document-3.0 environment:
- billing={FORM_RECOGNIZER_ENDPOINT_URI} - apiKey={FORM_RECOGNIZER_KEY} - AzureCognitiveServiceLayoutHost=http://azure-cognitive-service-layout:5000
- ports:
+ ports:
- "5000:5050"
- azure-cognitive-service-layout:
- container_name: azure-cognitive-service-layout
- image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0
- environment:
- - EULA=accept
- - billing={FORM_RECOGNIZER_ENDPOINT_URI}
- - apiKey={FORM_RECOGNIZER_KEY}
+ azure-cognitive-service-layout:
+ container_name: azure-cognitive-service-layout
+ image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0
+ environment:
+ - EULA=accept
+ - billing={FORM_RECOGNIZER_ENDPOINT_URI}
+ - apiKey={FORM_RECOGNIZER_KEY}
```
The following code sample is a self-contained `docker compose` example to run t
```yml version: "3.9"
- azure-cognitive-service-invoice:
+ azure-cognitive-service-invoice:
container_name: azure-cognitive-service-invoice image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice-3.0 environment:
- AzureCognitiveServiceLayoutHost=http://azure-cognitive-service-layout:5000 ports: - "5000:5050"
- azure-cognitive-service-layout:
- container_name: azure-cognitive-service-layout
- image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0
- environment:
- - EULA=accept
- - billing={FORM_RECOGNIZER_ENDPOINT_URI}
- - apiKey={FORM_RECOGNIZER_KEY}
+ azure-cognitive-service-layout:
+ container_name: azure-cognitive-service-layout
+ image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout-3.0
+ environment:
+ - EULA=accept
+ - billing={FORM_RECOGNIZER_ENDPOINT_URI}
+ - apiKey={FORM_RECOGNIZER_KEY}
```
The following code sample is a self-contained `docker compose` example to run t
```yml version: "3.9"
- azure-cognitive-service-receipt:
- container_name: azure-cognitive-service-receipt
- image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/receipt-3.0
- environment:
- - EULA=accept
- - billing={FORM_RECOGNIZER_ENDPOINT_URI}
- - apiKey={FORM_RECOGNIZER_KEY}
- - AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
- ports:
- - "5000:5050"
+ azure-cognitive-service-receipt:
+ container_name: azure-cognitive-service-receipt
+ image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/receipt-3.0
+ environment:
+ - EULA=accept
+ - billing={FORM_RECOGNIZER_ENDPOINT_URI}
+ - apiKey={FORM_RECOGNIZER_KEY}
+ - AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
+ ports:
+ - "5000:5050"
azure-cognitive-service-read:
- container_name: azure-cognitive-service-read
- image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/read-3.0
- environment:
- - EULA=accept
- - billing={FORM_RECOGNIZER_ENDPOINT_URI}
- - apiKey={FORM_RECOGNIZER_KEY}
+ container_name: azure-cognitive-service-read
+ image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/read-3.0
+ environment:
+ - EULA=accept
+ - billing={FORM_RECOGNIZER_ENDPOINT_URI}
+ - apiKey={FORM_RECOGNIZER_KEY}
```
The following code sample is a self-contained `docker compose` example to run t
```yml version: "3.9"
- azure-cognitive-service-receipt:
- container_name: azure-cognitive-service-id-document
- image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/id-document-3.0
- environment:
- - EULA=accept
- - billing={FORM_RECOGNIZER_ENDPOINT_URI}
- - apiKey={FORM_RECOGNIZER_KEY}
- - AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
- ports:
- - "5000:5050"
- azure-cognitive-service-read:
- container_name: azure-cognitive-service-read
- image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/read-3.0
- environment:
- - EULA=accept
- - billing={FORM_RECOGNIZER_ENDPOINT_URI}
- - apiKey={FORM_RECOGNIZER_KEY}
+ azure-cognitive-service-receipt:
+ container_name: azure-cognitive-service-id-document
+ image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/id-document-3.0
+ environment:
+ - EULA=accept
+ - billing={FORM_RECOGNIZER_ENDPOINT_URI}
+ - apiKey={FORM_RECOGNIZER_KEY}
+ - AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
+ ports:
+ - "5000:5050"
+ azure-cognitive-service-read:
+ container_name: azure-cognitive-service-read
+ image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/read-3.0
+ environment:
+ - EULA=accept
+ - billing={FORM_RECOGNIZER_ENDPOINT_URI}
+ - apiKey={FORM_RECOGNIZER_KEY}
```
azure-arc Configure Transparent Data Encryption Manually https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/data/configure-transparent-data-encryption-manually.md
Title: Turn on transparent data encryption manually in Azure Arc-enabled SQL Managed Instance
+ Title: Encrypt a database with transparent data encryption manually in Azure Arc-enabled SQL Managed Instance
description: How-to guide to turn on transparent data encryption in an Azure Arc-enabled SQL Managed Instance
Last updated 05/22/2022
-# Enable transparent data encryption on Azure Arc-enabled SQL Managed Instance
+# Encrypt a database with transparent data encryption on Azure Arc-enabled SQL Managed Instance
This article describes how to enable transparent data encryption on a database created in an Azure Arc-enabled SQL Managed Instance. In this article, the term *managed instance* refers to a deployment of Azure Arc-enabled SQL Managed Instance.
azure-arc Configure Transparent Data Encryption Sql Managed Instance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/data/configure-transparent-data-encryption-sql-managed-instance.md
Previously updated : 01/20/2023 Last updated : 06/06/2023
The following limitations apply when you enable automatic TDE:
- Only General Purpose Tier is supported. - Failover groups aren't supported.
-## Turn on transparent data encryption on the managed instance
+
+## Create a managed instance with TDE enabled (Azure CLI)
+
+The following example creates an Azure Arc-enabled SQL managed instance with one replica, TDE enabled:
+
+```azurecli
+az sql mi-arc create --name sqlmi-tde --k8s-namespace arc --tde-mode ServiceManaged --use-k8s
+```
+
+## Turn on TDE on the managed instance
When TDE is enabled on Arc-enabled SQL Managed Instance, the data service automatically does the following tasks:
You can set Azure Arc-enabled SQL Managed Instance TDE in one of two modes:
- Service-managed - Customer-managed
-In service-managed mode, transparent data encryption requires the managed instance to use a service-managed database master key as well as the service-managed server certificate. These credentials are automatically created when service-managed transparent data encryption is enabled.
+In service-managed mode, TDE requires the managed instance to use a service-managed database master key as well as the service-managed server certificate. These credentials are automatically created when service-managed TDE is enabled.
-In customer-managed mode, transparent data encryption uses a service-managed database master key and uses keys you provide for the server certificate. To configure customer-managed mode:
+In customer-managed mode, TDE uses a service-managed database master key and uses keys you provide for the server certificate. To configure customer-managed mode:
1. Create a certificate. 1. Store the certificate as a secret in the same Kubernetes namespace as the instance. > [!NOTE]
-> If you need to change from one mode to the other, you must disable TDE from the current mode before you apply the new mode. For details, see [Turn off transparent data encryption on the managed instance](#turn-off-transparent-data-encryption-on-the-managed-instance).
->
-> For example, if the service is encrypted using service-managed mode, go to `Disabled` mode before you enable customer-managed mode.
->
-> ```console
-> kubectl patch sqlmi <sqlmi-name> --namespace <namespace> --type merge --patch '{ "spec": { "security": { "transparentDataEncryption": { "mode": "Disabled" } } } }'
-> ```
+> If you need to change from one mode to the other, you must disable TDE from the current mode before you apply the new mode. To disable, before you proceed, follow the instructions at [Turn off TDE on the managed instance](#turn-off-tde-on-the-managed-instance).
+
+### Enable
+# [Service-managed](#tab/service-managed)
-To proceed, select the mode you want to use.
+The following section explains how to enable TDE in service-managed mode.
-### [Service-managed mode](#tab/service-managed-mode)
+# [Customer-managed](#tab/customer-managed)
+The following section explains how to enable TDE in customer-managed mode.
++
-To enable TDE in service-managed mode, run kubectl patch to enable service-managed TDE
+# [Azure CLI](#tab/azure-cli/service-managed)
+
+To enable TDE in service managed mode, run the following command:
+
+```azurecli
+az sql mi-arc update --tde-mode ServiceManaged
+```
+
+# [Kubernetes native tools](#tab/kubernetes-native/service-managed)
+
+To enable TDE in service-managed mode, run kubectl patch to enable service-managed TDE:
```console kubectl patch sqlmi <sqlmi-name> --namespace <namespace> --type merge --patch '{ "spec": { "security": { "transparentDataEncryption": { "mode": "ServiceManaged" } } } }'
Example:
kubectl patch sqlmi sqlmi-tde --namespace arc --type merge --patch '{ "spec": { "security": { "transparentDataEncryption": { "mode": "ServiceManaged" } } } }' ```
-### [Customer-managed mode](#tab/customer-managed-mode)
+# [Azure CLI](#tab/azure-cli/customer-managed)
+
+To enable TDE in customer-managed mode with Azure CLI:
+
+1. Create a certificate.
+
+ ```console
+ openssl req -x509 -newkey rsa:2048 -nodes -keyout <key-file> -days 365 -out <cert-file>
+ ```
+
+1. Create a secret for the certificate.
+
+ > [!IMPORTANT]
+ > Store the secret in the same namespace as the managed instance
+
+ ```console
+ kubectl create secret generic <tde-secret-name> --from-literal=privatekey.pem="$(cat <key-file>)" --from-literal=certificate.pem="$(cat <cert-file>) --namespace <namespace>"
+ ```
+
+1. Update and run the following example to enable customer-managed TDE:
+
+ ```azurecli
+ az sql mi-arc update --tde-mode CustomerManaged --tde-protector-private-key-file <key-file> --tde-protector-public-key-file <cert-file>
+ ```
+
+# [Kubernetes native tools](#tab/kubernetes-native/customer-managed)
-To enable TDE in customer managed mode:
+To enable TDE in customer-managed mode:
1. Create a certificate.
To enable TDE in customer managed mode:
-## Turn off transparent data encryption on the managed instance
+## Turn off TDE on the managed instance
When TDE is disabled on Arc-enabled SQL Managed Instance, the data service automatically does the following tasks:
When TDE is disabled on Arc-enabled SQL Managed Instance, the data service autom
3. Drops the service-managed certificate protector. 4. Drops the service-managed database master key in the `master` database.
-### [Service-managed mode](#tab/service-managed-mode)
+# [Azure CLI](#tab/azure-cli)
-Run kubectl patch to disable service-managed TDE.
+To disable TDE:
-```console
-kubectl patch sqlmi <sqlmi-name> --namespace <namespace> --type merge --patch '{ "spec": { "security": { "transparentDataEncryption": { "mode": "Disabled" } } } }'
+```azurecli
+az sql mi-arc update --tde-mode Disabled
```
-Example:
-```console
-kubectl patch sqlmi sqlmi-tde --namespace arc --type merge --patch '{ "spec": { "security": { "transparentDataEncryption": { "mode": "Disabled" } } } }'
-```
-
-### [Customer-managed mode](#tab/customer-managed-mode)
+# [Kubernetes native tools](#tab/kubernetes-native)
-Run kubectl patch to disable customer-managed TDE.
-
-When you disable TDE in customer-managed mode, you need to set `"protectorSecret" : null`.
+Run kubectl patch to disable service-managed TDE.
```console
-kubectl patch sqlmi <sqlmi-name> --namespace <namespace> --type merge --patch '{ "spec": { "security": { "transparentDataEncryption": { "mode": "Disabled" , "protectorSecret": null } } } }'
+kubectl patch sqlmi <sqlmi-name> --namespace <namespace> --type merge --patch '{ "spec": { "security": { "transparentDataEncryption": { "mode": "Disabled" } } } }'
``` - Example:- ```console
-kubectl patch sqlmi sqlmi-tde --namespace arc --type merge --patch '{ "spec": { "security": { "transparentDataEncryption": { "mode": "Disabled" , "protectorSecret": null } } } }'
+kubectl patch sqlmi sqlmi-tde --namespace arc --type merge --patch '{ "spec": { "security": { "transparentDataEncryption": { "mode": "Disabled" } } } }'
```
-## Back up a transparent data encryption credential
+## Back up a TDE credential
When you back up credentials from the managed instance, the credentials are stored within the container. To store credentials on a persistent volume, specify the mount path in the container. For example, `var/opt/mssql/data`. The following example backs up a certificate from the managed instance:
When you back up credentials from the managed instance, the credentials are stor
```console kubectl cp --namespace arc-ns --container arc-sqlmi sql-0:/var/opt/mssql/data/servercert.crt $HOME/sqlcerts/servercert.crt ```+ 3. Copy the private key from the container to your file system. ### [Windows](#tab/windows)+ ```console kubectl exec -n <namespace> -c arc-sqlmi <pod-name> -- cat <pod-private-key-path> > <local-private-key-path> ```
When you back up credentials from the managed instance, the credentials are stor
``` ### [Linux](#tab/linux)+ ```console kubectl cp --namespace <namespace> --container arc-sqlmi <pod-name>:<pod-private-key-path> <local-private-key-path> ```
When you back up credentials from the managed instance, the credentials are stor
```console kubectl cp --namespace arc-ns --container arc-sqlmi sql-0:/var/opt/mssql/data/servercert.key $HOME/sqlcerts/servercert.key ```+ 4. Delete the certificate and private key from the container.
When you back up credentials from the managed instance, the credentials are stor
kubectl exec -it --namespace arc-ns --container arc-sqlmi sql-0 -- bash -c "rm /var/opt/mssql/data/servercert.crt /var/opt/mssql/data/servercert.key" ```
-## Restore a transparent data encryption credential to a managed instance
+## Restore a TDE credential to a managed instance
Similar to above, to restore the credentials, copy them into the container and run the corresponding T-SQL afterwards.
Similar to above, to restore the credentials, copy them into the container and r
> To restore database backups that have been taken before enabling TDE, you would need to disable TDE on the SQL Managed Instance, restore the database backup and enable TDE again. 1. Copy the certificate from your file system to the container.+ ### [Windows](#tab/windows)+ ```console type <local-certificate-path> | kubectl exec -i -n <namespace> -c arc-sqlmi <pod-name> -- tee <pod-certificate-path> ```
Similar to above, to restore the credentials, copy them into the container and r
``` ### [Linux](#tab/linux)+ ```console kubectl cp --namespace <namespace> --container arc-sqlmi <local-certificate-path> <pod-name>:<pod-certificate-path> ```
Similar to above, to restore the credentials, copy them into the container and r
```console kubectl cp --namespace arc-ns --container arc-sqlmi $HOME/sqlcerts/servercert.crt sql-0:/var/opt/mssql/data/servercert.crt ```+ 2. Copy the private key from your file system to the container.
- ### [Windows](#tab/windows)
+
+ # [Windows](#tab/windows)
+
```console type <local-private-key-path> | kubectl exec -i -n <namespace> -c arc-sqlmi <pod-name> -- tee <pod-private-key-path> ```
Similar to above, to restore the credentials, copy them into the container and r
``` ### [Linux](#tab/linux)+ ```console kubectl cp --namespace <namespace> --container arc-sqlmi <local-private-key-path> <pod-name>:<pod-private-key-path> ```
azure-arc Release Notes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/data/release-notes.md
This article highlights capabilities, features, and enhancements recently released or improved for Azure Arc-enabled data services.
+## June 13, 2023
+
+### Image tag
+
+`v1.20.0_2023-06-13`
+
+For complete release version information, review [Version log](version-log.md#june-13-2023).
+
+### Release notes
+
+- Azure Arc-enabled SQL Managed Instance
+ - [Added Azure CLI support to manage transparent data encryption (TDE)](configure-transparent-data-encryption-sql-managed-instance.md).
+ ## May 9, 2023 ### Image tag
azure-arc Version Log https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/data/version-log.md
This article identifies the component versions with each release of Azure Arc-enabled data services.
+## June 13, 2023
+
+|Component|Value|
+|--|--|
+|Container images tag |`v1.20.0_2023-06-13`|
+|**CRD names and version:**| |
+|`activedirectoryconnectors.arcdata.microsoft.com`| v1beta1, v1beta2, v1|
+|`datacontrollers.arcdata.microsoft.com`| v1beta1, v1 through v5|
+|`exporttasks.tasks.arcdata.microsoft.com`| v1beta1, v1, v2|
+|`failovergroups.sql.arcdata.microsoft.com`| v1beta1, v1beta2, v1, v2|
+|`kafkas.arcdata.microsoft.com`| v1beta1 through v1beta4|
+|`monitors.arcdata.microsoft.com`| v1beta1, v1, v3|
+|`postgresqls.arcdata.microsoft.com`| v1beta1 through v1beta6|
+|`postgresqlrestoretasks.tasks.postgresql.arcdata.microsoft.com`| v1beta1|
+|`sqlmanagedinstances.sql.arcdata.microsoft.com`| v1beta1, v1 through v13|
+|`sqlmanagedinstancemonitoringprofiles.arcdata.microsoft.com`| v1beta1, v1beta2|
+|`sqlmanagedinstancereprovisionreplicatasks.tasks.sql.arcdata.microsoft.com`| v1beta1|
+|`sqlmanagedinstancerestoretasks.tasks.sql.arcdata.microsoft.com`| v1beta1, v1|
+|`telemetrycollectors.arcdata.microsoft.com`| v1beta1 through v1beta5|
+|`telemetryrouters.arcdata.microsoft.com`| v1beta1 through v1beta5|
+|Azure Resource Manager (ARM) API version|2023-01-15-preview|
+|`arcdata` Azure CLI extension version|1.5.1 ([Download](https://aka.ms/az-cli-arcdata-ext))|
+|Arc-enabled Kubernetes helm chart extension version|1.20.0|
+|Azure Arc Extension for Azure Data Studio<br/>`arc`<br/>`azcli`|<br/>1.8.0 ([Download](https://aka.ms/ads-arcdata-ext))</br>1.8.0 ([Download](https://aka.ms/ads-azcli-ext))|
+|SQL Database version | 957 |
+ ## May 9, 2023 |Component|Value|
azure-arc Network Requirements https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-arc/resource-bridge/network-requirements.md
This article describes the networking requirements for deploying Azure Arc resou
### Static Configuration
-Static configuration is recommended for Arc resource bridge because the resource bridge needs three static IPs in the same subnet for the control plane, appliance VM, and reserved appliance VM (for upgrade). The control plane corresponds to the `controlplanenedpoint` parameter, the appliance VM IP to `k8snodeippoolstart`, and reserved appliance VM to `k8snodeippoolend` in the `createconfig` command that creates the bridge configuration files. If using DHCP, reserve those IP addresses, ensuring they are outside the DHCP range.
+Static configuration is recommended for Arc resource bridge because the resource bridge needs three static IPs in the same subnet for the control plane, appliance VM, and reserved appliance VM (for upgrade). The control plane corresponds to the `controlplanenedpoint` parameter, the appliance VM IP to `k8snodeippoolstart`, and reserved appliance VM to `k8snodeippoolend` in the `createconfig` command that creates the resource bridge configuration files. If using DHCP, reserve those IP addresses, ensuring the IPs are outside of the assignable DHCP range of IPs (i.e. the control plane IP should be treated as a reserved/static IP that no other machine on the network will use or receive from DHCP).
### IP Address Prefix
-The subnet of the IP addresses for Arc resource bridge must lie in the IP address prefix that is passed in the `ipaddressprefix` parameter of the `createconfig` command. The IP address prefix is the IP prefix that is exposed by the network to which Arc resource bridge is connected. It is entered as the subnet's IP address range for the virtual network and subnet mask (IP Mask) in CIDR notation, for example `192.168.7.1/24`. Consult your system or network administrator to obtain the IP address prefix in CIDR notation. An IP Subnet CIDR calculator may be used to obtain this value.
+The subnet of the IP addresses for Arc resource bridge must lie in the IP address prefix that is passed in the `ipaddressprefix` parameter during the configuration creation. The IP address prefix is the IP prefix that is exposed by the network to which Arc resource bridge is connected. It is entered as the subnet's IP address range for the virtual network and subnet mask (IP Mask) in CIDR notation, for example `192.168.7.1/24`. The minimum IP prefix is /29. The IP address prefix should have enough available IP addresses for Gateway IP, Control Plane IP, appliance VM IP, and reserved appliance VM IP. Consult your system or network administrator to obtain the IP address prefix in CIDR notation. An IP Subnet CIDR calculator may be used to obtain this value.
-### DNS Server
+### DNS Server IPs
DNS Server must have internal and external endpoint resolution. The appliance VM and control plane need to resolve the management machine and vice versa. All three must be able to reach the required URLs for deployment.
+### Gateway IP
+
+DNS Server must have internal and external endpoint resolution. The appliance VM and control plane need to resolve the management machine and vice versa. All three must be able to reach the required URLs for deployment.
++
+### Example minimum configuration for static IP deployment
+
+Below is an example of valid configuration values that can be passed during configuration file creation for Arc resource bridge. It is strongly recommended to use static IP addresses when deploying Arc resource bridge. Notice that the IP addresses for the Gateway, Control Plane, appliance VM and DNS server IP (for internal resolution) are within the IP prefix - this key detail ensures the successful deployment of the appliance VM.
+
+IP address Prefix (CIDR format): 192.168.0.0/29
+
+Gateway (IP format): 192.168.0.1
+
+VM IP Pool Start (IP format): 192.168.0.2
+
+VM IP Pool End (IP format): 192.168.0.3
+
+Control Plane IP (IP format): 192.168.0.4
+
+DNS servers (IP list format): 192.168.0.1, 10.0.0.5, 10.0.0.6
+ ## General network requirements [!INCLUDE [network-requirement-principles](../includes/network-requirement-principles.md)]
In addition, resource bridge (preview) requires connectivity to the [Arc-enabled
## SSL proxy configuration
-If using a proxy, Arc resource bridge must be configured for proxy so that it can connect to the Azure services. To configure the Arc resource bridge with proxy, provide the proxy certificate file path during creation of the configuration files. Only pass the single proxy certificate. If a certificate bundle is passed then the deployment will fail. The proxy server endpoint can't be a .local domain. Proxy configuration of the management machine isn't configured by Arc resource bridge.
+If using a proxy, Arc resource bridge must be configured for proxy so that it can connect to the Azure services. To configure the Arc resource bridge with proxy, provide the proxy certificate file path during creation of the configuration files. Only pass the single proxy certificate. If a certificate bundle is passed then the deployment will fail. The proxy server endpoint can't be a .local domain. The proxy server has to also be routable/reachable from IPs within the IP prefix. Proxy configuration of the management machine isn't configured by Arc resource bridge.
-There are only two certificates that should be relevant when deploying the Arc resource bridge behind an SSL proxy: the SSL certificate for your SSL proxy (so that the managment machine and on-premises appliance VM trust your proxy FQDN and can establish an SSL connection to it), and the SSL certificate of the Microsoft download servers. This certificate must be trusted by your proxy server itself, as the proxy is the one establishing the final connection and needs to trust the endpoint. Non-Windows machines may not trust this second certificate by default, so you may need to ensure that it's trusted.
+There are only two certificates that should be relevant when deploying the Arc resource bridge behind an SSL proxy: the SSL certificate for your SSL proxy (so that the management machine and on-premises appliance VM trust your proxy FQDN and can establish an SSL connection to it), and the SSL certificate of the Microsoft download servers. This certificate must be trusted by your proxy server itself, as the proxy is the one establishing the final connection and needs to trust the endpoint. Non-Windows machines may not trust this second certificate by default, so you may need to ensure that it's trusted.
-In order to deploy Arc resource bridge, images need to be downloaded to the management machine and then uploaded to the on-premises private cloud gallery. If your proxy server throttles download speed, this may impact your ability to download the required images (~3 GB) within the alotted time (90 min).
+In order to deploy Arc resource bridge, images need to be downloaded to the management machine and then uploaded to the on-premises private cloud gallery. If your proxy server throttles download speed, this may impact your ability to download the required images (~3 GB) within the allotted time (90 min).
## Exclusion list for no proxy
The default value for `noProxy` is `localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0
- Review the [Azure Arc resource bridge (preview) overview](overview.md) to understand more about requirements and technical details. - Learn about [security configuration and considerations for Azure Arc resource bridge (preview)](security-overview.md). +
azure-functions Functions Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-functions/functions-reference.md
An identity-based connection for an Azure service accepts the following common p
| Property | Environment variable template | Description | |||||
-| Token Credential | `<CONNECTION_NAME_PREFIX>__credential` | Defines how a token should be obtained for the connection. This setting is recommended only when specifying a user-assigned identity, when it should be set to "managedidentity". This value is only valid when hosted in the Azure Functions service. |
-| Client ID | `<CONNECTION_NAME_PREFIX>__clientId` | When `credential` is set to "managedidentity", this property specifies the user-assigned identity to be used when obtaining a token. The property accepts a client ID corresponding to a user-assigned identity assigned to the application. If not specified, the system-assigned identity is used. This property is used differently in [local development scenarios](#local-development-with-identity-based-connections), when `credential` should not be set. |
+| Token Credential | `<CONNECTION_NAME_PREFIX>__credential` | Defines how a token should be obtained for the connection. This setting should be set to "managedidentity" if your deployed Azure Function intends to use managed identity authentication. This value is only valid when a managed identity is available in the hosting environment. |
+| Client ID | `<CONNECTION_NAME_PREFIX>__clientId` | When `credential` is set to "managedidentity", this property can be set to specify the user-assigned identity to be used when obtaining a token. The property accepts a client ID corresponding to a user-assigned identity assigned to the application. It is invalid to specify both a Resource ID and a client ID. If not specified, the system-assigned identity is used. This property is used differently in [local development scenarios](#local-development-with-identity-based-connections), when `credential` should not be set. |
+| Resource ID | `<CONNECTION_NAME_PREFIX>__managedIdentityResourceId` | When `credential` is set to "managedidentity", this property can be set to specify the resource Identifier to be used when obtaining a token. The property accepts a resource identifier corresponding to the resource ID of the user-defined managed identity. It is invalid to specify both a resource ID and a client ID. If neither are specified, the system-assigned identity is used. This property is used differently in [local development scenarios](#local-development-with-identity-based-connections), when `credential` should not be set.
Additional options may be supported for a given connection type. Refer to the documentation for the component making the connection.
azure-government Azure Services In Fedramp Auditscope https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-government/compliance/azure-services-in-fedramp-auditscope.md
recommendations: false Previously updated : 06/12/2023 Last updated : 06/14/2023 # Azure, Dynamics 365, Microsoft 365, and Power Platform services compliance scope
For current Azure Government regions and available services, see [Products avail
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and Power Platform cloud services in scope for FedRAMP High, DoD IL2, DoD IL4, DoD IL5, and DoD IL6 authorizations across Azure, Azure Government, and Azure Government Secret cloud environments. For other authorization details in Azure Government Secret and Azure Government Top Secret, contact your Microsoft account representative. ## Azure public services by audit scope
-*Last updated: November 2022*
+*Last updated: June 2023*
### Terminology used
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Azure VMware Solution](../../azure-vmware/index.yml) | &#x2705; | &#x2705; | | [Backup](../../backup/index.yml) | &#x2705; | &#x2705; | | [Bastion](../../bastion/index.yml) | &#x2705; | &#x2705; |
-| [Batch](../../batch/index.yml) | &#x2705; | &#x2705; |
| **Service** | **FedRAMP High** | **DoD IL2** |
+| [Batch](../../batch/index.yml) | &#x2705; | &#x2705; |
| [Blueprints](../../governance/blueprints/index.yml) | &#x2705; | &#x2705; | | [Bot Service](/azure/bot-service/) | &#x2705; | &#x2705; | | [Cloud Services](../../cloud-services/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Cognitive | [Cognitive | [Cognitive
-| [Cognitive
| **Service** | **FedRAMP High** | **DoD IL2** |
+| [Cognitive
| [Cognitive | [Cognitive | [Container Instances](../../container-instances/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Database Migration Service](../../dms/index.yml) | &#x2705; | &#x2705; | | [Dataverse](/powerapps/maker/data-platform/) (incl. [Azure Synapse Link for Dataverse](/powerapps/maker/data-platform/export-to-data-lake)) | &#x2705; | &#x2705; | | [DDoS Protection](../../ddos-protection/index.yml) | &#x2705; | &#x2705; |
-| [Dedicated HSM](../../dedicated-hsm/index.yml) | &#x2705; | &#x2705; |
| **Service** | **FedRAMP High** | **DoD IL2** |
+| [Dedicated HSM](../../dedicated-hsm/index.yml) | &#x2705; | &#x2705; |
| [DevTest Labs](../../devtest-labs/index.yml) | &#x2705; | &#x2705; | | [DNS](../../dns/index.yml) | &#x2705; | &#x2705; | | [Dynamics 365 Chat (Omnichannel Engagement Hub)](/dynamics365/omnichannel/introduction-omnichannel) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Event Grid](../../event-grid/index.yml) | &#x2705; | &#x2705; | | [Event Hubs](../../event-hubs/index.yml) | &#x2705; | &#x2705; | | [ExpressRoute](../../expressroute/index.yml) | &#x2705; | &#x2705; |
-| [File Sync](../../storage/file-sync/index.yml) | &#x2705; | &#x2705; |
| **Service** | **FedRAMP High** | **DoD IL2** |
+| [File Sync](../../storage/file-sync/index.yml) | &#x2705; | &#x2705; |
| [Firewall](../../firewall/index.yml) | &#x2705; | &#x2705; | | [Firewall Manager](../../firewall-manager/index.yml) | &#x2705; | &#x2705; | | [Form Recognizer](../../applied-ai-services/form-recognizer/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Internet Analyzer](../../internet-analyzer/index.yml) | &#x2705; | &#x2705; | | [IoT Hub](../../iot-hub/index.yml) | &#x2705; | &#x2705; | | [Key Vault](../../key-vault/index.yml) | &#x2705; | &#x2705; |
-| [Lab Services](../../lab-services/index.yml) | &#x2705; | &#x2705; |
| **Service** | **FedRAMP High** | **DoD IL2** |
+| [Lab Services](../../lab-services/index.yml) | &#x2705; | &#x2705; |
| [Lighthouse](../../lighthouse/index.yml) | &#x2705; | &#x2705; | | [Load Balancer](../../load-balancer/index.yml) | &#x2705; | &#x2705; | | [Logic Apps](../../logic-apps/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Microsoft Defender for Cloud Apps](/defender-cloud-apps/) (formerly Microsoft Cloud App Security) | &#x2705; | &#x2705; | | [Microsoft Defender for Endpoint](/microsoft-365/security/defender-endpoint/) (formerly Microsoft Defender Advanced Threat Protection) | &#x2705; | &#x2705; | | [Microsoft Defender for Identity](/defender-for-identity/) (formerly Azure Advanced Threat Protection) | &#x2705; | &#x2705; |
-| [Microsoft Defender for IoT](../../defender-for-iot/index.yml) (formerly Azure Security for IoT) | &#x2705; | &#x2705; |
| **Service** | **FedRAMP High** | **DoD IL2** |
+| [Microsoft Defender for IoT](../../defender-for-iot/index.yml) (formerly Azure Security for IoT) | &#x2705; | &#x2705; |
| [Microsoft Graph](/graph/) | &#x2705; | &#x2705; | | [Microsoft Intune](/mem/intune/) | &#x2705; | &#x2705; |
-| [Microsoft Purview](../../purview/index.yml) (Includes Data Map, Governance Portal, and Data Estate Insight) | &#x2705; | &#x2705; |
-| [Microsoft Sentinel](../../sentinel/index.yml) | &#x2705; | &#x2705; |
+| [Microsoft Purview](../../purview/index.yml) (incl. Data Map, Data Estate Insights, and governance portal) | &#x2705; | &#x2705; |
+| [Microsoft Sentinel](../../sentinel/index.yml) (formerly Azure Sentinel) | &#x2705; | &#x2705; |
| [Microsoft Stream](/stream/) | &#x2705; | &#x2705; | | [Microsoft Threat Experts](/microsoft-365/security/defender-endpoint/microsoft-threat-experts) | &#x2705; | &#x2705; | | [Migrate](../../migrate/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Planned Maintenance for VMs](../../virtual-machines/maintenance-and-updates.md) | &#x2705; | &#x2705; | | [Power Apps](/powerapps/) | &#x2705; | &#x2705; | | [Power Apps Portal](https://powerapps.microsoft.com/portals/) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Power Automate](/power-automate/) (formerly Microsoft Flow) | &#x2705; | &#x2705; | | [Power BI](/power-bi/fundamentals/) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [Power BI Embedded](/power-bi/developer/embedded/) | &#x2705; | &#x2705; | | [Power Data Integrator for Dataverse](/power-platform/admin/data-integrator) (formerly Dynamics 365 Integrator App) | &#x2705; | &#x2705; | | [Power Virtual Agents](/power-virtual-agents/) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Service Fabric](../../service-fabric/index.yml) | &#x2705; | &#x2705; | | [Service Health](../../service-health/index.yml) | &#x2705; | &#x2705; | | [SignalR Service](../../azure-signalr/index.yml) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Site Recovery](../../site-recovery/index.yml) | &#x2705; | &#x2705; | | [SQL Database](/azure/azure-sql/database/sql-database-paas-overview) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [SQL Managed Instance](/azure/azure-sql/managed-instance/sql-managed-instance-paas-overview) | &#x2705; | &#x2705; | | [SQL Server Registry](/sql/sql-server/end-of-support/sql-server-extended-security-updates) | &#x2705; | &#x2705; | | [SQL Server Stretch Database](../../sql-server-stretch-database/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Stream Analytics](../../stream-analytics/index.yml) | &#x2705; | &#x2705; | | [Synapse Analytics](../../synapse-analytics/index.yml) | &#x2705; | &#x2705; | | [Time Series Insights](../../time-series-insights/index.yml) | &#x2705; | &#x2705; |
+| **Service** | **FedRAMP High** | **DoD IL2** |
| [Traffic Manager](../../traffic-manager/index.yml) | &#x2705; | &#x2705; | | [Virtual Machine Scale Sets](../../virtual-machine-scale-sets/index.yml) | &#x2705; | &#x2705; |
-| **Service** | **FedRAMP High** | **DoD IL2** |
| [Virtual Machines](../../virtual-machines/index.yml) (incl. [Reserved VM Instances](../../virtual-machines/prepay-reserved-vm-instances.md)) | &#x2705; | &#x2705; | | [Virtual Network](../../virtual-network/index.yml) | &#x2705; | &#x2705; | | [Virtual Network NAT](../../virtual-network/nat-gateway/index.yml) | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
**&ast;&ast;** FedRAMP High authorization for Azure Databricks is applicable to limited regions in Azure. To configure Azure Databricks for FedRAMP High use, contact your Microsoft or Databricks representative. ## Azure Government services by audit scope
-*Last updated: January 2023*
+*Last updated: June 2023*
### Terminology used
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [AI Builder](/ai-builder/) | &#x2705; | &#x2705; | &#x2705; | | | | [Analysis Services](../../analysis-services/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [API Management](../../api-management/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
-| [App Configuration](../../azure-app-configuration/index.yml) | &#x2705; | &#x2705; | &#x2705; |&#x2705; | |
+| [App Configuration](../../azure-app-configuration/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
| [App Service](../../app-service/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Application Gateway](../../application-gateway/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Automation](../../automation/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Blueprints](../../governance/blueprints/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Bot Service](/azure/bot-service/) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Cloud Services](../../cloud-services/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
-| [Cloud Shell](../../cloud-shell/overview.md) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
+| [Cloud Shell](../../cloud-shell/overview.md) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
| **Service** | **FedRAMP High** | **DoD IL2** | **DoD IL4** | **DoD IL5** | **DoD IL6** | | [Cognitive Search](../../search/index.yml) (formerly Azure Search) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Cognitive
This article provides a detailed list of Azure, Dynamics 365, Microsoft 365, and
| [Microsoft Defender for IoT](../../defender-for-iot/index.yml) (formerly Azure Security for IoT) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Microsoft Graph](/graph/) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | [Microsoft Intune](/mem/intune/) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
-| [Microsoft Sentinel](../../sentinel/index.yml) (formerly Azure Sentinel) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | |
+| [Microsoft Sentinel](../../sentinel/index.yml) (formerly Azure Sentinel) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
| [Microsoft Stream](/stream/) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Migrate](../../migrate/index.yml) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | | | [Network Watcher](../../network-watcher/index.yml) (incl. [Traffic Analytics](../../network-watcher/traffic-analytics.md)) | &#x2705; | &#x2705; | &#x2705; | &#x2705; | &#x2705; |
azure-government Documentation Government Stig Linux Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-government/documentation-government-stig-linux-vm.md
recommendations: false Previously updated : 03/21/2023 Last updated : 06/14/2023 # Deploy STIG-compliant Linux Virtual Machines (Preview)
The Azure STIG-compliant VM offering is expected to remain in Preview instead of
**Can Azure Update Management be used with STIG images?** </br> Yes, [Update Management](../automation/update-management/overview.md) in Azure Automation supports STIG images.
+**What STIG settings are being applied by the template?** </br>
+For more information, see [Deploy Azure Virtual Machine (Linux) and apply STIG](https://github.com/Azure/ato-toolkit/tree/master/stig/linux).
+ ## Next steps This quickstart showed you how to deploy a STIG-compliant Linux virtual machine (Preview) on Azure or Azure Government. For more information about creating virtual machines in:
azure-government Documentation Government Stig Windows Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-government/documentation-government-stig-windows-vm.md
recommendations: false Previously updated : 03/21/2023 Last updated : 06/14/2023 # Deploy STIG-compliant Windows Virtual Machines (Preview)
The Azure STIG-compliant VM offering is expected to remain in Preview instead of
**Can Azure Update Management be used with STIG images?** </br> Yes, [Update Management](../automation/update-management/overview.md) in Azure Automation supports STIG images.
+**What STIG settings are being applied by the template?** </br>
+For more information, see [Deploy Azure Virtual Machine (Windows) and apply STIG](https://github.com/Azure/ato-toolkit/tree/master/stig/windows).
+ ## Next steps This quickstart showed you how to deploy a STIG-compliant Windows virtual machine (Preview) on Azure or Azure Government. For more information about creating virtual machines in:
azure-maps How To Create Data Registries https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/how-to-create-data-registries.md
Title: Create Data Registry (preview)
+ Title: Create Data Registry
description: Learn how to create Data Registry. Previously updated : 2/14/2023 Last updated : 6/14/2023
-# How to create data registry (preview)
+# How to create data registry
The [data registry] service enables you to register data content in an Azure Storage Account with your Azure Maps account. An example of data might include a collection of Geofences used in the Azure Maps Geofencing service. Another example is ZIP files containing drawing packages (DWG) or GeoJSON files that Azure Maps Creator uses to create or update indoor maps.
To create a data registry:
1. Once you have the body of your HTTP request ready, execute the following **HTTP PUT request**: ```http
- https://us.atlas.microsoft.com/dataRegistries/{udid}?api-version=2022-12-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
+ https://us.atlas.microsoft.com/dataRegistries/{udid}?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Subscription-key}
```
The value of the **Operation-Location** key is the status URL that you'll use to
To (optionally) check the status of the data registry creation process, enter the status URL you copied in the [Create a data registry](#create-a-data-registry) section, and add your subscription key as a query string parameter. The request should look similar to the following URL: ```http
-https://us.atlas.microsoft.com/dataRegistries/operations/{udid}?api-version=2022-12-01-preview&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
+https://us.atlas.microsoft.com/dataRegistries/operations/{udid}?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Primary-Subscription-key}
``` ## Get a list of all files in the data registry
https://us.atlas.microsoft.com/dataRegistries/operations/{udid}?api-version=2022
Use the [List][list] request to get a list of all files registered in an Azure Maps account: ```http
-https://us.atlas.microsoft.com/dataRegistries?api-version=2022-12-01-preview&subscription-key={Azure-Maps-Subscription-key}
+https://us.atlas.microsoft.com/dataRegistries?api-version=2023-06-01&subscription-key={Azure-Maps-Subscription-key}
``` The following sample demonstrates three possible statuses, completed, running and failed:
The following sample demonstrates three possible statuses, completed, running an
"msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373", "linkedResource": "my-storage-account", "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path1.zip",
- "downloadURL": "https://us.atlas.microsoft.com/dataRegistries/f6495f62-94f8-0ec2-c252-45626f82fcb2/content?api-version=2022-12-01-preview",
"sizeInBytes": 29920, "contentMD5": "CsFxZ2YSfxw3cRPlqokV0w==" },
The following sample demonstrates three possible statuses, completed, running an
"msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373", "linkedResource": "my-storage-account", "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path2.geojson",
- "downloadURL": "https://us.atlas.microsoft.com/dataRegistries/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c/content?api-version=2022-12-01-preview",
"sizeInBytes": 1339 }, "status": "Running"
The following sample demonstrates three possible statuses, completed, running an
"dataFormat": "geojson", "linkedResource": "my-storage-account", "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path3.geojson",
- "downloadURL": "https://us.atlas.microsoft.com/dataRegistries/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c/content?api-version=2022-12-01-preview",
"sizeInBytes": 1650, "contentMD5": "rYpEfIeLbWZPyaICGEGy3A==" },
The data returned when running the list request is similar to the data provided
| property | description | |-|--| | contentMD5 | MD5 hash created from the contents of the file being registered. For more information, see [Data validation](#data-validation) |
-| downloadURL | The download URL of the underlying data. Used to [Get content from a data registry](#get-content-from-a-data-registry). |
| sizeInBytes | The size of the content in bytes. |
-## Get content from a data registry
-
-Once you've uploaded one or more files to an Azure storage account, created and Azure Maps datastore to link to those files, then registered them using the [register] API, you can access the data contained in the files.
-
-Use the `udid` to get the content of a file registered in an Azure Maps account:
-
- ```http
-https://us.atlas.microsoft.com/dataRegistries/{udid}/content?api-version=2022-12-01-preview&subscription-key={Your-Azure-Maps-Subscription-key}
-```
-
-The contents of the file appear in the body of the response. For example, a text based GeoJSON file appears similar to the following example:
-
-```json
-{
- "type": "FeatureCollection",
- "features": [
- {
- "type": "Feature",
- "geometry": {
- "type": "Point",
- "coordinates": [
- -122.126986,
- 47.639754
- ]
- },
- "properties": {
- "geometryId": "001",
- "radius": 500
- }
- }
- ]
-}
-```
-
-The file type is returned in the `content-type` key of the response header.
-
-Both text and binary files can be saved to a local hard drive or used directly in other processes like importing into the Azure Maps Creator conversion process.
- ## Replace a data registry If you need to replace a previously registered file with another file, rerun the register request, passing in the same [AzureBlob](#the-azureblob) used to create the original registration, except for the [blobUrl](#the-bloburl-property). The `BlobUrl` needs to be modified to point to the new file.
azure-maps Map Add Popup https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-add-popup.md
Title: Add a popup to a point on a map |Microsoft Azure Maps description: Learn about popups, popup templates, and popup events in Azure Maps. See how to add a popup to a point on a map and how to reuse and customize popups.-- Previously updated : 02/27/2020-++ Last updated : 06/14/2023+ - # Add a popup to the map
map.events.add('mouseleave', symbolLayer, function (){
}); ```
-Below is the complete running code sample of the above functionality.
-
-<br/>
-
-<iframe height='500' scrolling='no' title='Add a pop up using Azure Maps' src='//codepen.io/azuremaps/embed/MPRPvz/?height=500&theme-id=0&default-tab=result&embed-version=2&editable=true' frameborder='no' loading="lazy" allowtransparency='true' allowfullscreen='true'>See the Pen <a href='https://codepen.io/azuremaps/pen/MPRPvz/'>Add a pop up using Azure Maps</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>.
-</iframe>
- ## Reusing a popup with multiple points There are cases in which the best approach is to create one popup and reuse it. For example, you may have a large number of points and want to show only one popup at a time. By reusing the popup, the number of DOM elements created by the application is greatly reduced, which can provide better performance. The following sample creates 3-point features. If you click on any of them, a popup will be displayed with the content for that point feature.
-<br/>
+For a fully functional sample that shows how to create one popup and reuse it rather than creating a popup for each point feature, see [Reusing Popup with Multiple Pins] in the [Azure Maps Samples].
+
+<!--
<iframe height='500' scrolling='no' title='Reusing Popup with Multiple Pins' src='//codepen.io/azuremaps/embed/rQbjvK/?height=500&theme-id=0&default-tab=result&embed-version=2&editable=true' frameborder='no' loading="lazy" allowtransparency='true' allowfullscreen='true'>See the Pen <a href='https://codepen.io/azuremaps/pen/rQbjvK/'>Reusing Popup with Multiple Pins</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>
+-->
## Customizing a popup By default, the popup has a white background, a pointer arrow on the bottom, and a close button in the top-right corner. The following sample changes the background color to black using the `fillColor` option of the popup. The close button is removed by setting the `CloseButton` option to false. The HTML content of the popup uses padded of 10 pixels from the edges of the popup. The text is made white, so it shows up nicely on the black background.
-<br/>
+For a fully functional sample that shows how to customize the look of a popup, see [Customize a popup] in the [Azure Maps Samples].
+
+<!--
<iframe height="500" scrolling="no" title="Customized Popup" src="//codepen.io/azuremaps/embed/ymKgdg/?height=500&theme-id=0&default-tab=result" frameborder='no' loading="lazy" allowtransparency="true" allowfullscreen="true"> See the Pen <a href='https://codepen.io/azuremaps/pen/ymKgdg/'>Customized Popup</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>
+-->
## Add popup templates to the map
Popup templates make it easy to create data driven layouts for popups. The secti
> [!NOTE] > By default, all content rendered use the popup template will be sandboxed inside of an iframe as a security feature. However, there are limitations: >
-> - All scripts, forms, pointer lock and top navigation functionality is disabled. Links are allowed to open up in a new tab when clicked.
+> - All scripts, forms, pointer lock and top navigation functionality is disabled. Links are allowed to open up in a new tab when clicked.
> - Older browsers that don't support the `srcdoc` parameter on iframes will be limited to rendering a small amount of content.
->
-> If you trust the data being loaded into the popups and potentially want these scripts loaded into popups be able to access your application, you can disable this by setting the popup templates `sandboxContent` option to false.
+>
+> If you trust the data being loaded into the popups and potentially want these scripts loaded into popups be able to access your application, you can disable this by setting the popup templates `sandboxContent` option to false.
### String template
-The String template replaces placeholders with values of the feature properties. The properties of the feature don't have to be assigned a value of type String. For example, `value1` holds an integer. These values are then passed to the content property of the `popupTemplate`.
+The String template replaces placeholders with values of the feature properties. The properties of the feature don't have to be assigned a value of type String. For example, `value1` holds an integer. These values are then passed to the content property of the `popupTemplate`.
The `numberFormat` option specifies the format of the number to display. If the `numberFormat` isn't specified, then the code will use the popup templates date format. The `numberFormat` option formats numbers using the [Number.toLocaleString](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString) function. To format large numbers, consider using the `numberFormat` option with functions from [NumberFormat.format](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/NumberFormat/format). For instance, the code snippet below uses `maximumFractionDigits` to limit the number of fraction digits to two.
When the Popup template isn't defined to be a String template, a PropertyInfo te
Click the points on the map in the CodePen. There is a point on the map for each of the following popup templates: String template, PropertyInfo template, and Multiple content template. There are also three points to show how templates render using the defaulting settings.
-<br/>
+```javascript
+function InitMap()
+{
+ var map = new atlas.Map('myMap', {
+ zoom: 2,
+ view: "Auto",
+
+ //Add authentication details for connecting to Azure Maps.
+ authOptions: {
+ authType: 'subscriptionKey',
+ subscriptionKey: '{Your-Azure-Maps-Subscription-key}'
+ }
+ });
+
+ //Wait until the map resources are ready.
+ map.events.add('ready', function() {
+ //Create a data source and add it to the map.
+ var datasource = new atlas.source.DataSource();
+ map.sources.add(datasource);
+
+ //Add sample data.
+ datasource.add([
+ new atlas.data.Feature(new atlas.data.Point([-20, 20]), {
+ Title: 'No template - title/description',
+ description: 'This point doesn\'t have a template defined, fallback to title and description properties.'
+ }),
+
+ new atlas.data.Feature(new atlas.data.Point([20, 20]), {
+ Title: 'No template - property table',
+ message: 'This point doesn\'t have a template defined, fallback to title and table of properties.',
+ randomValue: 10,
+ url: 'https://aka.ms/AzureMapsSamples',
+ imageLink: 'https://azuremapscodesamples.azurewebsites.net/common/images/Pike_Market.jpg',
+ email: 'info@microsoft.com'
+ }),
+
+ new atlas.data.Feature(new atlas.data.Point([40, 0]), {
+ Title: 'No template - hyperlink detection disabled',
+ message: 'This point doesn\'t have a template defined, fallback to title and table of properties.',
+ randomValue: 10,
+ url: 'https://aka.ms/AzureMapsSamples',
+ email: 'info@microsoft.com',
+ popupTemplate: {
+ detectHyperlinks: false
+ }
+ }),
+
+ new atlas.data.Feature(new atlas.data.Point([-20, -20]), {
+ Title: 'Template 1 - String template',
+ value1: 1.2345678,
+ value2: {
+ subValue: 'Pizza'
+ },
+ arrayValue: [3, 4, 5, 6],
+ popupTemplate: {
+ content: 'This template uses a string template with placeholders.<br/><br/> - Value 1 = {value1}<br/> - Value 2 = {value2/subValue}<br/> - Array value [2] = {arrayValue/2}',
+ numberFormat: {
+ maximumFractionDigits: 2
+ }
+ }
+ }),
+
+ new atlas.data.Feature(new atlas.data.Point([20, -20]), {
+ Title: 'Template 2 - PropertyInfo',
+ createDate: new Date(),
+ dateNumber: 1569880860542,
+ url: 'https://aka.ms/AzureMapsSamples',
+ email: 'info@microsoft.com',
+ popupTemplate: {
+ content: [{
+ propertyPath: 'createDate',
+ label: 'Created Date'
+ },
+ {
+ propertyPath: 'dateNumber',
+ label: 'Formatted date from number',
+ dateFormat: {
+ weekday: 'long',
+ year: 'numeric',
+ month: 'long',
+ day: 'numeric',
+ timeZone: 'UTC',
+ timeZoneName: 'short'
+ }
+ },
+ {
+ propertyPath: 'url',
+ label: 'Code samples',
+ hideLabel: true,
+ hyperlinkFormat: {
+ lable: 'Go to code samples!',
+ target: '_blank'
+ }
+ },
+ {
+ propertyPath: 'email',
+ label: 'Email us',
+ hideLabel: true,
+ hyperlinkFormat: {
+ target: '_blank',
+ scheme: 'mailto:'
+ }
+ }
+ ]
+ }
+ }),
+
+ new atlas.data.Feature(new atlas.data.Point([0, 0]), {
+ Title: 'Template 3 - Multiple content template',
+ value1: 1.2345678,
+ value2: {
+ subValue: 'Pizza'
+ },
+ arrayValue: [3, 4, 5, 6],
+ imageLink: 'https://azuremapscodesamples.azurewebsites.net/common/images/Pike_Market.jpg',
+ popupTemplate: {
+ content: [
+ 'This template has two pieces of content; a string template with placeholders and a array of property info which renders a full width image.<br/><br/> - Value 1 = {value1}<br/> - Value 2 = {value2/subValue}<br/> - Array value [2] = {arrayValue/2}',
+ [{
+ propertyPath: 'imageLink',
+ label: 'Image',
+ hideImageLabel: true,
+ hyperlinkFormat: {
+ isImage: true
+ }
+ }]
+ ],
+ numberFormat: {
+ maximumFractionDigits: 2
+ }
+ }
+ }),
+ ]);
+
+ //Create a layer that defines how to render the points on the map.
+ var layer = new atlas.layer.BubbleLayer(datasource);
+ map.layers.add(layer);
+ //Create a popup but leave it closed so we can update it and display it later.
+ popup = new atlas.Popup();
+
+ //Add a click event to the layer.
+ map.events.add('click', layer, showPopup);
+ });
+
+ function showPopup(e) {
+ if (e.shapes && e.shapes.length > 0) {
+ var properties = e.shapes[0].getProperties();
+
+ popup.setOptions({
+ //Update the content of the popup.
+ content: atlas.PopupTemplate.applyTemplate(properties, properties.popupTemplate),
+
+ //Update the position of the popup with the pins coordinate.
+ position: e.shapes[0].getCoordinates()
+ });
+
+ //Open the popup.
+ popup.open(map);
+ }
+ }
+}
+```
++
+<!--
<iframe height='500' scrolling='no' title='PopupTemplates' src='//codepen.io/azuremaps/embed/dyovrzL/?height=500&theme-id=0&default-tab=result&embed-version=2&editable=true' frameborder='no' loading="lazy" allowtransparency='true' allowfullscreen='true'>See the Pen <a href='https://codepen.io/azuremaps/pen/dyovrzL/'>PopupTemplates</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>-
+-->
## Reuse popup template Similar to reusing popup, you can reuse popup templates. This approach is useful when you only want to show one popup template at a time, for multiple points. By reusing the popup template, the number of DOM elements created by the application is reduced, which then improves your application performance. The following sample uses the same popup template for three points. If you click on any of them, a popup will be displayed with the content for that point feature.
-<br/>
+For a fully functional sample that shows hot to reuse a single popup template with multiple features that share a common set of property fields, see [Reuse a popup template] in the [Azure Maps Samples].
+
+<!--
<iframe height='500' scrolling='no' title='ReusePopupTemplate' src='//codepen.io/azuremaps/embed/WNvjxGw/?height=500&theme-id=0&default-tab=result&embed-version=2&editable=true' frameborder='no' loading="lazy" allowtransparency='true' allowfullscreen='true'>See the Pen <a href='https://codepen.io/azuremaps/pen/WNvjxGw/'>ReusePopupTemplate</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>
+-->
## Popup events
-Popups can be opened, closed, and dragged. The popup class provides events to help developers react to these events. The following sample highlights which events fire when the user opens, closes, or drags the popup.
+Popups can be opened, closed, and dragged. The popup class provides events to help developers react to these events. The following sample highlights which events fire when the user opens, closes, or drags the popup.
+
+For a fully functional sample that shows how to add events to popups, see [Popup events] in the [Azure Maps Samples].
-<br/>
+<!--
<iframe height="500" scrolling="no" title="Popup events" src="//codepen.io/azuremaps/embed/BXrpvB/?height=500&theme-id=0&default-tab=result" frameborder='no' loading="lazy" allowtransparency="true" allowfullscreen="true"> See the Pen <a href='https://codepen.io/azuremaps/pen/BXrpvB/'>Popup events</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>
+-->
## Next steps
See the following great articles for full code samples:
> [!div class="nextstepaction"] > [Add a polygon layer](map-add-shape.md)+
+[Reusing Popup with Multiple Pins]: https://samples.azuremaps.com/?search=popup&sample=reusing-popup-with-multiple-pins
+[Azure Maps Samples]: https://samples.azuremaps.com
+[Customize a popup]: https://samples.azuremaps.com/?search=popup&sample=customize-a-popup
+[Reuse a popup template]: https://samples.azuremaps.com/?search=Reuse&sample=reuse-a-popup-template
+[Popup events]: https://samples.azuremaps.com/?search=Popup%20events&sample=popup-events
azure-maps Map Create https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-create.md
Title: Create a map with Azure Maps | Microsoft Azure Maps description: Find out how to add maps to web pages by using the Azure Maps Web SDK. Learn about options for animation, style, the camera, services, and user interactions.-- Previously updated : 07/26/2019-++ Last updated : 06/13/2023+ - # Create a map
This article shows you ways to create a map and animate a map.
## Loading a map
-To load a map, create a new instance of the [Map class](/javascript/api/azure-maps-control/atlas.map). When initializing the map, pass a DIV element ID to render the map and pass a set of options to use when loading the map. If default authentication information isn't specified on the `atlas` namespace, this information will need to be specified in the map options when loading the map. The map loads several resources asynchronously for performance. As such, after creating the map instance, attach a `ready` or `load` event to the map and then add any additional code that interacts with the map to the event handler. The `ready` event fires as soon as the map has enough resources loaded to be interacted with programmatically. The `load` event fires after the initial map view has finished loading completely.
+To load a map, create a new instance of the [Map class](/javascript/api/azure-maps-control/atlas.map). When initializing the map, pass a DIV element ID to render the map and pass a set of options to use when loading the map. If default authentication information isn't specified on the `atlas` namespace, this information needs to be specified in the map options when loading the map. The map loads several resources asynchronously for performance. As such, after creating the map instance, attach a `ready` or `load` event to the map and then add any additional code that interacts with the map to the event handler. The `ready` event fires as soon as the map has enough resources loaded to be interacted with programmatically. The `load` event fires after the initial map view has finished loading completely.
-<br/>
+You can also load multiple maps on the same page, for sample code that demonstrates loading multiple maps on the same page, see [Multiple Maps] in the [Azure Maps Samples].
+
+<!-
<iframe height="500" scrolling="no" title="Basic map load" src="//codepen.io/azuremaps/embed/rXdBXx/?height=500&theme-id=0&default-tab=js,result&editable=true" frameborder='no' loading="lazy" allowtransparency="true" allowfullscreen="true"> See the Pen <a href='https://codepen.io/azuremaps/pen/rXdBXx/'>Basic map load</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>-
+->
> [!TIP]
-> You can load multiple maps on the same page. Multiple map on the same page may use the same or different authentication and language settings.
+> You can use the same or different authentication and language settings when using multiple maps on the same page.
## Show a single copy of the world
-When the map is zoomed out on a wide screen, multiple copies of the world will appear horizontally. This option is great for some scenarios, but for other applications it's desirable to see a single copy of the world. This behavior is implemented by setting the maps `renderWorldCopies` option to `false`.
+When the map is zoomed out on a wide screen, multiple copies of the world appear horizontally. This option is great for some scenarios, but for other applications it's desirable to see a single copy of the world. This behavior is implemented by setting the maps `renderWorldCopies` option to `false`.
-<br/>
+```javascript
+//Only allow one copy of the world be rendered when zoomed out.
+renderWorldCopies: false
+```
+<!-
<iframe height="500" scrolling="no" title="renderWorldCopies = false" src="//codepen.io/azuremaps/embed/eqMYpZ/?height=500&theme-id=0&default-tab=js,result&editable=true" frameborder='no' loading="lazy" allowtransparency="true" allowfullscreen="true"> See the Pen <a href='https://codepen.io/azuremaps/pen/eqMYpZ/'>renderWorldCopies = false</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>-
+->
## Map options
-When creating a map there, are several different types of options that can be passed in to customize how the map functions as listed below.
+When creating a map there, are several different types of options that can be passed in to customize how the map functions:
- [CameraOptions](/javascript/api/azure-maps-control/atlas.cameraoptions) and [CameraBoundOptions](/javascript/api/azure-maps-control/atlas.cameraboundsoptions) are used to specify the area the map should display. - [ServiceOptions](/javascript/api/azure-maps-control/atlas.serviceoptions) are used to specify how the map should interact with services that power the map. - [StyleOptions](/javascript/api/azure-maps-control/atlas.styleoptions) are used to specify the map should be styled and rendered.-- [UserInteractionOptions](/javascript/api/azure-maps-control/atlas.userinteractionoptions) are used to specify how the map should reach when the user is interacting with the map.
+- [UserInteractionOptions](/javascript/api/azure-maps-control/atlas.userinteractionoptions) are used to specify how the map should reach when the user is interacting with the map.
-These options can also be updated after the map has been loaded using the `setCamera`, `setServiceOptions`, `setStyle`, and `setUserInteraction` functions.
+These options can also be updated after the map has been loaded using the `setCamera`, `setServiceOptions`, `setStyle`, and `setUserInteraction` functions.
## Controlling the map camera
There are two ways to set the displayed area of the map using the camera of a ma
The map camera controls what is displayed in the viewport of the map canvas. Camera options can be passed into the map options when being initialized or passed into the maps `setCamera` function. ```javascript
-//Set the camera options when creating the map.
+// Set the camera options when creating the map.
+// Map properties, such as center and zoom level, are part of the CameraOptions
var map = new atlas.Map('map', { center: [-122.33, 47.6], zoom: 12
map.setCamera({
}); ```
-In the following code, a [Map object](/javascript/api/azure-maps-control/atlas.map) is created and the center and zoom options are set. Map properties, such as center and zoom level, are part of the [CameraOptions](/javascript/api/azure-maps-control/atlas.cameraoptions).
-
-<br/>
+Map properties, such as center and zoom level, are part of the [CameraOptions](/javascript/api/azure-maps-control/atlas.cameraoptions) properties.
+<!
<iframe height='500' scrolling='no' title='Create a map via CameraOptions' src='//codepen.io/azuremaps/embed/qxKBMN/?height=543&theme-id=0&default-tab=js,result&embed-version=2&editable=true' frameborder='no' loading="lazy" allowtransparency='true' allowfullscreen='true'>See the Pen <a href='https://codepen.io/azuremaps/pen/qxKBMN/'>Create a map via `CameraOptions` </a>by Azure Location Based Services (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>
+>
<a id="setCameraBoundsOptions"></a> ### Set the camera bounds
-A bounding box can be used to update the map camera. If the bounding box was calculated from point data, it is often useful to also specify a pixel padding value in the camera options to account for the icon size. This will help ensure that points don't fall off the edge of the map viewport.
+A bounding box can be used to update the map camera. If the bounding box was calculated from point data, it's often useful to also specify a pixel padding value in the camera options to account for the icon size. This helps ensure that points don't fall off the edge of the map viewport.
```javascript map.setCamera({
map.setCamera({
}); ```
-In the following code, a [Map object](/javascript/api/azure-maps-control/atlas.map) is constructed via `new atlas.Map()`. Map properties such as `CameraBoundsOptions` can be defined via [setCamera](/javascript/api/azure-maps-control/atlas.map) function of the Map class. Bounds and padding properties are set using `setCamera`.
-
-<br/>
+In the following code, a [Map object](/javascript/api/azure-maps-control/atlas.map) is constructed via `new atlas.Map()`. Map properties such as `CameraBoundsOptions` can be defined via [setCamera](/javascript/api/azure-maps-control/atlas.map) function of the Map class. Bounds and padding properties are set using `setCamera`.
+<!-
<iframe height='500' scrolling='no' title='Create a map via CameraBoundsOptions' src='//codepen.io/azuremaps/embed/ZrRbPg/?height=543&theme-id=0&default-tab=js,result&embed-version=2&editable=true' frameborder='no' loading="lazy" allowtransparency='true' allowfullscreen='true'>See the Pen <a href='https://codepen.io/azuremaps/pen/ZrRbPg/'>Create a map via `CameraBoundsOptions` </a>by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>
+-->
### Animate map view
map.setCamera({
}); ```
-In the following code, the first code block creates a map and sets the enter and zoom map styles. In the second code block, a click event handler is created for the animate button. When this button is clicked, the `setCamera` function is called with some random values for the [CameraOptions](/javascript/api/azure-maps-control/atlas.cameraoptions) and [AnimationOptions](/javascript/api/azure-maps-control/atlas.animationoptions).
+In the following code, the first code block creates a map and sets the enter and zoom map styles. In the second code block, a click event handler is created for the animate button. When this button is selected, the `setCamera` function is called with some random values for the [CameraOptions](/javascript/api/azure-maps-control/atlas.cameraoptions) and [AnimationOptions](/javascript/api/azure-maps-control/atlas.animationoptions).
+
+```html
+<!DOCTYPE html>
+ <html>
+ <head>
+
+ <!-- Add references to the Azure Maps Map control JavaScript and CSS files. -->
+ <link rel="stylesheet" href="https://atlas.microsoft.com/sdk/javascript/mapcontrol/2/atlas.min.css" type="text/css" />
+ <script src="https://atlas.microsoft.com/sdk/javascript/mapcontrol/2/atlas.min.js"></script>
+
+
+ <script type="text/javascript">
+ var map;
+
+ function InitMap()
+ {
+ map = new atlas.Map('myMap', {
+ center: [-122.33, 47.6],
+ zoom: 12,
+ view: 'Auto',
+ style: 'road',
+
+
+ // Add authentication details for connecting to Azure Maps.
+ authOptions: {
+ // Get an Azure Maps key at https://azuremaps.com/.
+ authType: 'subscriptionKey',
+ subscriptionKey: '{Your-Azure-Maps-Subscription-key}'
+ }
+ });
+ }
+
+ /* Animate map view to set camera location
+ to random points on the map*/
+ function animateMap() {
+ map.setCamera({
+ zoom: Math.random() *2 + 12,
+ duration: 1000,
+ type: 'fly'
+ });
+ }
+ </script>
+
+ <style>
+ button {
+ position: absolute;
+ top: 10px;
+ left: 10px;
+ }
+ </style>
+
+</head>
+
+<html style='width:100%;height:100%;'>
+ <body onload="InitMap()" style='width:100%;height:100%;padding:0;margin:0;'>
+ <div id='myMap' style='position:relative;width:100%;height:100%;'></div>
+ <button onclick="animateMap()">Animate Maps</button>
+ <div id="my-text-box"></div>
+ </body>
+</html>
+```
-<br/>
+<!
<iframe height='500' scrolling='no' title='Animate Map View' src='//codepen.io/azuremaps/embed/WayvbO/?height=500&theme-id=0&default-tab=js,result&embed-version=2&editable=true' frameborder='no' loading="lazy" allowtransparency='true' allowfullscreen='true'>See the Pen <a href='https://codepen.io/azuremaps/pen/WayvbO/'>Animate Map View</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>. </iframe>
+>
## Request transforms
-Sometimes it is useful to be able to modify HTTP requests made by the map control. For example:
+Sometimes it's useful to be able to modify HTTP requests made by the map control. For example:
- Add additional headers to tile requests. This is often done for password protected services. - Modify URLs to run requests through a proxy service.
-The [service options](/javascript/api/azure-maps-control/atlas.serviceoptions) of the map has a `transformRequest` that can be used to modify all requests made by the map before they are made. The `transformRequest` option is a function that takes in two parameters; a string URL, and a resource type string that indicates what the request is used for. This function must return a [RequestParameters](/javascript/api/azure-maps-control/atlas.requestparameters) result.
+The [service options](/javascript/api/azure-maps-control/atlas.serviceoptions) of the map has a `transformRequest` that can be used to modify all requests made by the map before they're made. The `transformRequest` option is a function that takes in two parameters; a string URL, and a resource type string that indicates what the request is used for. This function must return a [RequestParameters](/javascript/api/azure-maps-control/atlas.requestparameters) result.
```JavaScript transformRequest: (url: string, resourceType: string) => RequestParameters ```
-When using a request transform you must return a `RequestParameters` object that contains a `url` property at a minimum. The following are the properties that can be included in a `RequestParameters` object.
+When using a request transform, you must return a `RequestParameters` object that contains a `url` property at a minimum. The following are the properties that can be included in a `RequestParameters` object.
| Option | Type | Description | |--||-|
When using a request transform you must return a `RequestParameters` object that
| type | `'string'` \| `'json'` \| `'arrayBuffer'` | The format of POST response body. | | url | string | The url to be requested. |
-The resource types most relevant to content you add to the map are listed in the table below:
+The resource types most relevant to content you add to the map are listed in the following table:
| Resource Type | Description | ||-| | Image | A request for an image for use with either a SymbolLayer or ImageLayer. |
-| Source | A request for source information, such as a TileJSON request. Some requests from the base map styles will also use this resource type when loading source information. |
+| Source | A request for source information, such as a TileJSON request. Some requests from the base map styles also use this resource type when loading source information. |
| Tile | A request from a tile layer (raster or vector). | | WFS | A request from a `WfsClient` in the [Spatial IO module](spatial-io-connect-wfs-service.md) to an OGC Web Feature Service. | | WebMapService | A request from the `OgcMapLayer` in the [Spatial IO module](spatial-io-add-ogc-map-layer.md) to a WMS or WMTS service. |
-Here are some resource types that are passed through the request transform that are related to the base map styles: StyleDefinitions, Style, SpriteImage, SpriteJSON, Glyphs, Attribution. You will normally want to ignore these and simply return the `url` value.
+Here are some resource types that are passed through the request transform and are related to the base map styles: StyleDefinitions, Style, SpriteImage, SpriteJSON, Glyphs, Attribution. You'll normally want to ignore these and simply return the `url` value.
The following example shows how to use this to modify all requests to the size `https://example.com` by adding a username and password as headers to the request.
var map = new atlas.Map('myMap', {
}); ```
-## Try out the code
-
-Look at the code samples. You can edit the JavaScript code inside the **JS tab** and see the map view changes on the **Result tab**. You can also click **Edit on CodePen**, in the top-right corner, and modify the code in CodePen.
- <a id="relatedReference"></a> ## Next steps
See code examples to add functionality to your app:
> [!div class="nextstepaction"] > [Code samples](/samples/browse/?products=azure-maps)+
+[Multiple Maps]: https://samples.azuremaps.com/?search=multiple%20maps&sample=multiple-maps
+[Azure Maps Samples]: https://samples.azuremaps.com
azure-maps Map Extruded Polygon https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-maps/map-extruded-polygon.md
Title: Add a polygon extrusion layer to a map | Microsoft Azure Maps description: How to add a polygon extrusion layer to the Microsoft Azure Maps Web SDK.-- Previously updated : 10/08/2019-++ Last updated : 06/15/2023+ - # Add a polygon extrusion layer to the map
Connect the [polygon extrusion layer](/javascript/api/azure-maps-control/atlas.l
> [!NOTE] > The `base` value defined in the polygon extrusion layer should be less than or equal to that of the `height`.
-<br/>
+```javascript
+var map, datasource, polygonLayer;
+
+function InitMap()
+{
+ map = new atlas.Map('myMap', {
+ center: [-73.985708, 40.75773],
+ zoom: 12,
+ //Pitch the map so that the extrusion of the polygons is visible.
+ pitch: 45,
+ view: 'Auto',
+
+ //Add authentication details for connecting to Azure Maps.
+ authOptions: {
+ // Get an Azure Maps key at https://azuremaps.com/.
+ authType: 'subscriptionKey',
+ subscriptionKey: '{Your-Azure-Maps-Subscription-key}'
+ },
+ styleDefinitionsVersion: "2023-01-01"
+ });
+
+ //Wait until the map resources are ready.
+ map.events.add('ready', function () {
+ /*Create a data source and add it to the map*/
+ datasource = new atlas.source.DataSource();
+ map.sources.add(datasource);
+
+ datasource.add(new atlas.data.Polygon([
+ [
+ [
+ -73.95838379859924,
+ 40.80027995478159
+ ],
+ [
+ -73.98154735565186,
+ 40.76845986171129
+ ],
+ [
+ -73.98124694824219,
+ 40.767761062136955
+ ],
+ [
+ -73.97361874580382,
+ 40.76461637311633
+ ],
+ [
+ -73.97306084632874,
+ 40.76512830937617
+ ],
+ [
+ -73.97259950637817,
+ 40.76490890860481
+ ],
+ [
+ -73.9494466781616,
+ 40.79658450499243
+ ],
+ [
+ -73.94966125488281,
+ 40.79708807289436
+ ],
+ [
+ -73.95781517028809,
+ 40.80052360358227
+ ],
+ [
+ -73.95838379859924,
+ 40.80027995478159
+ ]
+ ]
+ ]));
+
+ //Create and add a polygon extrusion layer to the map below the labels so that they are still readable.
+ map.layers.add(new atlas.layer.PolygonExtrusionLayer(datasource, null, {
+ fillColor: "#fc0303",
+ fillOpacity: 0.7,
+ height: 500
+ }), "labels");
+ });
+}
+```
+
+<!
<iframe height="500" scrolling="no" title="Extruded polygon" src="https://codepen.io/azuremaps/embed/wvvBpvE?height=265&theme-id=0&default-tab=js,result&editable=true" frameborder='no' loading="lazy" allowtransparency="true" allowfullscreen="true"> See the Pen <a href='https://codepen.io/azuremaps/pen/wvvBpvE'>Extruded polygon</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>.</iframe>
+>
## Add data driven polygons
-A choropleth map can be rendered using the polygon extrusion layer. Set the `height` and `fillColor` properties of the extrusion layer to the measurement of the statistical variable in the `Polygon` and `MultiPolygon` feature geometries. The following code sample shows an extruded choropleth map of the United States based on the measurement of the population density by state.
+A choropleth map can be rendered using the polygon extrusion layer. Set the `height` and `fillColor` properties of the extrusion layer to the measurement of the statistical variable in the `Polygon` and `MultiPolygon` feature geometries.
-<br/>
+The [Create a Choropleth Map] sample shows an extruded choropleth map of the United States based on the measurement of the population density by state.
+
+<!
<iframe height="500" scrolling="no" title="Extruded choropleth map" src="https://codepen.io/azuremaps/embed/eYYYNox?height=265&theme-id=0&default-tab=result&editable=true" frameborder='no' loading="lazy" allowtransparency="true" allowfullscreen="true">
- See the Pen <a href='https://codepen.io/azuremaps/pen/eYYYNox'>Extruded choropleth map</a> by Azure Maps(<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>.
-</iframe>
+ See the Pen <a href='https://codepen.io/azuremaps/pen/eYYYNox'>Extruded choropleth map</a> by Azure Maps(<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>.</iframe>
+>
## Add a circle to the map
-Azure Maps uses an extended version of the GeoJSON schema that provides a [definition for circles] (./extend-geojson.md#circle). An extruded circle can be rendered on the map by creating a `point` feature with a `subType` property of `Circle` and a numbered `Radius` property representing the radius in **meters**. For example:
+Azure Maps uses an extended version of the GeoJSON schema that provides a [definition for circles](./extend-geojson.md#circle). An extruded circle can be rendered on the map by creating a `point` feature with a `subType` property of `Circle` and a numbered `Radius` property representing the radius in **meters**. For example:
```javascript {
Azure Maps uses an extended version of the GeoJSON schema that provides a [defin
The Azure Maps Web SDK converts these `Point` features into `Polygon` features under the hood. These `Point` features can be rendered on the map using polygon extrusion layer as shown in the following code sample.
-<br/>
+```javascript
+var map, datasource;
+function InitMap()
+{
+ map = new atlas.Map('myMap', {
+ center: [-105.2, 39.7],
+ zoom: 10.5,
+ pitch: 60,
+ view: 'Auto',
+
+ //Add authentication details for connecting to Azure Maps.
+ authOptions: {
+ // Get an Azure Maps key at https://azuremaps.com/.
+ authType: 'subscriptionKey',
+ subscriptionKey: '{Your-Azure-Maps-Subscription-key}'
+ },
+ });
+
+ //Wait until the map resources are ready.
+ map.events.add('ready', function () {
+ /*Create a data source and add it to the map*/
+ datasource = new atlas.source.DataSource();
+ map.sources.add(datasource);
+
+ datasource.add(new atlas.data.Feature(new atlas.data.Point([-105.2, 39.7]), {
+ subType: "Circle",
+ radius: 1000
+ }));
++
+ /*Create and add a polygon Extrusion layer to render the extruded polygon to the map*/
+ map.layers.add(new atlas.layer.PolygonExtrusionLayer(datasource, null, {
+ base: 5000,
+ fillColor: "#02fae1",
+ fillOpacity: 0.7,
+ height: 5500
+ }));
+ });
+}
+```
++
+<!
<iframe height="500" scrolling="no" title="Drone airspace polygon" src="https://codepen.io/azuremaps/embed/zYYYrxo?height=265&theme-id=0&default-tab=js,result&editable=true" frameborder='no' loading="lazy" allowtransparency="true" allowfullscreen="true"> See the Pen <a href='https://codepen.io/azuremaps/pen/zYYYrxo'>Drone airspace polygon</a> by Azure Maps
- (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>.
-</iframe>
+ (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>.</iframe>
+>
## Customize a polygon extrusion layer
-The Polygon Extrusion layer has several styling options. Here is a tool to try them out.
-
-<br/>
+The Polygon Extrusion layer has several styling options. The [Polygon Extrusion Layer Options] sample is a tool to try them out.
-<iframe height='700' scrolling='no' title='PoogBRJ' src='//codepen.io/azuremaps/embed/PoogBRJ/?height=700&theme-id=0&default-tab=result' frameborder='no' loading="lazy" allowtransparency='true' allowfullscreen='true'>See the Pen <a href='https://codepen.io/azuremaps/pen/PoogBRJ/'>PoogBRJ</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a>.
-</iframe>
+<!
+<iframe height='700' scrolling='no' title='PoogBRJ' src='//codepen.io/azuremaps/embed/PoogBRJ/?height=700&theme-id=0&default-tab=result' frameborder='no' loading="lazy" allowtransparency='true' allowfullscreen='true'>See the Pen <a href='https://codepen.io/azuremaps/pen/PoogBRJ/'>PoogBRJ</a> by Azure Maps (<a href='https://codepen.io/azuremaps'>@azuremaps</a>) on <a href='https://codepen.io'>CodePen</a></iframe>
+>
## Next steps
Additional resources:
> [!div class="nextstepaction"] > [Azure Maps GeoJSON specification extension](extend-geojson.md#circle)+
+[Create a Choropleth Map]: https://samples.azuremaps.com/?sample=create-a-choropleth-map
+[Polygon Extrusion Layer Options]: https://samples.azuremaps.com/?sample=polygon-extrusion-layer-options
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
Alerts triggered by these alert rules contain a payload that uses the [common al
1. (Optional) In the <a name="custom-props">**Custom properties**</a> section, if you've configured action groups for this alert rule, you can add custom properties in key:value pairs to the alert notification payload to add more information to it. Add the property **Name** and **Value** for the custom property you want included in the payload.
- You can also use custom properties to extract and manipulate data from alert payloads that use the common schema. You can use those values in the action group webhook or logic app.
+ You can also use custom properties to extract and manipulate data from alert payloads that use the [common schema](alerts-common-schema.md). You can use those values in the action group webhook or logic app.
> [!NOTE] > In this phase the custom properties are not part of the e-mail template
azure-monitor Codeless Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/codeless-overview.md
Links are provided to more information for each supported scenario.
|Azure App Service on Linux - Publish as Code | :x: | [ :white_check_mark: :link: ](azure-web-apps-net-core.md?tabs=linux) <sup>[1](#OnBD)</sup> | [ :white_check_mark: :link: ](azure-web-apps-java.md) <sup>[1](#OnBD)</sup> | [ :white_check_mark: :link: ](azure-web-apps-nodejs.md?tabs=linux) | :x: | |Azure App Service on Linux - Publish as Docker | :x: | :x: | [ :white_check_mark: :link: ](azure-web-apps-java.md) <sup>[2](#Preview)</sup> | [ :white_check_mark: :link: ](azure-web-apps-nodejs.md?tabs=linux) | :x: | |Azure Functions - basic | [ :white_check_mark: :link: ](monitor-functions.md) <sup>[1](#OnBD)</sup> | [ :white_check_mark: :link: ](monitor-functions.md) <sup>[1](#OnBD)</sup> | [ :white_check_mark: :link: ](monitor-functions.md) <sup>[1](#OnBD)</sup> | [ :white_check_mark: :link: ](monitor-functions.md) <sup>[1](#OnBD)</sup> | [ :white_check_mark: :link: ](monitor-functions.md) <sup>[1](#OnBD)</sup> |
-|Azure Functions - dependencies | :x: | :x: | [ :white_check_mark: :link: ](monitor-functions.md) <sup>[2](#Preview)</sup> | :x: | [ :white_check_mark: :link: ](monitor-functions.md#distributed-tracing-for-python-function-apps) |
+|Azure Functions - dependencies | :x: | :x: | [ :white_check_mark: :link: ](monitor-functions.md) | :x: | [ :white_check_mark: :link: ](monitor-functions.md#distributed-tracing-for-python-function-apps) |
|Azure Spring Cloud | :x: | :x: | [ :white_check_mark: :link: ](azure-web-apps-java.md) | :x: | :x: | |Azure Kubernetes Service (AKS) | :x: | :x: | [ :white_check_mark: :link: ](opentelemetry-enable.md?tabs=java) | :x: | :x: | |Azure VMs Windows | [ :white_check_mark: :link: ](azure-vm-vmss-apps.md) <sup>[2](#Preview)</sup> <sup>[3](#Agent)</sup> | [ :white_check_mark: :link: ](azure-vm-vmss-apps.md) <sup>[2](#Preview)</sup> <sup>[3](#Agent)</sup> | [ :white_check_mark: :link: ](opentelemetry-enable.md?tabs=java) | :x: | :x: |
If youΓÇÖre using the following supported SDKs, you can configure the SDK Loader
* [Application Insights overview](app-insights-overview.md) * [Application Insights overview dashboard](overview-dashboard.md)
-* [Application map](app-map.md)
+* [Application map](app-map.md)
azure-monitor Java Get Started Supplemental https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/java-get-started-supplemental.md
For more information, see [Application monitoring for Azure App Service and Java
## Azure Functions
-For more information, see [Monitoring Azure Functions with Azure Monitor Application Insights](./monitor-functions.md#distributed-tracing-for-java-applications-preview).
+For more information, see [Monitoring Azure Functions with Azure Monitor Application Insights](./monitor-functions.md#distributed-tracing-for-java-applications).
## Azure Spring Apps
azure-monitor Monitor Functions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/app/monitor-functions.md
The required Application Insights instrumentation is built into Azure Functions.
For a list of supported autoinstrumentation scenarios, see [Supported environments, languages, and resource providers](codeless-overview.md#supported-environments-languages-and-resource-providers).
-## Distributed tracing for Java applications (preview)
-
-This feature is currently in public preview for Java Azure Functions for both Windows and Linux.
+## Distributed tracing for Java applications
> [!Note] > This feature used to have an 8- to 9-second cold startup implication, which has been reduced to less than 1 second. If you were an early adopter of this feature (for example, prior to February 2023), review the "Troubleshooting" section to update to the current version and benefit from the new faster startup.
azure-monitor Prometheus Remote Write Active Directory https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/essentials/prometheus-remote-write-active-directory.md
This step is only required if you didn't enable Azure Key Vault Provider for Sec
```yml prometheus: prometheusSpec:
- cluster: <CLUSTER-NAME>
+ externalLabels:
+ cluster: <CLUSTER-NAME>
## Azure Managed Prometheus currently exports some default mixins in Grafana. ## These mixins are compatible with data scraped by Azure Monitor agent on your
azure-monitor Basic Logs Configure https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-monitor/logs/basic-logs-configure.md
Configure a table for Basic logs if:
| Dedicated SQL Pool | [SynapseSqlPoolSqlRequests](/azure/azure-monitor/reference/tables/synapsesqlpoolsqlrequests)<br>[SynapseSqlPoolRequestSteps](/azure/azure-monitor/reference/tables/synapsesqlpoolrequeststeps)<br>[SynapseSqlPoolExecRequests](/azure/azure-monitor/reference/tables/synapsesqlpoolexecrequests)<br>[SynapseSqlPoolDmsWorkers](/azure/azure-monitor/reference/tables/synapsesqlpooldmsworkers)<br>[SynapseSqlPoolWaits](/azure/azure-monitor/reference/tables/synapsesqlpoolwaits) | | Dev Center | [DevCenterDiagnosticLogs](/azure/azure-monitor/reference/tables/DevCenterDiagnosticLogs) | | Data Transfer | [DataTransferOperations](/azure/azure-monitor/reference/tables/DataTransferOperations) |
+ | Event Hubs | [AZMSArchiveLogs](/azure/azure-monitor/reference/tables/AZMSArchiveLogs)<br>[AZMSAutoscaleLogs](/azure/azure-monitor/reference/tables/AZMSAutoscaleLogs)<br>[AZMSCustomerManagedKeyUserLogs](/azure/azure-monitor/reference/tables/AZMSCustomerManagedKeyUserLogs)<br>[AZMSKafkaCoordinatorLogs](/azure/azure-monitor/reference/tables/AZMSKafkaCoordinatorLogs)<br>[AZMSKafkaUserErrorLogs](/azure/azure-monitor/reference/tables/AZMSKafkaUserErrorLogs) |
| Firewalls | [AZFWFlowTrace](/azure/azure-monitor/reference/tables/AZFWFlowTrace) | | Health Care APIs | [AHDSMedTechDiagnosticLogs](/azure/azure-monitor/reference/tables/AHDSMedTechDiagnosticLogs)<br>[AHDSDicomDiagnosticLogs](/azure/azure-monitor/reference/tables/AHDSDicomDiagnosticLogs)<br>[AHDSDicomAuditLogs](/azure/azure-monitor/reference/tables/AHDSDicomAuditLogs) | | Kubernetes services | [AKSAudit](/azure/azure-monitor/reference/tables/AKSAudit)<br>[AKSAuditAdmin](/azure/azure-monitor/reference/tables/AKSAuditAdmin)<br>[AKSControlPlane](/azure/azure-monitor/reference/tables/AKSControlPlane) | | Media Services | [AMSLiveEventOperations](/azure/azure-monitor/reference/tables/AMSLiveEventOperations)<br>[AMSKeyDeliveryRequests](/azure/azure-monitor/reference/tables/AMSKeyDeliveryRequests)<br>[AMSMediaAccountHealth](/azure/azure-monitor/reference/tables/AMSMediaAccountHealth)<br>[AMSStreamingEndpointRequests](/azure/azure-monitor/reference/tables/AMSStreamingEndpointRequests) | | Redis Cache Enterprise | [REDConnectionEvents](/azure/azure-monitor/reference/tables/REDConnectionEvents) |
+ | Relays | [AZMSHybridConnectionsEvents](/azure/azure-monitor/reference/tables/AZMSHybridConnectionsEvents) |
+ | Service Bus | [AZMSApplicationMetricLogs](/azure/azure-monitor/reference/tables/AZMSApplicationMetricLogs)<br>[AZMSOperationalLogs](/azure/azure-monitor/reference/tables/AZMSOperationalLogs)<br>[AZMSRunTimeAuditLogs](/azure/azure-monitor/reference/tables/AZMSRunTimeAuditLogs)<br>[AZMSVNetConnectionEvents](/azure/azure-monitor/reference/tables/AZMSVNetConnectionEvents) |
| Sphere | [ASCAuditLogs](/azure/azure-monitor/reference/tables/ASCAuditLogs)<br>[ASCDeviceEvents](/azure/azure-monitor/reference/tables/ASCDeviceEvents) | | Storage | [StorageBlobLogs](/azure/azure-monitor/reference/tables/StorageBlobLogs)<br>[StorageFileLogs](/azure/azure-monitor/reference/tables/StorageFileLogs)<br>[StorageQueueLogs](/azure/azure-monitor/reference/tables/StorageQueueLogs)<br>[StorageTableLogs](/azure/azure-monitor/reference/tables/StorageTableLogs) | | Synapse | [SynapseSqlPoolExecRequests](/azure/azure-monitor/reference/tables/SynapseSqlPoolExecRequests)<br>[SynapseSqlPoolRequestSteps](/azure/azure-monitor/reference/tables/SynapseSqlPoolRequestSteps)<br>[SynapseSqlPoolDmsWorkers](/azure/azure-monitor/reference/tables/SynapseSqlPoolDmsWorkers)<br>[SynapseSqlPoolWaits](/azure/azure-monitor/reference/tables/SynapseSqlPoolWaits) |
azure-netapp-files Backup Configure Policy Based https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-netapp-files/backup-configure-policy-based.md
na Previously updated : 01/03/2023 Last updated : 06/14/2023 # Configure policy-based backups for Azure NetApp Files
Assigning a policy creates a baseline snapshot that is the current state of the
## Configure a backup policy
-A backup policy enables a volume to be protected on a regularly scheduled interval. It does not require snapshot policies to be configured. Backup policies continues the daily cadence based on the time of day when the backup policy is linked to the volume, using the time zone of the Azure region where the volume exists. Weekly schedules are preset to occur each Sunday after 11:59 p.m. Monthly schedules are preset to occur after 11:59 p.m. on the last day of each calendar month. If backups are needed at a specific time/day, consider using [manual backups](backup-configure-manual.md).
+A backup policy enables a volume to be protected on a regularly scheduled interval. It does not require snapshot policies to be configured. Backup policies will continue the daily cadence based on the time of day when the backup policy is linked to the volume, using the time zone of the Azure region where the volume exists. Weekly schedules are preset to occur each Monday after the daily cadence. Monthly schedules are preset to occur on the first day of each calendar month after the daily cadence. If backups are needed at a specific time/day, consider using [manual backups](backup-configure-manual.md).
You need to create a backup policy and associate the backup policy to the volume that you want to back up. A single backup policy can be attached to multiple volumes. Backups can be temporarily suspended either by disabling the policy or by disabling backups at the volume level. Backups can also be completely disabled at the volume level, resulting in the clean-up of all the associated data in the Azure storage. A backup policy can't be deleted if it's attached to any volumes.
azure-web-pubsub Reference Odata Filter https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/azure-web-pubsub/reference-odata-filter.md
This article provides the following resources:
## Syntax
-A filter in the OData language is a Boolean expression. It can be one of several expression types, as shown in the following EBNF description:
-
-```
-/* Identifiers */
-string_identifier ::= 'connectionId' | 'userId'
-collection_identifier ::= 'groups'
-
-/* Rules for $filter */
-
-boolean_expression ::= logical_expression
- | comparison_expression
- | in_expression
- | boolean_literal
- | boolean_function_call
- | '(' boolean_expression ')'
-```
+A filter in the OData language is a Boolean expression. It can be one of several expression types, as shown in the [EBNF description](#formal-grammar).
You can use an [interactive syntax diagram](https://aka.ms/awps/filter-syntax-diagram) to explore the syntax grammar rules.
backup Troubleshoot Azure Files https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/backup/troubleshoot-azure-files.md
Title: Troubleshoot Azure file share backup description: This article is troubleshooting information about issues occurring when protecting your Azure file shares. Previously updated : 02/10/2020 Last updated : 06/14/2023
Error Message: Another restore job is in progress on the same target file share
Use a different target file share. Alternatively, you can cancel or wait for the other restore to complete.
+### UserErrorSourceOrTargetAccountNotAccessible
+
+Error Code: UserErrorSourceOrTargetAccountNotAccessible
+
+Error Message: Source or Target storage account is not accessible from the Azure Files restore service.
+
+Recommended Actions: Ensure that the following configurations in the storage account are correctly set for performing a successful restore:
+
+- Ensure that the storage keys aren't rotated during the restore.
+- Check the network configuration on the storage account(s) and ensure that it allows the Microsoft first party services.
+++
+- Ensure that the target storage account has the following configuration: *Permitted scope for copy operations* are set to *From storage accounts in the same Azure AD tenant*.
++++ ## Common modify policy errors ### BMSUserErrorConflictingProtectionOperation- Another configure protection operation is in progress for this item
cdn Cdn Verizon Premium Rules Engine Reference Match Conditions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cdn/cdn-verizon-premium-rules-engine-reference-match-conditions.md
These match conditions are designed to identify requests based on the requester'
| [AS Number](https://docs.vdms.com/cdn/Content/HRE/M/AS-Number.htm) | Identifies requests that originate from a particular network. | | City Name | Identifies requests by whether they originate from a city whose name matches a: <br> **-** Specific value ([City Name Literal](https://docs.vdms.com/cdn/Content/HRE/M/City-Name-Literal.htm)) <br> **-** Regular expression ([City Name Regex](https://docs.vdms.com/cdn/Content/HRE/M/City-Name-Regex.htm)) | | [Continent](https://docs.vdms.com/cdn/Content/HRE/M/Continent.htm) | Identifies requests that originate from the specified continents. |
-| [Country](https://docs.vdms.com/cdn/Content/HRE/M/Country.htm) | Identifies requests that originate from the specified countries. |
+| [Country](https://docs.vdms.com/cdn/Content/HRE/M/Country.htm) | Identifies requests that originate from the specified countries/regions. |
| [DMA Code](https://docs.vdms.com/cdn/Content/HRE/M/DMA-Code.htm) | Identifies requests that originate from the specified metros (Designated Market Areas). | | [Latitude](https://docs.vdms.com/cdn/Content/HRE/M/Latitude.htm) | Identifies requests that originate from the specified latitudes. | | [Longitude](https://docs.vdms.com/cdn/Content/HRE/M/Longitude.htm) | Identifies requests that originate from the specified longitudes. |
cloud-services Cloud Services Guestos Msrc Releases https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cloud-services/cloud-services-guestos-msrc-releases.md
na Previously updated : 5/19/2023 Last updated : 6/13/2023
# Azure Guest OS The following tables show the Microsoft Security Response Center (MSRC) updates applied to the Azure Guest OS. Search this article to determine if a particular update applies to the Guest OS you are using. Updates always carry forward for the particular [family][family-explain] they were introduced in.
+## June 2023 Guest OS
+
+>[!NOTE]
+
+>The June Guest OS is currently being rolled out to Cloud Service VMs that are configured for automatic updates. When the rollout is complete, this version will be made available for manual updates through the Azure portal and configuration files. The following patches are included in the June Guest OS. This list is subject to change.
+
+| Product Category | Parent KB Article | Vulnerability Description | Guest OS | Date First Introduced |
+| | | | | |
+| Rel 23-06 | [5027219] | Latest Cumulative Update(LCU) | 5.82 | Jun 13, 2023 |
+| Rel 23-06 | [5027225] | Latest Cumulative Update(LCU) | 7.26 | Jun 13, 2023 |
+| Rel 23-06 | [5027222] | Latest Cumulative Update(LCU) | 6.58 | Jun 13, 2023 |
+| Rel 23-06 | [5027140] | .NET Framework 3.5 Security and Quality Rollup | 2.138 | Jun 13, 2023 |
+| Rel 23-06 | [5027134] | .NET Framework 4.6.2 Security and Quality Rollup | 2.138 | Jun 13, 2023 |
+| Rel 23-06 | [5027141] | .NET Framework 3.5 Security and Quality Rollup | 4.118 | Jun 13, 2023 |
+| Rel 23-06 | [5027133] | .NET Framework 4.6.2 Security and Quality Rollup | 4.118 | Jun 13, 2023 |
+| Rel 23-06 | [5027138] | .NET Framework 3.5 Security and Quality Rollup | 3.126 | Jun 13, 2023 |
+| Rel 23-06 | [5027132] | .NET Framework 4.6.2 Security and Quality Rollup | 3.126 | Jun 13, 2023 |
+| Rel 23-06 | [5027131] | . NET Framework 4.7.2 Cumulative Update | 6.58 | Jun 13, 2023 |
+| Rel 23-06 | [5027127] | .NET Framework 4.8 Security and Quality Rollup | 7.26 | Jun 13, 2023 |
+| Rel 23-06 | [5027275] | Monthly Rollup | 2.138 | Jun 13, 2023 |
+| Rel 23-06 | [5027283] | Monthly Rollup | 3.126 | Jun 13, 2023 |
+| Rel 23-06 | [5027271] | Monthly Rollup | 4.118 | Jun 13, 2023 |
+| Rel 23-06 | [5027575] | Servicing Stack Update | 3.126 | Jun 13, 2023 |
+| Rel 23-06 | [5027574] | Servicing Stack Update | 4.118 | Jun 13, 2022 |
+| Rel 23-06 | [4578013] | OOB Standalone Security Update | 4.118 | Aug 19, 2020 |
+| Rel 23-06 | [5023788] | Servicing Stack Update LKG | 5.82 | Mar 14, 2023 |
+| Rel 23-06 | [5017397] | Servicing Stack Update LKG | 2.138 | Sep 13, 2022 |
+| Rel 23-06 | [4494175] | Microcode | 5.82 | Sep 1, 2020 |
+| Rel 23-06 | [4494174] | Microcode | 6.58 | Sep 1, 2020 |
+| Rel 23-06 | 5027396 | Servicing Stack Update | 7.26 | |
+| Rel 23-06 | 5023789 | Servicing Stack Update | 6.58 | |
+
+[5027219]: https://support.microsoft.com/kb/5027219
+[5027225]: https://support.microsoft.com/kb/5027225
+[5027222]: https://support.microsoft.com/kb/5027222
+[5027140]: https://support.microsoft.com/kb/5027140
+[5027134]: https://support.microsoft.com/kb/5027134
+[5027141]: https://support.microsoft.com/kb/5027141
+[5027133]: https://support.microsoft.com/kb/5027133
+[5027138]: https://support.microsoft.com/kb/5027138
+[5027132]: https://support.microsoft.com/kb/5027132
+[5027131]: https://support.microsoft.com/kb/5027131
+[5027127]: https://support.microsoft.com/kb/5027127
+[5027275]: https://support.microsoft.com/kb/5027275
+[5027283]: https://support.microsoft.com/kb/5027283
+[5027271]: https://support.microsoft.com/kb/5027271
+[5027575]: https://support.microsoft.com/kb/5027575
+[5027574]: https://support.microsoft.com/kb/5027574
+[4578013]: https://support.microsoft.com/kb/4578013
+[5023788]: https://support.microsoft.com/kb/5023788
+[5017397]: https://support.microsoft.com/kb/5017397
+[4494175]: https://support.microsoft.com/kb/4494175
+[4494174]: https://support.microsoft.com/kb/4494174
+ ## May 2023 Guest OS | Product Category | Parent KB Article | Vulnerability Description | Guest OS | Date First Introduced |
cognitive-services How To Migrate To Prebuilt Neural Voice https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/how-to-migrate-to-prebuilt-neural-voice.md
# Migrate from prebuilt standard voice to prebuilt neural voice > [!IMPORTANT]
-> We are retiring the standard voices from September 1, 2021 through August 31, 2024. If you used a standard voice with your Speech resource prior to September 1, 2021 then you can continue to do so until August 31, 2024. All other Speech resources can only use prebuilt neural voices. You can choose from the supported [neural voice names](language-support.md?tabs=tts). After August 31, the standard voices won't be supported with any Speech resource.
+> We are retiring the standard voices from September 1, 2021 through August 31, 2024. If you used a standard voice with your Speech resource that was created prior to September 1, 2021 then you can continue to do so until August 31, 2024. All other Speech resources can only use prebuilt neural voices. You can choose from the supported [neural voice names](language-support.md?tabs=tts). After August 31, 2024 the standard voices won't be supported with any Speech resource.
The prebuilt neural voice provides more natural sounding speech output, and thus, a better end-user experience.
cognitive-services Language Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/language-support.md
Language support varies by Speech service functionality.
# [Speech to text](#tab/stt)
-The table in this section summarizes the locales and voices supported for Speech to text. Please see the table footnotes for more details.
+The table in this section summarizes the locales supported for Speech to text. See the table footnotes for more details.
Additional remarks for Speech to text locales are included in the [Custom Speech](#custom-speech) section below.
To improve Speech to text recognition accuracy, customization is available for s
# [Text to speech](#tab/tts)
-The table in this section summarizes the locales and voices supported for Text to speech. Please see the table footnotes for more details.
+The table in this section summarizes the locales and voices supported for Text to speech. See the table footnotes for more details.
Additional remarks for Text to speech locales are included in the [Voice styles and roles](#voice-styles-and-roles), [Prebuilt neural voices](#prebuilt-neural-voices), and [Custom Neural Voice](#custom-neural-voice) sections below.
cognitive-services Migration Overview Neural Voice https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/migration-overview-neural-voice.md
Go to the [pricing page](https://azure.microsoft.com/pricing/details/cognitive-s
## Prebuilt standard voice > [!IMPORTANT]
-> We are retiring the standard voices from September 1, 2021 through August 31, 2024. If you used a standard voice with your Speech resource prior to September 1, 2021 then you can continue to do so until August 31, 2024. All other Speech resources can only use prebuilt neural voices. You can choose from the supported [neural voice names](language-support.md?tabs=tts). After August 31, the standard voices won't be supported with any Speech resource.
+> We are retiring the standard voices from September 1, 2021 through August 31, 2024. If you used a standard voice with your Speech resource that was created prior to September 1, 2021 then you can continue to do so until August 31, 2024. All other Speech resources can only use prebuilt neural voices. You can choose from the supported [neural voice names](language-support.md?tabs=tts). After August 31, 2024 the standard voices won't be supported with any Speech resource.
Go to [this article](how-to-migrate-to-prebuilt-neural-voice.md) to learn how to migrate to prebuilt neural voice.
cognitive-services Spx Basics https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/Speech-Service/spx-basics.md
spx --% config @region --clear
## Basic usage
-> [!NOTE]
-> When you use the Speech CLI in a container, include the `--host` option. For example, run `spx recognize --host wss://localhost:5000/ --file myaudio.wav` to recognize speech from an audio file in a [speech to text container](speech-container-stt.md).
+> [!IMPORTANT]
+> When you use the Speech CLI in a container, include the `--host` option. You must also specify `--key none` to ensure that the CLI doesn't try to use a Speech key for authentication. For example, run `spx recognize --key none --host wss://localhost:5000/ --file myaudio.wav` to recognize speech from an audio file in a [speech to text container](speech-container-stt.md).
This section shows a few basic SPX commands that are often useful for first-time testing and experimentation. Start by viewing the help that's built into the tool by running the following command:
cognitive-services Samples Python https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/big-data/samples-python.md
display(anamoly_detector.transform(df).select("timestamp", "value", "anomalies.i
## Arbitrary web APIs
-With HTTP on Spark, any web service can be used in your big data pipeline. In this example, we use the [World Bank API](http://api.worldbank.org/v2/country/) to get information about various countries around the world.
+With HTTP on Spark, any web service can be used in your big data pipeline. In this example, we use the [World Bank API](http://api.worldbank.org/v2/country/) to get information about various countries/regions around the world.
```python from requests import Request
from pyspark.sql.functions import udf, col
def world_bank_request(country): return Request("GET", "http://api.worldbank.org/v2/country/{}?format=json".format(country))
-# Create a dataframe with spcificies which countries we want data on
+# Create a dataframe with spcificies which countries/regions we want data on
df = (spark.createDataFrame([("br",),("usa",)], ["country"]) .withColumn("request", http_udf(world_bank_request)(col("country"))))
cognitive-services Data Limits https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/language-service/concepts/data-limits.md
# Service limits for Azure Cognitive Service for Language > [!NOTE]
-> This article only describes the limits for pre-configured features in Azure Cognitive Service for Language:
+> This article only describes the limits for preconfigured features in Azure Cognitive Service for Language:
> To see the service limits for customizable features, see the following articles: > * [Custom classification](../custom-classification/service-limits.md) > * [Custom NER](../custom-named-entity-recognition/service-limits.md)
Use this article to find the limits for the size, and rates that you can send da
* [Sentiment analysis and opinion mining](../sentiment-opinion-mining/overview.md) * [Language detection](../language-detection/overview.md)
-When using features of the Language service, keep the following in mind:
+When using features of the Language service, keep the following information in mind:
-* Pricing is not affected by data or rate limits. Pricing is based on the number of text records you send to the API, and is subject to your Language resource's [pricing details](https://aka.ms/unifiedLanguagePricing).
+* Pricing is independent of data or rate limits. Pricing is based on the number of text records you send to the API, and is subject to your Language resource's [pricing details](https://aka.ms/unifiedLanguagePricing).
* A text record is measured as 1000 characters. * Data and rate limits are based on the number of documents you send to the API. If you need to analyze larger documents than the limit allows, you can break the text into smaller chunks of text before sending them to the API. * A document is a single string of text characters.
The following limit specifies the maximum number of characters that can be in a
| Feature | Value | |||
-| Conversation issue and resolution summarization| 40,000 characters as measured by [StringInfo.LengthInTextElements](/dotnet/api/system.globalization.stringinfo.lengthintextelements).|
| Text Analytics for health | 125,000 characters as measured by [StringInfo.LengthInTextElements](/dotnet/api/system.globalization.stringinfo.lengthintextelements). |
-| All other pre-configured features (synchronous) | 5,120 as measured by [StringInfo.LengthInTextElements](/dotnet/api/system.globalization.stringinfo.lengthintextelements). If you need to submit larger documents, consider using the feature asynchronously (described below). |
-| All other pre-configured features ([asynchronous](use-asynchronously.md)) | 125,000 characters across all submitted documents, as measured by [StringInfo.LengthInTextElements](/dotnet/api/system.globalization.stringinfo.lengthintextelements) (maximum of 25 documents). |
+| All other preconfigured features (synchronous) | 5,120 as measured by [StringInfo.LengthInTextElements](/dotnet/api/system.globalization.stringinfo.lengthintextelements). If you need to submit larger documents, consider using the feature asynchronously. |
+| All other preconfigured features ([asynchronous](use-asynchronously.md)) | 125,000 characters across all submitted documents, as measured by [StringInfo.LengthInTextElements](/dotnet/api/system.globalization.stringinfo.lengthintextelements) (maximum of 25 documents). |
-If a document exceeds the character limit, the API will behave differently depending on how you're sending requests.
+If a document exceeds the character limit, the API behaves differently depending on how you're sending requests.
If you're sending requests synchronously:
-* The API won't process a document that exceeds the maximum size, and will return an invalid document error for it. If an API request has multiple documents, the API will continue processing them if they are within the character limit.
+* The API doesn't process documents that exceed the maximum size, and returns an invalid document error for it. If an API request has multiple documents, the API continues processing them if they are within the character limit.
If you're sending requests [asynchronously](use-asynchronously.md):
-* The API will reject the entire request and return a `400 bad request` error if any document within it exceeds the maximum size.
+* The API rejects the entire request and returns a `400 bad request` error if any document within it exceeds the maximum size.
## Maximum request size
The following limit specifies the maximum size of documents contained in the ent
| Feature | Value | |||
-| All pre-configured features | 1MB |
+| All preconfigured features | 1 MB |
## Maximum documents per request
-Exceeding the following document limits will generate an HTTP 400 error code.
+Exceeding the following document limits generates an HTTP 400 error code.
> [!NOTE] > When sending asynchronous API requests, you can send a maximum of 25 documents per request.
Exceeding the following document limits will generate an HTTP 400 error code.
## Rate limits
-Your rate limit will vary with your [pricing tier](https://azure.microsoft.com/pricing/details/cognitive-services/text-analytics/). These limits are the same for both versions of the API. These rate limits don't apply to the Text Analytics for health container, which does not have a set rate limit.
+Your rate limit varies with your [pricing tier](https://azure.microsoft.com/pricing/details/cognitive-services/text-analytics/). These limits are the same for both versions of the API. These rate limits don't apply to the Text Analytics for health container, which doesn't have a set rate limit.
| Tier | Requests per second | Requests per minute | ||||
cognitive-services Model Lifecycle https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/language-service/concepts/model-lifecycle.md
Use the table below to find which model versions are supported by each feature:
| Language Detection | `2021-11-20`, `2022-10-01*` | | Entity Linking | `2021-06-01*` | | Named Entity Recognition (NER) | `2021-06-01*`, `2022-10-01-preview`, `2023-02-01-preview**` |
-| Personally Identifiable Information (PII) detection | `2020-07-01`, `2021-01-15*`, `2023-01-01-preview**` |
+| Personally Identifiable Information (PII) detection | `2021-01-15*`, `2023-01-01-preview**` |
| PII detection for conversations (Preview) | `2022-05-15-preview**` | | Question answering | `2021-10-01*` | | Text Analytics for health | `2021-05-15`, `2022-03-01*`, `2022-08-15-preview`, `2023-01-01-preview**` |
cognitive-services Call Api https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/language-service/custom-named-entity-recognition/how-to/call-api.md
First you need to get your resource key and endpoint:
## Next steps
-* [Enrich a Cognitive Search index tutorial](../tutorials/cognitive-search.md)
+* [Frequently asked questions](../faq.md)
cognitive-services Cognitive Search https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/language-service/custom-named-entity-recognition/tutorials/cognitive-search.md
- Title: Enrich a Cognitive Search index with custom entities-
-description: Improve your cognitive search indices using custom Named Entity Recognition (NER)
------ Previously updated : 04/26/2022----
-# Tutorial: Enrich a Cognitive Search index with custom entities from your data
-
-In enterprise, having an abundance of electronic documents can mean that searching through them is a time-consuming and expensive task. [Azure Cognitive Search](../../../../search/search-create-service-portal.md) can help with searching through your files, based on their indices. Custom named entity recognition can help by extracting relevant entities from your files, and enriching the process of indexing these files.
-
-In this tutorial, you learn how to:
-
-* Create a custom named entity recognition project.
-* Publish Azure function.
-* Add an index to Azure Cognitive Search.
-
-## Prerequisites
-
-* [An Azure Language resource connected to an Azure blob storage account](../how-to/create-project.md).
- * We recommend following the instructions for creating a resource using the Azure portal, for easier setup.
-* [An Azure Cognitive Search service](../../../../search/search-create-service-portal.md) in your current subscription
- * You can use any tier, and any region for this service.
-* An [Azure function app](../../../../azure-functions/functions-create-function-app-portal.md)
-
-## Upload sample data to blob container
--
-# [Language Studio](#tab/Language-studio)
-
-## Create a custom named entity recognition project
-
-Once your resource and storage account are configured, create a new custom NER project. A project is a work area for building your custom ML models based on your data. Your project can only be accessed by you and others who have access to the Language resource being used.
--
-## Train your model
-
-Typically after you create a project, you go ahead and start [tagging the documents](../how-to/tag-data.md) you have in the container connected to your project. For this tutorial, you have imported a sample tagged dataset and initialized your project with the sample JSON tags file.
--
-## Deploy your model
-
-Generally after training a model you would review its [evaluation details](../how-to/view-model-evaluation.md) and [make improvements](../how-to/view-model-evaluation.md) if necessary. In this quickstart, you will just deploy your model, and make it available for you to try in Language Studio, or you can call the [prediction API](https://aka.ms/ct-runtime-swagger).
--
-# [REST APIs](#tab/REST-APIs)
-
-### Get your resource keys and endpoint
--
-## Create a custom NER project
-
-Once your resource and storage account are configured, create a new custom NER project. A project is a work area for building your custom ML models based on your data. Your project can only be accessed by you and others who have access to the Language resource being used.
-
-Use the tags file you downloaded from the [sample data](https://github.com/Azure-Samples/cognitive-services-sample-data-files) in the previous step and add it to the body of the following request.
-
-### Trigger import project job
--
-### Get import job status
-
- [!INCLUDE [get import project status](../includes/rest-api/get-import-status.md)]
-
-## Train your model
-
-Typically after you create a project, you go ahead and start [tagging the documents](../how-to/tag-data.md) you have in the container connected to your project. For this tutorial, you have imported a sample tagged dataset and initialized your project with the sample JSON tags file.
-
-### Start training job
-
-After your project has been imported, you can start training your model.
--
-### Get training job status
-
-Training could take sometime between 10 and 30 minutes for this sample dataset. You can use the following request to keep polling the status of the training job until it's successfully completed.
-
- [!INCLUDE [get training model status](../includes/rest-api/get-training-status.md)]
-
-## Deploy your model
-
-Generally after training a model you would review its [evaluation details](../how-to/view-model-evaluation.md) and [make improvements](../how-to/view-model-evaluation.md) if necessary. In this tutorial, you will just deploy your model, and make it available for you to try in Language Studio, or you can call the [prediction API](https://aka.ms/ct-runtime-swagger).
-
-### Start deployment job
--
-### Get deployment job status
----
-## Use CogSvc language utilities tool for Cognitive search integration
-
-### Publish your Azure Function
-
-1. Download and use the [provided sample function](https://aka.ms/CustomTextAzureFunction).
-
-2. After you download the sample function, open the *program.cs* file in Visual Studio and [publish the function to Azure](../../../../azure-functions/functions-develop-vs.md?tabs=in-process#publish-to-azure).
-
-### Prepare configuration file
-
-1. Download [sample configuration file](https://aka.ms/CognitiveSearchIntegrationToolAssets) and open it in a text editor.
-
-2. Get your storage account connection string by:
-
- 1. Navigating to your storage account overview page in the [Azure portal](https://portal.azure.com/#home).
- 2. In the **Access Keys** section in the menu to the left of the screen, copy your **Connection string** to the `connectionString` field in the configuration file, under `blobStorage`.
- 3. Go to the container where you have the files you want to index and copy container name to the `containerName` field in the configuration file, under `blobStorage`.
-
-3. Get your cognitive search endpoint and keys by:
-
- 1. Navigating to your resource overview page in the [Azure portal](https://portal.azure.com/#home).
- 2. Copy the **Url** at the top-right section of the page to the `endpointUrl` field within `cognitiveSearch`.
- 3. Go to the **Keys** section in the menu to the left of the screen. Copy your **Primary admin key** to the `apiKey` field within `cognitiveSearch`.
-
-4. Get Azure Function endpoint and keys
-
- 1. To get your Azure Function endpoint and keys, go to your function overview page in the [Azure portal](https://portal.azure.com/#home).
- 2. Go to **Functions** menu on the left of the screen, and select on the function you created.
- 3. From the top menu, select **Get Function Url**. The URL will be formatted like this: `YOUR-ENDPOINT-URL?code=YOUR-API-KEY`.
- 4. Copy `YOUR-ENDPOINT-URL` to the `endpointUrl` field in the configuration file, under `azureFunction`.
- 5. Copy `YOUR-API-KEY` to the `apiKey` field in the configuration file, under `azureFunction`.
-
-5. Get your resource keys endpoint
-
- [!INCLUDE [Get resource keys and endpoint](../includes/get-keys-endpoint-azure.md)]
-
-6. Get your custom NER project secrets
-
- 1. You will need your **project-name**, project names are case-sensitive. Project names can be found in **project settings** page.
-
- 2. You will also need the **deployment-name**. Deployment names can be found in **Deploying a model** page.
-
-### Run the indexer command
-
-After you've published your Azure function and prepared your configs file, you can run the indexer command.
-```cli
- indexer index --index-name <name-your-index-here> --configs <absolute-path-to-configs-file>
-```
-
-Replace `name-your-index-here` with the index name that appears in your Cognitive Search instance.
-
-## Next steps
-
-* [Search your app with with the Cognitive Search SDK](../../../../search/search-howto-dotnet-sdk.md#run-queries)
cognitive-services Cognitive Search https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/language-service/custom-text-classification/tutorials/cognitive-search.md
- Title: Enrich a Cognitive Search index with custom classes-
-description: Improve your cognitive search indices using custom text classification
------ Previously updated : 06/03/2022----
-# Tutorial: Enrich Cognitive Search index with custom classes from your data
-
-With the abundance of electronic documents within the enterprise, the problem of search through them becomes a tiring and expensive task. [Azure Cognitive Search](../../../../search/search-create-service-portal.md) helps with searching through your files based on their indices. Custom text classification helps in enriching the indexing of these files by classifying them into your custom classes.
-
-In this tutorial, you will learn how to:
-
-* Create a custom text classification project.
-* Publish Azure function.
-* Add Index to your Azure Cognitive search.
-
-## Prerequisites
-
-* [An Azure Language resource connected to an Azure blob storage account](../how-to/create-project.md).
- * We recommend following the instructions for creating a resource using the Azure portal, for easier setup.
-* [An Azure Cognitive Search service](../../../../search/search-create-service-portal.md) in your current subscription
- * You can use any tier, and any region for this service.
-* An [Azure function app](../../../../azure-functions/functions-create-function-app-portal.md)
-
-## Upload sample data to blob container
--
-# [Language studio](#tab/Language-studio)
-
-## Create a custom text classification project
-
-Once your resource and storage container are configured, create a new custom text classification project. A project is a work area for building your custom ML models based on your data. Your project can only be accessed by you and others who have access to the Language resource being used.
--
-## Train your model
-
-Typically after you create a project, you go ahead and start [tagging the documents](../how-to/tag-data.md) you have in the container connected to your project. For this tutorial, you have imported a sample tagged dataset and initialized your project with the sample JSON tags file.
--
-## Deploy your model
-
-Generally after training a model you would review it's [evaluation details](../how-to/view-model-evaluation.md) and [make improvements](../how-to/view-model-evaluation.md) if necessary. In this quickstart, you will just deploy your model, and make it available for you to try in Language Studio, or you can call the [prediction API](https://aka.ms/ct-runtime-swagger).
---
-# [REST APIs](#tab/REST-APIs)
-
-### Get your resource keys and endpoint
--
-## Create a custom text classification project
-
-Once your resource and storage container are configured, create a new custom text classification project. A project is a work area for building your custom ML models based on your data. Your project can only be accessed by you and others who have access to the Language resource being used.
-
-### Trigger import project job
--
-### Get import job Status
-
- [!INCLUDE [get import project status](../includes/rest-api/get-import-status.md)]
-
-## Train your model
-
-Typically after you create a project, you go ahead and start [tagging the documents](../how-to/tag-data.md) you have in the container connected to your project. For this tutorial, you have imported a sample tagged dataset and initialized your project with the sample JSON tags file.
-
-### Start training your model
-
-After your project has been imported, you can start training your model.
--
-### Get training job status
-
-Training could take sometime between 10 and 30 minutes for this sample dataset. You can use the following request to keep polling the status of the training job until it is successfully completed.
-
- [!INCLUDE [get training model status](../includes/rest-api/get-training-status.md)]
-
-## Deploy your model
-
-Generally after training a model you would review it's [evaluation details](../how-to/view-model-evaluation.md) and [make improvements](../how-to/view-model-evaluation.md) if necessary. In this quickstart, you will just deploy your model, and make it available for you to try in Language Studio, or you can call the [prediction API](https://aka.ms/ct-runtime-swagger).
-
-### Submit deployment job
--
-### Get deployment job status
-----
-## Use CogSvc language utilities tool for Cognitive search integration
-
-### Publish your Azure Function
-
-1. Download and use the [provided sample function](https://aka.ms/CustomTextAzureFunction).
-
-2. After you download the sample function, open the *program.cs* file in Visual Studio and [publish the function to Azure](../../../../azure-functions/functions-develop-vs.md?tabs=in-process#publish-to-azure).
-
-### Prepare configuration file
-
-1. Download [sample configuration file](https://aka.ms/CognitiveSearchIntegrationToolAssets) and open it in a text editor.
-
-2. Get your storage account connection string by:
-
- 1. Navigating to your storage account overview page in the [Azure portal](https://portal.azure.com/#home).
- 2. In the **Access Keys** section in the menu to the left of the screen, copy your **Connection string** to the `connectionString` field in the configuration file, under `blobStorage`.
- 3. Go to the container where you have the files you want to index and copy container name to the `containerName` field in the configuration file, under `blobStorage`.
-
-3. Get your cognitive search endpoint and keys by:
-
- 1. Navigating to your resource overview page in the [Azure portal](https://portal.azure.com/#home).
- 2. Copy the **Url** at the top-right section of the page to the `endpointUrl` field within `cognitiveSearch`.
- 3. Go to the **Keys** section in the menu to the left of the screen. Copy your **Primary admin key** to the `apiKey` field within `cognitiveSearch`.
-
-4. Get Azure Function endpoint and keys
-
- 1. To get your Azure Function endpoint and keys, go to your function overview page in the [Azure portal](https://portal.azure.com/#home).
- 2. Go to **Functions** menu on the left of the screen, and click on the function you created.
- 3. From the top menu, click **Get Function Url**. The URL will be formatted like this: `YOUR-ENDPOINT-URL?code=YOUR-API-KEY`.
- 4. Copy `YOUR-ENDPOINT-URL` to the `endpointUrl` field in the configuration file, under `azureFunction`.
- 5. Copy `YOUR-API-KEY` to the `apiKey` field in the configuration file, under `azureFunction`.
-
-5. Get your resource keys endpoint
-
- [!INCLUDE [Get keys and endpoint Azure Portal](../includes/get-keys-endpoint-azure.md)]
-
-6. Get your custom text classification project secrets
-
- 1. You will need your **project-name**, project names are case-sensitive. Project names can be found in **project settings** page.
-
- 2. You will also need the **deployment-name**. Deployment names can be found in **Deploying a model** page.
-
-### Run the indexer command
-
-After you've published your Azure function and prepared your configs file, you can run the indexer command.
-```cli
- indexer index --index-name <name-your-index-here> --configs <absolute-path-to-configs-file>
-```
-
-Replace `name-your-index-here` with the index name that appears in your Cognitive Search instance.
-
-## Next steps
-
-* [Search your app with with the Cognitive Search SDK](../../../../search/search-howto-dotnet-sdk.md#run-queries)
cognitive-services Quickstart https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/language-service/summarization/custom/quickstart.md
Last updated 05/26/2023
-zone_pivot_groups: usage-custom-language-features
+<! zone_pivot_groups: usage-custom-language-features >
# Quickstart: custom summarization (preview) Use this article to get started with creating a custom Summarization project where you can train custom models on top of Summarization. A model is artificial intelligence software that's trained to do a certain task. For this system, the models summarize text and are trained by learning from imported data.
cognitive-services Region Support https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/language-service/summarization/region-support.md
+
+ Title: Summarization region support
+
+description: Learn about which regions are supported by document summarization.
+++++++ Last updated : 06/11/2023+++
+# Regional availability
+
+Use this article to learn which regions are supported by all summarization features. More regions will be added to this list as they become available.
+
+## Regional availability table
+
+|Region|Document abstractive summarization|Conversation issue and resolution summarization|Conversation narrative summarization with chapters|Custom summarization|
+||||||-|
+|North Europe|&#9989;|&#9989;|&#9989;|&#10060;|
+|East US|&#9989;|&#9989;|&#9989;|&#10060;|
+|UK South|&#9989;|&#9989;|&#9989;|&#10060;|
+|Southeast Asia|&#10060;|&#10060;|&#10060;|&#9989;|
+
+## Next steps
+
+* [Summarization overview](overview.md)
cognitive-services Models https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/openai/concepts/models.md
description: Learn about the different model capabilities that are available with Azure OpenAI. Previously updated : 06/08/2023 Last updated : 06/13/2023
For example, our most powerful GPT-3 model is called `text-davinci-003`, while o
You can get a list of models that are available for both inference and fine-tuning by your Azure OpenAI resource by using the [Models List API](/rest/api/cognitiveservices/azureopenaistable/models/list).
+## Model updates
+
+Azure OpenAI now supports automatic updates for select model deployments. On models where automatic update support is available, a model version drop-down will be visible in Azure OpenAI Studio under **Create new deployment** and **Edit deployment**:
++
+### Auto update to latest
+
+When **Auto-update to latest** is selected your model deployment will be automatically updated within two weeks of a new version being released.
+
+If you are still in the early testing phases for completion and chat completion based models we recommend deploying models with **auto-update to latest** set whenever it is available. For embeddings models while we recommend using the latest model version, you should choose when you want to upgrade since embeddings generated with an earlier model version will not be interchangeable with the new version.
+
+### Specific model version
+
+As your use of Azure OpenAI evolves, and you start to build and integrate with applications you will likely want to manually control model updates so that you can first test and validate that model performance is remaining consistent for your use case prior to upgrade.
+
+When you select a specific model version for a deployment this version will remain selected until you either choose to manually update yourself, or once you reach the expiration date for the model. When the deprecation/expiration date is reached the model will auto-upgrade to the latest available version.
+
+### GPT-35-Turbo 0301 and GPT-4 0314 expiration
+
+The original `gpt-35-turbo` (`0301`) and both `gpt-4` (`0314`) models will expire no earlier than September 30th, 2023. Upon expiration deployments will automatically be upgraded to the default version at the time of expiry. If you would like your deployment to stop accepting completion requests rather than upgrading, then you will be able to set the model upgrade option to expire through the API. We will publish guidelines on this by September 1.
+
+### Viewing deprecation dates
+
+For currently deployed models, from Azure OpenAI Studio select **Deployments**:
++
+To view deprecation/expiration dates for all available models in a given region from Azure OpenAI Studio select **Models** > **Column options** > Select **Deprecation fine tune** and **Deprecation inference**:
++
+### Update & deploy models via the API
+
+```http
+PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/deployments/{deploymentName}?api-version=2023-05-01
+```
+
+**Path parameters**
+
+| Parameter | Type | Required? | Description |
+|--|--|--|--|
+| ```acountname``` | string | Required | The name of your Azure OpenAI Resource. |
+| ```deploymentName``` | string | Required | The deployment name you chose when you deployed an existing model or the name you would like a new model deployment to have. |
+| ```resourceGroupName``` | string | Required | The name of the associated resource group for this model deployment. |
+| ```subscriptionId``` | string | Required | Subscription ID for the associated subscription. |
+| ```api-version``` | string | Required |The API version to use for this operation. This follows the YYYY-MM-DD format. |
+
+**Supported versions**
+
+- `2023-05-01` [Swagger spec](https://github.com/Azure/azure-rest-api-specs/blob/1e71ad94aeb8843559d59d863c895770560d7c93/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2023-05-01/cognitiveservices.json)
+
+**Request body**
+
+This is only a subset of the available request body parameters. For the full list of the parameters you can refer to the [REST API spec](https://github.com/Azure/azure-rest-api-specs/blob/1e71ad94aeb8843559d59d863c895770560d7c93/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2023-05-01/cognitiveservices.json).
+
+|Parameter|Type| Description |
+|--|--|--|
+|versionUpgradeOption | String | Deployment model version upgrade options:<br>`OnceNewDefaultVersionAvailable`<br>`OnceCurrentVersionExpired`<br>`NoAutoUpgrade`|
+|capacity|integer|This represents the amount of [quota](../how-to/quota.md) you are assigning to this deployment. A value of 1 equals 1,000 Tokens per Minute (TPM)|
+
+#### Example request
+
+```Bash
+curl -X PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/text-embedding-ada-002-test-1" \
+ -H "Content-Type: application/json" \
+ -H 'Authorization: Bearer YOUR_AUTH_TOKEN' \
+ -d '{"sku":{"name":"Standard","capacity":1},"properties": {"model": {"format": "OpenAI","name": "text-embedding-ada-002","version": "2"},"versionUpgradeOption":"OnceCurrentVersionExpired"}}'
+```
+
+> [!NOTE]
+> There are multiple ways to generate an authorization token. The easiest method for initial testing is to launch the Cloud Shell from https://portal.azure.com. Then run [`az account get-access-token`](/cli/azure/account?view=azure-cli-latest#az-account-get-access-token&preserve-view=true). You can use this token as your temporary authorization token for API testing.
+
+#### Example response
+
+```json
+{
+ "id": "/subscriptions/{subscription-id}/resourceGroups/resource-group-temp/providers/Microsoft.CognitiveServices/accounts/docs-openai-test-001/deployments/text-embedding-ada-002-test-1",
+ "type": "Microsoft.CognitiveServices/accounts/deployments",
+ "name": "text-embedding-ada-002-test-1",
+ "sku": {
+ "name": "Standard",
+ "capacity": 1
+ },
+ "properties": {
+ "model": {
+ "format": "OpenAI",
+ "name": "text-embedding-ada-002",
+ "version": "2"
+ },
+ "versionUpgradeOption": "OnceCurrentVersionExpired",
+ "capabilities": {
+ "embeddings": "true",
+ "embeddingsMaxInputs": "1"
+ },
+ "provisioningState": "Succeeded",
+ "ratelimits": [
+ {
+ "key": "request",
+ "renewalPeriod": 10,
+ "count": 2
+ },
+ {
+ "key": "token",
+ "renewalPeriod": 60,
+ "count": 1000
+ }
+ ]
+ },
+ "systemData": {
+ "createdBy": "docs@contoso.com",
+ "createdByType": "User",
+ "createdAt": "2023-06-13T00:12:38.885937Z",
+ "lastModifiedBy": "docs@contoso.com",
+ "lastModifiedByType": "User",
+ "lastModifiedAt": "2023-06-13T02:41:04.8410965Z"
+ },
+ "etag": "\"{GUID}\""
+}
+```
+ ## Finding the right model We recommend starting with the most capable model in a model family to confirm whether the model capabilities meet your requirements. Then you can stay with that model or move to a model with lower capability and cost, optimizing around that model's capabilities.
-## GPT-4 models
+## GPT-4 models
GPT-4 can solve difficult problems with greater accuracy than any of OpenAI's previous models. Like gpt-35-turbo, GPT-4 is optimized for chat but works well for traditional completions tasks.
These models can be used with Completion API requests. `gpt-35-turbo` is the onl
<br><sup>1</sup> Currently, only version `0301` of this model is available.
-> [!IMPORTANT]
-> The currently listed deprecation dates in Azure OpenAI Studio and via REST API for gpt-35-turbo (0301) is a temporary placeholder. Deprecation will not happen prior to October 1st 2023.
- ### GPT-4 Models These models can only be used with the Chat Completion API.
These models can only be used with the Chat Completion API.
<sup>1</sup> The model is [only available by request](https://aka.ms/oai/get-gpt4).<br> <sup>2</sup> Currently, only version `0314` of this model is available.
-> [!IMPORTANT]
-> The currently listed deprecation dates in Azure OpenAI Studio and via REST API for the gpt-4 and gpt-4-32k (0314) models are temporary placeholders. Deprecation will not happen prior to October 1st 2023.
- ### Dall-E Models | Model ID | Base model Regions | Fine-Tuning Regions | Max Request (characters) | Training Data (up to) |
cognitive-services Embeddings https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cognitive-services/openai/tutorials/embeddings.md
Previously updated : 04/25/2023 Last updated : 06/14/2023 recommendations: false
RESOURCE_ENDPOINT = os.getenv("AZURE_OPENAI_ENDPOINT")
openai.api_type = "azure" openai.api_key = API_KEY openai.api_base = RESOURCE_ENDPOINT
-openai.api_version = "2023-05-15"
+openai.api_version = "2022-12-01"
-url = openai.api_base + "/openai/deployments?api-version=2023-05-15"
+url = openai.api_base + "/openai/deployments?api-version=2022-12-01"
r = requests.get(url, headers={"api-key": API_KEY})
communication-services Call Automation Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/analytics/logs/call-automation-logs.md
Title: Azure Communication Services Call Automation logs description: Learn about logging for Azure Communication Services Call Automation.-+ - Previously updated : 03/21/2023+ Last updated : 05/24/2023
Azure Communication Services offers logging capabilities that you can use to monitor and debug your Communication Services solution. These capabilities can be configured through the Azure portal.
+## Prerequisites
+
+Azure Communication Services provides monitoring and analytics features via [Azure Monitor Logs overview](../../../../azure-monitor/logs/data-platform-logs.md) and [Azure Monitor Metrics](../../../../azure-monitor/essentials/data-platform-metrics.md). Each Azure resource requires its own diagnostic setting, which defines the following criteria:
+ * Categories of logs and metric data sent to the destinations defined in the setting. The available categories will vary for different resource types.
+ * One or more destinations to send the logs. Current destinations include Log Analytics workspace, Event Hubs, and Azure Storage.
+ * A single diagnostic setting can define no more than one of each of the destinations. If you want to send data to more than one of a particular destination type (for example, two different Log Analytics workspaces), then create multiple settings. Each resource can have up to five diagnostic settings.
+ > [!IMPORTANT]
-> The following refers to logs enabled through [Azure Monitor](../../../../azure-monitor/overview.md) (see also [FAQ](../../../../azure-monitor/faq.yml)). To enable these logs for your Communications Services, see: [Enable logging in Diagnostic Settings](../enable-logging.md)
+> You must enable a Diagnostic Setting in Azure Monitor to send the log data of your surveys to a Log Analytics workspace, Event Hubs, or an Azure storage account to receive and analyze your survey data. If you do not send call automation data to one of these options your survey data will not be stored and will be lost.
+The following are instructions for configuring your Azure Monitor resource to start creating logs and metrics for your Communications Services. For detailed documentation about using Diagnostic Settings across all Azure resources, see: [Enable logging in Diagnostic Settings](../enable-logging.md)
+
+> [!NOTE]
+> Under the diagnostic setting name please select ΓÇ£Operation call automation logsΓÇ¥ and ΓÇ£Call Automation Events summary logsΓÇ¥ to enable the logs for call automation logs.
+
+ :::image type="content" source="..\media\log-analytics\call-automation-log.png" alt-text="Screenshot of diagnostic settings for call automation.":::
+ ## Resource log categories Communication Services offers the following types of logs that you can enable:
-* **Usage logs** - provides usage data associated with each billed service offering
-* **Call Automation operational logs** - provides operational information on Call Automation API requests. These logs can be used to identify failure points, query all requests made in a call (using Correlation ID or Server Call ID) or query all requests made by a specific service application in the call (using Participant ID).
+* **Usage logs** - provides usage data associated with each billed service offering.
+* **Call Automation operational logs** - provides operational information on Call Automation API requests. These logs can be used to identify failure points and query all requests made in a call (using Correlation ID or Server Call ID).
+* **Call Automation media summary logs** - Provides information about outcome of media operations. These come to the user asynchronously when making media requests using Call Automation APIs. These can be used to help identify failure points and possible patterns on how end users are interacting with your application.
## Usage logs schema | Property | Description |
-| -- | |
-| `Timestamp` | The timestamp (UTC) of when the log was generated. |
-| `Operation Name` | The operation associated with log record. |
-| `Operation Version` | The `api-version` associated with the operation, if the operationName was performed using an API. If there's no API that corresponds to this operation, the version represents the version of that operation in case the properties associated with the operation change in the future. |
-| `Category` | The log category of the event. Category is the granularity at which you can enable or disable logs on a particular resource. The properties that appear within the properties blob of an event are the same within a particular log category and resource type. |
-| `Correlation ID` | The ID for correlated events. Can be used to identify correlated events between multiple tables. |
-| `Properties` | Other data applicable to various modes of Communication Services. |
-| `Record ID` | The unique ID for a given usage record. |
-| `Usage Type` | The mode of usage. (for example, Chat, PSTN, NAT, etc.) |
-| `Unit Type` | The type of unit that usage is based off for a given mode of usage. (for example, minutes, megabytes, messages, etc.). |
-| `Quantity` | The number of units used or consumed for this record. |
+| -- | |
+| `Timestamp` | The timestamp (UTC) of when the log was generated. |
+| `OperationName` | The operation associated with the log record. |
+| `OperationVersion` | The `api-version` associated with the operation, if the operationName was performed using an API. If there's no API that corresponds to this operation, the version represents the version of that operation in case the properties associated with the operation change in the future. |
+| `Category` | The log category of the event. The category is the granularity at which you can enable or disable logs on a particular resource. The properties that appear within the properties blob of an event are the same within a particular log category and resource type. |
+| `CorrelationID` | The ID for correlated events. Can be used to identify correlated events between multiple tables. |
+| `Properties` | Other data applicable to various modes of Communication Services. |
+| `RecordID` | The unique ID for a given usage record. |
+| `UsageType` | The mode of usage. (for example, Chat, PSTN, NAT, etc.) |
+| `UnitType` | The type of unit that usage is based on for a given mode of usage. (for example, minutes, megabytes, messages, etc.). |
+| `Quantity` | The number of units used or consumed for this record. |
## Call Automation operational logs | Property | Description | | -- | | | `TimeGenerated` | The timestamp (UTC) of when the log was generated. |
-| `OperationName` | The operation associated with log record. |
+| `OperationName` | The operation associated with the log record. |
| `CorrelationID` | The identifier to identify a call and correlate events for a unique call. | | `OperationVersion` | The `api-version` associated with the operation, if the `operationName` was performed using an API. If there's no API that corresponds to this operation, the version represents the version of that operation in case the properties associated with the operation change in the future. |
-| `Category` | The log category of the event. Category is the granularity at which you can enable or disable logs on a particular resource. The properties that appear within the properties blob of an event are the same within a particular log category and resource type. |
+| `Category` | The log category of the event. The category is the granularity at which you can enable or disable logs on a particular resource. The properties that appear within the properties blob of an event are the same within a particular log category and resource type. |
| `ResultType` | The status of the operation. |
-| `ResultSignature` | The sub status of the operation. If this operation corresponds to a REST API call, this field is the HTTP status code of the corresponding REST call. |
+| `ResultSignature` | The sub-status of the operation. If this operation corresponds to a REST API call, this field is the HTTP status code of the corresponding REST call. |
| `DurationMs` | The duration of the operation in milliseconds. | | `CallerIpAddress` | The caller IP address, if the operation corresponds to an API call that would come from an entity with a publicly available IP address. | | `Level` | The severity level of the event. |
Communication Services offers the following types of logs that you can enable:
| `SDKVersion` | SDK version used for the request. | | `SDKType` | The SDK type used for the request. | | `ParticipantId` | ID to identify the call participant that made the request. |
-| `SubOperationName` | Used to identify the sub type of media operation (play, recognize) |
+| `SubOperationName` | Used to identify the subtype of media operation (play, recognize) |
+|`operationID`| It represents the operation ID used to correlate asynchronous events|
+
+**Examples**
+
+```json
+[
+{
+"TimeGenerated [UTC]": "5/25/2023, 5:43:25.746 PM",
+"Level": "Informational",
+"CorrelationId": "e2a97d52-0cbb-4adf-8c4b-e10f791fb764",
+"OperationName": "Play",
+"OperationVersion": "3/6/23",
+"URI": "ccts-media-synthetics-prod.communication.azure.com",
+"ResultType": "Succeeded",
+"ResultSignature": "202",
+"DurationMs": "82",
+"CallerIpAddress": "40.88.50.228",
+"CallConnectionId": "401f3500-fcb6-4b84-927e-81cd6372560b",
+"ServerCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEyLTAxLmNvbnYuc2t5cGUuY29tL2NvbnYvZzRoWlVoS1ZEVUtma19HenRDZ1JTQT9pPTEyJmU9NjM4MjA1NDc4MDg5MzEzMjIz",
+"SdkVersion": "",
+"SdkType": "unknown",
+"SubOperationName": "File",
+"OperationId": "5fab0875-3211-4879-8051-c688d0854c4d",
+}
+```
+
+## Call Automation media summary logs
+
+| Property | Description |
+| -- | |
+| `TimeGenerated` | It represents the timestamp (UTC) of the event|
+|`level`| It represents the severity level of the event. Must be one of Informational, Warning, Error, or Critical.ΓÇ» |
+|`resourceId`| Represents the resource ID of the resource that emitted the event |
+|`durationMs`| Represents the duration of the operation in milliseconds |
+|`callerIpAddress`| |
+|`correlationId`| Skype Chain IDΓÇ» |
+|`operationName`| The name of the operation represented by this event|
+|`operationVersion`
+| `resultType`| The status of the event. Typical values include Completed, Canceled, Failed|
+| `resultSignature`| The sub-status of the operation. If this operation corresponds to a REST API call, this field is the HTTP status code of the corresponding REST call|
+|`operationId`| It represents the operation ID used to correlate asynchronous events|
+|`recognizePromptSubOperationName`|A subtype of the operation. Potential values: File, TextToSpeech, SSML, etc.|
+| `playInLoop`| True if looping was requested for the Play operation, else otherwise|
+|`playToParticipant`| True if the Play operation had a target. False if it was a play to all operation|
+| `interrupted`| True in case of the prompt being interrupted, false otherwise|
+|`resultCode`|Operation Result Code |
+|`resultSubcode`| Operation Result Subcode |
+|`resultMessage`| Operation result message |
++
+**Examples**
+```json
+[
+{
+"TimeGenerated [UTC]": "5/24/2023, 7:57:40.480 PM",
+"Level": "Informational",
+"CorrelationId": "d149d528-a392-404c-8fcd-69087e9d0802",
+"ResultType": "Completed",
+"OperationName": "Play",
+"OperationId": "7bef24d5-eb95-4ee6-bbab-0b7d45d91288",
+"PlayInLoop": "FALSE",
+"PlayToParticipant": "TRUE",
+"PlayInterrupted": "FALSE",
+"RecognizePromptSubOperationName": "",
+"ResultCode": "200",
+"ResultSubcode": "0",
+"ResultMessage": "Action completed successfully."
+}
+
+````
communication-services End Of Call Survey Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/analytics/logs/end-of-call-survey-logs.md
Title: End of call survey logs (Preview)
+ Title: End of call survey logs
description: Learn about logging for End of Call Survey.
-# End of call survey (preview)
+# End of call survey
> > End of Call Survey is currently supported only for our JavaScript / Web SDK.
communication-services Sms Logs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/analytics/logs/sms-logs.md
Communication Services offers the following types of logs that you can enable:
| `Method` | The method used in the request. | |`NumberType`| The type of number, the SMS message is being sent from. It can be either **LongCodeNumber** or **ShortCodeNumber** or **DynamicAlphaSenderID**| |`MessageID`|Represent the unique messageId generated for every outgoing and incoming message. This can be found in the SMS API response object|
-|`Country`|Represent the countries where the SMS messages were sent to or received from|
+|`Country`|Represent the countries/regions where the SMS messages were sent to or received from|
#### Example SMS sent log
communication-services Sub Eligibility Number Capability https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/numbers/sub-eligibility-number-capability.md
The capabilities and numbers that are available to you depend on the country/reg
The following tables summarize current availability:
-## Customers with US Azure billing addresses
+## Customers with Australia Azure billing addresses
-| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
-| :- | :- | :- | :- | :- | : |
-| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
-| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
-| USA | Short-Codes\** | General Availability | General Availability | - | - |
-| UK | Toll-Free | - | - | General Availability | General Availability\* |
-| UK | Local | - | - |
-| Canada | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
-| Canada | Local | - | - | General Availability | General Availability\* |
-| Denmark | Toll-Free | - | - | Public Preview | Public Preview\* |
-| Denmark | Local | - | - | Public Preview | Public Preview\* |
-| Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID\** | Public Preview | - | - | - |
+| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
+| :- | :-- | :- | :- | :- | : |
+| Australia, Germany, Netherlands, United Kingdom, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
+
+\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+
+## Customers with Austria Azure billing addresses
+
+| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
+| :- | :-- | :- | :- | :- | : |
+| Austria | Toll-Free** | - | - | Public Preview | Public Preview\* |
+| Austria | Local** | - | - | Public Preview | Public Preview\* |
+| Austria, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \*** | Public Preview | - | - | - |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+\** Phone numbers in Austria can only be purchased for own use. Reselling or suballocating to another party is not allowed.
-## Customers with UK Azure billing addresses
+\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
-| :-- | :- | :- | :- | : | : |
-| UK | Toll-Free | - | - | General Availability | General Availability\* |
-| UK | Local | - | - | General Availability | General Availability\* |
-| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
-| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
-| Canada | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
-| Canada | Local | - | - | General Availability | General Availability\* |
-| United Kingdom, Germany, Netherlands, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+## Customers with Belgium Azure billing addresses
+| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
+| :- | :-- | :- | :- | :- | : |
+| Belgium | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Belgium | Local | - | - | Public Preview | Public Preview\* |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-
-## Customers with Ireland Azure billing addresses
+## Customers with Canada Azure billing addresses
-| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
-| :- | :-- | :- | :- | :- | : |
-| Ireland | Toll-Free | - | - | General Availability | General Availability\* |
-| Ireland | Local | - | - | General Availability | General Availability\* |
-| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
-| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
+| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
+| :- | :-- | :- | :- | :- | : |
| Canada | Toll-Free | General Availability | General Availability | General Availability | General Availability\* | | Canada | Local | - | - | General Availability | General Availability\* |
+| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
+| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
| UK | Toll-Free | - | - | General Availability | General Availability\* | | UK | Local | - | - | General Availability | General Availability\* |
-| Denmark | Toll-Free | - | - | Public Preview | Public Preview\* |
-| Denmark | Local | - | - | Public Preview | Public Preview\* |
-| Italy | Toll-Free** | - | - | General Availability | General Availability\* |
-| Italy | Local** | - | - | General Availability | General Availability\* |
-| Sweden | Toll-Free | - | - | General Availability | General Availability\* |
-| Sweden | Local | - | - | General Availability | General Availability\* |
-| Ireland, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+| Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
The following tables summarize current availability:
| Sweden | Local | - | - | General Availability | General Availability\* | | Ireland | Toll-Free | - | - | General Availability | General Availability\* | | Ireland | Local | - | - | General Availability | General Availability\* |
-| Denmark, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+| Denmark, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+
+## Customers with Estonia Azure billing addresses
+
+| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
+| :- | :-- | :- | :- | :- | : |
+| Estonia, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
+
+\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+
+## Customers with France Azure billing addresses
+
+| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
+| :- | :-- | :- | :- | :- | : |
+| France | Local** | - | - | Public Preview | Public Preview\* |
+| France | Toll-Free** | - | - | Public Preview | Public Preview\* |
+| France, Germany, Netherlands, United Kingdom, Australia, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \*** | Public Preview | - | - | - |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+\** Phone numbers in France can only be purchased for own use. Reselling or suballocating to another party is not allowed.
-## Customers with Canada Azure billing addresses
+\*** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+
+## Customers with Germany Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
+| Germany | Local | - | - | Public Preview | Public Preview\* |
+| Germany | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+
+\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
+
+\** Alphanumeric sender ID in Netherlands can only be purchased for own use. Reselling or suballocating to another party is not allowed. Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+
+## Customers with Ireland Azure billing addresses
+
+| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
+| :- | :-- | :- | :- | :- | : |
+| Ireland | Toll-Free | - | - | General Availability | General Availability\* |
+| Ireland | Local | - | - | General Availability | General Availability\* |
+| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
+| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
| Canada | Toll-Free | General Availability | General Availability | General Availability | General Availability\* | | Canada | Local | - | - | General Availability | General Availability\* |
-| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
-| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
| UK | Toll-Free | - | - | General Availability | General Availability\* | | UK | Local | - | - | General Availability | General Availability\* |
-| Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+| Denmark | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Denmark | Local | - | - | Public Preview | Public Preview\* |
+| Italy | Toll-Free** | - | - | General Availability | General Availability\* |
+| Italy | Local** | - | - | General Availability | General Availability\* |
+| Sweden | Toll-Free | - | - | General Availability | General Availability\* |
+| Sweden | Local | - | - | General Availability | General Availability\* |
+| Ireland, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
The following tables summarize current availability:
| Ireland | Local | - | - | General Availability | General Availability\* | | Denmark | Toll-Free | - | - | Public Preview | Public Preview\* | | Denmark | Local | - | - | Public Preview | Public Preview\* |
+| France | Local** | - | - | Public Preview | Public Preview\* |
+| France | Toll-Free** | - | - | Public Preview | Public Preview\* |
| Italy, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \*** | Public Preview | - | - | - | \* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\** Phone numbers in Italy can only be purchased for own use. Reselling or suballocating to another party is not allowed.
+\** Phone numbers from Italy, France can only be purchased for own use. Reselling or suballocating to another party is not allowed.
\*** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-## Customers with Sweden Azure billing addresses
+## Customers with Latvia Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
-| Sweden | Toll-Free | - | - | General Availability | General Availability\* |
-| Sweden | Local | - | - | General Availability | General Availability\* |
-| Canada | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
-| Canada | Local | - | - | General Availability | General Availability\* |
-| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
-| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
-| Ireland | Toll-Free | - | - | General Availability | General Availability\* |
-| Ireland | Local | - | - | General Availability | General Availability\* |
-| Denmark | Toll-Free | - | - | Public Preview | Public Preview\* |
-| Denmark | Local | - | - | Public Preview | Public Preview\* |
-| Italy | Toll-Free** | - | - | General Availability | General Availability\* |
-| Italy | Local** | - | - | General Availability | General Availability\* |
-| Sweden, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
-
-\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
+| Latvia, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Estonia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
-\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-## Customers with France Azure billing addresses
+## Customers with Lithuania Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
-| France | Local** | - | - | Public Preview | Public Preview\* |
-| France, Germany, Netherlands, United Kingdom, Australia, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \*** | Public Preview | - | - | - |
-
-\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-
-\** Phone numbers in France can only be purchased for own use. Reselling or suballocating to another party is not allowed.
+| Lithuania, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Latvia, Estonia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
-\*** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-## Customers with Spain Azure billing addresses
+## Customers with Luxembourg Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
-| Spain | Toll-Free | - | - | Public Preview | Public Preview\* |
-| Spain | Local | - | - | Public Preview | Public Preview\* |
-| Spain, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+| Luxembourg | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Luxembourg | Local | - | - | Public Preview | Public Preview\* |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-
-## Customers with Switzerland Azure billing addresses
+## Customers with Netherlands Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
-| Switzerland | Toll-Free | - | - | Public Preview | Public Preview\* |
-| Switzerland | Local | - | - | Public Preview | Public Preview\* |
-| Switzerland, Germany, Netherlands, United Kingdom, Australia, France, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+| Netherlands | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Netherlands | Local | - | - | Public Preview | Public Preview\* |
+| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
+| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
+| Netherlands, Germany, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+\** Alphanumeric sender ID in Netherlands can only be purchased for own use. Reselling or suballocating to another party is not allowed. Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-## Customers with Belgium Azure billing addresses
+## Customers with Norway Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
-| Belgium | Toll-Free | - | - | Public Preview | Public Preview\* |
-| Belgium | Local | - | - | Public Preview | Public Preview\* |
+| Norway | Local** | - | - | Public Preview | Public Preview\* |
+| Norway | Toll-Free | - | - | Public Preview | Public Preview\* |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-## Customers with Luxembourg Azure billing addresses
-
-| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
-| :- | :-- | :- | :- | :- | : |
-| Luxembourg | Toll-Free | - | - | Public Preview | Public Preview\* |
-| Luxembourg | Local | - | - | Public Preview | Public Preview\* |
-
-\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
+\** Phone numbers in Norway can only be purchased for own use. Reselling or suballocating to another party is not allowed.
-## Customers with Austria Azure billing addresses
+## Customers with Poland Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
-| Austria | Toll-Free** | - | - | Public Preview | Public Preview\* |
-| Austria | Local** | - | - | Public Preview | Public Preview\* |
-| Austria, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \*** | Public Preview | - | - | - |
-
-\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-
-\** Phone numbers in Austria can only be purchased for own use. Reselling or suballocating to another party is not allowed.
+| Poland, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
-\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
## Customers with Portugal Azure billing addresses
The following tables summarize current availability:
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-## Customers with Norway Azure billing addresses
+## Customers with Spain Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
-| Norway | Local** | - | - | Public Preview | Public Preview\* |
-| Norway | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Spain | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Spain | Local | - | - | Public Preview | Public Preview\* |
+| Spain, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\** Phone numbers in Norway can only be purchased for own use. Reselling or suballocating to another party is not allowed.
-
+\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-## Customers with Netherlands Azure billing addresses
+## Customers with Sweden Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
-| Netherlands | Toll-Free | - | - | Public Preview | Public Preview\* |
-| Netherlands | Local | - | - | Public Preview | Public Preview\* |
-| Netherlands, Germany, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+| Sweden | Toll-Free | - | - | General Availability | General Availability\* |
+| Sweden | Local | - | - | General Availability | General Availability\* |
+| Canada | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
+| Canada | Local | - | - | General Availability | General Availability\* |
+| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
+| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
+| Ireland | Toll-Free | - | - | General Availability | General Availability\* |
+| Ireland | Local | - | - | General Availability | General Availability\* |
+| Denmark | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Denmark | Local | - | - | Public Preview | Public Preview\* |
+| Italy | Toll-Free** | - | - | General Availability | General Availability\* |
+| Italy | Local** | - | - | General Availability | General Availability\* |
+| Sweden, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\** Alphanumeric sender ID in Netherlands can only be purchased for own use. Reselling or suballocating to another party is not allowed. Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-## Customers with Germany Azure billing addresses
+## Customers with Switzerland Azure billing addresses
| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls | | :- | :-- | :- | :- | :- | : |
-| Germany | Local | - | - | Public Preview | Public Preview\* |
-| Germany | Toll-Free | - | - | Public Preview | Public Preview\* |
-| Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
+| Switzerland | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Switzerland | Local | - | - | Public Preview | Public Preview\* |
+| Switzerland, Germany, Netherlands, United Kingdom, Australia, France, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\** Alphanumeric sender ID in Netherlands can only be purchased for own use. Reselling or suballocating to another party is not allowed. Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-
-## Customers with Australia Azure billing addresses
-
-| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
-| :- | :-- | :- | :- | :- | : |
-| Australia, Germany, Netherlands, United Kingdom, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
-
-\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-
-## Customers with Poland Azure billing addresses
-
-| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
-| :- | :-- | :- | :- | :- | : |
-| Poland, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
-
-\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-## Customers with Lithuania Azure billing addresses
+## Customers with United Kingdom Azure billing addresses
-| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
-| :- | :-- | :- | :- | :- | : |
-| Lithuania, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Latvia, Estonia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
+| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
+| :-- | :- | :- | :- | : | : |
+| UK | Toll-Free | - | - | General Availability | General Availability\* |
+| UK | Local | - | - | General Availability | General Availability\* |
+| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
+| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
+| Canada | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
+| Canada | Local | - | - | General Availability | General Availability\* |
+| United Kingdom, Germany, Netherlands, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID \** | Public Preview | - | - | - |
-\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-## Customers with Latvia Azure billing addresses
+\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
-| :- | :-- | :- | :- | :- | : |
-| Latvia, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Estonia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
+\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
-\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+## Customers with United States Azure billing addresses
-## Customers with Estonia Azure billing addresses
+| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
+| :- | :- | :- | :- | :- | : |
+| USA & Puerto Rico | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
+| USA & Puerto Rico | Local | - | - | General Availability | General Availability\* |
+| USA | Short-Codes\** | General Availability | General Availability | - | - |
+| UK | Toll-Free | - | - | General Availability | General Availability\* |
+| UK | Local | - | - |
+| Canada | Toll-Free | General Availability | General Availability | General Availability | General Availability\* |
+| Canada | Local | - | - | General Availability | General Availability\* |
+| Denmark | Toll-Free | - | - | Public Preview | Public Preview\* |
+| Denmark | Local | - | - | Public Preview | Public Preview\* |
+| Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia, Estonia | Alphanumeric Sender ID\** | Public Preview | - | - | - |
-| Number | Type | Send SMS | Receive SMS | Make Calls | Receive Calls |
-| :- | :-- | :- | :- | :- | : |
-| Estonia, Germany, Netherlands, United Kingdom, Australia, France, Switzerland, Sweden, Italy, Spain, Denmark, Ireland, Portugal, Poland, Austria, Lithuania, Latvia | Alphanumeric Sender ID \* | Public Preview | - | - | - |
+\* Please refer to [Inbound calling capabilities page](../telephony/inbound-calling-capabilities.md) for details.
-\* Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
+\** Please refer to [SMS Concepts page](../sms/concepts.md) for supported destinations for this service.
## Next steps
communication-services Pstn Pricing https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/pstn-pricing.md
All prices shown below are in USD.
***
-Note: Pricing for all countries is subject to change as pricing is market-based and depends on third-party suppliers of telephony services. Additionally, pricing may include requisite taxes and fees.
+Note: Pricing for all countries/regions is subject to change as pricing is market-based and depends on third-party suppliers of telephony services. Additionally, pricing may include requisite taxes and fees.
*** ## Direct routing pricing
communication-services Room Concept https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/rooms/room-concept.md
The tables below provide detailed capabilities mapped to the roles. At a high le
- **CallParticipantAdded** is published when a new participant joins a room call. - **CallParticipantRemoved** is published when a participant drops from a room call.
+## Deprecated Features
+
+Earlier public preview version of Rooms API supported two configurations for Rooms roster control, as follows:
+
+- An "Invite Only" room which only allows invited users to join the Rooms call.
+- An "Open Room" which is a less secure. In open rooms configuration, all Azure Communication Services users were allowed to join a call without being explicitly invited through the Room roster.
+
+The "Open Room" concept is now deprecated. Going forward, "Invite Only" rooms will be the only supported Room type.
+
+## Known Limitations
+
+- Azure Communication Services Call Automation capabilities currently do not support Rooms call.
+ ## Next steps: - Use the [QuickStart to create, manage and join a room](../../quickstarts/rooms/get-started-rooms.md). - Learn how to [join a room call](../../quickstarts/rooms/join-rooms-call.md).
communication-services Direct Routing Sip Specification https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/concepts/telephony/direct-routing-sip-specification.md
+
+ Title: "Azure Communication Services direct routing: SIP protocol details"
+description: SIP protocol details for Azure Communication Services direct routing
+++ Last updated : 05/30/2023++
+audience: admin
++
+# Azure Communication Services direct routing: SIP protocol details
+
+This article describes how direct routing implements the Session Initiation Protocol (SIP) to ensure proper traffic routes between a Session Border Controller (SBC) and the SIP proxy. It also highlights the importance of certain SIP parameters that require specific values. This article is intended for voice administrators who are responsible for configuring the connection between the SBC and the SIP proxy service.
+
+## Processing the incoming request: finding the Communication Services resource
+
+ > [!NOTE]
+ > In Azure Communication Services direct routing SIP OPTIONS are enabled by default and cannot be disabled. SBC must initiate the OPTIONS exchange first, as SIP Proxy waits for SBC to start the exchange.
+
+Before an incoming or outbound call can be processed, OPTIONS messages are exchanged between SIP Proxy and the SBC. These OPTIONS messages allow SIP Proxy to provide the allowed capabilities to SBC. It's important for OPTIONS negotiation to be successful (200 OK response), allowing for further communication between SBC and SIP Proxy for establishing calls. The SIP headers in an OPTIONS messages to SIP Proxy are provided as an example:
+
+| Parameter name | Example of the value |
+| : |:- |
+| Request-URI | OPTIONS sip:sip.pstnhub.microsoft.com:5061 SIP /2.0 |
+| Via Header | Via: SIP/2.0/TLS sbc1.contoso.com:5061;alias;branch=z9hG4bKac2121518978 |
+| Max-Forwards header | Max-Forwards:68 |
+| From Header | From Header From: <sip:sbc1.contoso.com:5061> |
+| To Header | To: <sip:sip.pstnhub.microsoft.com:5061> |
+| CSeq header | CSeq: 1 INVITE |
+| Contact Header | Contact: <sip:sbc1.contoso.com:5061;transport=tls> |
+
+> [!NOTE]
+> The SIP headers do not contain userinfo in the SIP URI in use. As per [RFC 3261, section 19.1.1](https://tools.ietf.org/html/rfc3261#section-19.1.1), the userinfo part of a URI is optional and may be absent when the destination host does not have a notion of users or when the host itself is the resource being identified. If the @ sign is present in a SIP URI, the user field must not be empty.
+> Please note, that SIPS URI should not be used with direct routing as it is not supported.
+> Check your Session Border Controller configuration and make sure that you are not using "Replaces" headers in SIP requests. Direct routing will reject SIP requests that have Replaces headers defined.
+
+On an incoming call, the SIP proxy needs to find the Azure Communication resource to which the call is destined. This section describes how the SIP proxy finds the resource, and performs authentication of the SBC on the incoming connection.
+
+The example of the SIP Invite message on an incoming call:
+
+| Parameter name | Example of the value |
+| : |:- |
+| Request-URI | INVITE sip:+54321@sip.pstnhub.microsoft.com SIP /2.0 |
+| Via Header | Via: SIP/2.0/TLS sbc1.contoso.com:5061;alias;branch=z9hG4bKac2121518978 |
+| Max-Forwards header | Max-Forwards:68 |
+| From Header | From Header From: <sip:+12345@sbc1.contoso.com;transport=udp;tag=1c68821811 |
+| To Header | To: sip:+54321@sbc1.contoso.com |
+| CSeq header | CSeq: 1 INVITE |
+| Contact Header | Contact: <sip:+12345@sbc1.contoso.com:5061;transport=tls> |
+
+On receiving the invite, the SIP proxy performs the following steps:
+
+1. Check the certificate. On the initial connection, the direct routing service takes the FQDN name presented in the Contact header and matches it to the Common Name or Subject Alternative name of the presented certificate. The SBC name must match one of the following options:
+
+ - Option 1. The full FQDN name presented in the Contact header must match the Common Name/Subject Alternative Name of the presented certificate.
+
+ - Option 2. The domain portion of the FQDN name presented in the Contact header (for example contoso.com of the FQDN name sbc1.contoso.com) must match the wildcard value in Common Name/Subject Alternative Name (for example *.contoso.com).
+
+1. Try to find a Microsoft 365 tenant using the full FQDN name presented in the Contact header.
+
+ Check if the FQDN name from the Contact header (sbc1.contoso.com) is registered as a DNS name in any Microsoft 365 or Office 365 organization. If found, the lookup of the user is performed in the tenant that has the SBC FQDN registered as a Domain name. If not found, Step 3 applies.
+
+1. Try to find an Azure Communication resource using the full FQDN name presented in the Contact header.
+
+ Check if the FQDN name from the Contact header (sbc1.contoso.com) is registered as an SBC FQDN in any Azure Communication resource. If found, call is sent to that resource. If not found, Step 4 applies.
+
+1. Step 4 only applies if Steps 2 and 3 failed.
+
+ Remove the host portion from the FQDN, presented in the Contact header (FQDN: sbc1.contoso.com, after removing the host portion: contoso.com), and check if this name is registered as a DNS name in any Microsoft 365 or Office 365 organization. If found, the user lookup is performed in this tenant. If not found, the call fails.
+
+1. Step 5 only applies if Steps 2, 3, and 4 failed.
+
+ Remove the host portion from the FQDN, presented in the Contact header (FQDN: sbc1.contoso.com, after removing the host portion: contoso.com), and check if this name is registered as an SBC FQDN in any Azure Communication resource. If found, call is sent to that resource. If not found, the call fails.
+
+1. If the resource has a Dynamics Omnichannel deployment associated, perform the lookup of the phone number presented in the Request-URI. Match the presented phone number to an Omnichannel user (queue) found on the previous step.
+
+1. Step 7 only applies if Steps 6 failed.
+
+ In case no Omnichannel deployment exists for the Communication resource, or the number in Request-URI doesn't match any configured Omnichannel number, send call to an Event Grid.
+
+1. Step 8 only applies if Steps 7 failed.
+
+ If Event Grid isn't configured, or there's no rules to manage the incoming call, call is dropped.
+
+### Detailed requirements for Contact header and Request-URI
+
+#### Contact header
+
+For all incoming SIP messages (OPTIONS, INVITE) to the Microsoft SIP proxy, the Contact header must have the paired SBC FQDN in the URI hostname as follows:
+
+Syntax: Contact: <sip:phone or sip address@FQDN of the SBC;transport=tls>
+
+As per [RFC 3261, section 11.1](https://tools.ietf.org/html/rfc3261#section-11.1), a Contact header field MAY be present in an OPTIONS message. In direct routing, the contact header is required. When it comes to OPTIONS messages, the userinfo can be excluded from the SIP URI and only the FQDN can be sent in the following format:
+
+Syntax: Contact: <sip:FQDN of the SBC;transport=tls>
+
+This name (FQDN) must also be in the Common Name or Subject Alternative name field(s) of the presented certificate. Microsoft supports using wildcard values of the name(s) in the Common Name or Subject Alternative Name fields of the certificate.
+The support for wildcards is described in [RFC 2818, section 3.1](https://tools.ietf.org/html/rfc2818#section-3.1). Specifically:
+
+*"Names may contain the wildcard character \*, which is considered to match any single domain name component or component fragment. For example, \*.a.com matches foo.a.com but not bar.foo.a.com. f\*.com matches foo.com but not bar.com."*
+
+If more than one value in the Contact header presented in a SIP message by the SBC, only the FQDN portion of the first value of the Contact header is used.
+As rule of thumb for direct routing, it's important that FQDN is used to populate SIP URI instead of IP. An incoming INVITE or OPTIONS message to SIP Proxy with Contact header where hostname is represented by IP and not FQDN, the connection is refused with 403 Forbidden.
+
+#### Request-URI
+
+For all incoming calls, the Request-URI is used to identify a callee.
+Currently the phone number must contain a plus sign (+) as shown in the following example.
+
+```console
+INVITE sip:+12345@sip.pstnhub.microsoft.com SIP /2.0
+```
+
+#### From header
+
+For all incoming calls, the From Header is used to match the caller's phone number.
+
+The phone number must contain a + as shown in the following example.
+
+```console
+From: <sip:+12345@sbc1.contoso.com;transport=udp;tag=1c68821811
+```
+
+## Contact and Record-Route headers considerations
+
+The SIP proxy needs to calculate the next hop FQDN for new in-dialog client transactions (for example Bye or Re-Invite), and when replying to SIP OPTIONS. This can be done using either Contact or Record-Route.
+According to [RFC 3261, section 8.1.1.8](https://tools.ietf.org/html/rfc3261#section-8.1.1.8), a Contact header is required in any request that can result in a new dialog. The Record-Route is only required if a proxy wants to stay on the path of future requests in a dialog.
+
+To calculate the next hop, the SIP proxy uses:
+
+- Priority 1. Top-level Record-Route. If the top-level Record-Route contains the FQDN name, the FQDN name is used to make the outbound in-dialog connection.
+
+- Priority 2. Contact header. If Record-Route doesn't exist, the SIP proxy looks up the value of the Contact header to make the outbound connection. (Recommended configuration.)
+
+If both Contact and Record-Route are used, the SBC administrator must keep their values identical, which causes administrative overhead.
+
+### Use of FQDN name in Contact or Record-Route
+
+Use of an IP address isn't supported in either Record-Route or Contact. The only supported option is an FQDN, which must match either the Common Name or Subject Alternative Name of the SBC certificate (wildcard values in the certificate are supported).
+
+- If an IP address is presented in Record-route or Contact, the certificate check fails, and the call fails.
+
+- If the FQDN doesn't match the value of the Common or Subject Alternative Name in the presented certificate, the call fails.
+
+## Inbound call: SIP dialog description
+
+Here are the details of how SIP Proxy processes inbound calls.
++
+| Parameter name | Value |
+| : |:- |
+| Media candidates in 183 and 200 messages coming from | Media processors |
+| Number of 183 messages SBC can receive | One per session |
+| Call can be with provisional answer (183) | Yes |
+| Call can be without provisional answer (183) | Yes |
+
+An Azure Communication Services identity might be used in multiple endpoints (applications) at the same time. For example, web app, iPhone app, and Android app. Each endpoint might signal an HTTP rest as follows:
+
+- Call progress ΓÇô converted by the SIP proxy to the SIP message 180. On receiving message 180, the SBC must generate local ringing.
+
+- Media answer ΓÇô converted by the SIP proxy to message 183 with media candidates in Session Description Protocol (SDP). On receiving message 183, the SBC expects to connect to the media candidates received in the SDP message.
+
+ > [!NOTE]
+ > In some cases, the Media answer might not be generated, and the end point might answer with ΓÇ£Call AcceptedΓÇ¥ message.
+
+- Call accepted ΓÇô converted by the SIP proxy to SIP message 200 with SDP. On receiving message 200, the SBC is expected to send and receive media to and from the provided SDP candidates.
+
+ > [!NOTE]
+ > Direct routing does not support Delayed Offer Invite (Invite without SDP).
+
+### Multiple endpoints ringing with provisional answer
+
+1. On receiving the first Invite from the SBC, the SIP proxy sends the message "SIP SIP/2.0 100 Trying" and notifies all end user endpoints about the incoming call.
+
+2. Upon notification, each endpoint starts ringing and sending "Call progressΓÇ¥ messages to the SIP proxy. As the Azure Communication Services identity is used by multiple endpoints, the SIP proxy might receive multiple Call Progress messages.
+
+3. For every Call Progress message received from the endpoints, the SIP proxy converts the Call Progress message to the SIP message "SIP SIP/2.0 180 Ringing". The interval for sending such messages correlates to the interval of the receiving messages from the Call Controller. In the following diagram, there are two 180 messages generated by the SIP proxy. These messages come from the two SDK endpoints. The endpoints each have a unique Tag ID. Every message coming from a different endpoint is a separate session (the parameter ΓÇ£tagΓÇ¥ in the ΓÇ£ToΓÇ¥ field is different). But an endpoint might not generate message 180 and send message 183 right away as shown in the following diagram.
+
+4. Once an endpoint generates a Media Answer message with the IP addresses of endpointΓÇÖs media candidates, the SIP proxy converts the message received to a "SIP 183 Session Progress" message with the SDP from the endpoint replaced by the SDP from the Media Processor. In the following diagram, the endpoint from Fork 2 answered the call. The 183 SIP message is generated only once. The 183 might come on an existing fork or start a new one.
+
+5. A Call Acceptance message is sent to the SIP Proxy with the final candidates of the endpoint that accepted the call. The Call Acceptance message is converted to SIP message 200.
+
+ [![Diagram showing multiple endpoints ringing with provisional answer.](../media/direct-routing-sip-specification/multiple-endpoints-provisional-answer.png)](../media/direct-routing-sip-specification/multiple-endpoints-provisional-answer.png#lightbox)
+
+### Multiple endpoints ringing without provisional answer
+
+1. On receiving the first Invite from the SBC, the SIP proxy sends the message "SIP SIP/2.0 100 Trying" and notifies all end user endpoints about the incoming call.
+
+2. Upon notification, each endpoint starts ringing and sending the message "Call progressΓÇ¥ to the SIP proxy. Because same Azure Communication Services identity can be used in multiple applications, the SIP proxy might receive multiple Call Progress messages.
+
+3. For every Call Progress message received from the endpoints, the SIP proxy converts the Call Progress message to the SIP message "SIP SIP/2.0 180 Ringing". The interval for sending the messages correlates to the interval of receiving the messages from the Call Controller. On the picture there are two 180 messages generated by the SIP proxy, meaning that call is forked to two different clients and each client send the call progress. Every message is a separate session (parameter ΓÇ£tagΓÇ¥ in ΓÇ£ToΓÇ¥ field is different)
+
+4. A Call Acceptance message is sent to the SIP Proxy with the final candidates of the endpoint that accepted the call. The Call Acceptance message is converted to SIP message 200.
+
+ [![Diagram showing multiple endpoints ringing without provisional answer.](../media/direct-routing-sip-specification/multiple-endpoints-no-provisional-answer.png)](../media/direct-routing-sip-specification/multiple-endpoints-no-provisional-answer.png#lightbox)
+
+## Replaces option
+
+The SBC must support Invite with Replaces.
+
+## Size of SDP considerations
+
+The direct routing interface might send a SIP message exceeding 1,500 bytes. The size of SDP primarily causes such behavior. However, if there's a UDP trunk behind the SBC, it might reject the message if it's forwarded from the Microsoft SIP proxy to the trunk unmodified. Microsoft recommends stripping some values in SDP on the SBC when sending the message to the UDP trunks. For example, the ICE candidates or unused codecs can be removed.
+
+## Call transfer
+
+Direct routing supports two methods for call transfer:
+
+- Option 1. SIP proxy processes Refer from the client locally and acts as a Referee as described in section 7.1 of RFC 3892.
+
+ With this option, the SIP proxy terminates the transfer and adds a new Invite.
+
+- Option 2. SIP proxy sends the Refer to the SBC and acts as a Transferor as describing in Section 6 of RFC 5589.
+
+ With this option, the SIP proxy sends a Refer to the SBC and expects the SBC to handle the Transfer fully.
+
+The SIP proxy selects the method based on the capabilities reported by the SBC. If the SBC indicates that it supports the method ΓÇ£ReferΓÇ¥, the SIP proxy uses Option 2 for call transfers.
+The example of an SBC sending the message that the Refer method is supported:
+
+```console
+ALLOW: INVITE, OPTIONS, INFO, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY
+```
+
+If the SBC doesnΓÇÖt indicate that Refer as a supported method, direct routing uses Option 1 (SIP proxy acts as a Referee). The SBC must also signal that it supports the Notify method:
+Example of SBC indicating that Refer method isn't supported:
+
+```console
+ALLOW: INVITE, ACK, CANCEL, BYE, INFO, NOTIFY, PRACK, UPDATE, OPTIONS
+```
+
+### SIP proxy processes Refer from the client locally and acts as a referee
+
+If the SBC indicated that the Refer method isn't supported, the SIP proxy acts as a referee.
+The Refer request that comes from the client terminates on the SIP proxy. The Refer request from the client is shown as ΓÇ£Call transfer to DaveΓÇ¥ in the following diagram. For more information, see section 7.1 of [RFC 3892](https://www.ietf.org/rfc/rfc3892.txt).
+
+ [![Diagram showing call transfer with SIP Proxy acting as a referee.](../media/direct-routing-sip-specification/transfer-sip-proxy-referee.png)](../media/direct-routing-sip-specification/transfer-sip-proxy-referee.png#lightbox)
+
+### SIP proxy send the Refer to the SBC and acts as a transferor
+
+SIP Proxy as a transferor is the preferred method for call transfers.
+
+The standard is explained in Section 6 of RFC 5589. The related RFCs are:
+
+- [Session Initiation Protocol (SIP) Call Control - Transfer](https://tools.ietf.org/html/rfc5589)
+
+- [Session Initiation Protocol (SIP) "Replaces" Header](https://tools.ietf.org/html/rfc3891)
+
+- [Session Initiation Protocol (SIP) "Referred-By" mechanism](https://tools.ietf.org/html/rfc3892)
+
+This option assumes that the SIP proxy acts as a transferor and sends a Refer message to the SBC. The SBC acts as a transferee and handles the Refer to generate a new offer for transfer. There are two possible cases:
+
+- The call is transferred to an external PSTN participant.
+- The call is transferred from one SDK endpoint to another SDK endpoint in the same resource via the SBC.
+
+If the call is transferred from one SDK endpoint to another SDK endpoint via the SBC, the SBC is expected to issue a new Invite (start a new dialog) for the transfer target using the information received in the Refer message.
+To populate the To/Transferor fields for the transaction of the request internally, the SIP proxy needs to convey this information inside the REFER-TO/REFERRED-BY headers.
+The SIP proxy forms the REFER-TO as a SIP URI comprised of a SIP proxy FQDN in the hostname and either:
+
+- An E.164 phone number in the username part of the URI in case the transfer target is a phone number, or
+
+- x-m and x-t parameters encoding the full transfer target MRI and Communication resource ID respectively.
+
+The REFERRED-BY header has a SIP URI with transferor MRI encoded in it and transferor resource ID and other transfer context parameters as shown in the following table:
+
+| Parameter | Value | Description |
+|: |:- |:- |
+| x-m | MRI | Full MRI of transferor/transfer target as populated by CC |
+| x-t | Tenant ID | x-t resource ID Optional resource ID as populated by CC |
+| x-ti | Transferor Correlation Id | Correlation ID of the call to the transferor |
+| x-tt | Transfer target call URI | Encoded call replacement URI |
+
+The size of the Refer Header can be up to 400 symbols in this case. The SBC must support handling Refer messages with size up to 400 symbols.
+
+ [![Diagram showing call transfer with SIP Proxy acting as a transferor.](../media/direct-routing-sip-specification/transfer-sip-proxy-transferor.png)](../media/direct-routing-sip-specification/transfer-sip-proxy-transferor.png#lightbox)
+
+## Call forwarding
+
+An Azure Communication Services Call Automation SDK can redirect incoming calls to another number or SDK/Teams endpoint, ring other user or users in parallel (simultaneous ring), or ring a group of users or numbers. Things to consider:
+
+- Request-URI in INVITE request from SIP proxy to User C contains the *cause* parameter.
+
+- The History-Info header is populated.
+
+- When User A is another PSTN user, SIP proxy generates the "SIP SIP/2.0 181 Call is being forwarded" provisional response to User A.
+
+- If User A and User C are PSTN users, SIP proxy preserves the "SIP SIP/2.0 181 Call is being forwarded" provisional response.
+
+- The History-Info header should be used for loop-prevention.
+
+## Session timer
+
+The SIP proxy supports (always offers) the Session Timer. Use of the Session Timer by the SBC isn't mandatory.
+
+## Use of Request-URI parameter user=phone
+
+The SIP proxy analyses the Request-URI and if the parameter user=phone is present, the service handles the Request-URI as a phone number, matching the number to a user. If parameter isn't present, the SIP proxy applies heuristics to determine the Request-URI user type (phone number or a SIP address).
+
+Microsoft recommends always applying the user=phone parameter to simplify the call setup process.
+
+## History-Info header
+
+ > [!NOTE]
+ > In Azure Communication Services direct routing History-Info header is enabled by default and cannot be disabled.
+
+The History-Info header is used for retargeting SIP requests and ΓÇ£provide(s) a standard mechanism for capturing the request history information to enable a wide variety of services for networks and end-users.ΓÇ¥ For more information, see [RFC 4244 ΓÇô Section 1.1](http://www.ietf.org/rfc/rfc4244.txt). For direct routing, this header is used in simultaneous ring and call forwarding scenarios.
+
+History-Info is enabled as follows:
+
+- The SIP proxy inserts a parameter containing the associated phone number in individual History-Info entries that comprise the History-Info header sent to the PSTN Controller. Using only entries that have the phone number parameter, the PSTN Controller rebuilds a new History-Info header and passes it on to the SIP trunk provider via SIP proxy.
+
+- History-Info header is added for simultaneous ring and call forwarding cases.
+
+- History-Info header isn't added for call transfer cases.
+
+- An individual history entry in the reconstructed History-Info header has the phone number parameter provided combined with the direct routing FQDN (sip.pstnhub.microsoft.com) set as the host part of the URI. A parameter of ΓÇÿuser=phoneΓÇÖ added as part of the SIP URI. Any other parameters associated with the original History-Info header, except for phone context parameters, passed through in the reconstructed History-Info header.
+
+ > [!NOTE]
+ > Entries that are private (as determined by the mechanisms defined in Section 3.3 of RFC 4244) forwarded as is because the SIP trunk provider is a trusted peer.
+
+- Inbound History-Info is preserved for loop-prevention.
+
+Following is the format of the History-info header sent by the SIP proxy:
+
+```console
+<sip:UserB@sip.pstnhub.microsoft.com?Privacy=history&Reason=SIP%3Bcause%3D486>;index=1.2
+```
+
+If the call was redirected several times, information about every redirect is included with the appropriate reason in chronological order, in a comma-separated list.
+
+Header Example:
+
+```console
+History-Info:
+ <sip:+123456@sip.pstnhub.microsoft.com:5061;user=phone?Reason=SIP%3Bcause%3D302%3Btext%3D%22Moved%20temporarily%22>;index=1,
+ <sip:+113579@sip.pstnhub.microsoft.com:5061;user=phone?Reason=SIP%3Bcause%3D496%3Btext%3D%22User%20Busy%22>;index=1.1
+```
+
+The SIP URI in the History-Info header is formatted as per Section 25 of RFC 3261 (see the definition of `addr-spec`). In the previous example, the original text of the URI header `Reason` is `SIP;cause=496;text="User Busy"`, which gets its `;`, `"`, and `=` characters escaped to their ASCII hex values `%3B`, `%22`, and `3D`, respectively.
+
+The History-Info is protected by a mandatory TLS mechanism.
+
+## SBC connection to direct routing and failover mechanism
+
+See the section Failover mechanism for SIP signaling in [Direct routing infrastructure requirements](./direct-routing-infrastructure.md#failover-mechanism-for-sip-signaling).
+
+## Retry-After
+
+If a direct routing datacenter is busy, the service can send a Retry-After message with a one-second interval to the SBC.
+When the SBC receives a 503 message with a Retry-After header in response to an INVITE, the SBC must terminate that connection and try the next available Microsoft datacenter.
+
+## Handling retries (603 response)
+
+If an end user observes several missed calls for one call after declining the incoming call, it means that the SBC or PSTN trunk provider's retry mechanism is misconfigured. The SBC must be reconfigured to stop the retry efforts on the 603 response.
communication-services Get Started Rooms https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/communication-services/quickstarts/rooms/get-started-rooms.md
zone_pivot_groups: acs-azcli-js-csharp-java-python
# Quickstart: Create and manage a room resource - This quickstart helps you get started with Azure Communication Services Rooms. A `room` is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. The [rooms conceptual documentation](../../concepts/rooms/room-concept.md) covers more details and use cases for `rooms`. ## Object model
-The table below lists the main properties of `room` objects:
+The table below lists the main properties of `room` objects:
| Name | Description | |--|-| | `roomId` | Unique `room` identifier. |
-| `validFrom` | Earliest time a `room` can be used. |
+| `validFrom` | Earliest time a `room` can be used. |
| `validUntil` | Latest time a `room` can be used. |
-| `participants` | List of participants to a `room`. Specified as a `CommunicationIdentifier`. |
+| `participants` | List of participants to a `room`. Specified as a `CommunicationIdentifier`. |
| `roleType` | The role of a room participant. Can be either `Presenter`, `Attendee`, or `Consumer`. |
The table below lists the main properties of `room` objects:
::: zone-end ::: zone pivot="programming-language-csharp"- This quickstart helps you get started with Azure Communication Services Rooms. A `room` is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. The [rooms conceptual documentation](../../concepts/rooms/room-concept.md) covers more details and use cases for `rooms`. [!INCLUDE [Use rooms with .NET SDK](./includes/rooms-quickstart-net.md)] ::: zone-end ::: zone pivot="programming-language-java"- This quickstart helps you get started with Azure Communication Services Rooms. A `room` is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. The [rooms conceptual documentation](../../concepts/rooms/room-concept.md) covers more details and use cases for `rooms`. [!INCLUDE [Use rooms with Java SDK](./includes/rooms-quickstart-java.md)] ::: zone-end ::: zone pivot="programming-language-python"- This quickstart helps you get started with Azure Communication Services Rooms. A `room` is a server-managed communications space for a known, fixed set of participants to collaborate for a predetermined duration. The [rooms conceptual documentation](../../concepts/rooms/room-concept.md) covers more details and use cases for `rooms`. [!INCLUDE [Use rooms with Python SDK](./includes/rooms-quickstart-python.md)]
This quickstart helps you get started with Azure Communication Services Rooms. A
## Next steps
-Once you've created the room and configured it, you can learn how to [join a rooms call](join-rooms-call.md).
+Once you've created the room and configured it, you can learn how to [join a rooms call](join-rooms-call.md).
In this section you learned how to: > [!div class="checklist"]
container-apps Services https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/container-apps/services.md
As you develop applications in Azure Container Apps, you often need to connect t
Rather than creating services ahead of time and manually connecting them to your container app, you can quickly create instances of development-grade services that are designed for nonproduction environments known as "dev services".
-dev services allow you to use OSS services without the burden of manual downloads, creation, and configuration.
+Dev services allow you to use OSS services without the burden of manual downloads, creation, and configuration.
Services available as dev services include:
cosmos-db Continuous Backup Restore Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/continuous-backup-restore-introduction.md
Currently, you can restore an Azure Cosmos DB account (API for NoSQL or MongoDB,
By default, Azure Cosmos DB stores continuous mode backup data in locally redundant storage blobs. For the regions that have zone redundancy configured, the backup is stored in zone-redundant storage blobs. In continuous backup mode, you can't update the backup storage redundancy. ## Different ways to restore
-Continuous backup mode supports two ways to restore deleted containers, databases. Existing restore mechanism restores into a [new account](restore-account-continuous-backup.md) as documented here. Restore into existing account is described [here](restore-account-continuous-backup.md). The choice between two depends on the scenarios and impact. Most of the deleted containers, databases can prefer in-account (existing) account restore to prevent data transfer which is required in case you restored to a new account. For scenarios where you have modified the data accidently restore into new account is the right thing to do.
+Continuous backup mode supports two ways to restore deleted containers, databases. Existing restore mechanism restores into a [new account](restore-account-continuous-backup.md) as documented here. Restore into existing account is described [here](restore-account-continuous-backup.md). The choice between two depends on the scenarios and impact. Most of the deleted containers, databases can prefer in-account (existing) account restore to prevent data transfer which is required in case you restored to a new account. For scenarios where you have modified the data accidentally restore into new account is the right thing to do.
## What is restored into a new account?
cosmos-db Troubleshoot Dotnet Sdk Slow Request https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/nosql/troubleshoot-dotnet-sdk-slow-request.md
If it's still slow, different patterns point to different problems. The followin
| Single to all | `StoreResult` contains `TransportException` | Points to [SNAT port exhaustion](troubleshoot-dotnet-sdk.md#snat), or a lack of resources on the machine to process the request in time. | | Single or small percentage (SLA isn't violated) | All | A single or small percentage of slow requests can be caused by several different transient problems, and should be expected. | | All | All | A problem with the infrastructure or networking. |
-| SLA violated | Requests contain multiple failure error codes, like `410` and `IsValid is true`. | Points to a problem with the Azure Cosmos DB service. |
-| SLA violated | Requests contain multiple failure error codes, like `410` and `IsValid is false`. | Points to a problem with the machine. |
+| SLA violated | Requests contain multiple failure error codes, like `410` | Points to a problem with the Azure Cosmos DB service or the client machine. |
| SLA violated | `StorePhysicalAddress` are the same, with no failure status code. | Likely a problem with Azure Cosmos DB. | | SLA violated | `StorePhysicalAddress` have the same partition ID, but different replica IDs, with no failure status code. | Likely a problem with Azure Cosmos DB. | | SLA violated | `StorePhysicalAddress` is random, with no failure status code. | Points to a problem with the machine. |
cosmos-db Periodic Backup Restore Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/periodic-backup-restore-introduction.md
With the periodic backup mode, the backups are taken only in the write region of
## What is restored into new account? --You can choose to restore any combination of provisioned throughput containers, shared throughput database, or the entire account. --The restore action restores all data and its index properties into a new account. --The duration of restore will depend on the amount of data that needs to be restored.
+-You can choose to restore any combination of provisioned throughput containers, shared throughput database, or the entire account.
+-The restore action restores all data and its index properties into a new account.
+-The duration of restore will depend on the amount of data that needs to be restored.
-The newly restored database accountΓÇÖs consistency setting will be same as the source database accountΓÇÖs consistency settings. ## What isn't restored? The following configurations aren't restored after the point-in-time recovery.-- A subset of containers under a shared throughput database cannot be restored. The entire database can be restored as a whole. -- Database account keys. The restored account will be generated with new database account keys. --Firewall, VNET, Data plane RBAC or private endpoint settings. Enabling/Disabling public network access can be provided as an input to the restore request.
+-A subset of containers under a shared throughput database cannot be restored. The entire database can be restored as a whole.
+-Database account keys. The restored account will be generated with new database account keys.
+-Firewall, VNET, Data plane RBAC or private endpoint settings.
-Regions. The restored account will only be a single region account, which is the write region of the source account. -Stored procedures, triggers, UDFs. -Role-based access control assignments. These will need to be re-assigned.
Use Azure Cosmos DB [change feed](change-feed.md) to read data periodically for
> [!div class="nextstepaction"] > [Periodic backup storage redundancy](periodic-backup-storage-redundancy.md) +++
cosmos-db Scaling Provisioned Throughput Best Practices https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cosmos-db/scaling-provisioned-throughput-best-practices.md
For example, if you anticipate that storage will continue to grow, you may choos
In contrast, if you believe that storage will not grow significantly post-migration, you may choose to set the value higher, for example 45 GB. This means each partition will be ~90% full (45 GB out of 50 GB). This minimizes the number of physical partitions your data is spread across, which means each physical partition can get a larger fraction of the total provisioned RU/s.
-### Step 3: Calculate the number of RU/s to start with
-`Starting RU/s = Number of physical partitions * Initial throughput per physical partition`.
-- `Initial throughput per physical partition` = 10,000 RU/s when using autoscale or shared throughput databases-- `Initial throughput per physical partition` = 6000 RU/s when using manual throughput
+### Step 3: Calculate the number of RU/s to start with for all partitions
+
+`Starting RU/s for all partitions = Number of physical partitions * Initial throughput per physical partition`.
+
+Let's start with an example with an arbitrary number of target RU/s per physical partition.
+
+- `Initial throughput per physical partition` = 10,000 RU/s per physical partition when using autoscale or shared throughput databases
+- `Initial throughput per physical partition` = 6000 RU/s per physical partition when using manual throughput
### Example Let's say we have 1 TB (1000 GB) of data we plan to ingest and we want to use manual throughput. Each physical partition in Azure Cosmos DB has a capacity of 50 GB. Let's assume we aim to pack partitions to be 80% full (40 GB), leaving us room for future growth.
cost-management-billing Tutorial Acm Create Budgets https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cost-management-billing/costs/tutorial-acm-create-budgets.md
Budget cost evaluations are based on actual cost. They don't include amortizatio
## Trigger an action group
-When you create or edit a budget for a subscription or resource group scope, you can configure it to call an action group. The action group can perform various actions when your budget threshold is met.
+When you create or edit a budget for a subscription or resource group scope, you can configure it to call an action group. The action group can perform various actions when your budget threshold is met. You can receive mobile push notifications when your budget threshold is met by enabling [Azure app push notifications](../../azure-monitor/alerts/action-groups.md#create-an-action-group-in-the-azure-portal) while configuring the action group.
-Action Groups are currently only supported for subscription and resource group scopes. For more information about creating action groups, see [action groups](../../azure-monitor/alerts/action-groups.md).
+Action groups are currently only supported for subscription and resource group scopes. For more information about creating action groups, see [action groups](../../azure-monitor/alerts/action-groups.md).
For more information about using budget-based automation with action groups, see [Manage costs with budgets](../manage/cost-management-budget-scenario.md).
Next, select **Add action group** and create the action group.
Budget integration with action groups works for action groups that have enabled or disabled common alert schema. For more information on how to enable common alert schema, see [How do I enable the common alert schema?](../../azure-monitor/alerts/alerts-common-schema.md#enable-the-common-alert-schema)
-## View budgets in the Azure mobile app
+## Budgets in the Azure mobile app
You can view budgets for your subscriptions and resource groups from the **Cost Management** card in the [Azure app](https://azure.microsoft.com/get-started/azure-portal/mobile-app/).
You can view budgets for your subscriptions and resource groups from the **Cost
1. Find the **Cost Management** card and tap **More**. 1. Budgets load below the **Current cost** card. They're sorted by descending order of usage.
+To receive mobile push notifications when your budget threshold is met, you can configure action groups. When setting up budget alerts, make sure to select an action group that has [Azure app push notifications](../../azure-monitor/alerts/action-groups.md#create-an-action-group-in-the-azure-portal) enabled.
+ > [!NOTE] > Currently, the Azure mobile app only supports the subscription and resource group scopes for budgets.
cost-management-billing Resolve Past Due Balance https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cost-management-billing/manage/resolve-past-due-balance.md
If your default payment method is credit card, the [Account Administrator](add-c
## Settle balance might be Pay now
-Users in the following countries/locales don't see the **Settle balance** option. Instead, they use the [Pay now](../understand/pay-bill.md#pay-now-in-the-azure-portal) option to pay their bill.
+Users in the following countries/regions don't see the **Settle balance** option. Instead, they use the [Pay now](../understand/pay-bill.md#pay-now-in-the-azure-portal) option to pay their bill.
- `AT` - Austria - `AU` - Australia
cost-management-billing Charge Back Costs https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cost-management-billing/savings-plan/charge-back-costs.md
Previously updated : 10/12/2022 Last updated : 06/14/2023
Information in the following table about metric and filter can help solve common
| **Usage that got savings plan discount** | Request for an ActualCost report. <br><br> Once you've ingested all of the usage, look for records with ChargeType = 'Usage' and PricingModel = 'SavingsPlan'. | | **Usage that didn't get savings plan discount** | Request for an ActualCost report.<br><br> Once you've ingested all of the usage, filter for usage records with PricingModel = 'OnDemand'. | | **Amortized charges (usage and purchases)** | Request for an AmortizedCost report. |
-| **Unused savings plan report** | Request for an AmortizedCost report.<br><br> Once you've ingested all of the usage, filter for usage records with ChargeType = 'UnusedBenefit' and PricingModel ='SavingsPlan'. |
+| **Unused savings plan report** | Request for an AmortizedCost report.<br><br> Once you've ingested all of the usage, filter for usage records with ChargeType = 'UnusedSavingsPlan' and PricingModel ='SavingsPlan'. |
| **Savings plan purchases** | Request for an AmortizedCost report.<br><br> Once you've ingested all of the usage, filter for usage records with ChargeType = 'Purchase' and PricingModel = 'SavingsPlan'. | | **Refunds** | Request for an AmortizedCost report.<br><br> Once you've ingested all of the usage, filter for usage records with ChargeType = 'Refund'. |
cost-management-billing Utilization Cost Reports https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cost-management-billing/savings-plan/utilization-cost-reports.md
Previously updated : 02/03/2023 Last updated : 06/14/2023
Comparison of two data sets:
| | | | | Savings plan purchases | To get the data filter on `ChargeType` = `Purchase`.<br><br> Refer to `BenefitID` or `BenefitName` to know which savings plan the charge is for. | Purchase costs aren't provided in amortized data. | | `EffectivePrice` | The value is zero for usage that gets savings plan discount. | The value is per-hour prorated cost of the savings plan for usage that has the savings plan discount. |
-| Unused benefit (provides the number of hours the savings plan wasn't used in a day and the monetary value of the waste) | Not applicable in the view. | To get the data, filter on `ChargeType` = `UnusedBenefit`.<br><br> Refer to `BenefitID` or `BenefitName` to know which savings plan was underutilized. It's how much of the savings plan was wasted for the day. |
+| Unused benefit (provides the number of hours the savings plan wasn't used in a day and the monetary value of the waste) | Not applicable in the view. | To get the data, filter on `ChargeType` = `UnusedSavingPlan`.<br><br> Refer to `BenefitID` or `BenefitName` to know which savings plan was underutilized. It's how much of the savings plan was wasted for the day. |
| `UnitPrice` (price of the resource from your price sheet) | Available | Available | ## Get Azure consumption and savings plan cost data using API
Information in the following table about metrics and filters can help solve for
Once you've ingested all the usage, look for records with ChargeType = `Usage` and `PricingModel` = `SavingsPlan`. | | Usage that didn't get savings plan discount | Request for an ActualCost report. <br><br> Once you've ingested all the usage, filter for usage records with `PricingModel` = `OnDemand`. | | Amortized charges (usage and purchases) | Request for an AmortizedCost report. |
-| Unused savings plan report | Request for an AmortizedCost report.<br><br> Once you've ingested all of the usage, filter for usage records with ChargeType = `UnusedBenefit` and `PricingModel` =`SavingsPlan`. |
+| Unused savings plan report | Request for an AmortizedCost report.<br><br> Once you've ingested all of the usage, filter for usage records with ChargeType = `UnusedSavingsPlan` and `PricingModel` =`SavingsPlan`. |
| Savings plan purchases | Request for an ActualCost report. <br><br> Once you've ingested all the usage, filter for usage records with `ChargeType` = `Purchase` and `PricingModel` = `SavingsPlan`. | | Refunds | Request for an ActualCost report. <br><br> Once you've ingested all the usage, filter for usage records with `ChargeType` = `Refund`. |
Savings plan purchase costs are available in Actual Cost data. Filter for `Charg
### Get underutilized savings plan quantity and costs
-Get Amortized Cost data and filter for `ChargeType` = `UnusedBenefit` and `PricingModel` = `SavingsPlan`. You get the daily unused savings plan quantity and the cost. You can filter the data for a Savings Plan or Savings Plan order using `BenefitId` and `ProductOrderId` fields, respectively. If a Savings Plan was 100% utilized, the record has a quantity of 0.
+Get Amortized Cost data and filter for `ChargeType` = `UnusedSavingsPlan` and `PricingModel` = `SavingsPlan`. You get the daily unused savings plan quantity and the cost. You can filter the data for a Savings Plan or Savings Plan order using `BenefitId` and `ProductOrderId` fields, respectively. If a Savings Plan was 100% utilized, the record has a quantity of 0.
### Amortize savings plan costs
To determine the savings percentage from the discounted price:
1. Subtract `PayGPrice` from `Cost` to get the savings from the savings plan against discounts. 1. Divide `Cost` by `PayGPrice` and then divide by 100 to get the discount percentage applied, per line item.
-Keep in mind that if you have an underutilized savings plan, the `UnusedBenefit` entry for `ChargeType` becomes a factor to consider. When you have a fully utilized savings plan, you receive the maximum savings possible. Any `UnusedBenefit` quantity reduces savings.
+Keep in mind that if you have an underutilized savings plan, the `UnusedSavingsPlan` entry for `ChargeType` becomes a factor to consider. When you have a fully utilized savings plan, you receive the maximum savings possible. Any `UnusedSavingsPlan` quantity reduces savings.
### Savings plan purchases and amortization in cost analysis
Savings plan costs are available inΓÇ»[cost analysis](https://aka.ms/costanalysi
:::image type="content" source="./media/utilization-cost-reports/portal-cost-analysis-amortized-view.png" alt-text="Example showing where to select amortized cost in cost analysis." lightbox="./media/utilization-cost-reports/portal-cost-analysis-amortized-view.png" :::
-Group by **Charge Type** to see a breakdown of usage, purchases, and refunds; or by **Pricing Model** for a breakdown of savings plan and on-demand costs. You can also group by **Benefit** and use the **BenefitId** and **BenefitName** associated with your savings plan to identify the costs related to specific savings plan purchases. The only savings plan costs you'll see when looking at actual cost are purchases. Costs will be allocated to the individual resources that used the benefit when looking at amortized cost. You'll also see a new **UnusedBenefit** plan charge type when looking at amortized cost.
+Group by **Charge Type** to see a breakdown of usage, purchases, and refunds; or by **Pricing Model** for a breakdown of savings plan and on-demand costs. You can also group by **Benefit** and use the **BenefitId** and **BenefitName** associated with your savings plan to identify the costs related to specific savings plan purchases. The only savings plan costs you'll see when looking at actual cost are purchases. Costs will be allocated to the individual resources that used the benefit when looking at amortized cost. You'll also see a new **UnusedSavingsPlan** plan charge type when looking at amortized cost.
## Next steps
cost-management-billing Pay Bill https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/cost-management-billing/understand/pay-bill.md
If you have a Microsoft Online Services Program (pay-as-you-go) account and you
If you want to learn how to change your default payment method to wire transfer, see [How to pay by invoice](../manage/pay-by-invoice.md).
-There are a few countries that don't allow the use of debit cards, however in general, you can use them to pay your Azure bill. Virtual and prepaid debit cards can't be used to pay your Azure bill.
+There are a few countries/regions that don't allow the use of debit cards, however in general, you can use them to pay your Azure bill. Virtual and prepaid debit cards can't be used to pay your Azure bill.
- Hong Kong and Brazil only support credit cards. - India supports debit and credit cards through Visa and Mastercard.
data-factory Solution Template Pii Detection And Masking https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/data-factory/solution-template-pii-detection-and-masking.md
Previously updated : 09/22/2022 Last updated : 06/13/2023 # PII detection and masking
This template defines 3 parameters:
## How to use this solution template
-1. Go to template **PII detection and masking**. Create a **New** connection to your source storage store or choose an existing connection. The source storage store is where you want to read files from.
+1. Go to template **PII detection and masking** by scrolling through the template gallery or filter for the template.
+
+ :::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-11.png" alt-text="Screenshot of template gallery with the PII detection template selected.":::
+
+2. Use the drop down to create a **New** connection to your source storage store or choose an existing connection. The source storage store is where you want to read files from.
:::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-1.png" alt-text="Screenshot of template set up page where you can create a new connection or select an existing connection to the source from a drop down menu.":::
+
+ Clicking **New** will require you to create a new linked service connection.
+
+ :::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-12.png" alt-text="Screenshot of the template set up page with a fly-out open to create a new linked service connection to a data source.":::
-2. Create a **New** connection to your destination storage store or choose an existing connection.
+3. Use the drop down to create a **New** connection to your Cognitive Services resource or choose an existing connection. You will need an endpoint URL and resource key to create this connection.
- :::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-2.png" alt-text="Screenshot of template set up page to create a new connection or select an existing connection to Cognitive Services from a drop down menu.":::
+ :::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-2.png" alt-text="Screenshot of the template set up page to create a new connection or select an existing connection to Cognitive Services from a drop down menu.":::
+
+ Clicking **New** will require you to create a new linked service connection. Make sure to enter your resource's endpoint URL and the resource key under the Auth header **Ocp-Apim-Subscription-Key**.
+
+ :::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-13.png" alt-text="Screenshot of the template set up page with a fly-out open to create a new linked service connection to Cognitive Services.":::
+
-3. Select **Use this template**.
+4. Select **Use this template** to create the pipeline.
:::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-3.png" alt-text="Screenshot of button in bottom left corner to finish creating pipeline.":::
-4. You should see the following pipeline:
+5. You should see the following pipeline:
:::image type="content" source="media/solution-template-pii-detection-and-masking/PII-detection-and-masking-4.png" alt-text="Screenshot of pipeline view with one dataflow activity.":::
-5. Clicking into the dataflow activity will show the following dataflow:
+6. Clicking into the dataflow activity will show the following dataflow:
:::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-5.png" alt-text="Screenshot of the dataflow view with a source leading to three transformations and then a sink.":::
-6. Turn on **Data flow debug**.
+7. Turn on **Data flow debug**.
:::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-6.png" alt-text="Screenshot of the Data flow debug button found in the top banner of the screen.":::
-7. Update **Parameters** in **Debug Settings** and **Save**.
+8. Update **Parameters** in **Debug Settings** and **Save**.
:::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-7.png" alt-text="Screenshot of the Debug settings button on the top banner of the screen to the right of debug button."::: :::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-7b.png" alt-text="Screenshot of where to update parameters in Debug settings in a panel on the right side of the screen.":::
-8. Preview the results in **Data Preview**.
+9. Preview the results in **Data Preview**.
:::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-8.png" alt-text="Screenshot of dataflow data preview at the bottom of the screen.":::
-9. When data preview results are as expected, update the **Parameters**.
+10. When data preview results are as expected, update the **Parameters**.
:::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-9.png" alt-text="Screenshot of dataflow parameters at the bottom of the screen under Parameters.":::
-10. Return to pipeline and select **Debug**. Review results and publish.
+11. Return to pipeline and select **Debug**. Review results and publish.
:::image type="content" source="media/solution-template-pii-detection-and-masking/pii-detection-and-masking-10.png" alt-text="Screenshot of the results that return after the pipeline is triggered.":::
databox-online Azure Stack Edge Gpu Regions https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/databox-online/azure-stack-edge-gpu-regions.md
In general, choose the nearest region to your service for your storage account.
## Region of device
-To find out the countries and geographic regions where Azure Stack Edge models are available, see the product overview:
+To find out the countries/regions where Azure Stack Edge models are available, see the product overview:
- [Region availability for Azure Stack Edge Pro with GPU](azure-stack-edge-gpu-overview.md#region-availability) - [Region availability for Azure Stack Edge Pro R](azure-stack-edge-pro-r-overview.md#region-availability)
databox-online Azure Stack Edge Mini R Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/databox-online/azure-stack-edge-mini-r-overview.md
Azure Stack Edge Mini R physical device, Azure resource, and target storage acco
- **Resource availability** - For a list of all the regions where the Azure Stack Edge resource is available, go to [Azure products available by region](https://azure.microsoft.com/global-infrastructure/services/?products=databox&regions=all). -- **Device availability** - For a list of all the countries where the Azure Stack Edge Mini R device is available, go to Availability section in the Azure Stack Edge Mini R tab for [Azure Stack Edge Mini R pricing](https://azure.microsoft.com/pricing/details/azure-stack/edge/#azureStackEdgeMiniR).
+- **Device availability** - For a list of all the countries/regions where the Azure Stack Edge Mini R device is available, go to Availability section in the Azure Stack Edge Mini R tab for [Azure Stack Edge Mini R pricing](https://azure.microsoft.com/pricing/details/azure-stack/edge/#azureStackEdgeMiniR).
- **Destination Storage accounts** - The storage accounts that store the data are available in all Azure regions. The regions where the storage accounts store Azure Stack Edge Mini R data should be located close to where the device is located for optimum performance. A storage account located far from the device results in long latencies and slower performance.
databox-online Azure Stack Edge Mini R Safety https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/databox-online/azure-stack-edge-mini-r-safety.md
The following contains regulatory information for Azure Stack Edge Mini R device
The Azure Stack Edge Mini R device is designed for use with NRTL Listed (UL, CSA, ETL, etc.), and IEC/EN 60950-1 or IEC/EN 62368-1 compliant (CE marked) Information Technology equipment.
-In countries other than the USA and Canada, network cables (not provided with the equipment) shall not be installed with this equipment if their length is greater than 3 meters.
+In countries/regions other than the USA and Canada, network cables (not provided with the equipment) shall not be installed with this equipment if their length is greater than 3 meters.
The equipment is designed to operate in the following environments:
The Netgear A6150 WiFi USB Adapter provided with this equipment is intended to
**Netgear A6150 Specific Absorption Rate (SAR):** 0.54 W/kg averaged over 10g of tissue ΓÇâ
-This device may operate in all member states of the EU. Observe national/regional and local regulations where the device is used. This device is restricted to indoor use only when operating in the 5150-5350 MHz frequency range in the following countries:
+This device may operate in all member states of the EU. Observe national/regional and local regulations where the device is used. This device is restricted to indoor use only when operating in the 5150-5350 MHz frequency range in the following countries/regions:
-![EU countries that require indoor use only](./media/azure-stack-edge-mini-r-safety/mini-r-safety-eu-indoor-use-only.png)
+![EU countries/regions that require indoor use only](./media/azure-stack-edge-mini-r-safety/mini-r-safety-eu-indoor-use-only.png)
In accordance with Article 10.8(a) and 10.8(b) of the RED, the following table provides information on the frequency bands used and the maximum RF transmit power of Netgear wireless products for sale in the EU:
databox-online Azure Stack Edge Pro R Overview https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/databox-online/azure-stack-edge-pro-r-overview.md
Azure Stack Edge Pro R physical device, Azure resource, and target storage accou
- **Resource availability** - For a list of all the regions where the Azure Stack Edge resource is available, go to [Azure products available by region](https://azure.microsoft.com/global-infrastructure/services/?products=databox&regions=all). -- **Device availability** - For a list of all the countries where the Azure Stack Edge Pro R device is available, go to **Availability** section in the **Azure Stack Edge Pro R** tab for [Azure Stack Edge Pro R pricing](https://azure.microsoft.com/pricing/details/azure-stack/edge/#azureStackEdgeProR).
+- **Device availability** - For a list of all the countries/regions where the Azure Stack Edge Pro R device is available, go to **Availability** section in the **Azure Stack Edge Pro R** tab for [Azure Stack Edge Pro R pricing](https://azure.microsoft.com/pricing/details/azure-stack/edge/#azureStackEdgeProR).
- **Destination Storage accounts** - The storage accounts that store the data are available in all Azure regions. The regions where the storage accounts store Azure Stack Edge Pro R data should be located close to where the device is located for optimum performance. A storage account located far from the device results in long latencies and slower performance.
ddos-protection Manage Ddos Ip Protection Portal https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/ddos-protection/manage-ddos-ip-protection-portal.md
Previously updated : 04/04/2023 Last updated : 06/13/2023 # Customer intent As an IT admin, I want to learn how to enable DDoS IP Protection on my public IP address.
Get started with Azure DDoS IP Protection by using the Azure portal. In this quickstart, you'll enable DDoS IP protection and link it to a public IP address. ## Prerequisites - If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
In this quickstart, you'll enable DDoS IP protection and link it to a public IP
| DNS name label | Enter a DNS name label. In this example, we left the value blank. |
- :::image type="content" source="./media/ddos-protection-quickstarts/ddos-protection-create-ip.png" alt-text="Screenshot of create standard IP address in Azure portal.":::
+ :::image type="content" source="./media/manage-ddos-ip-protection-portal/ddos-protection-create-ip.png" alt-text="Screenshot of create standard IP address in Azure portal.":::
1. Select **Create**.
In this quickstart, you'll enable DDoS IP protection and link it to a public IP
1. Select your Public IP address. In this example, select **myStandardPublicIP**. 1. In the **Overview** pane, select the **Properties** tab, then select **DDoS protection**.
- :::image type="content" source="./media/ddos-protection-quickstarts/ddos-protection-view-status.png" alt-text="Screenshot showing view of Public IP Properties." lightbox="./media/ddos-protection-quickstarts/ddos-protection-view-status.png":::
+ :::image type="content" source="./media/manage-ddos-ip-protection-portal/ddos-protection-view-status.png" alt-text="Screenshot showing view of Public IP Properties." lightbox="./media/manage-ddos-ip-protection-portal/ddos-protection-view-status.png":::
1. In the **Configure DDoS protection** pane, under **Protection type**, select **IP**, then select **Save**.
- :::image type="content" source="./media/ddos-protection-quickstarts/ddos-protection-select-status.png" alt-text="Screenshot of selecting IP Protection in Public IP Properties.":::
+ :::image type="content" source="./media/manage-ddos-ip-protection-portal/ddos-protection-select-status.png" alt-text="Screenshot of selecting IP Protection in Public IP Properties.":::
### Disable for a Public IP address:
In this quickstart, you'll enable DDoS IP protection and link it to a public IP
1. Under **Properties** in the overview pane, select **DDoS Protection**. 1. Under **Protection type** select **Disable**, then select **Save**.
- :::image type="content" source="./media/ddos-protection-quickstarts/ddos-protection-disable-status.png" alt-text="Screenshot of disabling IP Protection in Public IP Properties.":::
+ :::image type="content" source="./media/manage-ddos-ip-protection-portal/ddos-protection-disable-status.png" alt-text="Screenshot of disabling IP Protection in Public IP Properties.":::
> [!NOTE] > When changing DDoS IP protection from **Enabled** to **Disabled**, telemetry for the public IP resource will no longer be active.
First, check the details of your public IP address:
1. In the **Overview** pane, select the **Properties** tab in the middle of the page, then select **DDoS protection**. 1. View **Protection status** and verify your public IP is protected.
- :::image type="content" source="./media/ddos-protection-quickstarts/ddos-protection-protected-status.png" alt-text="Screenshot of status of IP Protection in Public IP Properties." lightbox="./media/ddos-protection-quickstarts/ddos-protection-protected-status.png":::
+ :::image type="content" source="./media/manage-ddos-ip-protection-portal/ddos-protection-protected-status.png" alt-text="Screenshot of status of IP Protection in Public IP Properties." lightbox="./media/manage-ddos-ip-protection-portal/ddos-protection-protected-status.png":::
## Clean up resources
ddos-protection Manage Ddos Protection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/ddos-protection/manage-ddos-protection.md
Previously updated : 05/23/2023 Last updated : 06/13/2023
A DDoS protection plan defines a set of virtual networks that have DDoS Network
In this quickstart, you'll create a DDoS protection plan and link it to a virtual network. + ## Prerequisites - If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F) before you begin.
defender-for-cloud Adaptive Application Controls https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/adaptive-application-controls.md
Learn about the benefits of Microsoft Defender for Cloud's adaptive application
## What are adaptive application controls?
-Adaptive application controls are an intelligent and automated solution for defining allowlists of known-safe applications for your machines.
+Adaptive application controls are an intelligent and automated solution for defining allowlists of known-safe applications for your machines.
Often, organizations have collections of machines that routinely run the same processes. Microsoft Defender for Cloud uses machine learning to analyze the applications running on your machines and create a list of the known-safe software. Allowlists are based on your specific Azure workloads, and you can further customize the recommendations using the following instructions. When you've enabled and configured adaptive application controls, you'll get security alerts if any application runs other than the ones you've defined as safe. - ## What are the benefits of adaptive application controls? By defining lists of known-safe applications, and generating alerts when anything else is executed, you can achieve multiple oversight and compliance goals: - Identify potential malware, even any that might be missed by antimalware solutions - Improve compliance with local security policies that dictate the use of only licensed software-- Identify outdated or unsupported versions of applications
+- Identify outdated or unsupported versions of applications
- Identify software that's banned by your organization but is nevertheless running on your machines - Increase oversight of apps that access sensitive data
No enforcement options are currently available. Adaptive application controls ar
|Required roles and permissions:|**Security Reader** and **Reader** roles can both view groups and the lists of known-safe applications<br>**Contributor** and **Security Admin** roles can both edit groups and the lists of known-safe applications| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet)<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Connected AWS accounts| --- ## Enable application controls on a group of machines If Microsoft Defender for Cloud has identified groups of machines in your subscriptions that consistently run a similar set of applications, you'll be prompted with the following recommendation: **Adaptive application controls for defining safe applications should be enabled on your machines**.
Select the recommendation, or open the adaptive application controls page to vie
- recent alerts - **Recommended** - Groups of machines that consistently run the same applications, and don't have an allowlist configured. We recommend that you enable adaptive application controls for these groups.
-
+ > [!TIP]
- > If you see a group name with the prefix "REVIEWGROUP", it contains machines with a partially consistent list of applications. Microsoft Defender for Cloud can't see a pattern but recommends reviewing this group to see whether _you_ can manually define some adaptive application controls rules as described in [Edit a group's adaptive application controls rule](#edit-a-groups-adaptive-application-controls-rule).
+ > If you see a group name with the prefix *REVIEWGROUP*, it contains machines with a partially consistent list of applications. Microsoft Defender for Cloud can't see a pattern but recommends reviewing this group to see whether *you* can manually define some adaptive application controls rules as described in [Edit a group's adaptive application controls rule](#edit-a-groups-adaptive-application-controls-rule).
> > You can also move machines from this group to other groups as described in [Move a machine from one group to another](#move-a-machine-from-one-group-to-another).
Select the recommendation, or open the adaptive application controls page to vie
![Recommended tab.](./media/adaptive-application/adaptive-application-recommended-tab.png)
-1. Select a group.
+1. Select a group.
1. To configure your new rule, review the various sections of this **Configure application control rules** page and the contents, which will be unique to this specific group of machines: ![Configure a new rule.](./media/adaptive-application/adaptive-application-create-rule.png) 1. **Select machines** - By default, all machines in the identified group are selected. Unselect any to remove them from this rule.
-
+ 1. **Recommended applications** - Review this list of applications that are common to the machines within this group, and recommended to be allowed to run.
-
+ 1. **More applications** - Review this list of applications that are either seen less frequently on the machines within this group, or are known to be exploitable. A warning icon indicates that a specific application could be used by an attacker to bypass an application allowlist. We recommend that you carefully review these applications. > [!TIP] > Both application lists include the option to restrict a specific application to certain users. Adopt the principle of least privilege whenever possible.
- >
+ >
> Applications are defined by their publishers. If an application doesn't have publisher information (it's unsigned), a path rule is created for the full path of the specific application.
- 1. To apply the rule, select **Audit**.
---
+ 1. To apply the rule, select **Audit**.
## Edit a group's adaptive application controls rule
-You might decide to edit the allowlist for a group of machines because of known changes in your organization.
+You might decide to edit the allowlist for a group of machines because of known changes in your organization.
To edit the rules for a group of machines:
To edit the rules for a group of machines:
![Add a custom rule.](./media/adaptive-application/adaptive-application-add-custom-rule.png) 1. If you're defining a known safe path, change the **Rule type** to 'Path' and enter a single path. You can include wildcards in the path.
-
+ > [!TIP] > Some scenarios for which wildcards in a path might be useful:
- >
- > * Using a wildcard at the end of a path to allow all executables within this folder and sub-folders.
- > * Using a wildcard in the middle of a path to enable a known executable name with a changing folder name (for example, personal user folders containing a known executable, automatically generated folder names, etc).
+ >
+ > - Using a wildcard at the end of a path to allow all executables within this folder and sub-folders.
+ > - Using a wildcard in the middle of a path to enable a known executable name with a changing folder name (for example, personal user folders containing a known executable, automatically generated folder names, etc).
1. Define the allowed users and protected file types.
To edit the rules for a group of machines:
1. To apply the changes, select **Save**. - ## Review and edit a group's settings 1. To view the details and settings of your group, select **Group settings**.
To edit the rules for a group of machines:
1. Select **Apply** and **Save**. -- ## Respond to the "Allowlist rules in your adaptive application control policy should be updated" recommendation You'll see this recommendation when Defender for Cloud's machine learning identifies potentially legitimate behavior that hasn't previously been allowed. The recommendation suggests new rules for your existing definitions to reduce the number of false positive alerts.
To remediate the issues:
1. To apply the changes, select **Audit**. --- ## Audit alerts and violations 1. Open the **Workload protections dashboard** and from the advanced protection area, select **Adaptive application controls**.
To remediate the issues:
> [!NOTE] > Adaptive application controls calculates events once every twelve hours. The "activity start time" shown in the security alerts page is the time that adaptive application controls created the alert, **not** the time that the suspicious process was active. - ## Move a machine from one group to another When you move a machine from one group to another, the application control policy applied to it changes to the settings of the group that you moved it to. You can also move a machine from a configured group to a non-configured group, which removes any application control rules that were applied to the machine.
When you move a machine from one group to another, the application control polic
1. To save your changes, select **Save**.
+## Manage application controls via the REST API
---
-## Manage application controls via the REST API
-
-To manage your adaptive application controls programmatically, use our REST API.
+To manage your adaptive application controls programmatically, use our REST API.
The relevant API documentation is available in [the Adaptive application Controls section of Defender for Cloud's API docs](/rest/api/defenderforcloud/adaptive-application-controls). Some of the functions available from the REST API include:
-* **List** retrieves all your group recommendations and provides a JSON with an object for each group.
+- **List** retrieves all your group recommendations and provides a JSON with an object for each group.
+
+- **Get** retrieves the JSON with the full recommendation data (that is, list of machines, publisher/path rules, and so on).
-* **Get** retrieves the JSON with the full recommendation data (that is, list of machines, publisher/path rules, and so on).
+- **Put** configures your rule (use the JSON you retrieved with **Get** as the body for this request).
-* **Put** configures your rule (use the JSON you retrieved with **Get** as the body for this request).
-
> [!IMPORTANT] > The **Put** function expects fewer parameters than the JSON returned by the **Get** command contains. > > Remove the following properties before using the JSON in the **Put** request: recommendationStatus, configurationStatus, issues, location, and sourceSystem. - ## FAQ - Adaptive application controls - [Are there any options to enforce the application controls?](#are-there-any-options-to-enforce-the-application-controls) - [Why do I see a Qualys app in my recommended applications?](#why-do-i-see-a-qualys-app-in-my-recommended-applications) ### Are there any options to enforce the application controls?+ No enforcement options are currently available. Adaptive application controls are intended to provide **security alerts** if any application runs other than the ones you've defined as safe. They have a range of benefits ([What are the benefits of adaptive application controls?](#what-are-the-benefits-of-adaptive-application-controls)) and are customizable as shown on this page. ### Why do I see a Qualys app in my recommended applications?
-[Microsoft Defender for Servers](defender-for-servers-introduction.md) includes vulnerability scanning for your machines at no extra cost. You don't need a Qualys license or even a Qualys account - everything's handled seamlessly inside Defender for Cloud. For details of this scanner and instructions for how to deploy it, see [Defender for Cloud's integrated Qualys vulnerability assessment solution](deploy-vulnerability-assessment-vm.md).
-To ensure no alerts are generated when Defender for Cloud deploys the scanner, the adaptive application controls recommended allowlist includes the scanner for all machines.
+[Microsoft Defender for Servers](defender-for-servers-introduction.md) includes vulnerability scanning for your machines. You don't need a Qualys license or even a Qualys account - everything's handled seamlessly inside Defender for Cloud. For details of this scanner and instructions for how to deploy it, see [Defender for Cloud's integrated Qualys vulnerability assessment solution](deploy-vulnerability-assessment-vm.md).
+To ensure no alerts are generated when Defender for Cloud deploys the scanner, the adaptive application controls recommended allowlist includes the scanner for all machines.
## Next steps+ On this page, you learned how to use adaptive application control in Microsoft Defender for Cloud to define allowlists of applications running on your Azure and non-Azure machines. To learn more about some other cloud workload protection features, see:
-* [Understanding just-in-time (JIT) VM access](just-in-time-access-overview.md)
-* [Securing your Azure Kubernetes clusters](defender-for-kubernetes-introduction.md)
+- [Understanding just-in-time (JIT) VM access](just-in-time-access-overview.md)
+- [Securing your Azure Kubernetes clusters](defender-for-kubernetes-introduction.md)
defender-for-cloud Adaptive Network Hardening https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/adaptive-network-hardening.md
Adaptive network hardening is an agentless feature of Microsoft Defender for Clo
This page explains how to configure and manage adaptive network hardening in Defender for Cloud. ## Availability+ |Aspect|Details| |-|:-| |Release state:|General availability (GA)|
This page explains how to configure and manage adaptive network hardening in Def
|Required roles and permissions:|Write permissions on the machineΓÇÖs NSGs| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet)<br>:::image type="icon" source="./media/icons/no-icon.png"::: Connected AWS accounts| - ## What is adaptive network hardening?+ Applying [network security groups (NSG)](../virtual-network/network-security-groups-overview.md) to filter traffic to and from resources, improves your network security posture. However, there can still be some cases in which the actual traffic flowing through the NSG is a subset of the NSG rules defined. In these cases, further improving the security posture can be achieved by hardening the NSG rules, based on the actual traffic patterns. Adaptive network hardening provides recommendations to further harden the NSG rules. It uses a machine learning algorithm that factors in actual traffic, known trusted configuration, threat intelligence, and other indicators of compromise, and then provides recommendations to allow traffic only from specific IP/port tuples.
For example, let's say the existing NSG rule is to allow traffic from 140.20.30.
## View hardening alerts and recommended rules 1. From Defender for Cloud's menu, open the **Workload protections** dashboard.
-1. Select the adaptive network hardening tile (1), or the insights panel item related to adaptive network hardening (2).
+1. Select the adaptive network hardening tile (1), or the insights panel item related to adaptive network hardening (2).
:::image type="content" source="./media/adaptive-network-hardening/traffic-hardening.png" alt-text="Accessing the adaptive network hardening tools." lightbox="./media/adaptive-network-hardening/traffic-hardening.png"::: > [!TIP]
- > The insights panel shows the percentage of your VMs currently defended with adaptive network hardening.
+ > The insights panel shows the percentage of your VMs currently defended with adaptive network hardening.
1. The details page for the **Adaptive Network Hardening recommendations should be applied on internet facing virtual machines** recommendation opens with your network VMs grouped into three tabs:
- * **Unhealthy resources**: VMs that currently have recommendations and alerts that were triggered by running the adaptive network hardening algorithm.
- * **Healthy resources**: VMs without alerts and recommendations.
- * **Unscanned resources**: VMs that the adaptive network hardening algorithm cannot be run on because of one of the following reasons:
- * **VMs are Classic VMs**: Only Azure Resource Manager VMs are supported.
- * **Not enough data is available**: In order to generate accurate traffic hardening recommendations, Defender for Cloud requires at least 30 days of traffic data.
- * **VM is not protected by Microsoft Defender for Servers**: Only VMs protected with [Microsoft Defender for Servers](defender-for-servers-introduction.md) are eligible for this feature.
+ - **Unhealthy resources**: VMs that currently have recommendations and alerts that were triggered by running the adaptive network hardening algorithm.
+ - **Healthy resources**: VMs without alerts and recommendations.
+ - **Unscanned resources**: VMs that the adaptive network hardening algorithm cannot be run on because of one of the following reasons:
+ - **VMs are Classic VMs**: Only Azure Resource Manager VMs are supported.
+ - **Not enough data is available**: In order to generate accurate traffic hardening recommendations, Defender for Cloud requires at least 30 days of traffic data.
+ - **VM is not protected by Microsoft Defender for Servers**: Only VMs protected with [Microsoft Defender for Servers](defender-for-servers-introduction.md) are eligible for this feature.
:::image type="content" source="./media/adaptive-network-hardening/recommendation-details-page.png" alt-text="Details page of the recommendation Adaptive network hardening recommendations should be applied on internet facing virtual machines.":::
For example, let's say the existing NSG rule is to allow traffic from 140.20.30.
1. Optionally, edit the rules: - [Modify a rule](#modify-rule)
- - [Delete a rule](#delete-rule)
+ - [Delete a rule](#delete-rule)
- [Add a rule](#add-rule)
-3. Select the rules that you want to apply on the NSG, and select **Enforce**.
+1. Select the rules that you want to apply on the NSG, and select **Enforce**.
> [!TIP] > If the allowed source IP ranges shows as 'None', it means that recommended rule is a *deny* rule, otherwise, it is an *allow* rule.
You may want to modify the parameters of a rule that has been recommended. For e
Some important guidelines for modifying an adaptive network hardening rule: -- You cannot change **allow** rules to become **deny** rules.
+- You cannot change **allow** rules to become **deny** rules.
-- You can modify the parameters of **allow** rules only.
+- You can modify the parameters of **allow** rules only.
Creating and modifying "deny" rules is done directly on the NSG. For more information, see [Create, change, or delete a network security group](../virtual-network/manage-network-security-group.md).
To modify an adaptive network hardening rule:
![Selecting Save.](./media/adaptive-network-hardening/edit-hard-rule-3.png)
-3. To apply the updated rule, from the list, select the updated rule and select **Enforce**.
+1. To apply the updated rule, from the list, select the updated rule and select **Enforce**.
![enforce rule.](./media/adaptive-network-hardening/enforce-hard-rule.png)
To add an adaptive network hardening rule:
> [!NOTE] > After selecting **Add**, you have successfully added the rule, and it is listed with the other recommended rules. However, you have not *applied* it on the NSG. To activate it, you must select the rule in the list, and select **Enforce** (as explained in the next step).
-3. To apply the new rule, from the list, select the new rule and select **Enforce**.
+1. To apply the new rule, from the list, select the new rule and select **Enforce**.
![enforce rule.](./media/adaptive-network-hardening/enforce-hard-rule.png) - ## Delete a rule <a name ="delete-rule"> </a> When necessary, you can delete a recommended rule for the current session. For example, you may determine that applying a suggested rule could block legitimate traffic.
To delete an adaptive network hardening rule for your current session:
![Deleting a rule.](./media/adaptive-network-hardening/delete-hard-rule.png) - ## FAQ - Adaptive network hardening - [Which ports are supported?](#which-ports-are-supported)
To delete an adaptive network hardening rule for your current session:
### Which ports are supported?
-Adaptive network hardening recommendations are only supported on the following specific ports (for both UDP and TCP):
+Adaptive network hardening recommendations are only supported on the following specific ports (for both UDP and TCP):
13, 17, 19, 22, 23, 53, 69, 81, 111, 119, 123, 135, 137, 138, 139, 161, 162, 389, 445, 512, 514, 593, 636, 873, 1433, 1434, 1900, 2049, 2301, 2323, 2381, 3268, 3306, 3389, 4333, 5353, 5432, 5555, 5800, 5900, 5900, 5985, 5986, 6379, 6379, 7000, 7001, 7199, 8081, 8089, 8545, 9042, 9160, 9300, 11211, 16379, 26379, 27017, 37215
defender-for-cloud Alerts Reference https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/alerts-reference.md
Microsoft Defender for Containers provides security alerts on the cluster level
| **Usage of PowerZure function to maintain persistence in your Azure environment**<br>(ARM_PowerZure.MaintainPersistence) | PowerZure exploitation toolkit detected creating a webhook backdoor to maintain persistence in your Azure environment. This was detected by analyzing Azure Resource Manager operations in your subscription. | - | High | | **Suspicious classic role assignment detected (Preview)**<br>(ARM_AnomalousClassicRoleAssignment) | Microsoft Defender for Resource Manager identified a suspicious classic role assignment in your tenant which might indicate that an account in your organization was compromised. The identified operations are designed to provide backward compatibility with classic roles that are no longer commonly used. While this activity may be legitimate, a threat actor might utilize such assignment to grant permissions to another user account under their control. |  Lateral Movement, Defense Evasion | High | - ## <a name="alerts-dns"></a>Alerts for DNS [Further details and notes](defender-for-dns-introduction.md)
Microsoft Defender for Containers provides security alerts on the cluster level
| **Suspicious outgoing SSH network activity**<br>(SSH_Outgoing_BF_OneToOne) | Network traffic analysis detected anomalous outgoing SSH communication to %{Victim IP} originating from %{Compromised Host} (%{Attacker IP}), a resource in your deployment. When the compromised resource is a load balancer or an application gateway, the suspected outgoing traffic has been originated from to one or more of the resources in the backend pool (of the load balancer or application gateway). Specifically, sampled network data shows %{Number of Connections} outgoing connections from your resource, which is considered abnormal for this environment. This activity may indicate that your resource was compromised and is now used to brute force external SSH end points. Note that this type of activity could possibly cause your IP to be flagged as malicious by external entities. | Lateral Movement | Medium | | **Traffic detected from IP addresses recommended for blocking** | Microsoft Defender for Cloud detected inbound traffic from IP addresses that are recommended to be blocked. This typically occurs when this IP address doesn't communicate regularly with this resource. Alternatively, the IP address has been flagged as malicious by Defender for Cloud's threat intelligence sources. | Probing | Low | -- ## <a name="alerts-azurekv"></a>Alerts for Azure Key Vault [Further details and notes](defender-for-key-vault-introduction.md)
defender-for-cloud Alerts Suppression Rules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/alerts-suppression-rules.md
This page explains how you can use alerts suppression rules to suppress false po
|Aspect|Details| |-|:-| |Release state:|General availability (GA)|
-|Pricing:|Free<br>(Most security alerts are only available with [Defender plans](defender-for-cloud-introduction.md#protect-cloud-workloads))|
|Required roles and permissions:|**Security admin** and **Owner** can create/delete rules.<br>**Security reader** and **Reader** can view rules.| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet)|
To create a rule for a specific alert in the Azure portal:
1. In the **New suppression rule** pane, enter the details of your new rule. - **Entities** - The resources that the rule applies to. You can specify a single resource, multiple resources, or resources that contain a partial resource ID. If you don't specify any resources, the rule applies to all resources in the subscription.
- - **Name** - A name for the rule. Rule names must begin with a letter or a number, be between 2 and 50 characters, and contain no symbols other than dashes (-) or underscores (_).
+ - **Name** - A name for the rule. Rule names must begin with a letter or a number, be between 2 and 50 characters, and contain no symbols other than dashes (-) or underscores (_).
- **State** - Enabled or disabled. - **Reason** - Select one of the built-in reasons or 'other' to specify your own reason in the comment. - **Expiration date** - An end date and time for the rule. Rules can run for up to six months.
To delete a rule, use the same three dots menu and select **Remove**.
## Create and manage suppression rules with the API
-You can create, view, or delete alert suppression rules using the Defender for Cloud REST API.
+You can create, view, or delete alert suppression rules using the Defender for Cloud REST API.
The relevant HTTP methods for suppression rules in the REST API are: - **PUT**: To create or update a suppression rule in a specified subscription. - **GET**:
- - To list all rules configured for a specified subscription. This method returns an array of the applicable rules.
- - To get the details of a specific rule on a specified subscription. This method returns one suppression rule.
- - To simulate the impact of a suppression rule still in the design phase. This call identifies which of your existing alerts would have been dismissed if the rule had been active.
+ - To list all rules configured for a specified subscription. This method returns an array of the applicable rules.
+ - To get the details of a specific rule on a specified subscription. This method returns one suppression rule.
+ - To simulate the impact of a suppression rule still in the design phase. This call identifies which of your existing alerts would have been dismissed if the rule had been active.
- **DELETE**: Deletes an existing rule (but doesn't change the status of alerts already dismissed by it).
This article described the suppression rules in Microsoft Defender for Cloud tha
Learn more about security alerts: -- [Security alerts generated by Defender for Cloud](alerts-reference.md)
+- [Security alerts generated by Defender for Cloud](alerts-reference.md)
defender-for-cloud Apply Security Baseline https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/apply-security-baseline.md
Use the security recommendations described in this article to assess the machine
- Learn how to remediate those gaps ## Availability+ |Aspect|Details| |-|:-| |Release state:|Preview.<br>[!INCLUDE [Legalese](../../includes/defender-for-cloud-preview-legal-text.md)]|
Use the security recommendations described in this article to assess the machine
|Required roles and permissions:|To install the Guest Configuration extension and its prerequisites, **write** permission is required on the relevant machines.<br>To **view** the recommendations and explore the OS baseline data, **read** permission is required at the subscription level.| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet)| - ## What are the hardening recommendations? Microsoft Defender for Cloud includes two recommendations that check whether the configuration of Windows and Linux machines in your environment meet the Azure security baseline configurations:
These recommendations use the guest configuration feature of Azure Policy to com
## Compare machines in your subscriptions with the OS security baselines To compare machines with the OS security baselines:
-
-1. From Defender for Cloud's portal pages, open the **Recommendations** page.
+
+1. From Defender for Cloud's portal pages, open the **Recommendations** page.
1. Select the relevant recommendation: - For **Windows** machines, [Vulnerabilities in security configuration on your Windows machines should be remediated (powered by Guest Configuration)](https://portal.azure.com/#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/8c3d9ad0-3639-4686-9cd2-2b2ab2609bda) - For **Linux** machines, [Vulnerabilities in security configuration on your Linux machines should be remediated (powered by Guest Configuration)](https://portal.azure.com/#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/1f655fb7-63ca-4980-91a3-56dbc2b715c6)
To compare machines with the OS security baselines:
- To view the list of machines that have been assessed, open **Affected resources**. - To view the list of findings for one machine, select a machine from the **Unhealthy resources** tab. A page will open listing only the findings for that machine. - ## FAQ - Hardening an OS according to the security baseline - [Apply Azure security baselines to machines](#apply-azure-security-baselines-to-machines)
To deploy the Guest Configuration extension with its prerequisites:
- At scale, assign the policy initiative **Deploy prerequisites to enable Guest Configuration policies on virtual machines**. - ### Why is a machine shown as not applicable? The list of resources in the **Not applicable** tab includes a **Reason** column. Some of the common reasons include:
The list of resources in the **Not applicable** tab includes a **Reason** column
| **System managed identity is not configured on the machine** | A system-assigned, managed identity must be deployed on the machine. | | **The recommendation is disabled in policy** | The policy definition that assesses the OS baseline is disabled on the scope that includes the relevant machine. | - ## Next steps+ In this document, you learned how to use Defender for Cloud's guest configuration recommendations to compare the hardening of your OS with the Azure security baseline. To learn more about these configuration settings, see:
defender-for-cloud Asset Inventory https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/asset-inventory.md
The security recommendations on the asset inventory page are also shown in the *
|Required roles and permissions:|All users| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet) <br> <br> Software inventory isn't currently supported in national clouds.| - ## What are the key features of asset inventory? The inventory page provides the following tools:
defender-for-cloud Auto Deploy Azure Monitoring Agent https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/auto-deploy-azure-monitoring-agent.md
To deploy the Azure Monitor Agent with Defender for Cloud:
1. For the **Log Analytics agent/Azure Monitor Agent**, select **Edit configuration**. 1. For the Auto-provisioning configuration agent type, select **Azure Monitor Agent**.
-
+ :::image type="content" source="media/auto-deploy-azure-monitoring-agent/select-azure-monitor-agent-auto-provision.png" alt-text="Screenshot showing selecting Azure Monitor Agent for auto-provisioning." lightbox="media/auto-deploy-azure-monitoring-agent/select-azure-monitor-agent-auto-provision.png"::: By default:
To configure a custom destination workspace for the Azure Monitor Agent:
### Log analytics workspace solutions
-The Azure Monitor Agent requires Log analytics workspace solutions. These solutions are automatically installed when you auto-provision the Azure Monitor Agent with the default workspace.
+The Azure Monitor Agent requires Log analytics workspace solutions. These solutions are automatically installed when you auto-provision the Azure Monitor Agent with the default workspace.
The required [Log Analytics workspace solutions](/previous-versions/azure/azure-monitor/insights/solutions) for the data that you're collecting are:
- - Security posture management (CSPM) ΓÇô **SecurityCenterFree solution**
- - Defender for Servers Plan 2 ΓÇô **Security solution**
+- Security posture management (CSPM) ΓÇô **SecurityCenterFree solution**
+- Defender for Servers Plan 2 ΓÇô **Security solution**
### Additional extensions for Defender for Cloud
defender-for-cloud Concept Agentless Data Collection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/concept-agentless-data-collection.md
Agentless scanning for VMs provides vulnerability assessment and software invent
||| |Release state:| GA | |Pricing:|Requires either [Defender Cloud Security Posture Management (CSPM)](concept-cloud-security-posture-management.md) or [Microsoft Defender for Servers Plan 2](plan-defender-for-servers-select-plan.md#plan-features)|
-| Supported use cases:| :::image type="icon" source="./media/icons/yes-icon.png"::: Vulnerability assessment (powered by Defender Vulnerability Management)<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Software inventory (powered by Defender Vulnerability Management) |
+| Supported use cases:| :::image type="icon" source="./media/icons/yes-icon.png"::: Vulnerability assessment (powered by Defender Vulnerability Management)<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Software inventory (powered by Defender Vulnerability Management) |
+| Supported use cases:| :::image type="icon" source="./media/icons/yes-icon.png"::: Vulnerability assessment (powered by Defender Vulnerability Management)<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Software inventory (powered by Defender Vulnerability Management) |
| Clouds: | :::image type="icon" source="./media/icons/yes-icon.png"::: Azure Commercial clouds<br> :::image type="icon" source="./media/icons/no-icon.png"::: Azure Government<br>:::image type="icon" source="./media/icons/no-icon.png"::: Azure China 21Vianet<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Connected AWS accounts<br>:::image type="icon" source="./media/icons/no-icon.png"::: Connected GCP accounts | | Operating systems: | :::image type="icon" source="./media/icons/yes-icon.png"::: Windows<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Linux | | Instance types: | **Azure**<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Standard VMs<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Virtual machine scale set - Flex<br>:::image type="icon" source="./media/icons/no-icon.png"::: Virtual machine scale set - Uniform<br><br>**AWS**<br>:::image type="icon" source="./media/icons/yes-icon.png"::: EC2<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Auto Scale instances<br>:::image type="icon" source="./media/icons/no-icon.png"::: Instances with a ProductCode (Paid AMIs) |
The scanning environment where disks are analyzed is regional, volatile, isolate
## FAQ ### How does scanning affect the instances?+ Since the scanning process is an out-of-band analysis of snapshots, it doesn't impact the actual workloads and isn't visible by the guest operating system. ### How does scanning affect the account/subscription?
Each VM is scanned every 24 hours.
The roles and permissions used by Defender for Cloud to perform agentless scanning on your Azure and AWS environments are listed here. In Azure, these permissions are automatically added to your subscriptions when you enable agentless scanning. In AWS, these permissions are [added to the CloudFormation stack in your AWS connector](enable-vulnerability-assessment-agentless.md#agentless-vulnerability-assessment-on-aws). -- Azure permissions - The built-in role ΓÇ£VM scanner operatorΓÇ¥ has read-only permissions for VM disks which are required for the snapshot process. The detailed list of permissions is:
+- Azure permissions - The built-in role ΓÇ£VM scanner operatorΓÇ¥ has read-only permissions for VM disks which are required for the snapshot process. The detailed list of permissions is:
- - `Microsoft.Compute/disks/read`
- - `Microsoft.Compute/disks/beginGetAccess/action`
- - `Microsoft.Compute/virtualMachines/instanceView/read`
- - `Microsoft.Compute/virtualMachines/read`
- - `Microsoft.Compute/virtualMachineScaleSets/instanceView/read`
- - `Microsoft.Compute/virtualMachineScaleSets/read`
- - `Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read`
- - `Microsoft.Compute/virtualMachineScaleSets/virtualMachines/instanceView/read`
+ - `Microsoft.Compute/disks/read`
+ - `Microsoft.Compute/disks/beginGetAccess/action`
+ - `Microsoft.Compute/virtualMachines/instanceView/read`
+ - `Microsoft.Compute/virtualMachines/read`
+ - `Microsoft.Compute/virtualMachineScaleSets/instanceView/read`
+ - `Microsoft.Compute/virtualMachineScaleSets/read`
+ - `Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read`
+ - `Microsoft.Compute/virtualMachineScaleSets/virtualMachines/instanceView/read`
- AWS permissions - The role ΓÇ£VmScannerΓÇ¥ is assigned to the scanner when you enable agentless scanning. This role has the minimal permission set to create and clean up snapshots (scoped by tag) and to verify the current state of the VM. The detailed permissions are:
The roles and permissions used by Defender for Cloud to perform agentless scanni
| Conditions | None | | Resources | arn:aws:ec2:::instance/ <br> arn:aws:ec2:::snapshot/ <br> arn:aws:ec2:::volume/ | | Effect | Allow |
-
+ | Attribute | Value | ||| | SID | **VmScannerVerificationAccess** |
The roles and permissions used by Defender for Cloud to perform agentless scanni
| Conditions | None | | Resources | * | | Effect | Allow |
-
+ | Attribute | Value | ||| | SID | **VmScannerEncryptionKeyCreation** |
The roles and permissions used by Defender for Cloud to perform agentless scanni
| Conditions | None | | Resources | * | | Effect | Allow |
-
+ | Attribute | Value | ||| | SID | **VmScannerEncryptionKeyManagement** |
The roles and permissions used by Defender for Cloud to perform agentless scanni
| Conditions | None | | Resources | arn:aws:kms::${AWS::AccountId}:key/ <br> arn:aws:kms:*:${AWS::AccountId}:alias/DefenderForCloudKey | | Effect | Allow |
-
+ | Attribute | Value | ||| | SID | **VmScannerEncryptionKeyUsage** |
The roles and permissions used by Defender for Cloud to perform agentless scanni
| Resources | arn:aws:kms::${AWS::AccountId}:key/ | | Effect | Allow | - ### Which data is collected from snapshots? Agentless scanning collects data similar to the data an agent collects to perform the same analysis. Raw data, PIIs or sensitive business data isn't collected, and only metadata results are sent to Defender for Cloud.
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
Defender for Cloud continually assesses your resources, subscriptions and organi
## Prerequisites -- **Foundational CSPM** - None -- **Defender Cloud Security Posture Management (CSPM)** - Agentless scanning requires the **Subscription Owner** to enable the plan. Anyone with a lower level of authorization can enable the Defender CSPM plan but the agentless scanner won't be enabled by default due to lack of permissions. Attack path analysis and security explorer won't be populated with vulnerabilities because the agentless scanner is disabled.
+- **Foundational CSPM** - None
+- **Defender Cloud Security Posture Management (CSPM)** - Agentless scanning requires the **Subscription Owner** to enable the plan. Anyone with a lower level of authorization can enable the Defender CSPM plan but the agentless scanner won't be enabled by default due to lack of permissions. Attack path analysis and security explorer won't be populated with vulnerabilities because the agentless scanner is disabled.
For commercial and national cloud coverage, review [features supported in different Azure cloud environments](support-matrix-cloud-environment.md). - ## Defender CSPM plan options Defender for Cloud offers foundational multicloud CSPM capabilities for free. These capabilities are automatically enabled by default on any subscription or account that has onboarded to Defender for Cloud. The foundational CSPM includes asset discovery, continuous assessment and security recommendations for posture hardening, compliance with Microsoft Cloud Security Benchmark (MCSB), and a [Secure score](secure-score-access-and-track.md) which measure the current status of your organization's posture.
-The optional Defender CSPM plan, provides advanced posture management capabilities such as [Attack path analysis](how-to-manage-attack-path.md), [Cloud security explorer](how-to-manage-cloud-security-explorer.md), advanced threat hunting, [security governance capabilities](governance-rules.md), and also tools to assess your [security compliance](review-security-recommendations.md) with a wide range of benchmarks, regulatory standards, and any custom security policies required in your organization, industry, or region.
+The optional Defender CSPM plan, provides advanced posture management capabilities such as [Attack path analysis](how-to-manage-attack-path.md), [Cloud security explorer](how-to-manage-cloud-security-explorer.md), advanced threat hunting, [security governance capabilities](governance-rules.md), and also tools to assess your [security compliance](review-security-recommendations.md) with a wide range of benchmarks, regulatory standards, and any custom security policies required in your organization, industry, or region.
### Plan pricing > [!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. The underlying compute services for AKS are regarded as servers for billing purposes.
+ 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 compute 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). If you have one of the following plans enabled, you will receive a discount. Refer to the following table:
The following table summarizes each plan and their cloud availability.
| [Data aware security posture](concept-data-security-posture.md) | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure, AWS | | EASM insights in network exposure | - | :::image type="icon" source="./media/icons/yes-icon.png"::: | Azure, AWS | - > [!NOTE]
-> If you have enabled Defender for DevOps, you will only gain cloud security graph and attack path analysis to the artifacts that arrive through those connectors.
+> If you have enabled Defender for DevOps, you will only gain cloud security graph and attack path analysis to the artifacts that arrive through those connectors.
> > To enable Governance for DevOps related recommendations, the Defender CSPM plan needs to be enabled on the Azure subscription that hosts the DevOps connector.
defender-for-cloud Configure Email Notifications https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/configure-email-notifications.md
Last updated 11/09/2021
-# Quickstart: Configure email notifications for security alerts
+# Quickstart: Configure email notifications for security alerts
Security alerts need to reach the right people in your organization. By default, Microsoft Defender for Cloud emails subscription owners whenever a high-severity alert is triggered for their subscription. This page explains how to customize these notifications. Use Defender for Cloud's **Email notifications** settings page to define preferences for notification emails including: -- ***who* should be notified** - Emails can be sent to select individuals or to anyone with a specified Azure role for a subscription.
+- ***who* should be notified** - Emails can be sent to select individuals or to anyone with a specified Azure role for a subscription.
- ***what* they should be notified about** - Modify the severity levels for which Defender for Cloud should send out notifications. To avoid alert fatigue, Defender for Cloud limits the volume of outgoing mails. For each subscription, Defender for Cloud sends:
To avoid alert fatigue, Defender for Cloud limits the volume of outgoing mails.
- approximately **one email per day** for **low-severity** alerts :::image type="content" source="./media/configure-email-notifications/email-notification-settings.png" alt-text="Configuring the details of the contact who will receive emails about security alerts." :::
-
+ ## Availability |Aspect|Details|
To avoid alert fatigue, Defender for Cloud limits the volume of outgoing mails.
|Required roles and permissions:|**Security Admin**<br>**Subscription Owner** | |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet)| -- ## Customize the security alerts email notifications via the portal<a name="email"></a>+ You can send email notifications to individuals or to all users with specific Azure roles. 1. From Defender for Cloud's **Environment settings** area, select the relevant subscription, and open **Email notifications**.
You can send email notifications to individuals or to all users with specific Az
1. To apply the security contact information to your subscription, select **Save**. ## Customize the alerts email notifications through the API+ You can also manage your email notifications through the supplied REST API. For full details see the [SecurityContacts API documentation](/rest/api/defenderforcloud/security-contacts). This is an example request body for the PUT request when creating a security contact configuration:
URI: `https://management.azure.com/subscriptions/<SubscriptionId>/providers/Micr
} ``` - ## See also+ To learn more about security alerts, see the following pages: - [Security alerts - a reference guide](alerts-reference.md)--Learn about the security alerts you might see in Microsoft Defender for Cloud's Threat Protection module
defender-for-cloud Continuous Export https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/continuous-export.md
Continuous export can export the following data types whenever they change:
- Security alerts. - Security recommendations. - Security findings. Findings can be thought of as 'sub' recommendations and belong to a 'parent' recommendation. For example:
- - The recommendations [System updates should be installed on your machines (powered by Update Center)](https://portal.azure.com/#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/e1145ab1-eb4f-43d8-911b-36ddf771d13f) and [System updates should be installed on your machines](https://portal.azure.com/#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/4ab6e3c5-74dd-8b35-9ab9-f61b30875b27) each has one 'sub' recommendation per outstanding system update.
- - The recommendation [Machines should have vulnerability findings resolved](https://portal.azure.com/#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/1195afff-c881-495e-9bc5-1486211ae03f) has a 'sub' recommendation for every vulnerability identified by the vulnerability scanner.
+ - The recommendations [System updates should be installed on your machines (powered by Update Center)](https://portal.azure.com/#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/e1145ab1-eb4f-43d8-911b-36ddf771d13f) and [System updates should be installed on your machines](https://portal.azure.com/#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/4ab6e3c5-74dd-8b35-9ab9-f61b30875b27) each has one 'sub' recommendation per outstanding system update.
+ - The recommendation [Machines should have vulnerability findings resolved](https://portal.azure.com/#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/1195afff-c881-495e-9bc5-1486211ae03f) has a 'sub' recommendation for every vulnerability identified by the vulnerability scanner.
> [!NOTE] > If youΓÇÖre configuring a continuous export with the REST API, always include the parent with the findings. - Secure score per subscription or per control. - Regulatory compliance data.
-## Set up a continuous export
+## Set up a continuous export
You can configure continuous export from the Microsoft Defender for Cloud pages in Azure portal, via the REST API, or at scale using the supplied Azure Policy templates.
If you're setting up a continuous export to Log Analytics or Azure Event Hubs:
:::image type="content" source="./media/continuous-export/continuous-export-options-page.png" alt-text="Export options in Microsoft Defender for Cloud." lightbox="./media/continuous-export/continuous-export-options-page.png":::
- Here you see the export options. There's a tab for each available export target, either Event hub or Log Analytics workspace.
+ Here you see the export options. There's a tab for each available export target, either event hub or Log Analytics workspace.
1. Select the data type you'd like to export and choose from the filters on each type (for example, export only high severity alerts).
If you're setting up a continuous export to Log Analytics or Azure Event Hubs:
1. From the "Export target" area, choose where you'd like the data saved. Data can be saved in a target of a different subscription (for example, on a Central Event Hubs instance or a central Log Analytics workspace).
- You can also send the data to an [Event hubs or Log Analytics workspace in a different tenant](#export-data-to-an-azure-event-hub-or-log-analytics-workspace-in-another-tenant).
+ You can also send the data to an [Event hubs or Log Analytics workspace in a different tenant](#export-data-to-an-azure-event-hubs-or-log-analytics-workspace-in-another-tenant).
1. Select **Save**.
Continuous export can be configured and managed via the Microsoft Defender for C
- Log Analytics workspace - Azure Logic Apps
-You can also send the data to an [Event Hubs or Log Analytics workspace in a different tenant](#export-data-to-an-azure-event-hub-or-log-analytics-workspace-in-another-tenant).
+You can also send the data to an [Event Hubs or Log Analytics workspace in a different tenant](#export-data-to-an-azure-event-hubs-or-log-analytics-workspace-in-another-tenant).
Here are some examples of options that you can only use in the API:
-* **Greater volume** - You can create multiple export configurations on a single subscription with the API. The **Continuous Export** page in the Azure portal supports only one export configuration per subscription.
+- **Greater volume** - You can create multiple export configurations on a single subscription with the API. The **Continuous Export** page in the Azure portal supports only one export configuration per subscription.
-* **Additional features** - The API offers parameters that aren't shown in the Azure portal. For example, you can add tags to your automation resource and define your export based on a wider set of alert and recommendation properties than the ones offered in the **Continuous Export** page in the Azure portal.
+- **Additional features** - The API offers parameters that aren't shown in the Azure portal. For example, you can add tags to your automation resource and define your export based on a wider set of alert and recommendation properties than the ones offered in the **Continuous Export** page in the Azure portal.
-* **More focused scope** - The API provides a more granular level for the scope of your export configurations. When defining an export with the API, you can do so at the resource group level. If you're using the **Continuous Export** page in the Azure portal, you have to define it at the subscription level.
+- **More focused scope** - The API provides a more granular level for the scope of your export configurations. When defining an export with the API, you can do so at the resource group level. If you're using the **Continuous Export** page in the Azure portal, you have to define it at the subscription level.
> [!TIP] > These API-only options are not shown in the Azure portal. If you use them, there'll be a banner informing you that other configurations exist.
To deploy your continuous export configurations across your organization, use th
> [!TIP] > You can also find these by searching Azure Policy:
+ >
> 1. Open Azure Policy. > :::image type="content" source="./media/continuous-export/opening-azure-policy.png" alt-text="Accessing Azure Policy."::: > 2. From the Azure Policy menu, select **Definitions** and search for them by name.
The name of the Log Analytics solution containing these tables depends on whethe
To view the event schemas of the exported data types, visit the [Log Analytics table schemas](https://aka.ms/ASCAutomationSchemas).
-## Export data to an Azure Event hub or Log Analytics workspace in another tenant
+## Export data to an Azure Event Hubs or Log Analytics workspace in another tenant
-You can export data to an Azure Event hub or Log Analytics workspace in a different tenant, without using [Azure Lighthouse](../lighthouse/overview.md). When collecting data into a tenant, you can analyze the data from one central location.
+You can export data to an Azure Event Hubs or Log Analytics workspace in a different tenant, without using [Azure Lighthouse](../lighthouse/overview.md). When collecting data into a tenant, you can analyze the data from one central location.
-To export data to an Azure Event hub or Log Analytics workspace in a different tenant:
+To export data to an Azure Event Hubs or Log Analytics workspace in a different tenant:
-1. In the tenant that has the Azure Event hub or Log Analytics workspace, [invite a user](../active-directory/external-identities/what-is-b2b.md#easily-invite-guest-users-from-the-azure-portal) from the tenant that hosts the continuous export configuration.
+1. In the tenant that has the Azure Event Hubs or Log Analytics workspace, [invite a user](../active-directory/external-identities/what-is-b2b.md#easily-invite-guest-users-from-the-azure-portal) from the tenant that hosts the continuous export configuration.
1. For a Log Analytics workspace: After the user accepts the invitation to join the tenant, assign the user in the workspace tenant one of these roles: Owner, Contributor, Log Analytics Contributor, Sentinel Contributor, Monitoring Contributor
-1. Configure the continuous export configuration and select the Event hub or Analytics workspace to send the data to.
+1. Configure the continuous export configuration and select the event hub or Analytics workspace to send the data to.
You can also configure export to another tenant through the REST API. For more information, see the automations [REST API](/rest/api/defenderforcloud/automations/create-or-update?tabs=HTTP).
-## Continuously export to an Event Hub behind a firewall
+## Continuously export to an event hub behind a firewall
-You can enable continuous export as a trusted service, so that you can send data to an Event Hub that has an Azure Firewall enabled.
+You can enable continuous export as a trusted service, so that you can send data to an event hub that has an Azure Firewall enabled.
-**To grant access to continuous export as a trusted service**:
+**To grant access to continuous export as a trusted service**:
-1. Sign in to the [Azure portal](https://portal.azure.com).
+1. Sign in to the [Azure portal](https://portal.azure.com).
1. Navigate to **Microsoft Defender for Cloud** > **Environmental settings**.
You'll now need to add the relevant role assignment on the destination Event Hub
**To add the relevant role assignment on the destination Event Hub**:
-1. Navigate to the selected Event Hub.
-
-1. Select **Access Control** > **Add role assignment**
-
+1. Navigate to the selected Event Hub.
+
+1. Select **Access Control** > **Add role assignment**
+ :::image type="content" source="media/continuous-export/add-role-assignment.png" alt-text="Screenshot that shows where the add role assignment button is found." lightbox="media/continuous-export/add-role-assignment.png":::
-
+ 1. Select **Azure Event Hubs Data Sender**.
-
+ 1. Select the **Members** tab.
-
-1. Select **+ Select members**.
-
+
+1. Select **+ Select members**.
+ 1. Search for and select **Windows Azure Security Resource Provider**. :::image type="content" source="media/continuous-export/windows-security-resource.png" alt-text="Screenshot that shows you where to enter and search for Windows Azure Security Resource Provider." lightbox="media/continuous-export/windows-security-resource.png"::: 1. Select **Review + assign**.
-## View exported alerts and recommendations in Azure Monitor
+## View exported alerts and recommendations in Azure Monitor
You might also choose to view exported Security Alerts and/or recommendations in [Azure Monitor](../azure-monitor/alerts/alerts-overview.md).
To view alerts and recommendations from Defender for Cloud in Azure Monitor, con
1. In the create rule page, configure your new rule (in the same way you'd configure a [log alert rule in Azure Monitor](../azure-monitor/alerts/alerts-unified-log.md)):
- * For **Resource**, select the Log Analytics workspace to which you exported security alerts and recommendations.
+ - For **Resource**, select the Log Analytics workspace to which you exported security alerts and recommendations.
- * For **Condition**, select **Custom log search**. In the page that appears, configure the query, lookback period, and frequency period. In the search query, you can type *SecurityAlert* or *SecurityRecommendation* to query the data types that Defender for Cloud continuously exports to as you enable the Continuous export to Log Analytics feature.
-
- * Optionally, configure the [Action Group](../azure-monitor/alerts/action-groups.md) that you'd like to trigger. Action groups can trigger email sending, ITSM tickets, WebHooks, and more.
+ - For **Condition**, select **Custom log search**. In the page that appears, configure the query, lookback period, and frequency period. In the search query, you can type *SecurityAlert* or *SecurityRecommendation* to query the data types that Defender for Cloud continuously exports to as you enable the Continuous export to Log Analytics feature.
+
+ - Optionally, configure the [Action Group](../azure-monitor/alerts/action-groups.md) that you'd like to trigger. Action groups can trigger email sending, ITSM tickets, WebHooks, and more.
![Azure Monitor alert rule.](./media/continuous-export/azure-monitor-alert-rule.png) You'll now see new Microsoft Defender for Cloud alerts or recommendations (depending on your configured continuous export rules and the condition you defined in your Azure Monitor alert rule) in Azure Monitor alerts, with automatic triggering of an action group (if provided).
Learn more about [Log Analytics workspace pricing](https://azure.microsoft.com/p
Learn more about [Azure Event Hubs pricing](https://azure.microsoft.com/pricing/details/event-hubs/).
+For general information about Defender for Cloud pricing, see the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/).
+ ### Does the export include data about the current state of all resources? No. Continuous export is built for streaming of **events**:
defender-for-cloud Custom Dashboards Azure Workbooks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/custom-dashboards-azure-workbooks.md
Last updated 02/02/2023
[Azure Workbooks](../azure-monitor/visualize/workbooks-overview.md) provide a flexible canvas for data analysis and the creation of rich visual reports within the Azure portal. They allow you to tap into multiple data sources from across Azure, and combine them into unified interactive experiences.
-Workbooks provide a rich set of capabilities for visualizing your Azure data. For detailed examples of each visualization type, see the [visualizations examples and documentation](../azure-monitor/visualize/workbooks-text-visualizations.md).
+Workbooks provide a rich set of capabilities for visualizing your Azure data. For detailed examples of each visualization type, see the [visualizations examples and documentation](../azure-monitor/visualize/workbooks-text-visualizations.md).
Within Microsoft Defender for Cloud, you can access the built-in workbooks to track your organizationΓÇÖs security posture. You can also build custom workbooks to view a wide range of data from Defender for Cloud or other supported data sources.
Within Microsoft Defender for Cloud, you can access the built-in workbooks to tr
For pricing, check out the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/). - ## Prerequisites **Required roles and permissions**: To save workbooks, you must have at least [Workbook Contributor](../role-based-access-control/built-in-roles.md#workbook-contributor) permissions on the target resource group
-**Cloud availability**: :::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds :::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet)
+**Cloud availability**: :::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds :::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet)
## Workbooks gallery in Microsoft Defender for Cloud
With the integrated Azure Workbooks functionality, Microsoft Defender for Cloud
- ['Secure Score Over Time' workbook](#use-the-secure-score-over-time-workbook) - Track your subscriptions' scores and changes to recommendations for your resources - ['System Updates' workbook](#use-the-system-updates-workbook) - View missing system updates by resources, OS, severity, and more - ['Vulnerability Assessment Findings' workbook](#use-the-vulnerability-assessment-findings-workbook) - View the findings of vulnerability scans of your Azure resources-- ['Compliance Over Time' workbook](#use-the-compliance-over-time-workbook) - View the status of a subscription's compliance with the regulatory or industry standards you've selected
+- ['Compliance Over Time' workbook](#use-the-compliance-over-time-workbook) - View the status of a subscription's compliance with the regulatory or industry standards you've selected
- ['Active Alerts' workbook](#use-the-active-alerts-workbook) - View active alerts by severity, type, tag, MITRE ATT&CK tactics, and location. - Price Estimation workbook - View monthly consolidated price estimations for Microsoft Defender for Cloud plans based on the resource telemetry in your own environment. These numbers are estimates based on retail prices and don't provide actual billing data. - Governance workbook - The governance report in the governance rules settings lets you track progress of the rules effective in the organization.
In addition to the built-in workbooks, you can also find other useful workbooks
> [!TIP] > Use the **Edit** button to customize any of the supplied workbooks to your satisfaction. When you're done editing, select **Save** and your changes will be saved to a new workbook.
->
+>
> :::image type="content" source="media/custom-dashboards-azure-workbooks/editing-supplied-workbooks.png" alt-text="Editing the supplied workbooks to customize them for your particular needs."::: ### Use the 'Secure Score Over Time' workbook
This workbook gathers these findings and organizes them by severity, resource ty
:::image type="content" source="media/custom-dashboards-azure-workbooks/vulnerability-assessment-findings-report.png" alt-text="Defender for Cloud's vulnerability assessment findings report."::: - ### Use the 'Compliance Over Time' workbook Microsoft Defender for Cloud continually compares the configuration of your resources with requirements in industry standards, regulations, and benchmarks. Built-in standards include NIST SP 800-53, SWIFT CSP CSCF v2020, Canada Federal PBMM, HIPAA HITRUST, and more. You can select the specific standards relevant to your organization using the regulatory compliance dashboard. Learn more in [Customize the set of standards in your regulatory compliance dashboard](update-regulatory-compliance-packages.md).
When you select a standard from the overview area of the report, the lower pane
:::image type="content" source="media/custom-dashboards-azure-workbooks/compliance-over-time-details.png" alt-text="Detailed breakdown of the changes regarding a specific standard.":::
-You can keep drilling down - right down to the recommendation level - to view the resources that have passed or failed each control.
+You can keep drilling down - right down to the recommendation level - to view the resources that have passed or failed each control.
> [!TIP] > For each panel of the report, you can export the data to Excel with the "Export to Excel" option.
You can get more details on any of these alerts by selecting it.
:::image type="content" source="media/custom-dashboards-azure-workbooks/active-alerts-high.png" alt-text="Screenshot that shows all the active alerts with high severity from a specific resource.":::
-The MITRE ATT&CK tactics display by the order of the kill-chain, and the number of alerts the subscription has at each stage.
+The MITRE ATT&CK tactics display by the order of the kill-chain, and the number of alerts the subscription has at each stage.
:::image type="content" source="media/custom-dashboards-azure-workbooks/mitre-attack-tactics.png" alt-text="Screenshot showing the order of the kill-chain, and the number of alerts":::
By selecting the Open Alert View button, you can see all the details of that spe
:::image type="content" source="media/custom-dashboards-azure-workbooks/alert-details-screen.png" alt-text="Screenshot of an alert's details.":::
-By selecting Map View, you can also see all alerts based on their location.
+By selecting Map View, you can also see all alerts based on their location.
:::image type="content" source="media/custom-dashboards-azure-workbooks/alerts-map-view.png" alt-text="Screenshot of the alerts when viewed in a map.":::
-Select a location on the map to view all of the alerts for that location.
+Select a location on the map to view all of the alerts for that location.
:::image type="content" source="media/custom-dashboards-azure-workbooks/map-alert-details.png" alt-text="Screenshot showing the alerts in a specific location.":::
This workbook provides a customizable data analysis and gives you the ability to
:::image type="content" source="media/custom-dashboards-azure-workbooks/devops-workbook.png" alt-text="A screenshot that shows a sample results page once you've selected the DevOps workbook." lightbox="media/custom-dashboards-azure-workbooks/devops-workbook.png":::
-> [!NOTE]
+> [!NOTE]
> You must have a [GitHub connector](quickstart-onboard-github.md) or a [DevOps connector](quickstart-onboard-devops.md), connected to your environment in order to utilize this workbook **To deploy the workbook**:
To move workbooks that you've built in other Azure services into your Microsoft
You'll find your saved workbook in the **Recently modified workbooks** category. - ## Next steps This article described Defender for Cloud's integrated Azure Workbooks page with built-in reports and the option to build your own custom, interactive reports.
defender-for-cloud Defender For App Service Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-app-service-introduction.md
To protect your Azure App Service plan with Microsoft Defender for App Service,
| Supported App Service plans: | [The supported App Service plans](https://azure.microsoft.com/pricing/details/app-service/plans/) are:<br>ΓÇó Free plan<br>ΓÇó Basic Service plan<br>ΓÇó Standard Service plan<br>ΓÇó Premium v2 Service Plan<br>ΓÇó Premium v3 Service Plan<br>ΓÇó App Service Environment v1<br>ΓÇó App Service Environment v2<br>ΓÇó App Service Environment v3| | Clouds: | :::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet) | - ## What are the benefits of Microsoft Defender for App Service? Azure App Service is a fully managed platform for building and hosting your web apps and APIs. Since the platform is fully managed, you don't have to worry about the infrastructure. It provides management, monitoring, and operational insights to meet enterprise-grade performance, security, and compliance requirements. For more information, see [Azure App Service](https://azure.microsoft.com/services/app-service/).
When you enable Microsoft Defender for App Service, you immediately benefit from
- **Secure** - Defender for App Service assesses the resources covered by your App Service plan and generates security recommendations based on its findings. Use the detailed instructions in these recommendations to harden your App Service resources. - **Detect** - Defender for App Service detects a multitude of threats to your App Service resources by monitoring:
- - the VM instance in which your App Service is running, and its management interface
- - the requests and responses sent to and from your App Service apps
- - the underlying sandboxes and VMs
- - App Service internal logs - available thanks to the visibility that Azure has as a cloud provider
+ - the VM instance in which your App Service is running, and its management interface
+ - the requests and responses sent to and from your App Service apps
+ - the underlying sandboxes and VMs
+ - App Service internal logs - available thanks to the visibility that Azure has as a cloud provider
As a cloud-native solution, Defender for App Service can identify attack methodologies applying to multiple targets. For example, from a single host it would be difficult to identify a distributed attack from a small subset of IPs, crawling to similar endpoints on multiple hosts.
In this article, you learned about Microsoft Defender for App Service.
> [!div class="nextstepaction"] > [Enable enhanced protections](enable-enhanced-security.md)
-For related material, see the following articles:
+For related material, see the following articles:
- To export your alerts to Microsoft Sentinel, any third-party SIEM, or any other external tool, follow the instructions in [Stream alerts to a SIEM, SOAR, or IT Service Management solution](export-to-siem.md). - For a list of the Microsoft Defender for App Service alerts, see the [Reference table of alerts](alerts-reference.md#alerts-azureappserv).
defender-for-cloud Defender For Cloud Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-cloud-introduction.md
Microsoft Defender for Cloud is a cloud-native application protection platform (
![Diagram that shows the core functionality of Microsoft Defender for Cloud.](media/defender-for-cloud-introduction/defender-for-cloud-pillars.png)
+> [!NOTE]
+> For pricing information, see the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/).
+ ## Secure cloud applications Defender for Cloud helps you to incorporate good security practices early during the software development process, or DevSecOps. You can protect your code management environments and your code pipelines, and get insights into your development environment security posture from a single location. Defender for DevOps, a service available in Defender for Cloud, empowers security teams to manage DevOps security across multi-pipeline environments.
The security of your cloud and on-premises resources depends on proper configura
Defender for Cloud includes Foundational CSPM capabilities for free. You can also enable advanced CSPM capabilities by enabling the Defender CSPM plan. ++ | Capability | What problem does it solve? | Get started | Defender plan and pricing | |--|--|--|--| | [Centralized policy management](security-policy-concept.md) | Define the security conditions that you want to maintain across your environment. The policy translates to recommendations that identify resource configurations that violate your security policy. The [Microsoft cloud security benchmark](concept-regulatory-compliance.md) is a built-in standard that applies security principles with detailed technical implementation guidance for Azure and other cloud providers (such as AWS and GCP). | [Customize a security policy](custom-security-policies.md) | Foundational CSPM (Free) |
When your environment is threatened, security alerts right away indicate the nat
For more information about Defender for Cloud and how it works, check out: -- A [step-by-step walkthrough](https://mslearn.cloudguides.com/en-us/guides/Protect%20your%20multi-cloud%20environment%20with%20Microsoft%20Defender%20for%20Cloud) of Defender for Cloud
+- A [step-by-step walkthrough](https://mslearn.cloudguides.com/guides/Protect%20your%20multi-cloud%20environment%20with%20Microsoft%20Defender%20for%20Cloud) of Defender for Cloud
- An interview about Defender for Cloud with an expert in cybersecurity in [Lessons Learned from the Field](episode-six.md) - [Microsoft Defender for Cloud - Use cases](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/microsoft-defender-for-cloud-use-cases/ba-p/2953619) - [Microsoft Defender for Cloud PoC Series - Microsoft Defender for Containers](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/microsoft-defender-for-cloud-poc-series-microsoft-defender-for/ba-p/3064644)
defender-for-cloud Defender For Cloud Planning And Operations Guide https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-cloud-planning-and-operations-guide.md
When planning access control using Azure Role-based access control for Defender
> We recommend that you assign the least permissive role needed for users to complete their tasks. For example, users who only need to view information about the security state of resources but not take action, such as applying recommendations or editing policies, should be assigned the Reader role. ## Security policies and recommendations+ A security policy defines the desired configuration of your workloads and helps ensure compliance with company or regulatory security requirements. In Defender for Cloud, you can define policies for your Azure subscriptions, which can be tailored to the type of workload or the sensitivity of data. Defenders for Cloud policies contain the following components:
If your agent reports to a workspace other than the **default** workspace, any D
Defender for Cloud can monitor the security posture of your non-Azure computers but you need to first onboard these resources. Read [Onboard non-Azure computers](quickstart-onboard-machines.md) for more information on how to onboard non-Azure resources. ## Ongoing security monitoring+ After initial configuration and application of Defender for Cloud recommendations, the next step is considering Defender for Cloud operational processes. The Defender for Cloud Overview provides a unified view of security across all your Azure resources and any non-Azure resources you've connected. This example shows an environment with many issues to resolve:
Most Azure environments are dynamic, with resources regularly being created, spu
When you add new resources (VMs, SQL DBs) to your Azure environment, Defender for Cloud automatically discovers these resources and begins to monitor their security, including PaaS web roles and worker roles. If Data Collection is enabled in the [Security Policy](tutorial-security-policy.md), more monitoring capabilities are enabled automatically for your virtual machines.
-You should also regularly monitor existing resources for configuration changes that could have created security risks, drift from recommended baselines, and security alerts.
+You should also regularly monitor existing resources for configuration changes that could have created security risks, drift from recommended baselines, and security alerts.
### Hardening access and applications
As part of your security operations, you should also adopt preventative measures
You can use [adaptive application controls](adaptive-application-controls.md) to limit which applications can run on your VMs located in Azure. Among other benefits, adaptive application controls help harden your VMs against malware. With the help of machine learning, Defender for Cloud analyzes processes running in the VM to help you create allowlist rules. - ## Incident response Defender for Cloud detects and alerts you to threats as they occur. Organizations should monitor for new security alerts and take action as needed to investigate further or remediate the attack. For more information on how Defender for Cloud threat protection works, read [How Defender for Cloud detects and responds to threats](alerts-overview.md#detect-threats).
Once you identify the compromised system, you can run a [workflow automation](wo
> Read [Managing and responding to security alerts in Defender for Cloud](managing-and-responding-alerts.md) for more information on how to use Defender for Cloud capabilities to assist you during your Incident Response process. ## Next steps+ In this document, you learned how to plan for Defender for Cloud adoption. Learn more about Defender for Cloud: - [Managing and responding to security alerts in Defender for Cloud](managing-and-responding-alerts.md)
defender-for-cloud Defender For Container Registries Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-container-registries-introduction.md
To protect the Azure Resource Manager based registries in your subscription, ena
|Aspect|Details| |-|:-| |Release state:|Deprecated (Use [**Microsoft Defender for Containers**](defender-for-containers-introduction.md))|
-|Pricing:|**Microsoft Defender for container registries** is billed as shown on the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/)|
|Supported registries and images:|Linux images in ACR registries accessible from the public internet with shell access<br>[ACR registries protected with Azure Private Link](../container-registry/container-registry-private-link.md)| |Unsupported registries and images:|Windows images<br>'Private' registries (unless access is granted to [Trusted Services](../container-registry/allow-access-trusted-services.md#trusted-services))<br>Super-minimalist images such as [Docker scratch](https://hub.docker.com/_/scratch/) images, or "Distroless" images that only contain an application and its runtime dependencies without a package manager, shell, or OS<br>Images with [Open Container Initiative (OCI) Image Format Specification](https://github.com/opencontainers/image-spec/blob/master/spec.md)| |Required roles and permissions:|**Security reader** and [Azure Container Registry roles and permissions](../container-registry/container-registry-roles.md)| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png" border="false"::: Commercial clouds<br>:::image type="icon" source="./media/icons/yes-icon.png" border="false"::: National (Azure Government, Azure China 21Vianet)| - ## What are the benefits of Microsoft Defender for container registries? Defender for Cloud identifies Azure Resource Manager based ACR registries in your subscription and seamlessly provides Azure-native vulnerability assessment and management for your registry's images.
Defender for Cloud filters and classifies findings from the scanner. When an ima
By only notifying when there are problems, Defender for Cloud reduces the potential for unwanted informational alerts. - ## When are images scanned? There are three triggers for an image scan:
There are three triggers for an image scan:
- **Recently pulled** - Since new vulnerabilities are discovered every day, **Microsoft Defender for container registries** also scans, on a weekly basis, any image that has been pulled within the last 30 days. There's no additional charge for these rescans; as mentioned above, you're billed once per image. - **On import** - Azure Container Registry has import tools to bring images to your registry from Docker Hub, Microsoft Container Registry, or another Azure container registry. **Microsoft Defender for container registries** scans any supported images you import. Learn more in [Import container images to a container registry](../container-registry/container-registry-import-images.md).
-
+ The scan completes typically within 2 minutes, but it might take up to 40 minutes. Findings are made available as security recommendations such as this one: [![Sample Microsoft Defender for Cloud recommendation about vulnerabilities discovered in an Azure Container Registry (ACR) hosted image.](media/defender-for-containers/recommendation-acr-images-with-vulnerabilities.png)](media/defender-for-containers/recommendation-acr-images-with-vulnerabilities.png#lightbox) - ## How does Defender for Cloud work with Azure Container Registry Below is a high-level diagram of the components and benefits of protecting your registries with Defender for Cloud. ![Microsoft Defender for Cloud and Azure Container Registry (ACR) high-level overview.](./media/azure-container-registry-integration/aks-acr-integration-detailed.png) --- ## FAQ - Azure Container Registry image scanning ### How does Defender for Cloud scan an image?+ Defender for Cloud pulls the image from the registry and runs it in an isolated sandbox with the Qualys scanner. The scanner extracts a list of known vulnerabilities. Defender for Cloud filters and classifies findings from the scanner. When an image is healthy, Defender for Cloud marks it as such. Defender for Cloud generates security recommendations only for images that have issues to be resolved. By only notifying you when there are problems, Defender for Cloud reduces the potential for unwanted informational alerts. ### Can I get the scan results via REST API?+ Yes. The results are under [Sub-Assessments REST API](/rest/api/defenderforcloud/sub-assessments/list). Also, you can use Azure Resource Graph (ARG), the Kusto-like API for all of your resources: a query can fetch a specific scan. ### What registry types are scanned? What types are billed?+ For a list of the types of container registries supported by Microsoft Defender for container registries, see [Availability](#availability). If you connect unsupported registries to your Azure subscription, Defender for Cloud won't scan them and won't bill you for them. ### Can I customize the findings from the vulnerability scanner?+ Yes. If you have an organizational need to ignore a finding, rather than remediate it, you can optionally disable it. Disabled findings don't impact your secure score or generate unwanted noise. [Learn about creating rules to disable findings from the integrated vulnerability assessment tool](defender-for-containers-vulnerability-assessment-azure.md#disable-specific-findings). ### Why is Defender for Cloud alerting me to vulnerabilities about an image that isnΓÇÖt in my registry?+ Defender for Cloud provides vulnerability assessments for every image pushed or pulled in a registry. Some images may reuse tags from an image that was already scanned. For example, you may reassign the tag ΓÇ£LatestΓÇ¥ every time you add an image to a digest. In such cases, the ΓÇÿoldΓÇÖ image does still exist in the registry and may still be pulled by its digest. If the image has security findings and is pulled, it'll expose security vulnerabilities. ## Next steps
defender-for-cloud Defender For Containers Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-containers-introduction.md
You can learn more about [Kubernetes data plane hardening](kubernetes-workload-p
Defender for Containers scans the containers in Azure Container Registry (ACR) and Amazon AWS Elastic Container Registry (ECR) to notify you if there are known vulnerabilities in your images. When the scan completes, Defender for Containers provides details for each vulnerability detected, a security classification for each vulnerability detected, and guidance on how to remediate issues and protect vulnerable attack surfaces. Learn more about:+ - [Vulnerability assessment for Azure Container Registry (ACR)](defender-for-containers-vulnerability-assessment-azure.md) - [Vulnerability assessment for Amazon AWS Elastic Container Registry (ECR)](defender-for-containers-vulnerability-assessment-elastic.md)
Learn more about Defender for Containers in the following blogs:
- [Demonstrating Microsoft Defender for Cloud](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/how-to-demonstrate-the-new-containers-features-in-microsoft/ba-p/3281172) The release state of Defender for Containers is broken down by two dimensions: environment and feature. So, for example:
- - **Kubernetes data plane recommendations** for AKS clusters are GA
- - **Kubernetes data plane recommendations** for EKS clusters are preview
+
+- **Kubernetes data plane recommendations** for AKS clusters are GA
+- **Kubernetes data plane recommendations** for EKS clusters are preview
To view the status of the full matrix of features and environments, see [Microsoft Defender for Containers feature availability](supported-machines-endpoint-solutions-clouds-containers.md).
defender-for-cloud Defender For Databases Usage https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-databases-usage.md
Learn more about this Microsoft Defender plan in [Overview of Microsoft Defender
When Microsoft Defender for Cloud is enabled on your database, it detects anomalous activities and generates alerts. These alerts are available from multiple locations, including: - In the Azure portal:
- - **Microsoft Defender for Cloud's security alerts page** - Shows alerts for all resources protected by Defender for Cloud in the subscriptions you've got permissions to view.
- - The resource's **Microsoft Defender for Cloud** page - Shows alerts and recommendations for one specific resource, as shown above in [Enable enhanced security](#enable-enhanced-security).
+ - **Microsoft Defender for Cloud's security alerts page** - Shows alerts for all resources protected by Defender for Cloud in the subscriptions you've got permissions to view.
+ - The resource's **Microsoft Defender for Cloud** page - Shows alerts and recommendations for one specific resource, as shown above in [Enable enhanced security](#enable-enhanced-security).
- In the inbox of whoever in your organization has been [designated to receive email alerts](configure-email-notifications.md). > [!TIP]
When Microsoft Defender for Cloud is enabled on your database, it detects anomal
Defender for Cloud sends email notifications when it detects anomalous database activities. The email includes details of the suspicious security event such as the nature of the anomalous activities, database name, server name, application name, and event time. The email also provides information on possible causes and recommended actions to investigate and mitigate any potential threats to the database. 1. From the email, select the **View the full alert** link to launch the Azure portal and show the security alerts page, which provides an overview of active threats detected on the database.
-
+ :::image type="content" source="media/defender-for-databases-usage/suspected-brute-force-attack-notification-email.png" alt-text="Defender for Cloud's email notification about a suspected brute force attack."::: View active threats at the subscription level from within the Defender for Cloud portal pages:
Defender for Cloud sends email notifications when it detects anomalous database
:::image type="content" source="media/defender-for-databases-usage/db-alerts-page.png" alt-text="Active threats on one or more subscriptions are shown in Microsoft Defender for Cloud." lightbox="media/defender-for-databases-usage/db-alerts-page.png"::: 1. For additional details and recommended actions for investigating the current threat and remediating future threats, select a specific alert.
-
- :::image type="content" source="media/defender-for-databases-usage/specific-alert-details.png" alt-text="Details of a specific alert." lightbox="media/defender-for-databases-usage/specific-alert-details.png":::
+ :::image type="content" source="media/defender-for-databases-usage/specific-alert-details.png" alt-text="Details of a specific alert." lightbox="media/defender-for-databases-usage/specific-alert-details.png":::
> [!TIP] > For a detailed tutorial on how to handle your alerts, see [Tutorial: Triage, investigate, and respond to security alerts](tutorial-security-incident.md). - ## Next steps - [Automate responses to Defender for Cloud triggers](workflow-automation.md)
defender-for-cloud Defender For Kubernetes Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-kubernetes-introduction.md
# Introduction to Microsoft Defender for Kubernetes (deprecated) - Defender for Cloud provides real-time threat protection for your Azure Kubernetes Service (AKS) containerized environments and generates alerts for suspicious activities. You can use this information to quickly remediate security issues and improve the security of your containers.
-Threat protection at the cluster level is provided by the analysis of the Kubernetes audit logs.
+Threat protection at the cluster level is provided by the analysis of the Kubernetes audit logs.
Host-level threat detection for your Linux AKS nodes is available if you enable [Microsoft Defender for Servers](defender-for-servers-introduction.md) and its Log Analytics agent. However, if your cluster is deployed on an Azure Kubernetes Service virtual machine scale set, the Log Analytics agent isn't currently supported. ## Availability
Host-level threat detection for your Linux AKS nodes is available if you enable
> > Learn more about this change in [the release note](release-notes-archive.md#microsoft-defender-for-containers-plan-released-for-general-availability-ga). - |Aspect|Details| |-|:-| |Release state:|Deprecated (Use [**Microsoft Defender for Containers**](defender-for-containers-introduction.md))|
-|Pricing:|**Microsoft Defender for Kubernetes** is billed as shown on the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/).|
|Required roles and permissions:|**Security admin** can dismiss alerts.<br>**Security reader** can view findings.| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet)| - ## What are the benefits of Microsoft Defender for Kubernetes? Our global team of security researchers constantly monitor the threat landscape. As container-specific alerts and vulnerabilities are discovered, these researchers add them to our threat intelligence feeds and Defender for Cloud alerts you to any that are relevant for your environment.
For a full list of the cluster level alerts, see alerts with "K8S_" prefix in th
- [What happens to subscriptions with Microsoft Defender for Kubernetes or Microsoft Defender for Containers enabled?](#what-happens-to-subscriptions-with-microsoft-defender-for-kubernetes-or-microsoft-defender-for-containers-enabled) - [Is Defender for Containers a mandatory upgrade?](#is-defender-for-containers-a-mandatory-upgrade)-- [Does the new plan reflect a price increase?](#does-the-new-plan-reflect-a-price-increase) - [How can I calculate my potential price change?](#how-can-i-calculate-my-potential-price-change) ### What happens to subscriptions with Microsoft Defender for Kubernetes or Microsoft Defender for Containers enabled?
If you haven't enabled them yet, or create a new subscription, these plans can n
### Is Defender for Containers a mandatory upgrade?
-No. Subscriptions that have either Microsoft Defender for Kubernetes or Microsoft Defender for Containers Registries enabled doesn't need to be upgraded to the new Microsoft Defender for Containers plan. However, they won't benefit from the new and improved capabilities and theyΓÇÖll have an upgrade icon shown alongside them in the Azure portal.
-
-### Does the new plan reflect a price increase?
-
-The new comprehensive Container security plan combines Kubernetes protection and container registry image scanning, and removes the previous dependency on the (paid) Defender for Servers plan. The price for the service may change and is dependent on your container architecture and coverage. The cost may increase or decrease, depending on the number of images in your Container Registry, or the number of Kubernetes nodes among other reasons.
+No. Subscriptions that have either Microsoft Defender for Kubernetes or Microsoft Defender for Containers Registries enabled doesn't need to be upgraded to the new Microsoft Defender for Containers plan. However, they won't benefit from the new and improved capabilities and theyΓÇÖll have an upgrade icon shown alongside them in the Azure portal.
### How can I calculate my potential price change?
defender-for-cloud Defender For Storage Introduction https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-storage-introduction.md
**Microsoft Defender for Storage** is an Azure-native layer of security intelligence that detects potential threats to your storage accounts. It helps prevent the three major impacts on your data and workload: malicious file uploads, sensitive data exfiltration, and data corruption.
-> [!Note]
-> This article is about the new Defender for Storage plan that was launched on March 28, 2023.  It includes new features like Malware Scanning and Sensitive Data Threat Detection. This plan also provides a more predictable pricing structure for better control over coverage and costs. Additionally, all new Defender features will only be added to the new plan.  Migrating to the new plan is a simple process, read here about how to migrate from the classic plan.
+> [!NOTE]
+> This article is about the new Defender for Storage plan that was launched on March 28, 2023. It includes new features like Malware Scanning and Sensitive Data Threat Detection. This plan also provides a more predictable pricing structure for better control over coverage and costs. Additionally, all new Defender features will only be added to the new plan. Migrating to the new plan is a simple process, read here about how to migrate from the classic plan.
-Microsoft Defender for Storage provides comprehensive security by analyzing the data plane and control plane telemetry generated by [Azure Blob Storage](https://azure.microsoft.com/services/storage/blobs/), [Azure Files](https://azure.microsoft.com/products/storage/files/), and [Azure Data Lake Storage](https://azure.microsoft.com/products/storage/data-lake-storage) services. It uses advanced threat detection capabilities powered by [Microsoft Threat Intelligence](https://go.microsoft.com/fwlink/?linkid=2128684), Microsoft Defender Antivirus, and [Sensitive Data Discovery](defender-for-storage-data-sensitivity.md) to help you discover and mitigate potential threats.
+Microsoft Defender for Storage provides comprehensive security by analyzing the data plane and control plane telemetry generated by [Azure Blob Storage](https://azure.microsoft.com/services/storage/blobs/), [Azure Files](https://azure.microsoft.com/products/storage/files/), and [Azure Data Lake Storage](https://azure.microsoft.com/products/storage/data-lake-storage) services. It uses advanced threat detection capabilities powered by [Microsoft Threat Intelligence](https://go.microsoft.com/fwlink/?linkid=2128684), Microsoft Defender Antivirus, and [Sensitive Data Discovery](defender-for-storage-data-sensitivity.md) to help you discover and mitigate potential threats.
Defender for Storage includes:+ - Activity Monitoring - Sensitive data threat detection (preview feature, new plan only) - Malware Scanning (preview feature, new plan only)
Defender for Storage includes:
## Getting started
-With a simple agentless setup at scale, you can [enable Defender for Storage](../storage/common/azure-defender-storage-configure.md) at the subscription or resource levels through the portal or programmatically. When enabled at the subscription level, all existing and newly created storage accounts under that subscription will be automatically protected. You can also exclude specific storage accounts from protected subscriptions.
+With a simple agentless setup at scale, you can [enable Defender for Storage](../storage/common/azure-defender-storage-configure.md) at the subscription or resource levels through the portal or programmatically. When enabled at the subscription level, all existing and newly created storage accounts under that subscription will be automatically protected. You can also exclude specific storage accounts from protected subscriptions.
> [!NOTE] > If you already have the Defender for Storage (classic) enabled and want to access the new security features and pricing, you'll need to [migrate to the new pricing plan](defender-for-storage-classic-migrate.md).
Defender for Storage provides the following:
## How does the service work?
-### Activity monitoring
+### Activity monitoring
Defender for Storage continuously analyzes data and control plane logs from protected storage accounts when enabled. There's no need to turn on resource logs for security benefits. Using Microsoft Threat Intelligence, it identifies suspicious signatures such as malicious IP addresses, Tor exit nodes, and potentially dangerous apps. It also builds data models and uses statistical and machine-learning methods to spot baseline activity anomalies, which may indicate malicious behavior. You'll receive security alerts for suspicious activities, but Defender for Storage ensures you won't get too many similar alerts. Activity monitoring won't affect performance, ingestion capacity, or access to your data.
Defender for Storage continuously analyzes data and control plane logs from prot
### Malware Scanning (powered by Microsoft Defender Antivirus)
-Malware Scanning in Defender for Storage helps protect storage accounts from malicious content by performing a full malware scan on uploaded content in near real time, leveraging Microsoft Defender Antivirus capabilities. It is designed to help fulfill security and compliance requirements to handle untrusted content. Every file type is scanned, and scan results are returned for every file. The Malware Scanning capability is an agentless SaaS solution that allows simple setup at scale, with zero maintenance, and supports automating response at scale.
+Malware Scanning in Defender for Storage helps protect storage accounts from malicious content by performing a full malware scan on uploaded content in near real time, leveraging Microsoft Defender Antivirus capabilities. It is designed to help fulfill security and compliance requirements to handle untrusted content. Every file type is scanned, and scan results are returned for every file. The Malware Scanning capability is an agentless SaaS solution that allows simple setup at scale, with zero maintenance, and supports automating response at scale.
This is a configurable feature in the new Defender for Storage plan that is priced per GB scanned. Learn more about [Malware Scanning](defender-for-storage-malware-scan.md). ### Sensitive data threat detection (powered by Sensitive Data Discovery)
-The ΓÇÿsensitive data threat detectionΓÇÖ capability enables security teams to efficiently prioritize and examine security alerts by considering the sensitivity of the data that could be at risk, leading to better detection and preventing data breaches.
-ΓÇÿSensitive data threat detectionΓÇÖ is powered by the ΓÇ£Sensitive Data DiscoveryΓÇ¥ engine, an agentless engine that uses a smart sampling method to find resources with sensitive data.
+The ΓÇÿsensitive data threat detectionΓÇÖ capability enables security teams to efficiently prioritize and examine security alerts by considering the sensitivity of the data that could be at risk, leading to better detection and preventing data breaches.
+ΓÇÿSensitive data threat detectionΓÇÖ is powered by the ΓÇ£Sensitive Data DiscoveryΓÇ¥ engine, an agentless engine that uses a smart sampling method to find resources with sensitive data.
The service is integrated with Microsoft Purview's sensitive information types (SITs) and classification labels, allowing seamless inheritance of your organization's sensitivity settings.
-This is a configurable feature in the new Defender for Storage plan. You can choose to enable or disable it with no additional cost.
-For more details, visit [Sensitive data threat detection](defender-for-storage-data-sensitivity.md).
-
+This is a configurable feature in the new Defender for Storage plan. You can choose to enable or disable it with no additional cost.
+For more details, visit [Sensitive data threat detection](defender-for-storage-data-sensitivity.md).
-## Pricing and cost controls
+## Pricing and cost controls
### Per storage account pricing
-The new Microsoft Defender for Storage plan has predictable pricing based on the number of storage accounts you protect. With the option to enable at the subscription or resource level and exclude specific storage accounts from protected subscriptions, you have increased flexibility to manage your security coverage. The pricing plan simplifies the cost calculation process, allowing you to scale easily as your needs change. Additional charges may apply to storage accounts with high-volume transactions.
+The new Microsoft Defender for Storage plan has predictable pricing based on the number of storage accounts you protect. With the option to enable at the subscription or resource level and exclude specific storage accounts from protected subscriptions, you have increased flexibility to manage your security coverage. The pricing plan simplifies the cost calculation process, allowing you to scale easily as your needs change. Additional charges may apply to storage accounts with high-volume transactions.
-### Malware Scanning - Billing per GB, monthly capping, and configuration
+### Malware Scanning - Billing per GB, monthly capping, and configuration
-Malware Scanning is charged on a per-gigabyte basis for scanned data. To ensure cost predictability, a monthly cap can be established for each storage account's scanned data volume, per-month basis. This cap can be set subscription-wide, affecting all storage accounts within the subscription, or applied to individual storage accounts. Under protected subscriptions, you can configure specific storage accounts with different limits.
+Malware Scanning is charged on a per-gigabyte basis for scanned data. To ensure cost predictability, a monthly cap can be established for each storage account's scanned data volume, per-month basis. This cap can be set subscription-wide, affecting all storage accounts within the subscription, or applied to individual storage accounts. Under protected subscriptions, you can configure specific storage accounts with different limits.
By default, the limit is set to 5,000GB per month per storage account. Once this threshold is exceeded, scanning will cease for the remaining blobs, with a 20GB confidence interval. For configuration details, refer to [configure Defender for Storage](../storage/common/azure-defender-storage-configure.md).
-### Enablement at scale with granular controls
+### Enablement at scale with granular controls
Microsoft Defender for Storage enables you to secure your data at scale with granular controls. You can apply consistent security policies across all your storage accounts within a subscription or customize them for specific accounts to suit your business needs. You can also control your costs by choosing the level of protection you need for each resource. To get started, visit [enable Defender for Storage](../storage/common/azure-defender-storage-configure.md). - ## Understanding the differences between Malware Scanning and hash reputation analysisΓÇ» Defender for Storage offers two capabilities to detect malicious content uploaded to storage accounts: **Malware Scanning** (paid add-on feature available only on the new plan) and **hash reputation analysis** (available in all plans).
Defender for Storage offers two capabilities to detect malicious content uploade
In summary, Malware Scanning, which is only available on the new plan for Blob storage, offers a more comprehensive approach to malware detection by analyzing the full content of files and incorporating hash reputation analysis in its scanning methodology. - ## Common questions ### Is it possible to enable Defender for Storage on a resource level?
The Defender for Storage (classic) will still continue to be supported for three
Yes, you can use the REST API to return to the Defender for Storage (classic) plan.
-If you want to switch back to the Defender for Storage (classic) plan, you need to do two things. First, disable the new Defender for Storage plan that is enabled now. Second, check if there are any policies that can re-enable the new plan and turn them off too. **The two Azure built-in policies enabling the new plan are Configure Microsoft Defender for Storage to be enabled** and **Configure basic Microsoft Defender for Storage to be enabled (Activity Monitoring only).**
+If you want to switch back to the Defender for Storage (classic) plan, you need to do two things. First, disable the new Defender for Storage plan that is enabled now. Second, check if there are any policies that can re-enable the new plan and turn them off too. The two Azure built-in policies enabling the new plan are **Configure Microsoft Defender for Storage to be enabled** and **Configure basic Microsoft Defender for Storage to be enabled (Activity Monitoring only).**
### How can I calculate the cost of each plan?
defender-for-cloud Defender For Storage Threats Alerts https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/defender-for-storage-threats-alerts.md
Microsoft security researchers have analyzed the attack surface of storage servi
Security alerts are triggered in the following scenarios:
-| Scenario  | Description  | Requirements  |
-|: |: |: |
-| Malicious content upload  | [Malware Scanning](defender-for-storage-malware-scan.md) scans every blob uploaded to your storage accounts. It detects ransomware, viruses, spyware, and other malware uploaded to the storage account, helping you prevent it from entering the organization and spreading. The classic malware hash analysis alert operates differently from Malware Scanning. It compares the uploaded blob/file hash with a list of known malicious hash signatures rather than analyzing the file contents for malware.  | Malware Scanning needs to be enabled, free during preview.<br>Supported only on Azure Blob (Standard general-purpose v2, Azure Data Lake Storage Gen2 or premium block blobs) storage accounts. |
-| Sensitive data exposure event  | Detection of access level change allowing unauthenticated public access to blob containers with sensitive data from the internet  | [Sensitive Data Threat Detection](defender-for-storage-data-sensitivity.md) needs to be enabled, no additional charge<br>Supported only on Azure Blob Storage storage accounts.  |
-| Suspicious activities on resources with sensitive data  | Detection of suspicious activities occurring on blob containers containing sensitive data  | [Sensitive Data Threat Detection](defender-for-storage-data-sensitivity.md) needs to be enabled, no additional charge<br>Supported only on Azure Blob Storage storage accounts.  |
-| Compromised, misconfigured and unusual authentication tokens  | Detection of compromised SAS tokens used for data plane authentication and operations, and detection of unusual SAS tokens that can be generated by a malicious actor  | |
-| Data and permissions inspection  | Detection of unusual exploration of the data and inspection of access permissions  | |
-| Data exfiltration  | Detection of unusual extraction of data from storage accounts  | |
-| Data deletion  | Detection of unusual deletions in storage accounts  | |
-| Blob-hunting attempts  | Detection of collection attempts by scanning and enumerating resources for publicly exposed storage resources.<br>Read more on [how to detect, investigate and prevent blob-hunting](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/protect-your-storage-resources-against-blob-hunting/ba-p/3735238).  | |
-| Unusual access patterns  | Detection of unusual access to storage accounts from unusual locations, applications, and with unusual authentication  | |
-| Suspicious access signatures  | Detection of known suspicious IP addresses by Microsoft Threat Intelligence, known Tor exit nodes, and known suspicious applications  | |
-| Phishing campaigns  | Detection of phishing content hosted on storage accounts and identified as part of a phishing attack impacting Microsoft 365 users  | |
+| Scenario | Description |
+|: |: |
+| Malicious content upload | [Malware Scanning](defender-for-storage-malware-scan.md) scans every blob uploaded to your storage accounts. It detects ransomware, viruses, spyware, and other malware uploaded to the storage account, helping you prevent it from entering the organization and spreading. The classic malware hash analysis alert operates differently from Malware Scanning. It compares the uploaded blob/file hash with a list of known malicious hash signatures rather than analyzing the file contents for malware. |
+| Sensitive data exposure event | Detection of access level change allowing unauthenticated public access to blob containers with sensitive data from the internet |
+| Suspicious activities on resources with sensitive data | Detection of suspicious activities occurring on blob containers containing sensitive data |
+| Compromised, misconfigured and unusual authentication tokens | Detection of compromised SAS tokens used for data plane authentication and operations, and detection of unusual SAS tokens that can be generated by a malicious actor |
+| Data and permissions inspection | Detection of unusual exploration of the data and inspection of access permissions |
+| Data exfiltration | Detection of unusual extraction of data from storage accounts |
+| Data deletion | Detection of unusual deletions in storage accounts |
+| Blob-hunting attempts | Detection of collection attempts by scanning and enumerating resources for publicly exposed storage resources.<br>Read more on [how to detect, investigate and prevent blob-hunting](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/protect-your-storage-resources-against-blob-hunting/ba-p/3735238). |
+| Unusual access patterns | Detection of unusual access to storage accounts from unusual locations, applications, and with unusual authentication |
+| Suspicious access signatures | Detection of known suspicious IP addresses by Microsoft Threat Intelligence, known Tor exit nodes, and known suspicious applications |
+| Phishing campaigns | Detection of phishing content hosted on storage accounts and identified as part of a phishing attack impacting Microsoft 365 users |
Security alerts include details of the suspicious activity, relevant investigation steps, remediation actions, and security recommendations. Alerts can be exported to Microsoft Sentinel or any other third-party SIEM/XDR tool. Learn more about [how to stream alerts to a SIEM, SOAR, or IT Service Management solution](export-to-siem.md).
defender-for-cloud Deploy Vulnerability Assessment Byol Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/deploy-vulnerability-assessment-byol-vm.md
Alternatively, you might want to deploy your own privately licensed vulnerabilit
|Required roles and permissions:|**Resource owner** can deploy the scanner<br>**Security reader** can view findings| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet)| -- ## Deploy a BYOL solution from the Azure portal The BYOL options refer to supported third-party vulnerability assessment solutions. Currently both Qualys and Rapid7 are supported providers.
Supported solutions report vulnerability data to the partner's management platfo
Your VMs appear in one or more of the following groups:
- * **Healthy resources** ΓÇô Defender for Cloud has detected a vulnerability assessment solution running on these VMs.
- * **Unhealthy resources** ΓÇô A vulnerability scanner extension can be deployed to these VMs.
- * **Not applicable resources** ΓÇô these VMs can't have a vulnerability scanner extension deployed.
+ - **Healthy resources** ΓÇô Defender for Cloud has detected a vulnerability assessment solution running on these VMs.
+ - **Unhealthy resources** ΓÇô A vulnerability scanner extension can be deployed to these VMs.
+ - **Not applicable resources** ΓÇô these VMs can't have a vulnerability scanner extension deployed.
1. From the list of unhealthy machines, select the ones to receive a vulnerability assessment solution and select **Remediate**.
- > [!IMPORTANT]
- > Depending on your configuration, you might only see a subset of this list.
+ > [!IMPORTANT]
+ > Depending on your configuration, you might only see a subset of this list.
+ >
> - If you haven't got a third-party vulnerability scanner configured, you won't be offered the opportunity to deploy it. > - If your selected VMs aren't protected by Microsoft Defender for Servers, the Defender for Cloud integrated vulnerability scanner option will be unavailable.
Supported solutions report vulnerability data to the partner's management platfo
After the vulnerability assessment solution is installed on the target machines, Defender for Cloud runs a scan to detect and identify vulnerabilities in the system and application. It might take a couple of hours for the first scan to complete. After that, it runs hourly. -- ## Deploy a BYOL solution using PowerShell and the REST API To programmatically deploy your own privately licensed vulnerability assessment solution from [Qualys](https://www.qualys.com/lp/azure) or [Rapid7](https://www.rapid7.com/products/insightvm/), use the supplied script [PowerShell > Vulnerability Solution](https://github.com/Azure/Azure-Security-Center/tree/master/Powershell%20scripts/Vulnerability%20Solution). This script uses the REST API to create a new security solution in Defender for Cloud. You'll need a license and a key provided by your service provider (Qualys or Rapid7).
-> [!IMPORTANT]
+> [!IMPORTANT]
> Only one solution can be created per license. Attempting to create another solution using the same name/license/key will fail. ### Prerequisites
Example (this example doesn't include valid license details):
- [If I deploy a Qualys agent, what communications settings are required?](#if-i-deploy-a-qualys-agent-what-communications-settings-are-required) - [Why do I have to specify a resource group when configuring a BYOL solution?](#why-do-i-have-to-specify-a-resource-group-when-configuring-a-byol-solution) - ### If I deploy a Qualys agent, what communications settings are required? The Qualys Cloud Agent is designed to communicate with Qualys's SOC at regular intervals for updates, and to perform the various operations required for product functionality. To allow the agent to communicate seamlessly with the SOC, configure your network security to allow inbound and outbound traffic to the Qualys SOC CIDR and URLs.
-There are multiple Qualys platforms across various geographic locations. The SOC CIDR and URLs differ depending on the host platform of your Qualys subscription. To identify your Qualys host platform, use this page https://www.qualys.com/platform-identification/.
+There are multiple Qualys platforms across various geographic locations. The SOC CIDR and URLs differ depending on the host platform of your Qualys subscription. To identify your Qualys host platform, use this page <https://www.qualys.com/platform-identification/>.
### Why do I have to specify a resource group when configuring a BYOL solution? When you set up your solution, you must choose a resource group to attach it to. The solution isn't an Azure resource, so it won't be included in the list of the resource groupΓÇÖs resources. Nevertheless, it's attached to that resource group. If you later delete the resource group, the BYOL solution is unavailable. -- ## Next steps > [!div class="nextstepaction"] > [Remediate the findings from your vulnerability assessment solution](remediate-vulnerability-findings-vm.md) - Defender for Cloud also offers vulnerability analysis for your: - SQL databases - [Explore vulnerability assessment reports in the vulnerability assessment dashboard](defender-for-sql-on-machines-vulnerability-assessment.md#explore-vulnerability-assessment-reports)
defender-for-cloud Deploy Vulnerability Assessment Defender Vulnerability Management https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/deploy-vulnerability-assessment-defender-vulnerability-management.md
You can learn more by watching this video from the Defender for Cloud in the Fie
- [Microsoft Defender for Servers](episode-five.md)
-## Availability
+## Availability
|Aspect|Details| |-|:-|
The integration between Microsoft Defender for Endpoint and Microsoft Defender f
- **To onboard via the REST API**, run PUT/DELETE using this URL: `https://management.azure.com/subscriptions/.../resourceGroups/.../providers/Microsoft.Compute/virtualMachines/.../providers/Microsoft.Security/serverVulnerabilityAssessments/mdetvm?api-version=2015-06-01-preview` - The findings for **all** vulnerability assessment tools are in the Defender for Cloud recommendation **Vulnerabilities in your virtual machines should be remediated**. Learn about how to [view and remediate findings from vulnerability assessment solutions on your VMs](remediate-vulnerability-findings-vm.md) ## Learn more
You can check out the following blogs:
- [Microsoft Defender for Cloud Server Monitoring Dashboard](https://techcommunity.microsoft.com/t5/microsoft-defender-for-cloud/microsoft-defender-for-cloud-server-monitoring-dashboard/ba-p/2869658) ## Next steps+ > [!div class="nextstepaction"] > [Remediate the findings from your vulnerability assessment solution](remediate-vulnerability-findings-vm.md)
defender-for-cloud Deploy Vulnerability Assessment Vm https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/deploy-vulnerability-assessment-vm.md
A core component of every cyber risk and security program is the identification
When a machine is found that doesn't have a vulnerability assessment solution deployed, Defender for Cloud generates the security recommendation: **Machines should have a vulnerability assessment solution**. Use this recommendation to deploy the vulnerability assessment solution to your Azure virtual machines and your Azure Arc-enabled hybrid machines.
-Defender for Cloud includes vulnerability scanning for your machines at no extra cost. You don't need a Qualys license or even a Qualys account - everything's handled seamlessly inside Defender for Cloud. This page provides details of this scanner and instructions for how to deploy it.
+Defender for Cloud includes vulnerability scanning for your machines. You don't need a Qualys license or even a Qualys account - everything's handled seamlessly inside Defender for Cloud. This page provides details of this scanner and instructions for how to deploy it.
> [!TIP] > The integrated vulnerability assessment solution supports both Azure virtual machines and hybrid machines. To deploy the vulnerability assessment scanner to your on-premises and multicloud machines, connect them to Azure first with Azure Arc as described in [Connect your non-Azure machines to Defender for Cloud](quickstart-onboard-machines.md).
If you don't want to use the vulnerability assessment powered by Qualys, you can
|Required roles and permissions:|[Owner](../role-based-access-control/built-in-roles.md#owner) (resource group level) can deploy the scanner<br>[Security Reader](../role-based-access-control/built-in-roles.md#security-reader) can view findings| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet)<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Connected AWS accounts| - ## Overview of the integrated vulnerability scanner The vulnerability scanner included with Microsoft Defender for Cloud is powered by Qualys. Qualys' scanner is one of the leading tools for real-time identification of vulnerabilities. It's only available with [Microsoft Defender for Servers](defender-for-servers-introduction.md). You don't need a Qualys license or even a Qualys account - everything's handled seamlessly inside Defender for Cloud.
The vulnerability scanner extension works as follows:
1. **Gather information** - The extension collects artifacts and sends them for analysis in the Qualys cloud service in the defined region.
-1. **Analyze** - Qualys' cloud service conducts the vulnerability assessment and sends its findings to Defender for Cloud.
+1. **Analyze** - Qualys' cloud service conducts the vulnerability assessment and sends its findings to Defender for Cloud.
> [!IMPORTANT] > To ensure the privacy, confidentiality, and security of our customers, we don't share customer details with Qualys. [Learn more about the privacy standards built into Azure](https://www.microsoft.com/trust-center/privacy).
The vulnerability scanner extension works as follows:
[![Process flow diagram for Microsoft Defender for Cloud's built-in vulnerability scanner.](media/built-in-vulnerability-assessment/va-vm-flow-diagram.png)](media/built-in-vulnerability-assessment/va-vm-flow-diagram.png#lightbox) - ## Deploy the integrated scanner to your Azure and hybrid machines 1. From the [Azure portal](https://azure.microsoft.com/features/azure-portal/), open **Defender for Cloud**.
The vulnerability scanner extension works as follows:
Your machines will appear in one or more of the following groups: - **Healthy resources** ΓÇô Defender for Cloud has detected a vulnerability assessment solution running on these machines.
- - **Unhealthy resources** ΓÇô A vulnerability scanner extension can be deployed to these machines.
+ - **Unhealthy resources** ΓÇô A vulnerability scanner extension can be deployed to these machines.
- **Not applicable resources** ΓÇô these machines [aren't supported for the vulnerability scanner extension](#why-does-my-machine-show-as-not-applicable-in-the-recommendation). 1. From the list of unhealthy machines, select the ones to receive a vulnerability assessment solution and select **Remediate**. >[!IMPORTANT]
- > Depending on your configuration, this list might appear differently.
+ > Depending on your configuration, this list might appear differently.
> > - If you haven't got a third-party vulnerability scanner configured, you won't be offered the opportunity to deploy it. > - If your selected machines aren't protected by Microsoft Defender for Servers, the Defender for Cloud integrated vulnerability scanner option won't be available.
- :::image type="content" source="./media/deploy-vulnerability-assessment-vm/recommendation-remediation-options-builtin.png" alt-text="The options for which type of remediation flow you want to choose when responding to the recommendation ** Machines should have a vulnerability assessment solution** recommendation page":::
+ :::image type="content" source="./media/deploy-vulnerability-assessment-vm/recommendation-remediation-options-builtin.png" alt-text="The options for which type of remediation flow you want to choose when responding to the recommendation page":::
1. Choose the recommended option, **Deploy integrated vulnerability scanner**, and **Proceed**. 1. You'll be asked for one further confirmation. Select **Remediate**. The scanner extension will be installed on all of the selected machines within a few minutes.
-
+ Scanning begins automatically as soon as the extension is successfully deployed. Scans will then run every 12 hours. This interval isn't configurable. >[!IMPORTANT]
The vulnerability scanner extension works as follows:
> > If your machine is in a region in an Azure European geography (such as Europe, UK, Germany), its artifacts will be processed in Qualys' European data center. Artifacts for virtual machines located elsewhere are sent to the US data center. - ## Automate at-scale deployments > [!NOTE]
Some of the ways you can automate deployment at scale of the integrated scanner:
- **Azure Logic Apps** ΓÇô Build a logic app based on [the sample app](https://github.com/Azure/Azure-Security-Center/tree/master/Workflow%20automation/Install-VulnAssesmentAgent). Use Defender for Cloud's [workflow automation](workflow-automation.md) tools to trigger your logic app to deploy the scanner whenever the **Machines should have a vulnerability assessment solution** recommendation is generated for a resource. - **REST API** ΓÇô To deploy the integrated vulnerability assessment solution using the Defender for Cloud REST API, make a PUT request for the following URL and add the relevant resource ID: ```https://management.azure.com/<resourceId>/providers/Microsoft.Security/serverVulnerabilityAssessments/default?api-Version=2015-06-01-previewΓÇï``` -- ## Trigger an on-demand scan
-You can trigger an on-demand scan from the machine itself, using locally or remotely executed scripts or Group Policy Object (GPO). Alternatively, you can integrate it into your software distribution tools at the end of a patch deployment job.
+You can trigger an on-demand scan from the machine itself, using locally or remotely executed scripts or Group Policy Object (GPO). Alternatively, you can integrate it into your software distribution tools at the end of a patch deployment job.
The following commands trigger an on-demand scan:
The following commands trigger an on-demand scan:
### Are there any additional charges for the Qualys license?
-No. The built-in scanner is free to all Microsoft Defender for Servers users. The recommendation deploys the scanner with its licensing and configuration information. No additional licenses are required.
+No. The built-in scanner is free to all Microsoft Defender for Servers users. The recommendation deploys the scanner with its licensing and configuration information. No additional licenses are required.
### What prerequisites and permissions are required to install the Qualys extension?
During setup, Defender for Cloud checks to ensure that the machine can communica
- `https://qagpublic.qg2.apps.qualys.eu` - Qualys' European data center The extension doesn't currently accept any proxy configuration details. However, you can configure the Qualys agent's proxy settings locally in the Virtual Machine. Please follow the guidance in the Qualys documentation:+ - [Windows proxy configuration](https://qualysguard.qg2.apps.qualys.com/portal-help/en/ca/agents/win_proxy.htm) - [Linux proxy configuration](https://qualysguard.qg2.apps.qualys.com/portal-help/en/ca/agents/linux_proxy.htm)
-### Can I remove the Defender for Cloud Qualys extension?
-If you want to remove the extension from a machine, you can do it manually or with any of your programmatic tools.
+### Can I remove the Defender for Cloud Qualys extension?
+
+If you want to remove the extension from a machine, you can do it manually or with any of your programmatic tools.
You'll need the following details:
-* On Linux, the extension is called "LinuxAgent.AzureSecurityCenter" and the publisher name is "Qualys".
-* On Windows, the extension is called "WindowsAgent.AzureSecurityCenter" and the provider name is "Qualys".
+- On Linux, the extension is called "LinuxAgent.AzureSecurityCenter" and the publisher name is "Qualys".
+- On Windows, the extension is called "WindowsAgent.AzureSecurityCenter" and the provider name is "Qualys".
### How can I check that the Qualys extension is properly installed?
You can use the `curl` command to check the connectivity to the relevant Qualys
In addition, make sure that the DNS resolution for these URLs is successful and that everything is [valid with the certificate authority](https://success.qualys.com/support/s/article/000001856) that is used. ### How does the extension get updated?+ Like the Microsoft Defender for Cloud agent itself and all other Azure extensions, minor updates of the Qualys scanner might automatically happen in the background. All agents and extensions are tested extensively before being automatically deployed. ### Why does my machine show as "not applicable" in the recommendation?
No. The scanner runs on your machine to look for vulnerabilities of the machine
The Defender for Cloud extension is a separate tool from your existing Qualys scanner. Licensing restrictions mean that it can only be used within Microsoft Defender for Cloud. ### How quickly will the scanner identify newly disclosed critical vulnerabilities?+ Within 48 hrs of the disclosure of a critical vulnerability, Qualys incorporates the information into their processing and can identify affected machines. ## Next steps
defender-for-cloud Enable Enhanced Security https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/enable-enhanced-security.md
If you want to disable any of the plans, turn off the plan. The extensions used
:::image type="content" source="./media/enable-enhanced-security/upgrade-workspaces-and-subscriptions.png" alt-text="Screenshot that shows where the upgrade button is located on the screen." lightbox="media/enable-enhanced-security/upgrade-workspaces-and-subscriptions-full.png"::: > [!NOTE]
+ >
> - If you select subscriptions and workspaces that aren't eligible for trial, the next step will upgrade them and charges will begin. > - If you select a workspace that's eligible for a free trial, the next step will begin a trial. If you want to disable any of the plans, turn off the plan. The extensions used by the plan aren't uninstalled but, after a short time, the extensions stop collecting data.
+> [!NOTE]
+> Plans can also be enabled or disabled via [Powershell](/powershell/module/az.security/set-azsecuritypricing) or [REST API](/rest/api/defenderforcloud/pricings) commands.
+ ## Next steps Certain plans allow you to customize your protection.
defender-for-cloud Exempt Resource https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/exempt-resource.md
Last updated 01/02/2022
-# Exempting resources and recommendations from your secure score
+# Exempting resources and recommendations from your secure score
A core priority of every security team is to ensure analysts can focus on the tasks and incidents that matter to the organization. Defender for Cloud has many features for customizing the experience and making sure your secure score reflects your organization's security priorities. The **exempt** option is one such feature.
In such cases, you can create an exemption for a recommendation to:
## Availability
-| Aspect | Details |
-||:--|
-| Release state: | Preview<br>[!INCLUDE [Legalese](../../includes/defender-for-cloud-preview-legal-text.md)] |
-| Pricing: | This is a premium Azure Policy capability that's offered at no more cost for customers with Microsoft Defender for Cloud's enhanced security features enabled. For other users, charges might apply in the future. |
-| Required roles and permissions: | **Owner** or **Resource Policy Contributor** to create an exemption<br>To create a rule, you need permissions to edit policies in Azure Policy.<br>Learn more in [Azure RBAC permissions in Azure Policy](../governance/policy/overview.md#azure-rbac-permissions-in-azure-policy). |
+| Aspect | Details |
+| - | -- |
+| Release state: | Preview<br>[!INCLUDE [Legalese](../../includes/defender-for-cloud-preview-legal-text.md)] |
+| Pricing: | This is a premium Azure Policy capability that's offered at no more cost for customers with Microsoft Defender for Cloud's enhanced security features enabled. For other users, charges might apply in the future.
+| Required roles and permissions: | **Owner** or **Resource Policy Contributor** to create an exemption<br>To create a rule, you need permissions to edit policies in Azure Policy.<br>Learn more in [Azure RBAC permissions in Azure Policy](../governance/policy/overview.md#azure-rbac-permissions-in-azure-policy). |
| Limitations: | Exemptions can be created only for recommendations included in Defender for Cloud's default initiative, [Microsoft cloud security benchmark](/security/benchmark/azure/introduction), or any of the supplied regulatory standard initiatives. Recommendations that are generated from custom initiatives can't be exempted. Learn more about the relationships between [policies, initiatives, and recommendations](security-policy-concept.md). |
-| Clouds: | :::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet) |
-
+| Clouds: | :::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet) |
## Define an exemption
To create an exemption rule:
1. In the **Exempt** pane: 1. Select the scope for this exemption rule: - If you select a management group, the recommendation will be exempted from all subscriptions within that group
- - If you're creating this rule to exempt one or more resources from the recommendation, choose "Selected resources"" and select the relevant ones from the list
+ - If you're creating this rule to exempt one or more resources from the recommendation, choose "Selected resources" and select the relevant ones from the list
1. Enter a name for this exemption rule. 1. Optionally, set an expiration date. 1. Select the category for the exemption:
- - **Resolved through 3rd party (mitigated)** ΓÇô if you're using a third-party service that Defender for Cloud hasn't identified.
+ - **Resolved through 3rd party (mitigated)** ΓÇô if you're using a third-party service that Defender for Cloud hasn't identified.
> [!NOTE] > When you exempt a recommendation as mitigated, you aren't given points towards your secure score. But because points aren't *removed* for the unhealthy resources, the result is that your score will increase.
To create an exemption rule:
:::image type="content" source="media/exempt-resource/recommendations-filters-hiding-not-applicable.png" alt-text="Default filters on Microsoft Defender for Cloud's recommendations page hide the not applicable recommendations and security controls"::: - The information strip at the top of the recommendation details page updates the number of exempted resources:
-
+ :::image type="content" source="./media/exempt-resource/info-banner.png" alt-text="Number of exempted resources."::: 1. To review your exempted resources, open the **Not applicable** tab:
To create an exemption rule:
## Monitor exemptions created in your subscriptions
-As explained earlier on this page, exemption rules are a powerful tool providing granular control over the recommendations affecting resources in your subscriptions and management groups.
+As explained earlier on this page, exemption rules are a powerful tool providing granular control over the recommendations affecting resources in your subscriptions and management groups.
To keep track of how your users are exercising this capability, we've created an Azure Resource Manager (ARM) template that deploys a Logic App Playbook and all necessary API connections to notify you when an exemption has been created.
The inventory page includes many filters to let you narrow the list of resources
:::image type="content" source="media/exempt-resource/inventory-filter-exemptions.png" alt-text="Defender for Cloud's asset inventory page and the filter to find resources with exemptions"::: - ## Find recommendations with exemptions using Azure Resource Graph Azure Resource Graph (ARG) provides instant access to resource information across your cloud environments with robust filtering, grouping, and sorting capabilities. It's a quick and efficient way to query information across Azure subscriptions programmatically or from within the Azure portal.
To view all recommendations that have exemption rules:
| where type == "microsoft.security/assessments" // Get recommendations in useful format | project
- ['TenantID'] = tenantId,
- ['SubscriptionID'] = subscriptionId,
- ['AssessmentID'] = name,
- ['DisplayName'] = properties.displayName,
- ['ResourceType'] = tolower(split(properties.resourceDetails.Id,"/").[7]),
- ['ResourceName'] = tolower(split(properties.resourceDetails.Id,"/").[8]),
- ['ResourceGroup'] = resourceGroup,
- ['ContainsNestedRecom'] = tostring(properties.additionalData.subAssessmentsLink),
- ['StatusCode'] = properties.status.code,
- ['StatusDescription'] = properties.status.description,
- ['PolicyDefID'] = properties.metadata.policyDefinitionId,
- ['Description'] = properties.metadata.description,
- ['RecomType'] = properties.metadata.assessmentType,
- ['Remediation'] = properties.metadata.remediationDescription,
- ['Severity'] = properties.metadata.severity,
- ['Link'] = properties.links.azurePortal
- | where StatusDescription contains "Exempt"
+ ['TenantID'] = tenantId,
+ ['SubscriptionID'] = subscriptionId,
+ ['AssessmentID'] = name,
+ ['DisplayName'] = properties.displayName,
+ ['ResourceType'] = tolower(split(properties.resourceDetails.Id,"/").[7]),
+ ['ResourceName'] = tolower(split(properties.resourceDetails.Id,"/").[8]),
+ ['ResourceGroup'] = resourceGroup,
+ ['ContainsNestedRecom'] = tostring(properties.additionalData.subAssessmentsLink),
+ ['StatusCode'] = properties.status.code,
+ ['StatusDescription'] = properties.status.description,
+ ['PolicyDefID'] = properties.metadata.policyDefinitionId,
+ ['Description'] = properties.metadata.description,
+ ['RecomType'] = properties.metadata.assessmentType,
+ ['Remediation'] = properties.metadata.remediationDescription,
+ ['Severity'] = properties.metadata.severity,
+ ['Link'] = properties.links.azurePortal
+ | where StatusDescription contains "Exempt"
``` - Learn more in the following pages:+ - [Learn more about Azure Resource Graph](../governance/resource-graph/index.yml). - [How to create queries with Azure Resource Graph Explorer](../governance/resource-graph/first-query-portal.md) - [Kusto Query Language (KQL)](/azure/data-explorer/kusto/query/) ---- ## FAQ - Exemption rules - [What happens when one recommendation is in multiple policy initiatives?](#what-happens-when-one-recommendation-is-in-multiple-policy-initiatives)
Learn more in the following pages:
### What happens when one recommendation is in multiple policy initiatives?
-Sometimes, a security recommendation appears in more than one policy initiative. If you've got multiple instances of the same recommendation assigned to the same subscription, and you create an exemption for the recommendation, it will affect all of the initiatives that you have permission to edit.
+Sometimes, a security recommendation appears in more than one policy initiative. If you've got multiple instances of the same recommendation assigned to the same subscription, and you create an exemption for the recommendation, it will affect all of the initiatives that you have permission to edit.
For example, the recommendation **** is part of the default policy initiative assigned to all Azure subscriptions by Microsoft Defender for Cloud. It's also in XXXXX.
These generally available recommendations don't support exemption:
- Usage of host networking and ports should be restricted - Usage of pod HostPath volume mounts should be restricted to a known list to restrict node access from compromised containers - ## Next steps In this article, you learned how to exempt a resource from a recommendation so that it doesn't impact your secure score. For more information about secure score, see:
defender-for-cloud Export To Siem https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/export-to-siem.md
Learn more in [Connect alerts from Microsoft Defender for Cloud](../sentinel/con
### Configure ingestion of all audit logs into Microsoft Sentinel Another alternative for investigating Defender for Cloud alerts in Microsoft Sentinel is to stream your audit logs into Microsoft Sentinel:+ - [Connect Windows security events](../sentinel/connect-windows-security-events.md) - [Collect data from Linux-based sources using Syslog](../sentinel/connect-syslog.md) - [Connect data from Azure Activity log](../sentinel/data-connectors/azure-activity.md)
Another alternative for investigating Defender for Cloud alerts in Microsoft Sen
> [!TIP] > Microsoft Sentinel is billed based on the volume of data that it ingests for analysis in Microsoft Sentinel and stores in the Azure Monitor Log Analytics workspace. Microsoft Sentinel offers a flexible and predictable pricing model. [Learn more at the Microsoft Sentinel pricing page](https://azure.microsoft.com/pricing/details/azure-sentinel/). - ## Stream alerts to QRadar and Splunk The export of security alerts to Splunk and QRadar uses Event Hubs and a built-in connector.
Then youΓÇÖll need to use the procedure specific to each SIEM to install the sol
### Prerequisites
-Before you set up the Azure services for exporting alerts, make sure you have:
+Before you set up the Azure services for exporting alerts, make sure you have:
- Azure subscription ([Create a free account](https://azure.microsoft.com/free/)) - Azure resource group ([Create a resource group](../azure-resource-manager/management/manage-resource-groups-portal.md))
Before you set up the Azure services for exporting alerts, make sure you have:
You can set up your Azure environment to support continuous export using either: -- A PowerShell script (Recommended)
+- A PowerShell script (Recommended)
Download and run [the PowerShell script](https://github.com/Azure/Microsoft-Defender-for-Cloud/tree/main/Powershell%20scripts/3rd%20party%20SIEM%20integration). Enter the required parameters and the script performs all of the steps for you.
To stream alerts into **ArcSight**, **SumoLogic**, **Syslog servers**, **LogRhyt
| SumoLogic | No | Instructions for setting up SumoLogic to consume data from an event hub are available at [Collect Logs for the Azure Audit App from Event Hubs](https://help.sumologic.com/docs/send-data/collect-from-other-data-sources/azure-monitoring/collect-logs-azure-monitor/). | | ArcSight | No | The ArcSight Azure Event Hubs smart connector is available as part of [the ArcSight smart connector collection](https://community.microfocus.com/cyberres/arcsight/f/arcsight-product-announcements/163662/announcing-general-availability-of-arcsight-smart-connectors-7-10-0-8114-0). | | Syslog server | No | If you want to stream Azure Monitor data directly to a syslog server, you can use a [solution based on an Azure function](https://github.com/miguelangelopereira/azuremonitor2syslog/).
- | LogRhythm | No| Instructions to set up LogRhythm to collect logs from an event hub are available [here](https://logrhythm.com/six-tips-for-securing-your-azure-cloud-environment/).
+ | LogRhythm | No| Instructions to set up LogRhythm to collect logs from an event hub are available [here](https://logrhythm.com/six-tips-for-securing-your-azure-cloud-environment/).
|Logz.io | Yes | For more information, see [Getting started with monitoring and logging using Logz.io for Java apps running on Azure](/azure/developer/java/fundamentals/java-get-started-with-logzio) 3. Optionally, stream the raw logs to the event hub and connect to your preferred solution. Learn more in [Monitoring data available](../azure-monitor/essentials/stream-monitoring-data-event-hubs.md#monitoring-data-available).
To view the event schemas of the exported data types, visit the [Event Hubs even
## Use the Microsoft Graph Security API to stream alerts to third-party applications
-As an alternative to Microsoft Sentinel and Azure Monitor, you can use Defender for Cloud's built-in integration with [Microsoft Graph Security API](https://www.microsoft.com/security/business/graph-security-api). No configuration is required and there are no additional costs.
+As an alternative to Microsoft Sentinel and Azure Monitor, you can use Defender for Cloud's built-in integration with [Microsoft Graph Security API](https://www.microsoft.com/security/business/graph-security-api). No configuration is required.
You can use this API to stream alerts from your **entire tenant** (and data from many Microsoft Security products) into third-party SIEMs and other popular platforms: - **Splunk Enterprise and Splunk Cloud** - [Use the Microsoft Graph Security API Add-On for Splunk](https://splunkbase.splunk.com/app/4564/) - **Power BI** - [Connect to the Microsoft Graph Security API in Power BI Desktop](/power-bi/connect-data/desktop-connect-graph-security). - **ServiceNow** - [Install and configure the Microsoft Graph Security API application from the ServiceNow Store](https://docs.servicenow.com/bundle/sandiego-security-management/page/product/secops-integration-sir/secops-integration-ms-graph/task/ms-graph-install.html?cshalt=yes).-- **QRadar** - [Use IBM's Device Support Module for Microsoft Defender for Cloud via Microsoft Graph API](https://www.ibm.com/support/knowledgecenter/SS42VS_DSM/com.ibm.dsm.doc/c_dsm_guide_ms_azure_security_center_overview.html).
+- **QRadar** - [Use IBM's Device Support Module for Microsoft Defender for Cloud via Microsoft Graph API](https://www.ibm.com/support/knowledgecenter/SS42VS_DSM/com.ibm.dsm.doc/c_dsm_guide_ms_azure_security_center_overview.html).
- **Palo Alto Networks**, **Anomali**, **Lookout**, **InSpark**, and more - [Use the Microsoft Graph Security API](https://www.microsoft.com/security/business/graph-security-api#office-MultiFeatureCarousel-09jr2ji). ## Next steps
defender-for-cloud Get Started https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/get-started.md
# Quickstart: Set up Microsoft Defender for Cloud
-Defender for Cloud provides unified security management and threat protection across your hybrid and multicloud workloads. While the free features offer limited security for your Azure resources only, enabling enhanced security features extends these capabilities to on-premises and other clouds. Defender for Cloud helps you find and fix security vulnerabilities, apply access and application controls to block malicious activity, detect threats using analytics and intelligence, and respond quickly when under attack. You can try the enhanced security features at no cost. To learn more, see the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/).
+Defender for Cloud provides unified security management and threat protection across your hybrid and multicloud workloads. While the free features offer limited security for your Azure resources only, enabling enhanced security features extends these capabilities to on-premises and other clouds. Defender for Cloud helps you find and fix security vulnerabilities, apply access and application controls to block malicious activity, detect threats using analytics and intelligence, and respond quickly when under attack. For pricing information, see the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/).
This quickstart section will walk you through all the recommended steps to enable Microsoft Defender for Cloud and the enhanced security features. When you've completed all the quickstart steps, you'll have: > [!div class="checklist"]
-> * Defender for Cloud enabled on your Azure subscriptions
-> * [Enhanced security features](enhanced-security-features-overview.md) enabled on your Azure subscriptions
-> * Automatic data collection set up
-> * [Email notifications set up](configure-email-notifications.md) for security alerts
-> * Your hybrid and multicloud machines connected to Azure
+>
+> - Defender for Cloud enabled on your Azure subscriptions
+> - [Enhanced security features](enhanced-security-features-overview.md) enabled on your Azure subscriptions
+> - Automatic data collection set up
+> - [Email notifications set up](configure-email-notifications.md) for security alerts
+> - Your hybrid and multicloud machines connected to Azure
## Prerequisites+ To get started with Defender for Cloud, you must have a subscription to Microsoft Azure. If you don't have a subscription, you can sign up for a [free account](https://azure.microsoft.com/pricing/free-trial/). In Defender for Cloud, you only see information related to a resource when you're assigned the Owner, Contributor, or Reader role for the subscription or for the resource group the resource is in.
In Defender for Cloud, you only see information related to a resource when you'r
1. Sign into the [Azure portal](https://azure.microsoft.com/features/azure-portal/).
-1. From the portal's menu, select **Defender for Cloud**.
+1. From the portal's menu, select **Defender for Cloud**.
Defender for Cloud's overview page opens.
In Defender for Cloud, you only see information related to a resource when you'r
**Defender for Cloud ΓÇô Overview** provides a unified view into the security posture of your hybrid cloud workloads, helping you discover and assess the security of your workloads and to identify and mitigate risks. Learn more in [Microsoft Defender for Cloud's overview page](overview-page.md).
- Defender for Cloud automatically, at no cost, enables any of your Azure subscriptions not previously onboarded by you or another subscription user.
+ Defender for Cloud automatically enables any of your Azure subscriptions not previously onboarded by you or another subscription user.
-You can view and filter the list of subscriptions by selecting the **Subscriptions** menu item. Defender for Cloud will adjust the display to reflect the security posture of the selected subscriptions.
+You can view and filter the list of subscriptions by selecting the **Subscriptions** menu item. Defender for Cloud will adjust the display to reflect the security posture of the selected subscriptions.
Within minutes of launching Defender for Cloud the first time, you might see:
Within minutes of launching Defender for Cloud the first time, you might see:
To take full advantage of Defender for Cloud, continue with the next steps of the quickstart section. -- ## Next steps+ In this quickstart you enabled Defender for Cloud. The next step is to enable enhanced security features for unified security management and threat protection across your hybrid cloud workloads. > [!div class="nextstepaction"]
defender-for-cloud Governance Rules https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/governance-rules.md
Security teams are responsible for improving the security posture of their organ
Stay on top of the progress on the recommendations in the security posture. Weekly email notifications to the owners and managers make sure that they take timely action on the recommendations that can improve your security posture and recommendations. You can learn more by watching this video from the Defender for Cloud in the Field video series:+ - [Remediate Security Recommendations with Governance](episode-fifteen.md) ## Building an automated process for improving security with governance rules
You can then review the progress of the tasks by subscription, recommendation, o
|Aspect|Details| |-|:-| |Release state:|General availability (GA)|
-| Prerequisite: | Requires the [Defender Cloud Security Posture Management (CSPM) plan](concept-cloud-security-posture-management.md) to be enabled.|
+|Prerequisite: | Requires the [Defender Cloud Security Posture Management (CSPM) plan](concept-cloud-security-posture-management.md) to be enabled.|
|Required roles and permissions:|Azure - **Contributor**, **Security Admin**, or **Owner** on the subscription<br>AWS, GCP ΓÇô **Contributor**, **Security Admin**, or **Owner** on the connector| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet)<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Connected AWS accounts<br>:::image type="icon" source="./media/icons/yes-icon.png"::: Connected GCP accounts| > [!NOTE] > Starting January 1, 2023, governance capabilities will require Defender Cloud Security Posture Management (CSPM) plan enablement. > Customers deciding to keep Defender CSPM plan off on scopes with governance content:
-> - Existing assignments remain as is and continue to work with no customization option or ability to create new ones.
-> - Existing rules will remain as is but wonΓÇÖt trigger new assignments creation.
+>
+> - Existing assignments remain as is and continue to work with no customization option or ability to create new ones.
+> - Existing rules will remain as is but wonΓÇÖt trigger new assignments creation.
### Defining governance rules to automatically set the owner and due date of recommendations
If there are existing recommendations that match the definition of the governanc
> [!TIP] > Here are some sample use-cases for the at-scale experience:
-> - View and manage all governance rules effective in the organization using a single page.
-> - Create and apply rules on multiple scopes at once using management scopes cross cloud.
-> - Check effective rules on selected scope using the scope filter.
+>
+> - View and manage all governance rules effective in the organization using a single page.
+> - Create and apply rules on multiple scopes at once using management scopes cross cloud.
+> - Check effective rules on selected scope using the scope filter.
To view the effect of rules on a specific scope, use the Scope filter to select a specific scope.
-Conflicting rules are applied in priority order. For example, rules on a management scope (Azure management groups, AWS accounts and GCP organizations), take effect before rules on scopes (for example, Azure subscriptions, AWS accounts, or GCP projects).
+Conflicting rules are applied in priority order. For example, rules on a management scope (Azure management groups, AWS accounts and GCP organizations), take effect before rules on scopes (for example, Azure subscriptions, AWS accounts, or GCP projects).
## Manually assigning owners and due dates for recommendation remediation
defender-for-cloud Information Protection https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/information-protection.md
Microsoft Defender for Cloud customers using Microsoft Purview Data Catalog can
This page explains the integration of Microsoft Purview Data Catalog in Defender for Cloud. You can learn more by watching this video from the Defender for Cloud in the Field video series:+ - [Integrate Microsoft Purview with Microsoft Defender for Cloud](episode-two.md) > [!NOTE] > Microsoft Defender for Cloud also provides data sensitivity context by enabling the sensitive data discovery (preview). The integration between Microsoft Purview Data Catalog and Microsoft Defender for Cloud described in this page offers a complementary source of data context for resources **not** covered by the sensitive data discovery feature.
-> * Purview Catalog provides data context **only** for resources in subscriptions not onboarded to sensitive data discovery feature or resource types not supported by this feature.
-> * Data context provided by Purview Catalog is provided as is and does **not** consider the [data sensitivity settings](data-sensitivity-settings.md).
->
+>
+> - Purview Catalog provides data context **only** for resources in subscriptions not onboarded to sensitive data discovery feature or resource types not supported by this feature.
+> - Data context provided by Purview Catalog is provided as is and does **not** consider the [data sensitivity settings](data-sensitivity-settings.md).
+>
> Learn more in [Data-aware security posture (preview)](concept-data-security-posture.md). - ## Availability+ |Aspect|Details| |-|:-| |Release state:|Preview.<br>[!INCLUDE [Legalese](../../includes/defender-for-cloud-preview-legal-text.md)]|
You can learn more by watching this video from the Defender for Cloud in the Fie
|Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds (Regions: East US, East US 2, West US 2, West Central US, South Central US, Canada Central, Brazil South, North Europe, West Europe, UK South, Southeast Asia, Central India, Australia East) <br>:::image type="icon" source="./media/icons/no-icon.png"::: Azure Government<br>:::image type="icon" source="./media/icons/no-icon.png"::: Azure China 21Vianet (**Partial**: Subset of alerts and vulnerability assessment for SQL servers. Behavioral threat protections aren't available.)| ## The triage problem and Defender for Cloud's solution
-Security teams regularly face the challenge of how to triage incoming issues.
+
+Security teams regularly face the challenge of how to triage incoming issues.
Defender for Cloud includes two mechanisms to help prioritize recommendations and security alerts:
However, where possible, you'd want to focus the security team's efforts on risk
Microsoft Purview's data sensitivity classifications and data sensitivity labels provide that knowledge. ## Discover resources with sensitive data+ To provide information about discovered sensitive data and help ensure you have that information when you need it, Defender for Cloud displays information from Microsoft Purview in multiple locations. Purview Catalog scans produce insights into the nature of the sensitive information so you can take action to protect that information:
Purview Catalog scans produce insights into the nature of the sensitive informat
- Purview Catalog adds data sensitivity context **only** for resources **not** covered by the [sensitive data discovery (preview)](concept-data-security-posture.md) feature in Defender for Cloud. ### Alerts and recommendations pages+ When you're reviewing a recommendation or investigating an alert, the information about any potentially sensitive data involved is included on the page. You can also filter the list of alerts by **Data sensitivity classifications** and **Data sensitivity labels** to help you focus on the alerts that relate to sensitive data. This vital layer of metadata helps solve the triage challenge and ensures your security team can focus its attention on the threats to sensitive data. - ### Inventory filters+ The [asset inventory page](asset-inventory.md) has a collection of powerful filters to group your resources with outstanding alerts and recommendations according to the criteria relevant for any scenario. These filters include **Data sensitivity classifications** and **Data sensitivity labels**. Use these filters to evaluate the security posture of resources on which Purview Catalog has discovered sensitive data. :::image type="content" source="./media/information-protection/information-protection-inventory-filters.png" alt-text="Screenshot of information protection filters in Microsoft Defender for Cloud's asset inventory page." lightbox="./media/information-protection/information-protection-inventory-filters.png":::
-### Resource health
-When you select a single resource - whether from an alert, recommendation, or the inventory page - you reach a detailed health page showing a resource-centric view with the important security information related to that resource.
+### Resource health
+
+When you select a single resource - whether from an alert, recommendation, or the inventory page - you reach a detailed health page showing a resource-centric view with the important security information related to that resource.
The resource health page provides a snapshot view of the overall health of a single resource. You can review detailed information about the resource and all recommendations that apply to that resource. Also, if you're using any of the Microsoft Defender plans, you can see outstanding security alerts for that specific resource too.
When reviewing the health of a specific resource, you'll see the Purview Catalog
:::image type="content" source="./media/information-protection/information-protection-resource-health.png" alt-text="Screenshot of Defender for Cloud's resource health page showing information protection labels and classifications from Microsoft Purview." lightbox="./media/information-protection/information-protection-resource-health.png"::: > [!NOTE]
+>
> - If the data in the resource is updated and the update affects the resource classifications and labels, Defender for Cloud reflects those changes only after Purview Catalog rescans the resource. > - If Microsoft Purview account is deleted, the resource classifications and labels are still be available in Defender for Cloud. > - Defender for Cloud updates the resource classifications and labels within 24 hours of the Purview Catalog scan. ## Attack path+ Some of the attack paths consider resources that contain sensitive data, such as ΓÇ£AWS S3 Bucket with sensitive data is publicly accessibleΓÇ¥, based on Purview Catalog scan results. ## Security explorer+ The Cloud Map shows resources that ΓÇ£contains sensitive dataΓÇ¥, based on Purview scan results. You can use resources with this label to explore the map. - To see the classification and labels of the resource, go to the [inventory](asset-inventory.md).
defender-for-cloud Monitoring Components https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/monitoring-components.md
Last updated 11/27/2022
Defender for Cloud collects data from your Azure virtual machines (VMs), Virtual Machine Scale Sets, IaaS containers, and non-Azure (including on-premises) machines to monitor for security vulnerabilities and threats. Some Defender plans require monitoring components to collect data from your workloads.
-Data collection is required to provide visibility into missing updates, misconfigured OS security settings, endpoint protection status, and health and threat protection. Data collection is only needed for compute resources such as VMs, Virtual Machine Scale Sets, IaaS containers, and non-Azure computers.
+Data collection is required to provide visibility into missing updates, misconfigured OS security settings, endpoint protection status, and health and threat protection. Data collection is only needed for compute resources such as VMs, Virtual Machine Scale Sets, IaaS containers, and non-Azure computers.
You can benefit from Microsoft Defender for Cloud even if you donΓÇÖt provision agents. However, you'll have limited security and the capabilities listed above aren't supported.
Learn more about [using the Azure Monitor Agent with Defender for Cloud](auto-de
Defender for Cloud depends on the [Log Analytics agent](../azure-monitor/agents/log-analytics-agent.md). Ensure your machines are running one of the supported operating systems for this agent as described on the following pages:
-* [Log Analytics agent for Windows supported operating systems](../azure-monitor/agents/agents-overview.md#supported-operating-systems)
-* [Log Analytics agent for Linux supported operating systems](../azure-monitor/agents/agents-overview.md#supported-operating-systems)
+- [Log Analytics agent for Windows supported operating systems](../azure-monitor/agents/agents-overview.md#supported-operating-systems)
+- [Log Analytics agent for Linux supported operating systems](../azure-monitor/agents/agents-overview.md#supported-operating-systems)
Also ensure your Log Analytics agent is [properly configured to send data to Defender for Cloud](working-with-log-analytics-agent.md#manual-agent)
The following use cases explain how deployment of the Log Analytics agent works
- **System Center Operations Manager agent is installed on the machine** - Defender for Cloud will install the Log Analytics agent extension side by side to the existing Operations Manager. The existing Operations Manager agent will continue to report to the Operations Manager server normally. The Operations Manager agent and Log Analytics agent share common run-time libraries, which will be updated to the latest version during this process. - **A pre-existing VM extension is present**:
- - When the Monitoring Agent is installed as an extension, the extension configuration allows reporting to only a single workspace. Defender for Cloud doesn't override existing connections to user workspaces. Defender for Cloud will store security data from the VM in the workspace already connected, if the "Security" or "SecurityCenterFree" solution has been installed on it. Defender for Cloud may upgrade the extension version to the latest version in this process.
- - To see to which workspace the existing extension is sending data to, run the test to [Validate connectivity with Microsoft Defender for Cloud](/archive/blogs/yuridiogenes/validating-connectivity-with-azure-security-center). Alternatively, you can open Log Analytics workspaces, select a workspace, select the VM, and look at the Log Analytics agent connection.
- - If you have an environment where the Log Analytics agent is installed on client workstations and reporting to an existing Log Analytics workspace, review the list of [operating systems supported by Microsoft Defender for Cloud](security-center-os-coverage.md) to make sure your operating system is supported.
+ - When the Monitoring Agent is installed as an extension, the extension configuration allows reporting to only a single workspace. Defender for Cloud doesn't override existing connections to user workspaces. Defender for Cloud will store security data from the VM in the workspace already connected, if the "Security" or "SecurityCenterFree" solution has been installed on it. Defender for Cloud may upgrade the extension version to the latest version in this process.
+ - To see to which workspace the existing extension is sending data to, run the test to [Validate connectivity with Microsoft Defender for Cloud](/archive/blogs/yuridiogenes/validating-connectivity-with-azure-security-center). Alternatively, you can open Log Analytics workspaces, select a workspace, select the VM, and look at the Log Analytics agent connection.
+ - If you have an environment where the Log Analytics agent is installed on client workstations and reporting to an existing Log Analytics workspace, review the list of [operating systems supported by Microsoft Defender for Cloud](security-center-os-coverage.md) to make sure your operating system is supported.
Learn more about [working with the Log Analytics agent](working-with-log-analytics-agent.md).
defender-for-cloud Quickstart Onboard Aws https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/quickstart-onboard-aws.md
To protect your AWS-based resources, you can connect an AWS account with either:
- **Native cloud connector** (recommended) - Provides an agentless connection to your AWS account that you can extend with Defender for Cloud's Defender plans to secure your AWS resources:
- - [**Cloud Security Posture Management (CSPM)**](overview-page.md) assesses your AWS resources according to AWS-specific security recommendations and reflects your security posture in your secure score. The [asset inventory](asset-inventory.md) gives you one place to see all of your protected AWS resources. The [regulatory compliance dashboard](regulatory-compliance-dashboard.md) shows your compliance with built-in standards specific to AWS, including AWS CIS, AWS PCI DSS, and AWS Foundational Security Best Practices.
- - [**Microsoft Defender for Servers**](defender-for-servers-introduction.md) brings threat detection and advanced defenses to [supported Windows and Linux EC2 instances](supported-machines-endpoint-solutions-clouds-servers.md?tabs=tab/features-multicloud).
- - [**Microsoft Defender for Containers**](defender-for-containers-introduction.md) brings threat detection and advanced defenses to [supported Amazon EKS clusters](supported-machines-endpoint-solutions-clouds-containers.md).
- - [**Microsoft Defender for SQL**](defender-for-sql-introduction.md) brings threat detection and advanced defenses to your SQL Servers running on AWS EC2, AWS RDS Custom for SQL Server.
+ - [**Cloud Security Posture Management (CSPM)**](overview-page.md) assesses your AWS resources according to AWS-specific security recommendations and reflects your security posture in your secure score. The [asset inventory](asset-inventory.md) gives you one place to see all of your protected AWS resources. The [regulatory compliance dashboard](regulatory-compliance-dashboard.md) shows your compliance with built-in standards specific to AWS, including AWS CIS, AWS PCI DSS, and AWS Foundational Security Best Practices.
+ - [**Microsoft Defender for Servers**](defender-for-servers-introduction.md) brings threat detection and advanced defenses to [supported Windows and Linux EC2 instances](supported-machines-endpoint-solutions-clouds-servers.md?tabs=tab/features-multicloud).
+ - [**Microsoft Defender for Containers**](defender-for-containers-introduction.md) brings threat detection and advanced defenses to [supported Amazon EKS clusters](supported-machines-endpoint-solutions-clouds-containers.md).
+ - [**Microsoft Defender for SQL**](defender-for-sql-introduction.md) brings threat detection and advanced defenses to your SQL Servers running on AWS EC2, AWS RDS Custom for SQL Server.
-- **Classic cloud connector** - Requires configuration in your AWS account to create a user that Defender for Cloud can use to connect to your AWS environment.
+- **Classic cloud connector** - Requires configuration in your AWS account to create a user that Defender for Cloud can use to connect to your AWS environment.
> [!NOTE] > The option to select the classic connector is only available if you previously onboarded an AWS account using the classic connector.
This screenshot shows AWS accounts displayed in Defender for Cloud's [overview d
:::image type="content" source="./media/quickstart-onboard-aws/aws-account-in-overview.png" alt-text="Four AWS projects listed on Defender for Cloud's overview dashboard" lightbox="./media/quickstart-onboard-aws/aws-account-in-overview.png":::
-You can learn more by watching this video from the Defender for Cloud in the Field video series:
+You can learn more by watching this video from the Defender for Cloud in the Field video series:
+ - [New AWS connector](episode-one.md) ::: zone pivot="env-settings"
The native cloud connector requires:
- Access to an AWS account. - **To enable the Defender for Containers plan**, you'll need:
- - At least one Amazon EKS cluster with permission to access to the EKS K8s API server. If you need to create a new EKS cluster, follow the instructions in [Getting started with Amazon EKS ΓÇô eksctl](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html).
- - The resource capacity to create a new SQS queue, Kinesis Fire Hose delivery stream, and S3 bucket in the cluster's region.
+ - At least one Amazon EKS cluster with permission to access to the EKS K8s API server. If you need to create a new EKS cluster, follow the instructions in [Getting started with Amazon EKS ΓÇô eksctl](https://docs.aws.amazon.com/eks/latest/userguide/getting-started-eksctl.html).
+ - The resource capacity to create a new SQS queue, Kinesis Fire Hose delivery stream, and S3 bucket in the cluster's region.
- **To enable the Defender for SQL plan**, you'll need:
- - Microsoft Defender for SQL enabled on your subscription. Learn how to [enable protection on all of your databases](quickstart-enable-database-protections.md).
+ - Microsoft Defender for SQL enabled on your subscription. Learn how to [enable protection on all of your databases](quickstart-enable-database-protections.md).
- An active AWS account, with EC2 instances running SQL server or RDS Custom for SQL Server. - Azure Arc for servers installed on your EC2 instances/RDS Custom for SQL Server.
- - (Recommended) Use the auto provisioning process to install Azure Arc on all of your existing and future EC2 instances.
+ - (Recommended) Use the auto provisioning process to install Azure Arc on all of your existing and future EC2 instances.
- Auto provisioning is managed by AWS Systems Manager (SSM) using the SSM agent. Some Amazon Machine Images (AMIs) already have the SSM agent pre-installed. If you already have the SSM agent pre-installed, the AMIs are listed in [AMIs with SSM Agent preinstalled](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-technical-details.html#ami-preinstalled-agent). If your EC2 instances don't have the SSM Agent, you'll need to install it using either of the following relevant instructions from Amazon:
+ Auto provisioning is managed by AWS Systems Manager (SSM) using the SSM agent. Some Amazon Machine Images (AMIs) already have the SSM agent pre-installed. If you already have the SSM agent pre-installed, the AMIs are listed in [AMIs with SSM Agent preinstalled](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-technical-details.html#ami-preinstalled-agent). If your EC2 instances don't have the SSM Agent, you'll need to install it using either of the following relevant instructions from Amazon:
- [Install SSM Agent for a hybrid environment (Windows)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html)
- Ensure that your SSM agent has the managed policy ["AmazonSSMManagedInstanceCore"] (https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) that enables AWS Systems Manager service core functionality.
+ Ensure that your SSM agent has the managed policy ["AmazonSSMManagedInstanceCore"](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) that enables AWS Systems Manager service core functionality.
> [!NOTE] > To enable the Azure Arc auto-provisioning, you'll need **Owner** permission on the relevant Azure subscription.
-
+ - Other extensions should be enabled on the Arc-connected machines:
- - Microsoft Defender for Endpoint
- - VA solution (TVM/Qualys)
- - Log Analytics (LA) agent on Arc machines or Azure Monitor agent (AMA)
+ - Microsoft Defender for Endpoint
+ - VA solution (TVM/Qualys)
+ - Log Analytics (LA) agent on Arc machines or Azure Monitor agent (AMA)
+
+ Make sure the selected LA workspace has security solution installed. The LA agent and AMA are currently configured in the subscription level. All of your AWS accounts and GCP projects under the same subscription will inherit the subscription settings for the LA agent and AMA.
- Make sure the selected LA workspace has security solution installed. The LA agent and AMA are currently configured in the subscription level. All of your AWS accounts and GCP projects under the same subscription will inherit the subscription settings for the LA agent and AMA.
-
Learn more about [monitoring components](monitoring-components.md) for Defender for Cloud. - **To enable the Defender for Servers plan**, you'll need:
-
- - Microsoft Defender for Servers enabled on your subscription. Learn how to enable plans in [Enable enhanced security features](enable-enhanced-security.md).
-
+
+ - Microsoft Defender for Servers enabled on your subscription. Learn how to enable plans in [Enable enhanced security features](enable-enhanced-security.md).
+ - An active AWS account, with EC2 instances.
-
- - Azure Arc for servers installed on your EC2 instances.
- - (Recommended) Use the auto provisioning process to install Azure Arc on all of your existing and future EC2 instances.
-
- Auto provisioning is managed by AWS Systems Manager (SSM) using the SSM agent. Some Amazon Machine Images (AMIs) already have the SSM agent pre-installed. If that is the case, their AMIs are listed in [AMIs with SSM Agent preinstalled](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-technical-details.html#ami-preinstalled-agent). If your EC2 instances don't have the SSM Agent, you'll need to install it using either of the following relevant instructions from Amazon:
+
+ - Azure Arc for servers installed on your EC2 instances.
+ - (Recommended) Use the auto provisioning process to install Azure Arc on all of your existing and future EC2 instances.
+
+ Auto provisioning is managed by AWS Systems Manager (SSM) using the SSM agent. Some Amazon Machine Images (AMIs) already have the SSM agent pre-installed. If that is the case, their AMIs are listed in [AMIs with SSM Agent preinstalled](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-technical-details.html#ami-preinstalled-agent). If your EC2 instances don't have the SSM Agent, you'll need to install it using either of the following relevant instructions from Amazon:
- [Install SSM Agent for a hybrid environment (Windows)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-win.html) - [Install SSM Agent for a hybrid environment (Linux)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-managed-linux.html)
- Ensure that your SSM agent has the managed policy ["AmazonSSMManagedInstanceCore"] (https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) that enables AWS Systems Manager service core functionality.
-
+ Ensure that your SSM agent has the managed policy ["AmazonSSMManagedInstanceCore"](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) that enables AWS Systems Manager service core functionality.
+ > [!NOTE] > To enable the Azure Arc auto-provisioning, you'll need an **Owner** permission on the relevant Azure subscription.
-
+ - If you want to manually install Azure Arc on your existing and future EC2 instances, use the [EC2 instances should be connected to Azure Arc](https://portal.azure.com/#blade/Microsoft_Azure_Security/RecommendationsBlade/assessmentKey/231dee23-84db-44d2-bd9d-c32fbcfb42a3) recommendation to identify instances that don't have Azure Arc installed.
-
+ - Other extensions should be enabled on the Arc-connected machines:
- - Microsoft Defender for Endpoint
- - VA solution (TVM/Qualys)
- - Log Analytics (LA) agent on Arc machines or Azure Monitor agent (AMA)
+ - Microsoft Defender for Endpoint
+ - VA solution (TVM/Qualys)
+ - Log Analytics (LA) agent on Arc machines or Azure Monitor agent (AMA)
- Make sure the selected LA workspace has security solution installed. The LA agent and AMA are currently configured in the subscription level. All of your AWS accounts and GCP projects under the same subscription will inherit the subscription settings for the LA agent and AMA.
+ Make sure the selected LA workspace has security solution installed. The LA agent and AMA are currently configured in the subscription level. All of your AWS accounts and GCP projects under the same subscription will inherit the subscription settings for the LA agent and AMA.
Learn more about [monitoring components](monitoring-components.md) for Defender for Cloud.
The native cloud connector requires:
> To present the current status of your recommendations, the CSPM plan queries the AWS resource APIs several times a day. These read-only API calls incur no charges, but they *are* registered in CloudTrail if you've enabled a trail for read events. As explained in [the AWS documentation](https://aws.amazon.com/cloudtrail/pricing/), there are no additional charges for keeping one trail. If you're exporting the data out of AWS (for example, to an external SIEM), this increased volume of calls might also increase ingestion costs. In such cases, We recommend filtering out the read-only calls from the Defender for Cloud user or role ARN: `arn:aws:iam::[accountId]:role/CspmMonitorAws` (this is the default role name, confirm the role name configured on your account). 1. By default the **Servers** plan is set to **On**. This is necessary to extend Defender for server's coverage to your AWS EC2. Ensure you've fulfilled the [network requirements for Azure Arc](../azure-arc/servers/network-requirements.md?tabs=azure-cloud).
-
+ - (Optional) Select **Configure**, to edit the configuration as required. 1. By default the **Containers** plan is set to **On**. This is necessary to have Defender for Containers protect your AWS EKS clusters. Ensure you've fulfilled the [network requirements](./defender-for-containers-enable.md?pivots=defender-for-container-eks&source=docs&tabs=aks-deploy-portal%2ck8s-deploy-asc%2ck8s-verify-asc%2ck8s-remove-arc%2caks-removeprofile-api#network-requirements) for the Defender for Containers plan.
The native cloud connector requires:
1. By default the **Databases** plan is set to **On**. This is necessary to extend Defender for SQL's coverage to your AWS EC2 and RDS Custom for SQL Server.
- - (Optional) Select **Configure**, to edit the configuration as required. We recommend you leave it set to the default configuration.
+ - (Optional) Select **Configure**, to edit the configuration as required. We recommend you leave it set to the default configuration.
1. Select **Next: Configure access**.
Defender for Cloud will immediately start scanning your AWS resources and you'll
Federated authentication is used between Microsoft Defender for Cloud and AWS. All of the resources related to the authentication are created as a part of the CloudFormation template deployment, including: -- An identity provider (OpenID connect)
+- An identity provider (OpenID connect)
- Identity and Access Management (IAM) roles with a federated principal (connected to the identity providers). The architecture of the authentication process across clouds is as follows: :::image type="content" source="media/quickstart-onboard-aws/architecture-authentication-across-clouds.png" alt-text="diagram showing architecture of authentication process across clouds." lightbox="media/quickstart-onboard-aws/architecture-authentication-across-clouds.png":::
-1. Microsoft Defender for Cloud CSPM service acquires an Azure AD token with a validity life time of 1 hour that is signed by the Azure AD using the RS256 algorithm.
+1. Microsoft Defender for Cloud CSPM service acquires an Azure AD token with a validity life time of 1 hour that is signed by the Azure AD using the RS256 algorithm.
1. The Azure AD token is exchanged with AWS short living credentials and Defender for Cloud's CPSM service assumes the CSPM IAM role (assumed with web identity).
The architecture of the authentication process across clouds is as follows:
- signing of the token - certificate thumbprint
- 1. The Microsoft Defender for Cloud CSPM role is assumed only after the validation conditions defined at the trust relationship have been met. The conditions defined for the role level are used for validation within AWS and allows only the Microsoft Defender for Cloud CSPM application (validated audience) access to the specific role (and not any other Microsoft token).
+1. The Microsoft Defender for Cloud CSPM role is assumed only after the validation conditions defined at the trust relationship have been met. The conditions defined for the role level are used for validation within AWS and allows only the Microsoft Defender for Cloud CSPM application (validated audience) access to the specific role (and not any other Microsoft token).
1. After the Azure AD token is validated by the AWS identity provider, the AWS STS exchanges the token with AWS short-living credentials which CSPM service uses to scan the AWS account.
-## CloudFormation deployment source
+## CloudFormation deployment source
-As part of connecting an AWS account to Microsoft Defender for Cloud, a CloudFormation template should be deployed to the AWS account. This CloudFormation template creates all of the required resources necessary for Microsoft Defender for Cloud to connect to the AWS account.
+As part of connecting an AWS account to Microsoft Defender for Cloud, a CloudFormation template should be deployed to the AWS account. This CloudFormation template creates all of the required resources necessary for Microsoft Defender for Cloud to connect to the AWS account.
-The CloudFormation template should be deployed using Stack (or StackSet if you have a management account).
+The CloudFormation template should be deployed using Stack (or StackSet if you have a management account).
-When deploying the CloudFormation template, the Stack creation wizard offers the following options:
+When deploying the CloudFormation template, the Stack creation wizard offers the following options:
-1. **Amazon S3 URL** ΓÇô upload the downloaded CloudFormation template to your own S3 bucket with your own security configurations. Enter the URL to the S3 bucket in the AWS deployment wizard.
+1. **Amazon S3 URL** ΓÇô upload the downloaded CloudFormation template to your own S3 bucket with your own security configurations. Enter the URL to the S3 bucket in the AWS deployment wizard.
-1. **Upload a template file** ΓÇô AWS will automatically create an S3 bucket that the CloudFormation template will be saved to. The automation for the S3 bucket will have a security misconfiguration that will cause the `S3 buckets should require requests to use Secure Socket Layer` recommendation to appear. You can remediate this recommendation by applying the following policy:
+1. **Upload a template file** ΓÇô AWS will automatically create an S3 bucket that the CloudFormation template will be saved to. The automation for the S3 bucket will have a security misconfiguration that will cause the `S3 buckets should require requests to use Secure Socket Layer` recommendation to appear. You can remediate this recommendation by applying the following policy:
```json {ΓÇ»
When deploying the CloudFormation template, the Stack creation wizard offers the
    }    ]  } 
- ```
+ ```
### Remove 'classic' connectors If you have any existing connectors created with the classic cloud connectors experience, remove them first:
-1. Sign in to the [Azure portal](https://portal.azure.com).
+1. Sign in to the [Azure portal](https://portal.azure.com).
1. Navigate to **Defender for Cloud** > **Environment settings**.
If you have any existing connectors created with the classic cloud connectors ex
Follow the steps below to create your AWS cloud connector.
-### Step 1. Set up AWS Security Hub:
+### Step 1. Set up AWS Security Hub
1. To view security recommendations for multiple regions, repeat the following steps for each relevant region.
AWS Systems Manager is required for automating tasks across your AWS resources.
Review the summary information
- The Tags sections will list all Azure Tags that will be automatically created for each onboarded EC2 with its own relevant details to easily recognize it in Azure.
+ The Tags sections will list all Azure Tags that will be automatically created for each onboarded EC2 with its own relevant details to easily recognize it in Azure.
Learn more about Azure Tags in [Use tags to organize your Azure resources and management hierarchy](../azure-resource-manager/management/tag-resources.md).
AWS Systems Manager is required for automating tasks across your AWS resources.
When the connector is successfully created, and AWS Security Hub has been configured properly: -- Defender for Cloud scans the environment for AWS EC2 instances, onboarding them to Azure Arc, enabling to install the Log Analytics agent and providing threat protection and security recommendations.
+- Defender for Cloud scans the environment for AWS EC2 instances, onboarding them to Azure Arc, enabling to install the Log Analytics agent and providing threat protection and security recommendations.
- The Defender for Cloud service scans for new AWS EC2 instances every 6 hours and onboards them according to the configuration. - The AWS CIS standard will be shown in the Defender for Cloud's regulatory compliance dashboard. - If Security Hub policy is enabled, recommendations will appear in the Defender for Cloud portal and the regulatory compliance dashboard 5-10 minutes after onboard completes.
defender-for-cloud Quickstart Onboard Gcp https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/quickstart-onboard-gcp.md
To protect your GCP-based resources, you can connect a GCP project with either:
- **Native cloud connector** (recommended) - Provides an agentless connection to your GCP account that you can extend with Defender for Cloud's Defender plans to secure your GCP resources:
- - [**Cloud Security Posture Management (CSPM)**](overview-page.md) assesses your GCP resources according to GCP-specific security recommendations and reflects your security posture in your secure score. The resources are shown in Defender for Cloud's [asset inventory](asset-inventory.md) and are assessed for compliance with built-in standards specific to GCP.
- - [**Microsoft Defender for Servers**](defender-for-servers-introduction.md) brings threat detection and advanced defenses to [supported Windows and Linux VM instances](supported-machines-endpoint-solutions-clouds-servers.md?tabs=tab/features-multicloud). This plan includes the integrated license for Microsoft Defender for Endpoint, security baselines and OS level assessments, vulnerability assessment scanning, adaptive application controls (AAC), file integrity monitoring (FIM), and more.
- - [**Microsoft Defender for Containers**](defender-for-containers-introduction.md) brings threat detection and advanced defenses to [supported Google GKE clusters](supported-machines-endpoint-solutions-clouds-containers.md). This plan includes Kubernetes threat protection, behavioral analytics, Kubernetes best practices, admission control recommendations, and more.
- - [**Microsoft Defender for SQL**](defender-for-sql-introduction.md) brings threat detection and advanced defenses to your SQL Servers running on GCP compute engine instances, including the advanced threat protection and vulnerability assessment scanning.
+ - [**Cloud Security Posture Management (CSPM)**](overview-page.md) assesses your GCP resources according to GCP-specific security recommendations and reflects your security posture in your secure score. The resources are shown in Defender for Cloud's [asset inventory](asset-inventory.md) and are assessed for compliance with built-in standards specific to GCP.
+ - [**Microsoft Defender for Servers**](defender-for-servers-introduction.md) brings threat detection and advanced defenses to [supported Windows and Linux VM instances](supported-machines-endpoint-solutions-clouds-servers.md?tabs=tab/features-multicloud). This plan includes the integrated license for Microsoft Defender for Endpoint, security baselines and OS level assessments, vulnerability assessment scanning, adaptive application controls (AAC), file integrity monitoring (FIM), and more.
+ - [**Microsoft Defender for Containers**](defender-for-containers-introduction.md) brings threat detection and advanced defenses to [supported Google GKE clusters](supported-machines-endpoint-solutions-clouds-containers.md). This plan includes Kubernetes threat protection, behavioral analytics, Kubernetes best practices, admission control recommendations, and more.
+ - [**Microsoft Defender for SQL**](defender-for-sql-introduction.md) brings threat detection and advanced defenses to your SQL Servers running on GCP compute engine instances, including the advanced threat protection and vulnerability assessment scanning.
- **Classic cloud connector** - Requires configuration in your GCP project to create a user that Defender for Cloud can use to connect to your GCP environment. If you have classic cloud connectors, we recommend that you [delete these connectors](#remove-classic-connectors) and use the native connector to reconnect to the project. Using both the classic and native connectors can produce duplicate recommendations.
To protect your GCP-based resources, you can connect a GCP project with either:
|-|:-| | Release state: | Preview <br> The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include other legal terms that apply to the Azure features that are in beta, preview, or otherwise not yet released into general availability. | |Pricing:|The **[Defender for SQL](defender-for-sql-introduction.md)** plan is billed at the same price as Azure resources.<br> The **Defender for Servers** plan is billed at the same price as the [Microsoft Defender for Servers](defender-for-servers-introduction.md) plan for Azure machines. If a GCP VM instance doesn't have the Azure Arc agent deployed, you won't be charged for that machine. <br>The **[Defender for Containers](defender-for-containers-introduction.md)** plan is free during the preview. After which, it will be billed for GCP at the same price as for Azure resources.|
-|Required roles and permissions:| **Contributor** on the relevant Azure Subscription <br> **Owner** on the GCP organization or project|
+|Required roles and permissions:| **Contributor** on the relevant Azure Subscription <br> **Owner** on the GCP organization or project|
|Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet, Other Gov)| ## Connect your GCP projects
When connecting your GCP projects to specific Azure subscriptions, consider the
- You can connect multiple projects to one Azure subscription. - You can connect multiple projects to multiple Azure subscriptions.
-Follow the steps below to create your GCP cloud connector.
+Follow the steps below to create your GCP cloud connector.
**To connect your GCP project to Defender for Cloud with a native connector**:
-1. Sign in to the [Azure portal](https://portal.azure.com).
+1. Sign in to the [Azure portal](https://portal.azure.com).
1. Navigate to **Defender for Cloud** > **Environment settings**.
Follow the steps below to create your GCP cloud connector.
:::image type="content" source="media/quickstart-onboard-gcp/copy-button.png" alt-text="Screenshot showing the location of the copy button.":::
- > [!NOTE]
+ > [!NOTE]
> To discover GCP resources and for the authentication process, the following APIs must be enabled: `iam.googleapis.com`, `sts.googleapis.com`, `cloudresourcemanager.googleapis.com`, `iamcredentials.googleapis.com`, `compute.googleapis.com`. If these APIs are not enabled, we'll enable them during the onboarding process by running the GCloud script. 1. Select the **GCP Cloud Shell >**.
To have full visibility to Microsoft Defender for Servers security content, ensu
- Microsoft Defender for Servers enabled on your subscription. Learn how to enable plans in the [Enable enhanced security features](enable-enhanced-security.md) article. - Azure Arc for servers installed on your VM instances.
- - **(Recommended) Auto-provisioning** - Auto-provisioning is enabled by default in the onboarding process and requires owner permissions on the subscription. Arc auto-provisioning process is using the OS config agent on GCP end. Learn more about the [OS config agent availability on GCP machines](https://cloud.google.com/compute/docs/images/os-details#vm-manager).
-
+ - **(Recommended) Auto-provisioning** - Auto-provisioning is enabled by default in the onboarding process and requires owner permissions on the subscription. Arc auto-provisioning process is using the OS config agent on GCP end. Learn more about the [OS config agent availability on GCP machines](https://cloud.google.com/compute/docs/images/os-details#vm-manager).
+ > [!NOTE] > The Arc auto-provisioning process leverages the VM manager on your Google Cloud Platform to enforce policies on the your VMs through the OS config agent. A VM with an [Active OS agent](https://cloud.google.com/compute/docs/manage-os#agent-state) will incur a cost according to GCP. Refer to [GCP's technical documentation](https://cloud.google.com/compute/docs/vm-manager#pricing) to see how this may affect your account.
- > <br><br> Microsoft Defender for Servers does not install the OS config agent to a VM that does not have it installed. However, Microsoft Defender for Servers will enable communication between the OS config agent and the OS config service if the agent is already installed but not communicating with the service.
- > <br><br> This can change the OS config agent from `inactive` to `active` and will lead to additional costs.
+ > <br><br> Microsoft Defender for Servers does not install the OS config agent to a VM that does not have it installed. However, Microsoft Defender for Servers will enable communication between the OS config agent and the OS config service if the agent is already installed but not communicating with the service.
+ > <br><br> This can change the OS config agent from `inactive` to `active` and will lead to additional costs.
- **Manual installation** - You can manually connect your VM instances to Azure Arc for servers. Instances in projects with Defender for Servers plan enabled that aren't connected to Arc will be surfaced by the recommendation ΓÇ£GCP VM instances should be connected to Azure ArcΓÇ¥. Use the ΓÇ£FixΓÇ¥ option offered in this recommendation to install Azure Arc on the selected machines. - Ensure you've fulfilled the [network requirements for Azure Arc](../azure-arc/servers/network-requirements.md?tabs=azure-cloud). - Other extensions should be enabled on the Arc-connected machines.
- - Microsoft Defender for Endpoint
- - VA solution (Microsoft Defender Vulnerability Management/ Qualys)
- - Log Analytics (LA) agent on Arc machines or Azure Monitor agent (AMA). Ensure the selected workspace has security solution installed.
-
- The LA agent and AMA are currently configured in the subscription level, such that all the multicloud accounts and projects (from both AWS and GCP) under the same subscription will inherit the subscription settings regarding the LA agent and AMA.
+ - Microsoft Defender for Endpoint
+ - VA solution (Microsoft Defender Vulnerability Management/ Qualys)
+ - Log Analytics (LA) agent on Arc machines or Azure Monitor agent (AMA). Ensure the selected workspace has security solution installed.
+
+ The LA agent and AMA are currently configured in the subscription level, such that all the multicloud accounts and projects (from both AWS and GCP) under the same subscription will inherit the subscription settings regarding the LA agent and AMA.
- Learn more about [monitoring components](monitoring-components.md) for Defender for Cloud.
+ Learn more about [monitoring components](monitoring-components.md) for Defender for Cloud.
> [!NOTE] > Defender for Servers assigns tags to your GCP resources to manage the auto-provisioning process. You must have these tags properly assigned to your resources so that Defender for Cloud can manage your resources:
To have full visibility to Microsoft Defender for Servers security content, ensu
:::image type="content" source="media/quickstart-onboard-gcp/auto-provision-screen.png" alt-text="Screenshot showing the toggle switches for the Servers plan."::: > [!Note]
- > If Azure Arc is toggled **Off**, you will need to follow the manual installation process mentioned above.
+ > If Azure Arc is toggled **Off**, you will need to follow the manual installation process mentioned above.
-1. Select **Save**.
+1. Select **Save**.
-1. Continue from step number 8 of the [Connect your GCP projects](#connect-your-gcp-projects) instructions.
+1. Continue from step number 8 of the [Connect your GCP projects](#connect-your-gcp-projects) instructions.
### Configure the Databases plan
To have full visibility to Microsoft Defender for SQL security content, ensure y
- Microsoft SQL servers on machines plan enabled on your subscription. Learn how to enable plan in the [Enable enhanced security features](quickstart-enable-database-protections.md) article. - Azure Arc for servers installed on your VM instances.
- - **(Recommended) Auto-provisioning** - Auto-provisioning is enabled by default in the onboarding process and requires owner permissions on the subscription. Arc auto-provisioning process is using the OS config agent on GCP end. Learn more about the [OS config agent availability on GCP machines](https://cloud.google.com/compute/docs/images/os-details#vm-manager).
+ - **(Recommended) Auto-provisioning** - Auto-provisioning is enabled by default in the onboarding process and requires owner permissions on the subscription. Arc auto-provisioning process is using the OS config agent on GCP end. Learn more about the [OS config agent availability on GCP machines](https://cloud.google.com/compute/docs/images/os-details#vm-manager).
> [!NOTE] > The Arc auto-provisioning process leverages the VM manager on your Google Cloud Platform, to enforce policies on the your VMs through the OS config agent. A VM with an [Active OS agent](https://cloud.google.com/compute/docs/manage-os#agent-state) will incur a cost according to GCP. Refer to [GCP's technical documentation](https://cloud.google.com/compute/docs/vm-manager#pricing) to see how this may affect your account.
- > <br><br> Microsoft Defender for Servers does not install the OS config agent to a VM that does not have it installed. However, Microsoft Defender for Servers will enable communication between the OS config agent and the OS config service if the agent is already installed but not communicating with the service.
- > <br><br> This can change the OS config agent from `inactive` to `active` and will lead to additional costs.
+ > <br><br> Microsoft Defender for Servers does not install the OS config agent to a VM that does not have it installed. However, Microsoft Defender for Servers will enable communication between the OS config agent and the OS config service if the agent is already installed but not communicating with the service.
+ > <br><br> This can change the OS config agent from `inactive` to `active` and will lead to additional costs.
- Other extensions should be enabled on the Arc-connected machines.
- - SQL servers on machines. Ensure the plan is enabled on your subscription.
- - Log Analytics (LA) agent on Arc machines. Ensure the selected workspace has security solution installed.
+ - SQL servers on machines. Ensure the plan is enabled on your subscription.
+ - Log Analytics (LA) agent on Arc machines. Ensure the selected workspace has security solution installed.
- The LA agent and SQL servers on machines plan are currently configured in the subscription level, such that all the multicloud accounts and projects (from both AWS and GCP) under the same subscription will inherit the subscription settings and may result in extra charges.
+ The LA agent and SQL servers on machines plan are currently configured in the subscription level, such that all the multicloud accounts and projects (from both AWS and GCP) under the same subscription will inherit the subscription settings and may result in extra charges.
- Learn more about [monitoring components](monitoring-components.md) for Defender for Cloud.
+ Learn more about [monitoring components](monitoring-components.md) for Defender for Cloud.
> [!NOTE] > Defender for SQL assigns tags to your GCP resources to manage the auto-provisioning process. You must have these tags properly assigned to your resources so that Defender for Cloud can manage your resources: **Cloud**, **InstanceName**, **MDFCSecurityConnector**, **MachineId**, **ProjectId**, **ProjectNumber**-- Automatic SQL server discovery and registration. Enable these settings to allow automatic discovery and registration of SQL servers, providing centralized SQL asset inventory and management.
+- Automatic SQL server discovery and registration. Enable these settings to allow automatic discovery and registration of SQL servers, providing centralized SQL asset inventory and management.
**To configure the Databases plan**:
To have full visibility to Microsoft Defender for SQL security content, ensure y
> [!Note] > If Azure Arc is toggled **Off**, you will need to follow the manual installation process mentioned above.
-1. Select **Save**.
+1. Select **Save**.
-1. Continue from step number 8 of the [Connect your GCP projects](#connect-your-gcp-projects) instructions.
+1. Continue from step number 8 of the [Connect your GCP projects](#connect-your-gcp-projects) instructions.
### Configure the Containers plan
Microsoft Defender for Containers brings threat detection and advanced defenses
- **Kubernetes audit logs to Defender for Cloud** - Enabled by default. This configuration is available at a GCP project level only. This provides agentless collection of the audit log data through [GCP Cloud Logging](https://cloud.google.com/logging/) to the Microsoft Defender for Cloud backend for further analysis. - **Azure Arc-enabled Kubernetes, the Defender extension, and the Azure Policy extension** - Enabled by default. You can install Azure Arc-enabled Kubernetes and its extensions on your GKE clusters in three different ways:
- - **(Recommended)** Enable the Defender for Container auto-provisioning at the project level as explained in the instructions below.
- - Defender for Cloud recommendations, for per cluster installation, which will appear on the Microsoft Defender for Cloud's Recommendations page. Learn how to [deploy the solution to specific clusters](defender-for-containers-enable.md?tabs=defender-for-container-gke#deploy-the-solution-to-specific-clusters).
- - Manual installation for [Arc-enabled Kubernetes](../azure-arc/kubernetes/quickstart-connect-cluster.md) and [extensions](../azure-arc/kubernetes/extensions.md).
+ - **(Recommended)** Enable the Defender for Container auto-provisioning at the project level as explained in the instructions below.
+ - Defender for Cloud recommendations, for per cluster installation, which will appear on the Microsoft Defender for Cloud's Recommendations page. Learn how to [deploy the solution to specific clusters](defender-for-containers-enable.md?tabs=defender-for-container-gke#deploy-the-solution-to-specific-clusters).
+ - Manual installation for [Arc-enabled Kubernetes](../azure-arc/kubernetes/quickstart-connect-cluster.md) and [extensions](../azure-arc/kubernetes/extensions.md).
> [!NOTE] > If you choose to disable the available configuration options, no agents or components will be deployed to your clusters. Learn more about [feature availability](supported-machines-endpoint-solutions-clouds-containers.md).
Microsoft Defender for Containers brings threat detection and advanced defenses
1. Select **Save**.
-1. Continue from step number 8 of the [Connect your GCP projects](#connect-your-gcp-projects) instructions.
+1. Continue from step number 8 of the [Connect your GCP projects](#connect-your-gcp-projects) instructions.
### Remove 'classic' connectors If you have any existing connectors created with the classic cloud connectors experience, remove them first:
-1. Sign in to the [Azure portal](https://portal.azure.com).
+1. Sign in to the [Azure portal](https://portal.azure.com).
1. Navigate to **Defender for Cloud** > **Environment settings**.
If you have any existing connectors created with the classic cloud connectors ex
|Required roles and permissions:|**Owner** or **Contributor** on the relevant Azure Subscription| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/no-icon.png"::: National (Azure Government, Azure China 21Vianet)| - ## Connect your GCP project Create a connector for every organization you want to monitor from Defender for Cloud.
When connecting your GCP projects to specific Azure subscriptions, consider the
- You can connect multiple organizations to multiple Azure subscriptions - When you connect an organization, all *projects* within that organization are added to Defender for Cloud
-Follow the steps below to create your GCP cloud connector.
+Follow the steps below to create your GCP cloud connector.
### Step 1. Set up GCP Security Command Center with Security Health Analytics
The instructions for connecting your GCP environment for security configuration
When you first enable Security Health Analytics, it might take several hours for data to be available. - ### Step 2. Enable GCP Security Command Center API 1. From Google's **Cloud Console API Library**, select each project in the organization you want to connect to Microsoft Defender for Cloud.
When you first enable Security Health Analytics, it might take several hours for
Learn more about the [Security Command Center API](https://cloud.google.com/security-command-center/docs/reference/rest/). - ### Step 3. Create a dedicated service account for the security configuration integration
-1. In the **GCP Console**, select a project from the organization in which you're creating the required service account.
+1. In the **GCP Console**, select a project from the organization in which you're creating the required service account.
> [!NOTE]
- > When this service account is added at the organization level, it'll be used to access the data gathered by Security Command Center from all of the other enabled projects in the organization.
+ > When this service account is added at the organization level, it'll be used to access the data gathered by Security Command Center from all of the other enabled projects in the organization.
1. In the **IAM & admin** section of the navigation menu, select **Service accounts**. 1. Select **CREATE SERVICE ACCOUNT**.
Learn more about the [Security Command Center API](https://cloud.google.com/secu
1. Specify the role as **Defender for Cloud Admin Viewer** and then select **Save**. :::image type="content" source="./media/quickstart-onboard-gcp/iam-settings-gcp-permissions-admin-viewer.png" alt-text="Setting the relevant GCP permissions."::: - ### Step 4. Create a private key for the dedicated service account+ 1. Switch to project level. 1. In the **IAM & admin** section of the navigation menu, select **Service accounts**. 1. Open the dedicated service account and select Edit.
Learn more about the [Security Command Center API](https://cloud.google.com/secu
1. In the Create private key screen, select **JSON** and then select **CREATE**. 1. Save this JSON file for later use. - ### Step 5. Connect GCP to Defender for Cloud+ 1. From Defender for Cloud's menu, open **Environment settings** and select the option to switch back to the classic connectors experience. :::image type="content" source="media/quickstart-onboard-gcp/classic-connectors-experience.png" alt-text="Switching back to the classic cloud connectors experience in Defender for Cloud.":::
Learn more about the [Security Command Center API](https://cloud.google.com/secu
1. In the **Display name** field, enter a display name for the connector. 1. In the **Organization ID** field, enter your organization's ID. If you don't know it, see [Creating and managing organizations](https://cloud.google.com/resource-manager/docs/creating-managing-organization). 1. In the **Private key** file box, browse to the JSON file you downloaded in [Step 4. Create a private key for the dedicated service account](#step-4-create-a-private-key-for-the-dedicated-service-account).
- 1. Select **Next**
+1. Select **Next**
### Step 6. Confirmation
To view all the active recommendations for your resources by resource type, use
:::image type="content" source="./media/quickstart-onboard-gcp/gcp-resource-types-in-inventory.png" alt-text="Asset inventory page's resource type filter showing the GCP options" lightbox="media/quickstart-onboard-gcp/gcp-resource-types-in-inventory.png"::: - ## FAQ - Connecting GCP projects to Microsoft Defender for Cloud ### Is there an API for connecting my GCP resources to Defender for Cloud?+ Yes. To create, edit, or delete Defender for Cloud cloud connectors with a REST API, see the details of the [Connectors API](/rest/api/defenderforcloud/security-connectors). ### What GCP regions are supported by Defender for Cloud?+ Defender for Cloud supports and scans all available regions on GCP public cloud. ## Next steps
defender-for-cloud Quickstart Onboard Github https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/quickstart-onboard-github.md
To protect your GitHub-based resources, you can connect your GitHub organization
By connecting your GitHub repositories to Defender for Cloud, you'll extend Defender for Cloud's enhanced security features to your GitHub resources. These features include: -- **Defender for Cloud's Cloud Security Posture Management (CSPM) features** - Assesses your GitHub resources according to GitHub-specific security recommendations. You can also learn about all of the [recommendations for DevOps](recommendations-reference.md) resources. Resources are assessed for compliance with built-in standards that are specific to DevOps. Defender for Cloud's [asset inventory page](asset-inventory.md) is a multicloud enabled feature that helps you manage your GitHub resources alongside your Azure resources.
+- **Defender for Cloud's Cloud Security Posture Management (CSPM) features** - Assesses your GitHub resources according to GitHub-specific security recommendations. You can also learn about all of the [recommendations for DevOps](recommendations-reference.md) resources. Resources are assessed for compliance with built-in standards that are specific to DevOps. Defender for Cloud's [asset inventory page](asset-inventory.md) is a multicloud enabled feature that helps you manage your GitHub resources alongside your Azure resources.
-- **Defender for Cloud's Cloud Workload Protection features** - Extends Defender for Cloud's threat detection capabilities and advanced defenses to your GitHub resources.
+- **Defender for Cloud's Cloud Workload Protection features** - Extends Defender for Cloud's threat detection capabilities and advanced defenses to your GitHub resources.
## Prerequisites
By connecting your GitHub repositories to Defender for Cloud, you'll extend Defe
| Aspect | Details | |--|--|
-| Release state: | Preview <br> The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include other legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability. |
+| Release state: | Preview <br> The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include other legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability. |
| Pricing: | For pricing, see the Defender for Cloud [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/?v=17.23h#pricing).
-| Required permissions: | **- Azure account:** with permissions to sign into Azure portal <br> **- Contributor:** on the Azure subscription where the connector will be created <br> **- Security Admin Role:** in Defender for Cloud <br> **- Organization Administrator:** in GitHub |
+| Required permissions: | **- Azure account:** with permissions to sign into Azure portal <br> **- Contributor:** on the Azure subscription where the connector will be created <br> **- Security Admin Role:** in Defender for Cloud <br> **- Organization Administrator:** in GitHub |
| GitHub supported versions: | GitHub Free, Pro, Team, and GitHub Enterprise Cloud | | Regions: | Australia East, Central US, West Europe |
-| Clouds: | :::image type="icon" source="media/quickstart-onboard-github/check-yes.png" border="false"::: Commercial clouds <br> :::image type="icon" source="media/quickstart-onboard-github/x-no.png" border="false"::: National (Azure Government, Azure China 21Vianet) |
+| Clouds: | :::image type="icon" source="media/quickstart-onboard-github/check-yes.png" border="false"::: Commercial clouds <br> :::image type="icon" source="media/quickstart-onboard-github/x-no.png" border="false"::: National (Azure Government, Azure China 21Vianet) |
## Connect your GitHub account
defender-for-cloud Support Agentless Containers Posture https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/support-agentless-containers-posture.md
Title: Support and prerequisites for agentless container posture - Microsoft Def
description: Learn about the requirements for agentless container posture in Microsoft Defender for Cloud Previously updated : 06/01/2023 Last updated : 06/14/2023 # Support and prerequisites for agentless containers posture
defender-for-cloud Support Matrix Defender For Containers https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/support-matrix-defender-for-containers.md
description: Review support requirements for the Defender for Containers plan in
Previously updated : 01/01/2023 Last updated : 06/07/2023
This article summarizes support information for the [Defender for Containers pla
> [!NOTE] > For additional requirements for Kubernetes workload protection, see [existing limitations](../governance/policy/concepts/policy-for-kubernetes.md#limitations). - ### Private link restrictions Defender for Containers relies on the Defender profile/extension for several features. The Defender profile/extension doesn't support the ability to ingest data through Private Link. You can disable public access for ingestion, so that only machines that are configured to send traffic through Azure Monitor Private Link can send data to that workstation. You can configure a private link by navigating to **`your workspace`** > **Network Isolation** and setting the Virtual networks access configurations to **No**.
Learn how to [use Azure Private Link to connect networks to Azure Monitor](../az
## AWS (EKS) | Domain | Feature | Supported Resources | Linux release state | Windows release state | Agentless/Agent-based | Pricing tier |
-|--|--| -- | -- | -- | -- | --|
+|--|--| -- | -- | -- | -- | --|
| Compliance | Docker CIS | EC2 | Preview | - | Log Analytics agent | Defender for Servers Plan 2 | | Vulnerability Assessment | Registry scan | ECR | Preview | - | Agentless | Defender for Containers | | Vulnerability Assessment | View vulnerabilities for running images | - | - | - | - | - |
Learn how to [use Azure Private Link to connect networks to Azure Monitor](../az
| Discovery and provisioning | Auto provisioning of Defender extension | - | - | - | - | - | | Discovery and provisioning | Auto provisioning of Azure policy extension | - | - | - | - | - | - ### Images support-EKS | Aspect | Details |
Learn how to [use Azure Private Link to connect networks to Azure Monitor](../az
> [!NOTE] > For additional requirements for Kuberenetes workload protection, see [existing limitations](../governance/policy/concepts/policy-for-kubernetes.md#limitations). - ### Private link restrictions Defender for Containers relies on the Defender profile/extension for several features. The Defender profile/extension doesn't support the ability to ingest data through Private Link. You can disable public access for ingestion, so that only machines that are configured to send traffic through Azure Monitor Private Link can send data to that workstation. You can configure a private link by navigating to **`your workspace`** > **Network Isolation** and setting the Virtual networks access configurations to **No**.
Outbound proxy without authentication and outbound proxy with basic authenticati
## GCP (GKE) | Domain | Feature | Supported Resources | Linux release state | Windows release state | Agentless/Agent-based | Pricing tier |
-|--|--| -- | -- | -- | -- | --|
+|--|--| -- | -- | -- | -- | --|
| Compliance | Docker CIS | GCP VMs | Preview | - | Log Analytics agent | Defender for Servers Plan 2 | | Vulnerability Assessment | Registry scan | - | - | - | - | - | | Vulnerability Assessment | View vulnerabilities for running images | - | - | - | - | - |
Outbound proxy without authentication and outbound proxy with basic authenticati
| Discovery and provisioning | Auto provisioning of Defender extension | GKE | Preview | - | Agentless | Defender for Containers | | Discovery and provisioning | Auto provisioning of Azure policy extension | GKE | Preview | - | Agentless | Defender for Containers | - ### Kubernetes distributions/configurations support-GKE | Aspect | Details |
Outbound proxy without authentication and outbound proxy with basic authenticati
> [!NOTE] > For additional requirements for Kuberenetes workload protection, see [existing limitations](../governance/policy/concepts/policy-for-kubernetes.md#limitations). - ### Private link restrictions Defender for Containers relies on the Defender profile/extension for several features. The Defender profile/extension doesn't support the ability to ingest data through Private Link. You can disable public access for ingestion, so that only machines that are configured to send traffic through Azure Monitor Private Link can send data to that workstation. You can configure a private link by navigating to **`your workspace`** > **Network Isolation** and setting the Virtual networks access configurations to **No**.
Outbound proxy without authentication and outbound proxy with basic authenticati
## On-premises Arc-enabled machines | Domain | Feature | Supported Resources | Linux release state | Windows release state | Agentless/Agent-based | Pricing tier |
-|--|--| -- | -- | -- | -- | --|
+|--|--| -- | -- | -- | -- | --|
| Compliance | Docker CIS | Arc enabled VMs | Preview | - | Log Analytics agent | Defender for Servers Plan 2 | | Vulnerability Assessment | Registry scan - [OS packages](#registries-and-images-support--on-premises) | ACR, Private ACR | GA | Preview | Agentless | Defender for Containers | | Vulnerability Assessment | Registry scan - [language specific packages](#registries-and-images-support--on-premises) | ACR, Private ACR | Preview | - | Agentless | Defender for Containers |
Outbound proxy without authentication and outbound proxy with basic authenticati
| Discovery and provisioning | Auto provisioning of Defender extension | Arc enabled K8s clusters | Preview | Preview | Agentless | Defender for Containers | | Discovery and provisioning | Auto provisioning of Azure policy extension | Arc enabled K8s clusters | Preview | - | Agentless | Defender for Containers | - ### Registries and images support -on-premises | Aspect | Details |
Defender for Containers relies on the **Defender extension** for several feature
- CentOS 8 - Debian 10 - Debian 11-- Google Container-Optimized OS -- Mariner 1.0 -- Mariner 2.0
+- Google Container-Optimized OS
+- Mariner 1.0
+- Mariner 2.0
- Red Hat Enterprise Linux 8-- Ubuntu 16.04
+- Ubuntu 16.04
- Ubuntu 18.04 - Ubuntu 20.04 - Ubuntu 22.04
Learn how to [use Azure Private Link to connect networks to Azure Monitor](../az
Outbound proxy without authentication and outbound proxy with basic authentication are supported. Outbound proxy that expects trusted certificates is currently not supported. ## Next steps
-
+ - Learn how [Defender for Cloud collects data using the Log Analytics Agent](monitoring-components.md). - Learn how [Defender for Cloud manages and safeguards data](data-security.md). - Review the [platforms that support Defender for Cloud](security-center-os-coverage.md).
defender-for-cloud Tutorial Security Incident https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/tutorial-security-incident.md
Last updated 01/17/2023
# Tutorial: Triage, investigate, and respond to security alerts
-Microsoft Defender for Cloud continuously analyzes your hybrid cloud workloads using advanced analytics and threat intelligence to alert you about potentially malicious activities in your cloud resources. You can also integrate alerts from other security products and services into Defender for Cloud. Once an alert is raised, swift action is needed to investigate and remediate the potential security issue.
+Microsoft Defender for Cloud continuously analyzes your hybrid cloud workloads using advanced analytics and threat intelligence to alert you about potentially malicious activities in your cloud resources. You can also integrate alerts from other security products and services into Defender for Cloud. Once an alert is raised, swift action is needed to investigate and remediate the potential security issue.
In this tutorial, you'll learn how to: > [!div class="checklist"]
-> * Triage security alerts
-> * Investigate a security alert to determine the root cause
-> * Respond to a security alert and mitigate that root cause
+>
+> - Triage security alerts
+> - Investigate a security alert to determine the root cause
+> - Respond to a security alert and mitigate that root cause
If you don't have an Azure subscription, create a [free account](https://azure.microsoft.com/free/) before you begin. ## Prerequisites
-To step through the features covered in this tutorial, you must have Defender for Cloud's enhanced security features enabled. To learn more about Defender for Cloud's pricing, see the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/).
-The quickstart, [Get started with Defender for Cloud](get-started.md) walks you through the upgrade process.
+To step through the features covered in this tutorial, you must have Defender for Cloud's enhanced security features enabled. To learn more about Defender for Cloud's pricing, see the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/).
+The quickstart, [Get started with Defender for Cloud](get-started.md) walks you through the upgrade process.
## Triage security alerts
-Defender for Cloud provides a unified view of all security alerts. Security alerts are ranked based on the severity of the detected activity.
+
+Defender for Cloud provides a unified view of all security alerts. Security alerts are ranked based on the severity of the detected activity.
Triage your alerts from the **Security alerts** page:
When triaging security alerts, prioritize alerts based on the alert severity by
> [!TIP] > You can connect Microsoft Defender for Cloud to most popular SIEM solutions including Microsoft Sentinel and consume the alerts from your tool of choice. Learn more in [Stream alerts to a SIEM, SOAR, or IT Service Management solution](export-to-siem.md). - ## Investigate a security alert When you've decided which alert to investigate first:
When you've decided which alert to investigate first:
- Investigate the raw logs generated by the attacked resource ## Respond to a security alert+ After you've investigated a security alert and understood its scope, you can respond to the alert from within Microsoft Defender for Cloud:
-1. Open the **Take action** tab to see the recommended responses.
+1. Open the **Take action** tab to see the recommended responses.
:::image type="content" source="./media/tutorial-security-incident/alert-details-take-action.png" alt-text="Security alerts take action tab." lightbox="./media/tutorial-security-incident/alert-details-take-action.png":::
-1. Review the **Mitigate the threat** section for the manual investigation steps necessary to mitigate the issue.
-1. To harden your resources and prevent future attacks of this kind, remediate the security recommendations in the **Prevent future attacks** section.
-1. To trigger a logic app with automated response steps, use the **Trigger automated response** section.
-1. If the detected activity *isnΓÇÖt* malicious, you can suppress future alerts of this kind using the **Suppress similar alerts** section.
+1. Review the **Mitigate the threat** section for the manual investigation steps necessary to mitigate the issue.
+1. To harden your resources and prevent future attacks of this kind, remediate the security recommendations in the **Prevent future attacks** section.
+1. To trigger a logic app with automated response steps, use the **Trigger automated response** section.
+1. If the detected activity *isnΓÇÖt* malicious, you can suppress future alerts of this kind using the **Suppress similar alerts** section.
-1. When you've completed the investigation into the alert and responded in the appropriate way, change the status to **Dismissed**.
+1. When you've completed the investigation into the alert and responded in the appropriate way, change the status to **Dismissed**.
:::image type="content" source="./media/tutorial-security-incident/set-status-dismissed.png" alt-text="Setting an alert's status"::: The alert is then removed from the main list of alerts. You can use the filter from the alerts list page to view all alerts with **Dismissed** status.
-1. We encourage you to provide feedback about the alert to Microsoft:
+1. We encourage you to provide feedback about the alert to Microsoft:
1. Marking the alert as **Useful** or **Not useful**. 1. Select a reason and add a comment.
After you've investigated a security alert and understood its scope, you can res
## Clean up resources
-Other quickstarts and tutorials in this collection build upon this quickstart. If you plan to continue to work with subsequent quickstarts and tutorials, keep automatic provisioning and Defender for Cloud's enhanced security features enabled.
+Other quickstarts and tutorials in this collection build upon this quickstart. If you plan to continue to work with subsequent quickstarts and tutorials, keep automatic provisioning and Defender for Cloud's enhanced security features enabled.
If you don't plan to continue, or you want to disable either of these features:
If you don't plan to continue, or you want to disable either of these features:
1. Select **Save**. > [!NOTE]
- > After you disable enhanced security features - whether you disable a single plan or all plans at once - data collection may continue for a short period of time.
+ > After you disable enhanced security features - whether you disable a single plan or all plans at once - data collection may continue for a short period of time.
1. From Defender for Cloud's menu, open **Environment settings**. 1. Select the relevant subscription.
defender-for-cloud Upcoming Changes https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/upcoming-changes.md
Title: Important changes coming to Microsoft Defender for Cloud description: Upcoming changes to Microsoft Defender for Cloud that you might need to be aware of and for which you might need to plan Previously updated : 06/07/2023 Last updated : 06/14/2023 # Important upcoming changes to Microsoft Defender for Cloud
If you're looking for the latest release notes, you can find them in the [What's
| [DevOps Resource Deduplication for Defender for DevOps](#devops-resource-deduplication-for-defender-for-devops) | July 2023 | | [General availability release of agentless container posture in Defender CSPM](#general-availability-ga-release-of-agentless-container-posture-in-defender-cspm) | July 2023 | | [Business model and pricing updates for Defender for Cloud plans](#business-model-and-pricing-updates-for-defender-for-cloud-plans) | July 2023 |
+| [Change to the Log Analytics daily cap](#change-to-the-log-analytics-daily-cap) | September 2023 |
### Release of containers vulnerability assessment runtime recommendation powered by Microsoft Defender Vulnerability Management (MDVM) in Defender CSPM
The `Key Vaults should have purge protection enabled` recommendation is deprecat
|--|--|--|--| | [Key vaults should have deletion protection enabled](https://ms.portal.azure.com/#view/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F0b60c0b2-2dc2-4e1c-b5c9-abbed971de53)| A malicious insider in your organization can potentially delete and purge key vaults. Purge protection protects you from insider attacks by enforcing a mandatory retention period for soft deleted key vaults. No one inside your organization or Microsoft will be able to purge your key vaults during the soft delete retention period. | audit, deny, disabled | [2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Key%20Vault/KeyVault_Recoverable_Audit.json) |
-See the [full index of Azure Policy built-in policy definitions for Key Vault](https://learn.microsoft.com/azure/key-vault/policy-reference).
+See the [full index of Azure Policy built-in policy definitions for Key Vault](../key-vault/policy-reference.md)
### Changes to the Defender for DevOps recommendations environment source and resource ID
Existing customers of Defender for Key-Vault, Defender for Azure Resource Manage
For more information on all of these plans, check out the [Defender for Cloud pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/?v=17.23h)
+### Change to the Log Analytics daily cap
+
+Azure monitor offers the capability to [set a daily cap](../azure-monitor/logs/daily-cap.md) on the data that is ingested on your Log analytics workspaces. However, Defender for Cloud security events are currently not supported in those exclusions.
+
+Starting on September 18, 2023 the Log Analytics Daily Cap will no longer exclude the below set of data types:
+
+- WindowsEvent
+- SecurityAlert
+- SecurityBaseline
+- SecurityBaselineSummary
+- SecurityDetection
+- SecurityEvent
+- WindowsFirewall
+- MaliciousIPCommunication
+- LinuxAuditLog
+- SysmonEvent
+- ProtectionStatus
+- Update
+- UpdateSummary
+- CommonSecurityLog
+- Syslog
+
+At that time, all billable data types will be capped if the daily cap is met. This change improves your ability to fully contain costs from higher-than-expected data ingestion.
+
+Learn more about [workspaces with Microsoft Defender for Cloud](../azure-monitor/logs/daily-cap.md#workspaces-with-microsoft-defender-for-cloud)
+ ## Next steps For all recent changes to Defender for Cloud, see [What's new in Microsoft Defender for Cloud?](release-notes.md).
defender-for-cloud Windows Admin Center Integration https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/windows-admin-center-integration.md
Last updated 01/08/2023
Windows Admin Center is a management tool for your Windows servers. It's a single location for system administrators to access most the most commonly used admin tools. From within Windows Admin Center, you can directly onboard your on-premises servers into Microsoft Defender for Cloud. You can then view a summary of your security recommendations and alerts directly in the Windows Admin Center experience.
-> [!NOTE]
-> Your Azure subscription and the associated Log Analytics workspace both need to have Microsoft Defender for Cloud's enhanced security features enabled in order to enable the Windows Admin Center integration.
-> Enhanced security features are free for the first 30 days if you haven't previously used it on the subscription and workspace. For pricing details in your local currency or region, see the [pricing page](https://azure.microsoft.com/pricing/details/defender-for-cloud/).
->
- When you've successfully onboarded a server from Windows Admin Center to Microsoft Defender for Cloud, you can: - View security alerts and recommendations inside the Defender for Cloud extension in Windows Admin Center.
Through the combination of these two tools, Defender for Cloud becomes your sing
![Onboarding Windows Admin Center extension to Defender for Cloud.](./media/windows-admin-center-integration/onboarding-from-wac-welcome.png) 1. Follow the instructions to connect your server to Defender for Cloud. After you've entered the necessary details and confirmed, Defender for Cloud makes the necessary configuration changes to ensure that all of the following are true:
- * An Azure Gateway is registered.
- * The server has a workspace to report to and an associated subscription.
- * Defender for Cloud's Log Analytics solution is enabled on the workspace. This solution provides Microsoft Defender for Cloud's features for *all* servers and virtual machines reporting to this workspace.
- * Microsoft Defender for Servers is enabled on the subscription.
- * The Log Analytics agent is installed on the server and configured to report to the selected workspace. If the server already reports to another workspace, it's configured to report to the newly selected workspace as well.
+ - An Azure Gateway is registered.
+ - The server has a workspace to report to and an associated subscription.
+ - Defender for Cloud's Log Analytics solution is enabled on the workspace. This solution provides Microsoft Defender for Cloud's features for *all* servers and virtual machines reporting to this workspace.
+ - Microsoft Defender for Servers is enabled on the subscription.
+ - The Log Analytics agent is installed on the server and configured to report to the selected workspace. If the server already reports to another workspace, it's configured to report to the newly selected workspace as well.
> [!NOTE] > It may take some time after onboarding for recommendations to appear. In fact, depending on on your server activity you may not receive *any* alerts. To generate test alerts to test your alerts are working correctly, follow the instructions in [the alert validation procedure](alert-validation.md). - ## View security recommendations and alerts in Windows Admin Center Once onboarded, you can view your alerts and recommendations directly in the Microsoft Defender for Cloud area of Windows Admin Center. Select a recommendation or an alert to view them in the Azure portal. There, you'll get additional information and learn how to remediate issues.
Once onboarded, you can view your alerts and recommendations directly in the Mic
[![Defender for Cloud recommendations and alerts as seen in Windows Admin Center.](media/windows-admin-center-integration/asc-recommendations-and-alerts-in-wac.png)](media/windows-admin-center-integration/asc-recommendations-and-alerts-in-wac.png#lightbox) ## View security recommendations and alerts for Windows Admin Center managed servers in Defender for Cloud+ From Microsoft Defender for Cloud:
-* To view security recommendations for all your Windows Admin Center servers, open [asset inventory](asset-inventory.md) and filter to the machine type that you want to investigate. select the **VMs and Computers** tab.
+- To view security recommendations for all your Windows Admin Center servers, open [asset inventory](asset-inventory.md) and filter to the machine type that you want to investigate. select the **VMs and Computers** tab.
-* To view security alerts for all your Windows Admin Center servers, open **Security alerts**. Select **Filter** and ensure **only** "Non-Azure" is selected:
+- To view security alerts for all your Windows Admin Center servers, open **Security alerts**. Select **Filter** and ensure **only** "Non-Azure" is selected:
:::image type="content" source="./media/windows-admin-center-integration/filtering-alerts-by-environment.png" alt-text="Filter security alerts for Windows Admin Center managed servers." lightbox="./media/windows-admin-center-integration/filtering-alerts-by-environment.png":::
defender-for-cloud Workflow Automation https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-cloud/workflow-automation.md
Every security program includes multiple workflows for incident response. These
This article describes the workflow automation feature of Microsoft Defender for Cloud. This feature can trigger consumption logic apps on security alerts, recommendations, and changes to regulatory compliance. For example, you might want Defender for Cloud to email a specific user when an alert occurs. You'll also learn how to create logic apps using [Azure Logic Apps](../logic-apps/logic-apps-overview.md). - ## Availability |Aspect|Details|
This article describes the workflow automation feature of Microsoft Defender for
|Required roles and permissions:|**Security admin role** or **Owner** on the resource group<br>Must also have write permissions for the target resource<br><br>To work with Azure Logic Apps workflows, you must also have the following Logic Apps roles/permissions:<br> - [Logic App Operator](../role-based-access-control/built-in-roles.md#logic-app-operator) permissions are required or Logic App read/trigger access (this role can't create or edit logic apps; only *run* existing ones)<br> - [Logic App Contributor](../role-based-access-control/built-in-roles.md#logic-app-contributor) permissions are required for logic app creation and modification<br>If you want to use Logic Apps connectors, you may need other credentials to sign in to their respective services (for example, your Outlook/Teams/Slack instances)| |Clouds:|:::image type="icon" source="./media/icons/yes-icon.png"::: Commercial clouds<br>:::image type="icon" source="./media/icons/yes-icon.png"::: National (Azure Government, Azure China 21Vianet)|
-## Create a logic app and define when it should automatically run
+## Create a logic app and define when it should automatically run
1. From Defender for Cloud's sidebar, select **Workflow automation**.
This article describes the workflow automation feature of Microsoft Defender for
> [!NOTE] > If your trigger is a recommendation that has "sub-recommendations", for example **Vulnerability assessment findings on your SQL databases should be remediated**, the logic app will not trigger for every new security finding; only when the status of the parent recommendation changes.
- 1. The consumption logic app that will run when your trigger conditions are met.
+ 1. The consumption logic app that will run when your trigger conditions are met.
1. From the Actions section, select **visit the Logic Apps page** to begin the logic app creation process.
This article describes the workflow automation feature of Microsoft Defender for
- **When a Microsoft Defender for Cloud Recommendation is created or triggered** - If your logic app relies on a recommendation that gets deprecated or replaced, your automation will stop working and you'll need to update the trigger. To track changes to recommendations, use the [release notes](release-notes.md). - **When a Defender for Cloud Alert is created or triggered** - You can customize the trigger so that it relates only to alerts with the severity levels that interest you.
-
+ - **When a Defender for Cloud regulatory compliance assessment is created or triggered** - Trigger automations based on updates to regulatory compliance assessments. > [!NOTE]
- > If you are using the legacy trigger "When a response to a Microsoft Defender for Cloud alert is triggered", your logic apps will not be launched by the Workflow Automation feature. Instead, use either of the triggers mentioned above.
+ > If you are using the legacy trigger "When a response to a Microsoft Defender for Cloud alert is triggered", your logic apps will not be launched by the Workflow Automation feature. Instead, use either of the triggers mentioned above.
[![Sample logic app.](media/workflow-automation/sample-logic-app.png)](media/workflow-automation/sample-logic-app.png#lightbox)
This article describes the workflow automation feature of Microsoft Defender for
1. Select your logic app and save the automation. The logic app dropdown only shows those with supporting Defender for Cloud connectors mentioned above. - ## Manually trigger a logic app You can also run logic apps manually when viewing any security alert or recommendation.
To manually run a logic app, open an alert, or a recommendation and select **Tri
[![Manually trigger a logic app.](media/workflow-automation/manually-trigger-logic-app.png)](media/workflow-automation/manually-trigger-logic-app.png#lightbox) - ## Configure workflow automation at scale using the supplied policies Automating your organization's monitoring and incident response processes can greatly improve the time it takes to investigate and mitigate security incidents.
To implement these policies:
> [!TIP] > You can also find these by searching Azure Policy:
+ >
> 1. Open Azure Policy. > :::image type="content" source="./media/continuous-export/opening-azure-policy.png" alt-text="Accessing Azure Policy.":::
- > 2. From the Azure Policy menu, select **Definitions** and search for them by name.
+ > 2. From the Azure Policy menu, select **Definitions** and search for them by name.
1. From the relevant Azure Policy page, select **Assign**. :::image type="content" source="./media/workflow-automation/export-policy-assign.png" alt-text="Assigning the Azure Policy."::: 1. Open each tab and set the parameters as desired:
- 1. In the **Basics** tab, set the scope for the policy. To use centralized management, assign the policy to the Management Group containing the subscriptions that will use the workflow automation configuration.
- 1. In the Parameters tab, enter the required information.
+ 1. In the **Basics** tab, set the scope for the policy. To use centralized management, assign the policy to the Management Group containing the subscriptions that will use the workflow automation configuration.
+ 1. In the Parameters tab, enter the required information.
:::image type="content" source="media/workflow-automation/parameters-tab.png" alt-text="Screenshot of the parameters tab.":::
To implement these policies:
To view the raw event schemas of the security alerts or recommendations events passed to the logic app, visit the [Workflow automation data types schemas](https://aka.ms/ASCAutomationSchemas). This can be useful in cases where you aren't using Defender for Cloud's built-in Logic Apps connectors mentioned above, but instead are using the generic HTTP connector - you could use the event JSON schema to manually parse it as you see fit. - ## FAQ - Workflow automation ### Does workflow automation support any business continuity or disaster recovery (BCDR) scenarios?
For every active automation, we recommend you create an identical (disabled) aut
Learn more about [Business continuity and disaster recovery for Azure Logic Apps](../logic-apps/business-continuity-disaster-recovery-guidance.md). - ## Next steps In this article, you learned about creating logic apps, automating their execution in Defender for Cloud, and running them manually. For more information, see the following documentation:
defender-for-iot Eiot Defender For Endpoint https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/defender-for-iot/organizations/eiot-defender-for-endpoint.md
This procedure describes how to view related alerts, recommendations, and vulner
- On the **Discovered vulnerabilities** tab, check for any known CVEs associated with the device. Known CVEs can help decide whether to patch, remove, or contain the device and mitigate risk to your network.
+**To hunt for threats**:
+
+On the **Device inventory** page, select **Go hunt** to query devices using tables like the *[DeviceInfo](/microsoft-365/security/defender/advanced-hunting-deviceinfo-table)* table. On the **Advanced hunting** page, query data using other schemas.
+
+For more information, see [Advanced hunting](/microsoft-365/security/defender/advanced-hunting-overview) and [Understand the advanced hunting schema](/microsoft-365/security/defender/advanced-hunting-schema-tables).
+ ## Next steps > [!div class="nextstepaction"]
devtest-labs Devtest Lab Troubleshoot Apply Artifacts https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/devtest-labs/devtest-lab-troubleshoot-apply-artifacts.md
To troubleshoot connectivity issues to the Azure Storage account:
- Check for added network security groups (NSGs). If a subscription policy was added to automatically configure NSGs in all virtual networks, it would affect the virtual network used for creating lab VMs. -- Verify NSG rules. Use [IP flow verify](../network-watcher/diagnose-vm-network-traffic-filtering-problem.md#use-ip-flow-verify) to determine whether an NSG rule is blocking traffic to or from a VM. You can also review effective security group rules to ensure that an inbound **Allow** NSG rule exists. For more information, see [Using effective security rules to troubleshoot VM traffic flow](../virtual-network/diagnose-network-traffic-filter-problem.md).
+- Verify NSG rules. Use [IP flow verify](../network-watcher/diagnose-vm-network-traffic-filtering-problem.md) to determine whether an NSG rule is blocking traffic to or from a VM. You can also review effective security group rules to ensure that an inbound **Allow** NSG rule exists. For more information, see [Using effective security rules to troubleshoot VM traffic flow](../virtual-network/diagnose-network-traffic-filter-problem.md).
- Check the lab's default storage account. The default storage account is the first storage account created when the lab was created. The name usually starts with the letter "a" and ends with a multi-digit number, such as a\<labname>#.
event-grid Event Schema Aks https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/event-grid/event-schema-aks.md
AKS emits the following event types
| Event Type | Description | |--|-| | Microsoft.ContainerService.NewKubernetesVersionAvailable | Triggered when the list of available Kubernetes versions is updated. |-
+| Microsoft.ContainerService.ClusterSupportEnded | Triggered when the cluster goes out of support |
+| Microsoft.ContainerService.ClusterSupportEnding | Triggered when the clusters kubernetes version is soon going out of support |
+| Microsoft.ContainerService.NodePoolRollingFailed | Triggered when NodepoolRolling fails as a result of upgrade or update |
+| Microsoft.ContainerService.NodePoolRollingStarted | Triggered when NodepoolRolling started as a result of upgrade or an update |
+| Microsoft.ContainerService.NodePoolRollingSucceeded| Triggered when NodepoolRolling succeeded as a result of upgrade or an update |
## Properties common to all events # [Event Grid event schema](#tab/event-grid-event-schema)
event-hubs Create Schema Registry https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/event-hubs/create-schema-registry.md
This article shows you how to create a schema group with schemas in a schema reg
:::image type="content" source="./media/create-schema-registry/namespace-page.png" alt-text="Image showing the Schema Registry page in the Azure portal"::: 1. On the **Create Schema Group** page, do these steps: 1. Enter a **name** for the schema group.
- 1. For **Serialization type**, pick **Avro** serialization format that applies to all schemas in the schema group.
-
- > [!NOTE]
- > Currently, Schema Registry doesn't support **JSON** serialization.
+ 1. For **Serialization type**, select **Avro** serialization format that applies to all schemas in the schema group. **JSON** serialization format is also supported (preview).
3. Select a **compatibility mode** for all schemas in the group. For **Avro**, forward and backward compatibility modes are supported. 4. Then, select **Create** to create the schema group.
event-hubs Event Hubs Java Get Started Send https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/event-hubs/event-hubs-java-get-started-send.md
public class SenderAAD {
// Example: private static final String namespaceName = "contosons.servicebus.windows.net"; private static final String namespaceName = "<NAMESPACE NAME>.servicebus.windows.net";
- // Replace <EVENT HUB NAME> with the name of your event hug.
+ // Replace <EVENT HUB NAME> with the name of your event hub.
// Example: private static final String eventHubName = "ordersehub"; private static final String eventHubName = "<EVENT HUB NAME>";
external-attack-surface-management Data Connections https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/external-attack-surface-management/data-connections.md
The data connector sends Defender EASM asset data to two different platforms: Mi
## Data content options
-<br>Defender EASM data connections offers users the ability to integrate two different kinds of attack surface data into the tool of their choice. Users can elect to migrate asset data, attack surface insights or both data types. Asset data provides granular details about your entire inventory, whereas attack surface insights provide immediately actionable insights based on Defender EASM dashboards.
+<br>Defender EASM data connections offer users the ability to integrate two different kinds of attack surface data into the tool of their choice. Users can elect to migrate asset data, attack surface insights or both data types. Asset data provides granular details about your entire inventory, whereas attack surface insights provide immediately actionable insights based on Defender EASM dashboards.
To accurately present the infrastructure that matters most to your organization, please note that both content options will only include assets in the ΓÇ£Approved InventoryΓÇ¥ state.
To accurately present the infrastructure that matters most to your organization,
## Configuring Log Analytics permissions 1. Open the Log Analytics workspace that will ingest your Defender EASM data, or [create a new workspace](/azure/azure-monitor/logs/quick-create-workspace?tabs=azure-portal).
-2. Select **Access control (IAM)** from the left-hand navigation pane. For more information on access control, see [identity documentation](/azure/cloud-adoption-framework/decision-guides/identity/).
- ![Screenshot of Log Analytics Access control.](media/data-connections/data-connector-2.png)
-3. On this page, select **+Add** to create a new role assignment.
-4. From the **Role** tab, select **Contributor**. Click **Next**.
-5. Open the **Members** tab. Click **+ Select members** to open a configuration pane. Search for **ΓÇ£EASM APIΓÇ¥** and click on the value in the members list. Once done, click **Select**, then **Review + assign.**
-6. Once the role assignment has been created, select **Agents** from the **Settings** section of the left-hand navigation menu.
- ![Screenshot of Log Analytics agents.](media/data-connections/data-connector-3.png)
+2. Select **Agents** from the **Settings** section of the left-hand navigation menu.
-7. Expand the **Log Analytics agent instructions** section to view your Workspace ID and Primary key. These values will be used to set up your data connection. Save the values in the following format: *WorkspaceId=XXX;ApiKey=YYY*
+ ![Screenshot of Log Analytics agents.](media/data-connections/data-connector-10.png)
+
+3. Expand the **Log Analytics agent instructions** section to view your Workspace ID and Primary key. These values will be used to set up your data connection.
Please note that use of this data connection is subject to the pricing structure of Log Analytics. See [Azure monitor pricing](https://azure.microsoft.com/pricing/details/monitor/) for more information.
Please note that use of this data connection is subject to the pricing structure
## Configuring Data Explorer permissions 1. First, ensure that the Defender "EASM API" service principal has access to the correct roles in the database where you wish to export your attack surface data. For this reason, first ensure that your Defender EASM resource has been created in the appropriate tenant as this action provisions the EASM API principal.
-5. Open the Data Explorer cluster that will ingest your Defender EASM data or [create a new cluster](/azure/data-explorer/create-cluster-database-portal).
-6. Select **Databases** in the Data section of the left-hand navigation menu.
-7. Select **+ Add Database** to create a database to house your Defender EASM data.
+2. Open the Data Explorer cluster that will ingest your Defender EASM data or [create a new cluster](/azure/data-explorer/create-cluster-database-portal).
+3. Select **Databases** in the Data section of the left-hand navigation menu.
+4. Select **+ Add Database** to create a database to house your Defender EASM data.
+ ![Screenshot of Azure Data Explorer Add database.](media/data-connections/data-connector-4.png)
-1. Name your database, configure retention and cache periods, then select **Create**.
+5. Name your database, configure retention and cache periods, then select **Create**.
+ ![Screenshot of add database.](media/data-connections/data-connector-5.png)
-1. Once your Defender EASM database has been created, click on the database name to open the details page. Select **Permissions** from the Overview section of the left-hand navigation menu.
+6. Once your Defender EASM database has been created, click on the database name to open the details page. Select **Permissions** from the Overview section of the left-hand navigation menu.
To successfully export Defender EASM data to Data Explorer, users must create two new permissions for the EASM API: **user** and **ingestor**.
+
![Screenshot of Data Explorer permissions.](media/data-connections/data-connector-6b.png)
-1. First, select **+ Add** and create a user. Search for ΓÇ£**EASM API**ΓÇ¥, select the value then click **Select**.
-1. Select **+ Add** to create an ingestor. Follow the same steps outlined above to add the **"EASM API"** as an ingestor.
+7. First, select **+ Add** and create a user. Search for ΓÇ£**EASM API**ΓÇ¥, select the value then click **Select**.
+
+8. Select **+ Add** to create an ingestor. Follow the same steps outlined above to add the **"EASM API"** as an ingestor.
-8. Your database is now ready to connect to Defender EASM. You will need the cluster name, database name and region in the following format when configuring your Data Connection: *ClusterName=XXX;Region=YYY;DatabaseName=ZZZ*
+9. Your database is now ready to connect to Defender EASM. You will need the cluster name, database name and region when configuring your Data Connection.
## Add a data connection <br>Users can connect their Defender EASM data to either Log Analytics or Azure Data Explorer. To do so, simply select **ΓÇ£Add connectionΓÇ¥** for the appropriate tool from the Data Connections page.
-A configuration pane will open on the right-hand side of the Data Connections screen. The following four fields are required:
+A configuration pane will open on the right-hand side of the Data Connections screen. The following fields are required for each respective tool:
+
+### Log Analytics
- **Name**: enter a name for this data connection.-- **Connection String**: enter the details required to connect your Defender EASM resource to another tool. For Log Analytics, users enter the workspaceID and coinciding API key associated to their account. For Azure Data Explorer, users enter the cluster name, region and database name associated to their account. Both values must be entered in the format shown when the field is blank.
+- **Workspace ID**: the workspace ID for the Log Analytics instance where you wish to export Defender EASM data.
+- **Api key**: the API key for the Log Analytics instance.
- **Content**: users can select to integrate asset data, attack surface insights or both datasets. - **Frequency**: select the frequency that the Defender EASM connection sends updated data to the tool of your choice. Available options are daily, weekly and monthly.
- ![Screenshot of add data connection.](media/data-connections/data-connector-7.png)
+ ![Screenshot of the "add data connection" screen for Log Analytics.](media/data-connections/data-connector-11.png)
++
+### Azure Data Explorer
+- **Name**: enter a name for this data connection.
+- **Cluster name**: the name of the Azure Data Explorer cluster where you wish to export Defender EASM data.
+- **Region**: the region of the Azure Data Explorer cluster.
+- **Database name**: the name of the desired database.
+- **Content**: users can select to integrate asset data, attack surface insights or both datasets.
+- **Frequency**: select the frequency that the Defender EASM connection sends updated data to the tool of your choice. Available options are daily, weekly and monthly.
+ ![Screenshot of the "add data connection" screen for Azure Data Explorer.](media/data-connections/data-connector-12.png)
- Once all four fields are configured, select **Add** to create the data connection. At this point, the Data Connections page will display a banner that indicates the resource has been successfully created and data will begin populating within 30 minutes. Once connections are created, they will be listed under the applicable tool on the main Data Connections page.
+ Once all fields are configured, select **Add** to create the data connection. At this point, the Data Connections page will display a banner that indicates the resource has been successfully created and data will begin populating within 30 minutes. Once connections are created, they will be listed under the applicable tool on the main Data Connections page.
## Edit or delete a data connection <br>Users can edit or delete a data connection. For example, you may notice that a connection is listed as ΓÇ£DisconnectedΓÇ¥ and would therefore need to re-enter the configuration details to fix the issue.
firewall Premium Features https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/firewall/premium-features.md
Previously updated : 12/04/2022 Last updated : 06/14/2023
IDPS signature rules have the following properties:
||| |Signature ID |Internal ID for each signature. This ID is also presented in Azure Firewall Network Rules logs.| |Mode |Indicates if the signature is active or not, and whether firewall drops or alerts upon matched traffic. The below signature mode can override IDPS mode<br>- **Disabled**: The signature isn't enabled on your firewall.<br>- **Alert**: You receive alerts when suspicious traffic is detected.<br>- **Alert and Deny**: You receive alerts and suspicious traffic is blocked. Few signature categories are defined as ΓÇ£Alert OnlyΓÇ¥, therefore by default, traffic matching their signatures isn't blocked even though IDPS mode is set to ΓÇ£Alert and DenyΓÇ¥. Customers may override this by customizing these specific signatures to ΓÇ£Alert and DenyΓÇ¥ mode. <br><br>IDPS Signature mode is determined by one of the following reasons:<br><br> 1. Defined by Policy Mode ΓÇô Signature mode is derived from IDPS mode of the existing policy.<br>2. Defined by Parent Policy ΓÇô Signature mode is derived from IDPS mode of the parent policy.<br>3. Overridden ΓÇô You can override and customize the Signature mode.<br>4. Defined by System - Signature mode is set to *Alert Only* by the system due to its [category](idps-signature-categories.md). You may override this signature mode.<br><br>Note: IDPS alerts are available in the portal via network rule log query.|
-|Severity |Each signature has an associated severity level and assigned priority that indicates the probability that the signature is an actual attack.<br>- **Low (priority 1)**: An abnormal event is one that doesn't normally occur on a network or Informational events are logged. Probability of attack is low.<br>- **Medium (priority 2)**: The signature indicates an attack of a suspicious nature. The administrator should investigate further.<br>- **High (priority 3)**: The attack signatures indicate that an attack of a severe nature is being launched. There's little probability that the packets have a legitimate purpose.|
+|Severity |Each signature has an associated severity level and assigned priority that indicates the probability that the signature is an actual attack.<br>- **Low (priority 3)**: An abnormal event is one that doesn't normally occur on a network or Informational events are logged. Probability of attack is low.<br>- **Medium (priority 2)**: The signature indicates an attack of a suspicious nature. The administrator should investigate further.<br>- **High (priority 1)**: The attack signatures indicate that an attack of a severe nature is being launched. There's little probability that the packets have a legitimate purpose.|
|Direction |The traffic direction for which the signature is applied.<br>- **Inbound**: Signature is applied only on traffic arriving from the Internet and destined to your [configured private IP address range](#idps-private-ip-ranges).<br>- **Outbound**: Signature is applied only on traffic sent from your [configured private IP address range](#idps-private-ip-ranges) to the Internet.<br>- **Bidirectional**: Signature is always applied on any traffic direction.| |Group |The group name that the signature belongs to.| |Description |Structured from the following three parts:<br>- **Category name**: The category name that the signature belongs to as described in [Azure Firewall IDPS signature rule categories](idps-signature-categories.md).<br>- High level description of the signature<br>- **CVE-ID** (optional) in the case where the signature is associated with a specific CVE.|
IDPS signature rules have the following properties:
|Source/Destination Ports |The ports associated with this signature.| |Last updated |The last date that this signature was introduced or modified.| ## URL filtering
governance NZ_ISM_Restricted_V3_5 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/governance/policy/samples/NZ_ISM_Restricted_v3_5.md
initiative definition.
|Name<br /><sub>(Azure portal)</sub> |Description |Effect(s) |Version<br /><sub>(GitHub)</sub> | |||||
-|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
-|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
+|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
+|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
|[Web Application Firewall (WAF) should use the specified mode for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F12430be1-6cc8-4527-a9a8-e3d38f250096) |Mandates the use of 'Detection' or 'Prevention' mode to be active on all Web Application Firewall policies for Application Gateway. |Audit, Deny, Disabled |[1.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayMode_Audit.json) | |[Web Application Firewall (WAF) should use the specified mode for Azure Front Door Service](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F425bea59-a659-4cbb-8d31-34499bd030b8) |Mandates the use of 'Detection' or 'Prevention' mode to be active on all Web Application Firewall policies for Azure Front Door Service. |Audit, Deny, Disabled |[1.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Mode_Audit.json) |
governance RBI_ITF_Banks_V2016 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/governance/policy/samples/RBI_ITF_Banks_v2016.md
initiative definition.
|[App Service apps should have 'Client Certificates (Incoming client certificates)' enabled](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F5bb220d9-2698-4ee4-8404-b9c30c9df609) |Client certificates allow for the app to request a certificate for incoming requests. Only clients that have a valid certificate will be able to reach the app. |Audit, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/App%20Service/AppService_Webapp_Audit_ClientCert.json) | |[App Service apps should have remote debugging turned off](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fcb510bfd-1cba-4d9f-a230-cb0976f4bb71) |Remote debugging requires inbound ports to be opened on an App Service app. Remote debugging should be turned off. |AuditIfNotExists, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/App%20Service/AppService_DisableRemoteDebugging_WebApp_Audit.json) | |[Azure firewall policy should enable TLS inspection within application rules](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fa58ac66d-92cb-409c-94b8-8e48d7a96596) |Enabling TLS inspection is recommended for all application rules to detect, alert, and mitigate malicious activity in HTTPS. To learn more about TLS inspection with Azure Firewall, visit [https://aka.ms/fw-tlsinspect](https://aka.ms/fw-tlsinspect) |Audit, Deny, Disabled |[1.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/ACAT_FirewallPolicy_EnbaleTlsForAllAppRules_Audit.json) |
-|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
+|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
|[Function apps should have remote debugging turned off](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F0e60b895-3786-45da-8377-9c6b4b6ac5f9) |Remote debugging requires inbound ports to be opened on Function apps. Remote debugging should be turned off. |AuditIfNotExists, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/App%20Service/AppService_DisableRemoteDebugging_FunctionApp_Audit.json) | |[Internet-facing virtual machines should be protected with network security groups](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Ff6de0be7-9a8a-4b8a-b349-43cf02d22f7c) |Protect your virtual machines from potential threats by restricting access to them with network security groups (NSG). Learn more about controlling traffic with NSGs at [https://aka.ms/nsg-doc](https://aka.ms/nsg-doc) |AuditIfNotExists, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Security%20Center/ASC_NetworkSecurityGroupsOnInternetFacingVirtualMachines_Audit.json) | |[IP Forwarding on your virtual machine should be disabled](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fbd352bd5-2853-4985-bf0d-73806b4a5744) |Enabling IP forwarding on a virtual machine's NIC allows the machine to receive traffic addressed to other destinations. IP forwarding is rarely required (e.g., when using the VM as a network virtual appliance), and therefore, this should be reviewed by the network security team. |AuditIfNotExists, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Security%20Center/ASC_IPForwardingOnVirtualMachines_Audit.json) |
initiative definition.
|[Management ports should be closed on your virtual machines](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F22730e10-96f6-4aac-ad84-9383d35b5917) |Open remote management ports are exposing your VM to a high level of risk from Internet-based attacks. These attacks attempt to brute force credentials to gain admin access to the machine. |AuditIfNotExists, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Security%20Center/ASC_OpenManagementPortsOnVirtualMachines_Audit.json) | |[Non-internet-facing virtual machines should be protected with network security groups](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fbb91dfba-c30d-4263-9add-9c2384e659a6) |Protect your non-internet-facing virtual machines from potential threats by restricting access with network security groups (NSG). Learn more about controlling traffic with NSGs at [https://aka.ms/nsg-doc](https://aka.ms/nsg-doc) |AuditIfNotExists, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Security%20Center/ASC_NetworkSecurityGroupsOnInternalVirtualMachines_Audit.json) | |[Subnets should be associated with a Network Security Group](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fe71308d3-144b-4262-b144-efdc3cc90517) |Protect your subnet from potential threats by restricting access to it with a Network Security Group (NSG). NSGs contain a list of Access Control List (ACL) rules that allow or deny network traffic to your subnet. |AuditIfNotExists, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Security%20Center/ASC_NetworkSecurityGroupsOnSubnets_Audit.json) |
-|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
+|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
|[Web Application Firewall (WAF) should enable all firewall rules for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F632d3993-e2c0-44ea-a7db-2eca131f356d) |Enabling all Web Application Firewall (WAF) rules strengthens your application security and protects your web applications against common vulnerabilities. To learn more about Web Application Firewall (WAF) with Application Gateway, visit [https://aka.ms/waf-ag](https://aka.ms/waf-ag) |Audit, Deny, Disabled |[1.0.1](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/ACAT_WAF_AppGatewayAllRulesEnabled_Audit.json) | ### Anomaly Detection-4.7
governance Azure Security Benchmark https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/governance/policy/samples/azure-security-benchmark.md
initiative definition.
|Name<br /><sub>(Azure portal)</sub> |Description |Effect(s) |Version<br /><sub>(GitHub)</sub> | |||||
-|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
-|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
+|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
+|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
### Simplify network security configuration
governance Cmmc L3 https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/governance/policy/samples/cmmc-l3.md
This built-in initiative is deployed as part of the
|[Azure Defender for SQL should be enabled for unprotected Azure SQL servers](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fabfb4388-5bf4-4ad7-ba82-2cd2f41ceae9) |Audit SQL servers without Advanced Data Security |AuditIfNotExists, Disabled |[2.0.1](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/SQL/SqlServer_AdvancedDataSecurity_Audit.json) | |[Azure Defender for SQL should be enabled for unprotected SQL Managed Instances](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fabfb7388-5bf4-4ad7-ba99-2cd2f41cebb9) |Audit each SQL Managed Instance without advanced data security. |AuditIfNotExists, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/SQL/SqlManagedInstance_AdvancedDataSecurity_Audit.json) | |[Azure Key Vault should have firewall enabled](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F55615ac9-af46-4a59-874e-391cc3dfb490) |Enable the key vault firewall so that the key vault is not accessible by default to any public IPs. You can then configure specific IP ranges to limit access to those networks. Learn more at: [https://docs.microsoft.com/azure/key-vault/general/network-security](/azure/key-vault/general/network-security) |Audit, Deny, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Key%20Vault/AzureKeyVaultFirewallEnabled_Audit.json) |
-|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
-|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
+|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
+|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
|[Web Application Firewall (WAF) should use the specified mode for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F12430be1-6cc8-4527-a9a8-e3d38f250096) |Mandates the use of 'Detection' or 'Prevention' mode to be active on all Web Application Firewall policies for Application Gateway. |Audit, Deny, Disabled |[1.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayMode_Audit.json) | |[Web Application Firewall (WAF) should use the specified mode for Azure Front Door Service](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F425bea59-a659-4cbb-8d31-34499bd030b8) |Mandates the use of 'Detection' or 'Prevention' mode to be active on all Web Application Firewall policies for Azure Front Door Service. |Audit, Deny, Disabled |[1.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Mode_Audit.json) | |[Windows machines should meet requirements for 'Security Options - Network Security'](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F1221c620-d201-468c-81e7-2817e6107e84) |Windows machines should have the specified Group Policy settings in the category 'Security Options - Network Security' for including Local System behavior, PKU2U, LAN Manager, LDAP client, and NTLM SSP. This policy requires that the Guest Configuration prerequisites have been deployed to the policy assignment scope. For details, visit [https://aka.ms/gcpol](https://aka.ms/gcpol). |AuditIfNotExists, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Guest%20Configuration/GuestConfiguration_SecurityOptionsNetworkSecurity_AINE.json) |
governance Fedramp High https://github.com/MicrosoftDocs/azure-docs/commits/main/articles/governance/policy/samples/fedramp-high.md
Policy And Procedures
|Name<br /><sub>(Azure portal)</sub> |Description |Effect(s) |Version<br /><sub>(GitHub)</sub> | ||||| |[Azure DDoS Protection Standard should be enabled](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fa7aca53f-2ed4-4466-a25e-0b45ade68efd) |DDoS protection standard should be enabled for all virtual networks with a subnet that is part of an application gateway with a public IP. |AuditIfNotExists, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Security%20Center/ASC_EnableDDoSProtection_Audit.json) |
-|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
+|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
|[Develop and document a DDoS response plan](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fb7306e73-0494-83a2-31f5-280e934a8f70) |CMA_0147 - Develop and document a DDoS response plan |Manual, Disabled |[1.1.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Regulatory%20Compliance/CMA_0147.json) | |[IP Forwarding on your virtual machine should be disabled](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2Fbd352bd5-2853-4985-bf0d-73806b4a5744) |Enabling IP forwarding on a virtual machine's NIC allows the machine to receive traffic addressed to other destinations. IP forwarding is rarely required (e.g., when using the VM as a network virtual appliance), and therefore, this should be reviewed by the network security team. |AuditIfNotExists, Disabled |[3.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Security%20Center/ASC_IPForwardingOnVirtualMachines_Audit.json) |
-|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
+|[Web Application Firewall (WAF) should be enabled for Application Gateway](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F564feb30-bf6a-4854-b4bb-0d2d2d1e6c66) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries/regions, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[2.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AppGatewayEnabled_Audit.json) |
### Resource Availability
Policy And Procedures
|[Azure Service Bus namespaces should use private link](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F1c06e275-d63d-4540-b761-71f364c2111d) |Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to Service Bus namespaces, data leakage risks are reduced. Learn more at: [https://docs.microsoft.com/azure/service-bus-messaging/private-link-service](/azure/service-bus-messaging/private-link-service). |AuditIfNotExists, Disabled |[1.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Service%20Bus/ServiceBus_PrivateEndpoint_Audit.json) | |[Azure SignalR Service should use private link](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F2393d2cf-a342-44cd-a2e2-fe0188fd1234) |Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The private link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to your Azure SignalR Service resource instead of the entire service, you'll reduce your data leakage risks. Learn more about private links at: [https://aka.ms/asrs/privatelink](https://aka.ms/asrs/privatelink). |Audit, Disabled |[1.0.0](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/SignalR/SignalR_PrivateEndpointEnabled_Audit_v2.json) | |[Azure Synapse workspaces should use private link](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F72d11df1-dd8a-41f7-8925-b05b960ebafc) |Azure Private Link lets you connect your virtual network to Azure services without a public IP address at the source or destination. The Private Link platform handles the connectivity between the consumer and services over the Azure backbone network. By mapping private endpoints to Azure Synapse workspace, data leakage risks are reduced. Learn more about private links at: [https://docs.microsoft.com/azure/synapse-analytics/security/how-to-connect-to-workspace-with-private-links](/azure/synapse-analytics/security/how-to-connect-to-workspace-with-private-links). |Audit, Disabled |[1.0.1](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Synapse/SynapseWorkspaceUsePrivateLinks_Audit.json) |
-|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Policy/PolicyDetailBlade/definitionId/%2Fproviders%2FMicrosoft.Authorization%2FpolicyDefinitions%2F055aa869-bc98-4af8-bafc-23f1ab6ffe2c) |Deploy Azure Web Application Firewall (WAF) in front of public facing web applications for additional inspection of incoming traffic. Web Application Firewall (WAF) provides centralized protection of your web applications from common exploits and vulnerabilities such as SQL injections, Cross-Site Scripting, local and remote file executions. You can also restrict access to your web applications by countries, IP address ranges, and other http(s) parameters via custom rules. |Audit, Deny, Disabled |[1.0.2](https://github.com/Azure/azure-policy/blob/master/built-in-policies/policyDefinitions/Network/WAF_AFD_Enabled_Audit.json) |
+|[Azure Web Application Firewall should be enabled for Azure Front Door entry-points](https://portal.azure.com/#blade/Microsoft_Azure_Pol