Az - AzureAD (AAD)

Support HackTricks

Basic Information

Azure Active Directory (Azure AD) माइक्रोसॉफ्ट की पहचान और पहुंच प्रबंधन के लिए क्लाउड-आधारित सेवा है। यह कर्मचारियों को साइन इन करने और संसाधनों तक पहुंच प्राप्त करने में सहायक है, जो संगठन के भीतर और बाहर, माइक्रोसॉफ्ट 365, Azure पोर्टल, और कई अन्य SaaS अनुप्रयोगों को शामिल करता है। Azure AD का डिज़ाइन आवश्यक पहचान सेवाओं को प्रदान करने पर केंद्रित है, जिसमें प्रमुख रूप से प्रमाणीकरण, प्राधिकरण, और उपयोगकर्ता प्रबंधन शामिल हैं।

Azure AD की प्रमुख विशेषताओं में मल्टी-फैक्टर प्रमाणीकरण और शर्तीय पहुंच शामिल हैं, साथ ही अन्य माइक्रोसॉफ्ट सुरक्षा सेवाओं के साथ सहज एकीकरण। ये विशेषताएँ उपयोगकर्ता पहचान की सुरक्षा को महत्वपूर्ण रूप से बढ़ाती हैं और संगठनों को अपनी पहुंच नीतियों को प्रभावी ढंग से लागू और प्रवर्तन करने में सक्षम बनाती हैं। माइक्रोसॉफ्ट के क्लाउड सेवाओं के पारिस्थितिकी तंत्र का एक मौलिक घटक होने के नाते, Azure AD उपयोगकर्ता पहचान के क्लाउड-आधारित प्रबंधन के लिए महत्वपूर्ण है।

Entities

Enumeration

इस गणना के लिए आप az cli tool, PowerShell module AzureAD (या AzureAD Preview) और Az PowerShell module का उपयोग कर सकते हैं।

In linux you will need to install PowerShell Core:

sudo apt-get update
sudo apt-get install -y wget apt-transport-https software-properties-common

# Ubuntu 20.04
wget -q https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb

# Update repos
sudo apt-get update
sudo add-apt-repository universe

# Install & start powershell
sudo apt-get install -y powershell
pwsh

# Az cli
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

मॉड्यूल के बीच अंतर

  • AzureAD Microsoft का एक PowerShell मॉड्यूल है जो Azure AD का प्रबंधन करता है। यह Azure AD ऑब्जेक्ट्स के सभी गुणों को नहीं दिखाता है और Azure संसाधनों की जानकारी तक पहुँचने के लिए उपयोग नहीं किया जा सकता

  • Az PowerShell एक मॉड्यूल है जो PowerShell कमांड लाइन से Azure संसाधनों का प्रबंधन करता है

कनेक्शन

az login #This will open the browser
az login -u <username> -p <password> #Specify user and password
az login --identity #Use the current machine managed identity (metadata)
az login --identity -u /subscriptions/<subscriptionId>/resourcegroups/myRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myID #Login with user managed identity
# Login as service principal
az login --service-principal -u http://azure-cli-2016-08-05-14-31-15 -p VerySecret --tenant contoso.onmicrosoft.com #With password
az login --service-principal -u http://azure-cli-2016-08-05-14-31-15 -p ~/mycertfile.pem --tenant contoso.onmicrosoft.com #With cert

# Request access token (ARM)
az account get-access-token
# Request access token for different resource. Supported tokens: aad-graph, arm, batch, data-lake, media, ms-graph, oss-rdbms
az account get-access-token --resource-type aad-graph

# If you want to configure some defaults
az configure

# Get user logged-in already
az ad signed-in-user show

# Help
az find "vm" # Find vm commands
az vm -h # Get subdomains
az ad user list --query-examples # Get examples

जब आप किसी प्रोग्राम के माध्यम से CLI के जरिए Azure में लॉगिन करते हैं, तो आप Microsoft के एक टेनेंट से Azure Application का उपयोग कर रहे हैं। ये एप्लिकेशन, जैसे कि आप अपने खाते में बना सकते हैं, एक क्लाइंट आईडी रखते हैं। आप कंसोल में देखी जाने वाली अनुमत एप्लिकेशन सूचियों में उनमें से सभी को नहीं देख पाएंगे, लेकिन वे डिफ़ॉल्ट रूप से अनुमत हैं

