Skip to content

Commit 1647b4a

Browse files
authored
Merge branch 'main' into Broken-link-fix-piyushdhore-microsoft
2 parents b9c0a0a + 742542b commit 1647b4a

File tree

468 files changed

+4325
-6913
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

468 files changed

+4325
-6913
lines changed

.openpublishing.redirection.json

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23402,6 +23402,111 @@
2340223402
"redirect_url": "/entra/msal/python/advanced/msal-python-token-cache-serialization",
2340323403
"redirect_document_id": false
2340423404
},
23405+
{
23406+
"source_path_from_root": "/articles/active-directory/develop/msal-python-adfs-support.md",
23407+
"redirect_url": "/entra/msal/python/advanced/msal-python-adfs-support",
23408+
"redirect_document_id": false
23409+
},
23410+
{
23411+
"source_path_from_root": "/articles/active-directory/develop/msal-error-handling-dotnet.md",
23412+
"redirect_url": "/entra/msal/dotnet/advanced/exceptions/msal-error-handling",
23413+
"redirect_document_id": false
23414+
},
23415+
{
23416+
"source_path_from_root": "/articles/active-directory/develop/msal-logging-dotnet.md",
23417+
"redirect_url": "/entra/msal/dotnet/advanced/exceptions/msal-logging",
23418+
"redirect_document_id": false
23419+
},
23420+
{
23421+
"source_path_from_root": "/articles/active-directory/develop/msal-net-acquire-token-silently.md",
23422+
"redirect_url": "/entra/msal/dotnet/acquiring-tokens/acquire-token-silently",
23423+
"redirect_document_id": false
23424+
},
23425+
{
23426+
"source_path_from_root": "/articles/active-directory/develop/msal-net-adfs-support.md",
23427+
"redirect_url": "/entra/msal/dotnet/acquiring-tokens/desktop-mobile/adfs-support",
23428+
"redirect_document_id": false
23429+
},
23430+
{
23431+
"source_path_from_root": "/articles/active-directory/develop/msal-net-b2c-considerations.md",
23432+
"redirect_url": "/entra/msal/dotnet/acquiring-tokens/desktop-mobile/social-identities",
23433+
"redirect_document_id": false
23434+
},
23435+
{
23436+
"source_path_from_root": "/articles/active-directory/develop/msal-net-clear-token-cache.md",
23437+
"redirect_url": "/entra/msal/dotnet/acquiring-tokens/clear-token-cache",
23438+
"redirect_document_id": false
23439+
},
23440+
{
23441+
"source_path_from_root": "/articles/active-directory/develop/msal-net-client-assertions.md",
23442+
"redirect_url": "/entra/msal/dotnet/acquiring-tokens/msal-net-client-assertions",
23443+
"redirect_document_id": false
23444+
},
23445+
{
23446+
"source_path_from_root": "/articles/active-directory/develop/msal-net-differences-adal-net.md",
23447+
"redirect_url": "/entra/msal/dotnet/how-to/differences-adal-msal-net",
23448+
"redirect_document_id": false
23449+
},
23450+
{
23451+
"source_path_from_root": "/articles/active-directory/develop/msal-net-initializing-client-applications.md",
23452+
"redirect_url": "/entra/msal/dotnet/getting-started/initializing-client-applications",
23453+
"redirect_document_id": false
23454+
},
23455+
{
23456+
"source_path_from_root": "/articles/active-directory/develop/msal-net-instantiate-confidential-client-config-options.md",
23457+
"redirect_url": "/entra/msal/dotnet/getting-started/instantiate-confidential-client-config-options",
23458+
"redirect_document_id": false
23459+
},
23460+
{
23461+
"source_path_from_root": "/articles/active-directory/develop/msal-net-instantiate-public-client-config-options.md",
23462+
"redirect_url": "/entra/msal/dotnet/getting-started/instantiate-public-client-config-options",
23463+
"redirect_document_id": false
23464+
},
23465+
{
23466+
"source_path_from_root": "/articles/active-directory/develop/msal-net-migration-confidential-client.md",
23467+
"redirect_url": "/entra/msal/dotnet/how-to/migrate-confidential-client",
23468+
"redirect_document_id": false
23469+
},
23470+
{
23471+
"source_path_from_root": "/articles/active-directory/develop/msal-net-migration-public-client.md",
23472+
"redirect_url": "/entra/msal/dotnet/how-to/migrate-public-client",
23473+
"redirect_document_id": false
23474+
},
23475+
{
23476+
"source_path_from_root": "/articles/active-directory/develop/msal-net-provide-httpclient.md",
23477+
"redirect_url": "/entra/msal/dotnet/advanced/httpclient",
23478+
"redirect_document_id": false
23479+
},
23480+
{
23481+
"source_path_from_root": "/articles/active-directory/develop/msal-net-token-cache-serialization.md",
23482+
"redirect_url": "/entra/msal/dotnet/how-to/token-cache-serialization",
23483+
"redirect_document_id": false
23484+
},
23485+
{
23486+
"source_path_from_root": "/articles/active-directory/develop/msal-net-user-gets-consent-for-multiple-resources.md",
23487+
"redirect_url": "/entra/msal/dotnet/acquiring-tokens/user-gets-consent-for-multiple-resources",
23488+
"redirect_document_id": false
23489+
},
23490+
{
23491+
"source_path_from_root": "/articles/active-directory/develop/msal-net-uwp-considerations.md",
23492+
"redirect_url": "/entra/msal/dotnet/acquiring-tokens/desktop-mobile/uwp",
23493+
"redirect_document_id": false
23494+
},
23495+
{
23496+
"source_path_from_root": "/articles/active-directory/develop/msal-net-web-browsers.md",
23497+
"redirect_url": "/entra/msal/dotnet/acquiring-tokens/using-web-browsers",
23498+
"redirect_document_id": false
23499+
},
23500+
{
23501+
"source_path_from_root": "/articles/active-directory/develop/msal-net-migration.md",
23502+
"redirect_url": "/entra/msal/dotnet/how-to/msal-net-migration",
23503+
"redirect_document_id": false
23504+
},
23505+
{
23506+
"source_path_from_root": "/articles/active-directory/develop/microsoft-identity-web.md",
23507+
"redirect_url": "/entra/msal/dotnet/microsoft-identity-web/",
23508+
"redirect_document_id": false
23509+
},
2340523510
{
2340623511
"source_path_from_root": "/articles/networking/azure-orbital-overview.md",
2340723512
"redirect_url": "/azure/orbital/overview",

articles/active-directory-b2c/add-ropc-policy.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ zone_pivot_groups: b2c-policy-type
2222

2323
In Azure Active Directory B2C (Azure AD B2C), the resource owner password credentials (ROPC) flow is an OAuth standard authentication flow. In this flow, an application, also known as the relying party, exchanges valid credentials for tokens. The credentials include a user ID and password. The tokens returned are an ID token, access token, and a refresh token.
2424

25+
> [!WARNING]
26+
> We recommend that you _don't_ use the ROPC flow. In most scenarios, more secure alternatives are available and recommended. This flow requires a very high degree of trust in the application and carries risks that aren't present in other flows. You should only use this flow when other more secure flows aren't viable.
27+
2528
## ROPC flow notes
2629

2730
In Azure Active Directory B2C (Azure AD B2C), the following options are supported:

articles/active-directory-b2c/data-residency.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ The following locations are in the process of being added to the list. For now,
6161

6262
> Argentina, Brazil, Chile, Colombia, Ecuador, Iraq, Paraguay, Peru, Uruguay, and Venezuela
6363
64-
To find the exact location where your data is located per country/country, refer to [where Azure Active Directory data is located](https://aka.ms/aaddatamap)service.
64+
To find the exact location where your data is located per country/region, refer to [where Azure Active Directory data is located](https://aka.ms/aaddatamap)service.
6565

6666

6767
### Go-Local add-on

articles/active-directory-b2c/enable-authentication-in-node-web-app-with-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ npm install @azure/msal-node
185185
- `authCodeRequest`: The configuration object used to retrieve authorization code.
186186
- `tokenRequest`: The configuration object used to acquire a token by authorization code.
187187
- `sessionConfig`: The configuration object for express session.
188-
- `getAuthCode`: A method that creates the URL of the authorization request, letting the user input credentials and consent to the application. It uses the `getAuthCodeUrl` method, which is defined in the [ConfidentialClientApplication](https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_node.confidentialclientapplication.html) class.
188+
- `getAuthCode`: A method that creates the URL of the authorization request, letting the user input credentials and consent to the application. It uses the `getAuthCodeUrl` method, which is defined in the [ConfidentialClientApplication](https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_node.ConfidentialClientApplication.html) class.
189189
190190
**Express routes**:
191191
- `/`:

articles/active-directory-b2c/enable-authentication-spa-app.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ To specify your Azure AD B2C user flows, do the following:
221221

222222
In this step, implement the methods to initialize the sign-in flow, API access token acquisition, and the sign-out methods.
223223

224-
For more information, see the [MSAL PublicClientApplication class reference](https://azuread.github.io/microsoft-authentication-library-for-js/ref/classes/_azure_msal_browser.publicclientapplication.html), and [Use the Microsoft Authentication Library (MSAL) to sign in the user](../active-directory/develop/tutorial-v2-javascript-spa.md#use-the-msal-to-sign-in-the-user) articles.
224+
For more information, see the [Use the Microsoft Authentication Library (MSAL) to sign in the user](../active-directory/develop/tutorial-v2-javascript-spa.md#use-the-msal-to-sign-in-the-user) article.
225225

226226
To sign in the user, do the following:
227227

articles/active-directory/architecture/security-operations-devices.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ It might not be possible to block access to all cloud and software-as-a-service
100100

101101
| What to monitor| Risk Level| Where| Filter/sub-filter| Notes |
102102
| - |- |- |- |- |
103-
| Sign-ins by non-compliant devices| High| Sign-in logs| DeviceDetail.isCompliant == false| If requiring sign-in from compliant devices, alert when: any sign in by non-compliant devices, or any access without MFA or a trusted location.<p>If working toward requiring devices, monitor for suspicious sign-ins.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/blob/master/Hunting%20Queries/SigninLogs/SuccessfulSigninFromNon-CompliantDevice.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
103+
| Sign-ins by non-compliant devices| High| Sign-in logs| DeviceDetail.isCompliant == false| If requiring sign-in from compliant devices, alert when: any sign in by non-compliant devices, or any access without MFA or a trusted location.<p>If working toward requiring devices, monitor for suspicious sign-ins.<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
104104
| Sign-ins by unknown devices| Low| Sign-in logs| DeviceDetail is empty, single factor authentication, or from a non-trusted location| Look for: any access from out of compliance devices, any access without MFA or trusted location<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/blob/master/Detections/SigninLogs/AnomolousSingleFactorSignin.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
105105

106106
### Use LogAnalytics to query

articles/active-directory/architecture/security-operations-privileged-accounts.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ Investigate changes to privileged accounts' authentication rules and privileges,
167167
| - | - | - | - | - |
168168
| Privileged account creation| Medium| Azure AD Audit logs| Service = Core Directory<br>-and-<br>Category = User management<br>-and-<br>Activity type = Add user<br>-correlate with-<br>Category type = Role management<br>-and-<br>Activity type = Add member to role<br>-and-<br>Modified properties = Role.DisplayName| Monitor creation of any privileged accounts. Look for correlation that's of a short time span between creation and deletion of accounts.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/blob/master/Detections/AuditLogs/UserAssignedPrivilegedRole.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
169169
| Changes to authentication methods| High| Azure AD Audit logs| Service = Authentication Method<br>-and-<br>Activity type = User registered security information<br>-and-<br>Category = User management| This change could be an indication of an attacker adding an auth method to the account so they can have continued access.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/blob/master/Detections/MultipleDataSources/AuthenticationMethodsChangedforPrivilegedAccount.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
170-
| Alert on changes to privileged account permissions| High| Azure AD Audit logs| Category = Role management<br>-and-<br>Activity type = Add eligible member (permanent)<br>-or-<br>Activity type = Add eligible member (eligible)<br>-and-<br>Status = Success or failure<br>-and-<br>Modified properties = Role.DisplayName| This alert is especially for accounts being assigned roles that aren't known or are outside of their normal responsibilities.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/blob/master/Detections/AuditLogs/PrivilegedAccountPermissionsChanged.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
170+
| Alert on changes to privileged account permissions| High| Azure AD Audit logs| Category = Role management<br>-and-<br>Activity type = Add eligible member (permanent)<br>-or-<br>Activity type = Add eligible member (eligible)<br>-and-<br>Status = Success or failure<br>-and-<br>Modified properties = Role.DisplayName| This alert is especially for accounts being assigned roles that aren't known or are outside of their normal responsibilities.<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
171171
| Unused privileged accounts| Medium| Azure AD Access Reviews| | Perform a monthly review for inactive privileged user accounts.<br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
172172
| Accounts exempt from Conditional Access| High| Azure Monitor Logs<br>-or-<br>Access Reviews| Conditional Access = Insights and reporting| Any account exempt from Conditional Access is most likely bypassing security controls and is more vulnerable to compromise. Break-glass accounts are exempt. See information on how to monitor break-glass accounts later in this article.|
173173
| Addition of a Temporary Access Pass to a privileged account| High| Azure AD Audit logs| Activity: Admin registered security info<br><br>Status Reason: Admin registered temporary access pass method for user<br><br>Category: UserManagement<br><br>Initiated by (actor): User Principal Name<br><br>Target: User Principal Name|Monitor and alert on a Temporary Access Pass being created for a privileged user.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/tree/master/Detections/AuditLogs/AdditionofaTemporaryAccessPasstoaPrivilegedAccount.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
@@ -217,7 +217,7 @@ You can monitor privileged account changes by using Azure AD Audit logs and Azur
217217
| - | - | - | - | - |
218218
| Added to eligible privileged role| High| Azure AD Audit Logs| Service = PIM<br>-and-<br>Category = Role management​<br>-and-<br>Activity type = Add member to role completed (eligible)<br>-and-<br>Status = Success or failure​<br>-and-<br>Modified properties = Role.DisplayName| Any account eligible for a role is now being given privileged access. If the assignment is unexpected or into a role that isn't the responsibility of the account holder, investigate.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/blob/master/Detections/AuditLogs/UserAssignedPrivilegedRole.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
219219
| Roles assigned out of PIM| High| Azure AD Audit Logs| Service = PIM<br>-and-<br>Category = Role management​<br>-and-<br>Activity type = Add member to role (permanent)<br>-and-<br>Status = Success or failure<br>-and-<br>Modified properties = Role.DisplayName| These roles should be closely monitored and alerted. Users shouldn't be assigned roles outside of PIM where possible.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/blob/master/Detections/AuditLogs/PrivlegedRoleAssignedOutsidePIM.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
220-
| Elevations| Medium| Azure AD Audit Logs| Service = PIM<br>-and-<br>Category = Role management<br>-and-<br>Activity type = Add member to role completed (PIM activation)<br>-and-<br>Status = Success or failure <br>-and-<br>Modified properties = Role.DisplayName| After a privileged account is elevated, it can now make changes that could affect the security of your tenant. All elevations should be logged and, if happening outside of the standard pattern for that user, should be alerted and investigated if not planned.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/tree/master/Detections/AuditLogs/AccountElevatedtoNewRole.yaml) |
220+
| Elevations| Medium| Azure AD Audit Logs| Service = PIM<br>-and-<br>Category = Role management<br>-and-<br>Activity type = Add member to role completed (PIM activation)<br>-and-<br>Status = Success or failure <br>-and-<br>Modified properties = Role.DisplayName| After a privileged account is elevated, it can now make changes that could affect the security of your tenant. All elevations should be logged and, if happening outside of the standard pattern for that user, should be alerted and investigated if not planned. |
221221
| Approvals and deny elevation| Low| Azure AD Audit Logs| Service = Access Review<br>-and-<br>Category = UserManagement<br>-and-<br>Activity type = Request approved or denied<br>-and-<br>Initiated actor = UPN| Monitor all elevations because it could give a clear indication of the timeline for an attack.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/blob/master/Detections/AuditLogs/PIMElevationRequestRejected.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
222222
| Changes to PIM settings| High| Azure AD Audit Logs| Service = PIM<br>-and-<br>Category = Role management<br>-and-<br>Activity type = Update role setting in PIM<br>-and-<br>Status reason = MFA on activation disabled (example)| One of these actions could reduce the security of the PIM elevation and make it easier for attackers to acquire a privileged account.<br>[Microsoft Sentinel template](https://github.com/Azure/Azure-Sentinel/blob/4ad195f4fe6fdbc66fb8469120381e8277ebed81/Detections/AuditLogs/ChangestoPIMSettings.yaml)<br><br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |
223223
| Elevation not occurring on SAW/PAW| High| Azure AD Sign In logs| Device ID <br>-and-<br>Browser<br>-and-<br>OS<br>-and-<br>Compliant/Managed<br>Correlate with:<br>Service = PIM<br>-and-<br>Category = Role management<br>-and-<br>Activity type = Add member to role completed (PIM activation)<br>-and-<br>Status = Success or failure<br>-and-<br>Modified properties = Role.DisplayName| If this change is configured, any attempt to elevate on a non-PAW/SAW device should be investigated immediately because it could indicate an attacker is trying to use the account.<br>[Sigma rules](https://github.com/SigmaHQ/sigma/tree/master/rules/cloud/azure) |

0 commit comments

Comments
 (0)