उदाहरण के लिए, एक पॉवरशेल स्क्रिप्ट जो प्रमाणित करती है, एक ऐप का उपयोग करती है जिसकी क्लाइंट आईडी 1950a258-227b-4e31-a9cf-717495945fc2 है। भले ही ऐप कंसोल में दिखाई न दे, एक सिस्टम प्रशासक उस एप्लिकेशन को ब्लॉक कर सकता है ताकि उपयोगकर्ता उस ऐप के माध्यम से कनेक्ट करने वाले उपकरणों का उपयोग न कर सकें।

हालांकि, ऐसे अन्य क्लाइंट-आईडी हैं जिनके एप्लिकेशन आपको Azure से कनेक्ट करने की अनुमति देंगे:

# The important part is the ClientId, which identifies the application to login inside Azure

$token = Invoke-Authorize -Credential $credential `
-ClientId '1dfb5f98-f363-4b0f-b63a-8d20ada1e62d' `
-Scope 'Files.Read.All openid profile Sites.Read.All User.Read email' `
-Redirect_Uri "https://graphtryit-staging.azurewebsites.net/" `
-Verbose -Debug `
-InformationAction Continue

$token = Invoke-Authorize -Credential $credential `
-ClientId '65611c08-af8c-46fc-ad20-1888eb1b70d9' `
-Scope 'openid profile Sites.Read.All User.Read email' `
-Redirect_Uri "chrome-extension://imjekgehfljppdblckcmjggcoboemlah" `
-Verbose -Debug `
-InformationAction Continue

$token = Invoke-Authorize -Credential $credential `
-ClientId 'd3ce4cf8-6810-442d-b42e-375e14710095' `
-Scope 'openid' `
-Redirect_Uri "https://graphexplorer.azurewebsites.net/" `
-Verbose -Debug `
-InformationAction Continue

Users

# Enumerate users
az ad user list --output table
az ad user list --query "[].userPrincipalName"
# Get info of 1 user
az ad user show --id "test@corp.onmicrosoft.com"
# Search "admin" users
az ad user list --query "[].displayName" | findstr /i "admin"
az ad user list --query "[?contains(displayName,'admin')].displayName"
# Search attributes containing the word "password"
az ad user list | findstr /i "password" | findstr /v "null,"
# All users from AzureAD
az ad user list --query "[].{osi:onPremisesSecurityIdentifier,upn:userPrincipalName}[?osi==null]"
az ad user list --query "[?onPremisesSecurityIdentifier==null].displayName"
# All users synced from on-prem
az ad user list --query "[].{osi:onPremisesSecurityIdentifier,upn:userPrincipalName}[?osi!=null]"
az ad user list --query "[?onPremisesSecurityIdentifier!=null].displayName"
# Get groups where the user is a member
az ad user get-member-groups --id <email>
# Get roles assigned to the user
az role assignment list --include-groups --include-classic-administrators true --assignee <email>

उपयोगकर्ता पासवर्ड बदलें

$password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText –Force

(Get-AzureADUser -All $true | ?{$_.UserPrincipalName -eq "victim@corp.onmicrosoft.com"}).ObjectId | Set- AzureADUserPassword -Password $password –Verbose

MFA & Conditional Access Policies

हर उपयोगकर्ता के लिए MFA जोड़ना अत्यधिक अनुशंसित है, हालाँकि, कुछ कंपनियाँ इसे सेट नहीं करेंगी या इसे Conditional Access के साथ सेट कर सकती हैं: उपयोगकर्ता को MFA की आवश्यकता होगी यदि वह किसी विशेष स्थान, ब्राउज़र या कुछ शर्त से लॉग इन करता है। यदि इन नीतियों को सही तरीके से कॉन्फ़िगर नहीं किया गया तो ये bypasses के प्रति संवेदनशील हो सकती हैं। जाँच करें:

Az - Conditional Access Policies / MFA Bypass

Groups

# Enumerate groups
az ad group list
az ad group list --query "[].[displayName]" -o table
# Get info of 1 group
az ad group show --group <group>
# Get "admin" groups
az ad group list --query "[].displayName" | findstr /i "admin"
az ad group list --query "[?contains(displayName,'admin')].displayName"
# All groups from AzureAD
az ad group list --query "[].{osi:onPremisesSecurityIdentifier,displayName:displayName,description:description}[?osi==null]"
az ad group list --query "[?onPremisesSecurityIdentifier==null].displayName"
# All groups synced from on-prem
az ad group list --query "[].{osi:onPremisesSecurityIdentifier,displayName:displayName,description:description}[?osi!=null]"
az ad group list --query "[?onPremisesSecurityIdentifier!=null].displayName"
# Get members of group
az ad group member list --group <group> --query "[].userPrincipalName" -o table
# Check if member of group
az ad group member check --group "VM Admins" --member-id <id>
# Get which groups a group is member of
az ad group get-member-groups -g "VM Admins"
# Get Apps where a group has a role (role not shown)
Get-AzureADGroup -ObjectId <id> | Get-AzureADGroupAppRoleAssignment | fl *

समूह में उपयोगकर्ता जोड़ें

समूह के मालिक नए उपयोगकर्ताओं को समूह में जोड़ सकते हैं

Add-AzureADGroupMember -ObjectId <group_id> -RefObjectId <user_id> -Verbose

समूह गतिशील हो सकते हैं, जिसका अर्थ है कि यदि एक उपयोगकर्ता कुछ शर्तों को पूरा करता है, तो उसे एक समूह में जोड़ा जाएगा। बेशक, यदि शर्तें गुणों पर आधारित हैं जिन्हें एक उपयोगकर्ता नियंत्रित कर सकता है, तो वह इस सुविधा का दुरुपयोग करके अन्य समूहों में प्रवेश कर सकता है। गतिशील समूहों का दुरुपयोग कैसे करें, यह देखने के लिए निम्नलिखित पृष्ठ की जांच करें:

Az - Dynamic Groups Privesc

सेवा प्रिंसिपल / उद्यम अनुप्रयोग

ध्यान दें कि PowerShell शब्दावली में सेवा प्रिंसिपल को Azure पोर्टल (वेब) में उद्यम अनुप्रयोगों के रूप में जाना जाता है।

# Get Service Principals
az ad sp list --all
az ad sp list --all --query "[].[displayName]" -o table
# Get details of one SP
az ad sp show --id 00000000-0000-0000-0000-000000000000
# Search SP by string
az ad sp list --all --query "[?contains(displayName,'app')].displayName"
# Get owner of service principal
az ad sp owner list --id <id> --query "[].[displayName]" -o table
# Get service principals owned by the current user
az ad sp list --show-mine
# List apps that have password credentials
az ad sp list --all --query "[?passwordCredentials != null].displayName"
# List apps that have key credentials (use of certificate authentication)
az ad sp list -all --query "[?keyCredentials != null].displayName"

एक सेवा प्रिंसिपल का मालिक इसका पासवर्ड बदल सकता है।

प्रत्येक एंटरप्राइज ऐप पर क्लाइंट सीक्रेट को सूचीबद्ध करें और जोड़ने का प्रयास करें

```powershell # Just call Add-AzADAppSecret Function Add-AzADAppSecret { <# .SYNOPSIS Add client secret to the applications.

.PARAMETER GraphToken Pass the Graph API Token

.EXAMPLE PS C:> Add-AzADAppSecret -GraphToken 'eyJ0eX..'

.LINK https://docs.microsoft.com/en-us/graph/api/application-list?view=graph-rest-1.0&tabs=http https://docs.microsoft.com/en-us/graph/api/application-addpassword?view=graph-rest-1.0&tabs=http #>

[CmdletBinding()] param( [Parameter(Mandatory=$True)] [String] $GraphToken = $null )

$AppList = $null $AppPassword = $null

List All the Applications

$Params = @{ "URI" = "https://graph.microsoft.com/v1.0/applications" "Method" = "GET" "Headers" = @{ "Content-Type" = "application/json" "Authorization" = "Bearer $GraphToken" } }

try { $AppList = Invoke-RestMethod @Params -UseBasicParsing } catch { }

Add Password in the Application

if($AppList -ne $null) { [System.Collections.ArrayList]$Details = @()

foreach($App in $AppList.value) { $ID = $App.ID $psobj = New-Object PSObject

$Params = @{ "URI" = "https://graph.microsoft.com/v1.0/applications/$ID/addPassword" "Method" = "POST" "Headers" = @{ "Content-Type" = "application/json" "Authorization" = "Bearer $GraphToken" } }

$Body = @{ "passwordCredential"= @{ "displayName" = "Password" } }

try { $AppPassword = Invoke-RestMethod @Params -UseBasicParsing -Body ($Body | ConvertTo-Json) Add-Member -InputObject $psobj -NotePropertyName "Object ID" -NotePropertyValue $ID Add-Member -InputObject $psobj -NotePropertyName "App ID" -NotePropertyValue $App.appId Add-Member -InputObject $psobj -NotePropertyName "App Name" -NotePropertyValue $App.displayName Add-Member -InputObject $psobj -NotePropertyName "Key ID" -NotePropertyValue $AppPassword.keyId Add-Member -InputObject $psobj -NotePropertyName "Secret" -NotePropertyValue $AppPassword.secretText $Details.Add($psobj) | Out-Null } catch { Write-Output "Failed to add new client secret to '$($App.displayName)' Application." } } if($Details -ne $null) { Write-Output "" Write-Output "Client secret added to : " Write-Output $Details | fl * } } else { Write-Output "Failed to Enumerate the Applications." } }

</details>

### भूमिकाएँ

<div data-gb-custom-block data-tag="tabs">

<div data-gb-custom-block data-tag="tab" data-title='az cli'>

```bash
# Get roles
az role definition list
# Get assigned roles
az role assignment list --all --query "[].roleDefinitionName"
az role assignment list --all | jq '.[] | .roleDefinitionName,.scope'
# Get info of 1 role
az role definition list --name "AzureML Registry User"
# Get only custom roles
az role definition list --custom-role-only
# Get only roles assigned to the resource group indicated
az role definition list --resource-group <resource_group>
# Get only roles assigned to the indicated scope
az role definition list --scope <scope>
# Get all the principals a role is assigned to
az role assignment list --all --query "[].{principalName:principalName,principalType:principalType,resourceGroup:resourceGroup,roleDefinitionName:roleDefinitionName}[?roleDefinitionName=='<ROLE_NAME>']"
# Get all available role templates
Get-AzureADDirectoryroleTemplate
# Get enabled roles (Assigned roles)
Get-AzureADDirectoryRole
Get-AzureADDirectoryRole -ObjectId <roleID> #Get info about the role
# Get custom roles - use AzureAdPreview
Get-AzureADMSRoleDefinition | ?{$_.IsBuiltin -eq $False} | select DisplayName
# Users assigned a role (Global Administrator)
Get-AzureADDirectoryRole -Filter "DisplayName eq 'Global Administrator'" | Get-AzureADDirectoryRoleMember
Get-AzureADDirectoryRole -ObjectId <id> | fl
# Roles of the Administrative Unit (who has permissions over the administrative unit and its members)
Get-AzureADMSScopedRoleMembership -Id <id> | fl *
# Get role assignments on the subscription
Get-AzRoleDefinition
# Get Role definition
Get-AzRoleDefinition -Name "Virtual Machine Command Executor"
# Get roles of a user or resource
Get-AzRoleAssignment -SignInName test@corp.onmicrosoft.com
Get-AzRoleAssignment -Scope /subscriptions/<subscription-id>/resourceGroups/<res_group_name>/providers/Microsoft.Compute/virtualMachines/<vm_name>
# Get permissions over a resource using ARM directly
$Token = (Get-AzAccessToken).Token
$URI = 'https://management.azure.com/subscriptions/b413826f-108d-4049-8c11-d52d5d388768/resourceGroups/Research/providers/Microsoft.Compute/virtualMachines/infradminsrv/providers/Microsoft.Authorization/permissions?api-version=2015-07-01'
$RequestParams = @{
Method = 'GET'
Uri = $URI
Headers = @{
'Authorization' = "Bearer $Token"
}
}
(Invoke-RestMethod @RequestParams).value

उपकरण

# If you know how to do this send a PR!# Enumerate DevicesGet-AzureADDevice -All $true | fl *# List all the active devices (and not the stale devices)Get-AzureADDevice -All $true | ?{$_.ApproximateLastLogonTimeStamp -ne $null}# Get owners of all devicesGet-AzureADDevice -All $true | Get-AzureADDeviceRegisteredOwnerGet-AzureADDevice -All $true | %{if($user=Get-AzureADDeviceRegisteredOwner -ObjectId $_.ObjectID){$_;$user.UserPrincipalName;"`n"}}# Registred users of all the devicesGet-AzureADDevice -All $true | Get-AzureADDeviceRegisteredUserGet-AzureADDevice -All $true | %{if($user=Get-AzureADDeviceRegisteredUser -ObjectId $_.ObjectID){$_;$user.UserPrincipalName;"`n"}}# Get dives managed using IntuneGet-AzureADDevice -All $true | ?{$_.IsCompliant -eq "True"}# Get devices owned by a userGet-AzureADUserOwnedDevice -ObjectId test@corp.onmicrosoft.com# Get Administrative Units of a deviceGet-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember -ObjectId $_.ObjectId | where {$_.ObjectId -eq $deviceObjId} }

यदि एक डिवाइस (VM) AzureAD से जुड़ा है, तो AzureAD के उपयोगकर्ता लॉगिन करने में सक्षम होंगे। इसके अलावा, यदि लॉग इन किया हुआ उपयोगकर्ता डिवाइस का स्वामी है, तो वह स्थानीय व्यवस्थापक होगा।

अनुप्रयोग

ऐप्स पोर्टल में ऐप पंजीकरण हैं (Enterprise Applications नहीं)। लेकिन प्रत्येक ऐप पंजीकरण एक Enterprise Application (Service Principal) उसी नाम के साथ बनाएगा। इसके अलावा, यदि ऐप एक मल्टी-टेनेंट ऐप है, तो उस टेनेंट में उसी नाम के साथ एक और Enterprise App (Service Principal) बनाया जाएगा।

जब एक ऐप उत्पन्न होता है, तो 2 प्रकार की अनुमतियाँ दी जाती हैं:

  • अनुमतियाँ जो Service Principal को दी जाती हैं

  • अनुमतियाँ जो ऐप उपयोगकर्ता की तरफ से रख सकता है और उपयोग कर सकता है।

# List Appsaz ad app listaz ad app list --query "[].[displayName]" -o table# Get info of 1 Appaz ad app show --id 00000000-0000-0000-0000-000000000000# Search App by stringaz ad app list --query "[?contains(displayName,'app')].displayName"# Get the owner of an applicationaz ad app owner list --id <id> --query "[].[displayName]" -o table# List all the apps with an application passwordaz ad app list --query "[?passwordCredentials != null].displayName"# List apps that have key credentials (use of certificate authentication)az ad app list --query "[?keyCredentials != null].displayName"# List all registered applicationsGet-AzureADApplication -All $true# Get details of an applicationGet-AzureADApplication -ObjectId <id> | fl *# List all the apps with an application passwordGet-AzureADApplication -All $true | %{if(Get-AzureADApplicationPasswordCredential -ObjectID $_.ObjectID){$_}}# Get owner of an applicationGet-AzureADApplication -ObjectId <id> | Get-AzureADApplicationOwner |fl *# Get AppsGet-AzADApplication# Get details of one AppGet-AzADApplication -ObjectId <id># Get App searching by stringGet-AzADApplication | ?{$_.DisplayName -match "app"}# Get Apps with passwordGet-AzADAppCredential

एक ऐप जिसमें अनुमति AppRoleAssignment.ReadWrite है, Global Admin में escalate कर सकता है। अधिक जानकारी के लिए यहाँ देखें.

एक गुप्त स्ट्रिंग जो एप्लिकेशन टोकन मांगते समय अपनी पहचान साबित करने के लिए उपयोग करता है, वह एप्लिकेशन पासवर्ड है। इसलिए, यदि आप यह पासवर्ड ढूंढ लेते हैं, तो आप service principal के रूप में tenant के अंदर पहुँच सकते हैं। ध्यान दें कि यह पासवर्ड केवल तब दिखाई देता है जब इसे उत्पन्न किया जाता है (आप इसे बदल सकते हैं लेकिन इसे फिर से प्राप्त नहीं कर सकते)। एप्लिकेशन का स्वामी इसे पासवर्ड जोड़ सकता है (ताकि वह इसकी नकल कर सके)। इन service principals के रूप में लॉगिन जोखिमपूर्ण के रूप में चिह्नित नहीं होते और इनमें MFA नहीं होगा।

Applications और (Enterprise Applications या Service Principals) के बीच अंतर

Azure में एक एप्लिकेशन और एक Service Principal के बीच अंतर:

  • Application/App Registrations: वे एप्लिकेशन हैं जो आपके Azure AD में मौजूद हैं

  • (Get-AzureADApplication -filter "DisplayName eq 'testapp'")

  • Service Principal/Enterprise Applications: आपके Azure AD में सुरक्षा वस्तुएं जो Azure Directory में privileges रख सकती हैं और आपके एप्लिकेशन या किसी तीसरे पक्ष के एप्लिकेशन से जुड़ी होती हैं

  • Get-AzureADServicePrincipal -filter "DisplayName eq 'testapp'")

  • एक व्यवस्थापक को दिए गए अनुमतियों को मंजूरी देने की आवश्यकता हो सकती है यदि वे बहुत संवेदनशील हैं।

एक एप्लिकेशन एक Third party tenant में चल रहा हो सकता है और जब आप इसका उपयोग करना शुरू करते हैं और इसे एक्सेस देते हैं, तो आपके tenant में एक Enterprise Application/Service Principal बनाया जाता है ताकि इसे आवश्यक जानकारी तक पहुँच मिल सके:

प्रशासनिक इकाइयाँ

यह उपयोगकर्ताओं के बेहतर प्रबंधन के लिए उपयोग किया जाता है।

प्रशासनिक इकाइयाँ किसी भी भाग में भूमिका में अनुमतियों को प्रतिबंधित करती हैं जिसे आप परिभाषित करते हैं। आप, उदाहरण के लिए, प्रशासनिक इकाइयों का उपयोग Helpdesk Administrator भूमिका को क्षेत्रीय समर्थन विशेषज्ञों को सौंपने के लिए कर सकते हैं, ताकि वे केवल उस क्षेत्र में उपयोगकर्ताओं का प्रबंधन कर सकें जिसे वे समर्थन करते हैं।

इसलिए, आप प्रशासनिक इकाई को भूमिकाएँ सौंप सकते हैं और इसके सदस्य इन भूमिकाओं को प्राप्त करेंगे।

# Get Administrative UnitsGet-AzureADMSAdministrativeUnitGet-AzureADMSAdministrativeUnit -Id <id># Get ID of admin unit by string$adminUnitObj = Get-AzureADMSAdministrativeUnit -Filter "displayname eq 'Test administrative unit 2'"# List the users, groups, and devices affected by the administrative unitGet-AzureADMSAdministrativeUnitMember -Id <id># Get the roles users have over the members of the AUGet-AzureADMSScopedRoleMembership -Id <id> | fl #Get role ID and role members

Azure AD Identity Protection (AIP)

Azure AD Identity Protection (AIP) एक सुरक्षा सेवा है जो स्वचालित पहचान और सुधार का उपयोग करके Azure Active Directory में उपयोगकर्ता पहचान की सुरक्षा करने में मदद करती है। AIP लगातार उपयोगकर्ता साइन-इन और पहचान कॉन्फ़िगरेशन के जोखिम की निगरानी और मूल्यांकन करता है, स्वचालित रूप से उपयुक्त सुरक्षा उपाय लागू करता है, जैसे कि मल्टी-फैक्टर प्रमाणीकरण की आवश्यकता या संभावित खतरनाक गतिविधियों को अवरुद्ध करना। यह संगठनों को पहचान-आधारित सुरक्षा उल्लंघनों को रोकने में मदद करता है।

Flow:

  1. Azure AD Identity Protection उपयोगकर्ता गतिविधियों की निगरानी करता है और उपयोगकर्ता साइन-इन, प्रमाणीकरण घटनाओं और अन्य प्रासंगिक गतिविधियों पर डेटा एकत्र करता है।

  2. सेवा मशीन लर्निंग एल्गोरिदम का उपयोग करके इस डेटा का विश्लेषण करती है और संभावित सुरक्षा खतरों का पता लगाती है।

  3. Azure AD Identity Protection खतरे को जोखिम का एक स्तर सौंपता है (जैसे साइन-इन) और यदि आवश्यक हो तो कुछ स्वचालित कार्रवाई करने के लिए एक अलर्ट उत्पन्न करता है।

Azure AD Password Protection (APP)

Azure AD Password Protection (APP) एक सुरक्षा विशेषता है जो मजबूत पासवर्ड नीतियों को लागू करके Azure Active Directory में कमजोर पासवर्ड को रोकने में मदद करती है। APP सामान्य रूप से उपयोग किए जाने वाले कमजोर पासवर्ड और उनके रूपांतरों को अवरुद्ध करता है, जिससे पासवर्ड से संबंधित उल्लंघनों का जोखिम कम होता है। इसे क्लाउड स्तर पर और ऑन-प्रिमाइसेस Active Directory पर लागू किया जा सकता है, जिससे संगठन में समग्र पासवर्ड सुरक्षा बढ़ती है।

References

Last updated