Share via


Azure-fájlmegosztások Active Directory tartományi szolgáltatások hitelesítésének engedélyezése

Ez a cikk azt ismerteti, hogyan engedélyezhető Active Directory tartományi szolgáltatások (AD DS) hitelesítés a tárfiókon helyi Active Directory (AD) hitelesítő adatok azure-fájlmegosztásokra való hitelesítéséhez.

Fontos

Az AD DS-hitelesítés engedélyezése előtt győződjön meg arról, hogy ismeri az áttekintési cikkben szereplő támogatott forgatókönyveket és követelményeket, és teljesíti a szükséges előfeltételeket. Ha az Active Directory-környezet több erdőre is kiterjed, olvassa el az Azure Files használata több Active Directory-erdővel című témakört.

Az Azure-fájlmegosztások SMB-n keresztüli AD DS-hitelesítésének engedélyezéséhez regisztrálnia kell az Azure Storage-fiókját a helyszíni AD DS-ben, majd be kell állítania a szükséges tartománytulajdonságokat a tárfiókon. A tárfiók AD DS-ben való regisztrálásához létre kell hoznia egy számítógépfiókot (vagy szolgáltatás-bejelentkezési fiókot) az AD DS-ben. Gondoljon úgy erre a folyamatra, mintha egy helyszíni Windows-fájlkiszolgálót képviselő fiókot hoznánk létre az AD DS-ben. Ha a szolgáltatás engedélyezve van a tárfiókban, az a fiók összes új és meglévő fájlmegosztására vonatkozik.

A következőre érvényes:

Fájlmegosztás típusa SMB NFS
Standard szintű fájlmegosztások (GPv2), LRS/ZRS Igen Nem
Standard szintű fájlmegosztások (GPv2), GRS/GZRS Igen Nem
Prémium fájlmegosztások (FileStorage), LRS/ZRS Igen Nem

Az AzFilesHybrid PowerShell modul parancsmagokat biztosít az Azure Files üzembe helyezéséhez és konfigurálásához. Parancsmagokat tartalmaz a tárfiókok helyi Active Directory való csatlakoztatásához és a DNS-kiszolgálók konfigurálásához. A parancsmagok elvégezik a szükséges módosításokat, és engedélyezik a funkciót. Mivel a parancsmagok egyes részei együttműködnek a helyszíni AD DS szolgáltatással, elmagyarázzuk a parancsmagok működését, így megállapíthatja, hogy a módosítások összhangban vannak-e a megfelelőségi és biztonsági szabályzatokkal, és meggyőződhet arról, hogy rendelkezik a parancsmagok végrehajtásához szükséges megfelelő engedélyekkel. Bár az AzFilesHybrid modul használatát javasoljuk, ha ezt nem tudja megtenni, manuális lépéseket is megadunk.

Fontos

Az AES-256 Kerberos-titkosítás mostantól az egyetlen titkosítási módszer, amelyet az AzFilesHybrid modul támogat. Ha rc4-titkosítást szeretne használni, olvassa el a második lehetőséget: Az engedélyezési műveletek manuális végrehajtása. Ha korábban engedélyezte a funkciót egy régi AzFilesHybrid verzióval (a 0.2.2-es verzió alatt), amely az RC4-et használta alapértelmezett titkosítási módszerként, és frissíteni szeretne az AES-256 támogatásához, tekintse meg az Azure Files SMB-hitelesítés hibaelhárítását.

Előfeltételek

AzFilesHybrid modul letöltése

Töltse le és csomagolja ki az AzFilesHybrid modul legújabb verzióját.

A Join-AzStorageAccount futtatása

A Join-AzStorageAccount parancsmag a megadott tárfiók nevében végrehajtja az offline tartományhoz való csatlakozás megfelelőjének megfelelőt. Az alábbi szkript ezzel a parancsmaggal hoz létre egy számítógépfiókot az AD-tartományban. Ha bármilyen okból nem tud számítógépfiókot használni, módosíthatja a szkriptet egy szolgáltatás-bejelentkezési fiók létrehozásához. Az AES-256 titkosítás szolgáltatás-bejelentkezési fiókokkal való használata az AzFilesHybrid 0.2.5-ös verziójától kezdve támogatott.

A parancsmag által létrehozott AD DS-fiók a tárfiókot jelöli. Ha az AD DS-fiók egy olyan szervezeti egység (szervezeti egység) alatt jön létre, amely a jelszó lejáratát kényszeríti ki, a jelszó maximális életkora előtt frissítenie kell a jelszót. A fiók jelszavának ezen dátum előtti frissítése hitelesítési hibákat eredményez az Azure-fájlmegosztások elérésekor. A jelszó frissítéséről az AD DS-fiók jelszavának frissítése című témakörben olvashat.

Fontos

A Join-AzStorageAccount parancsmag létrehoz egy AD-fiókot, amely az AD tárfiókját (fájlmegosztását) jelöli. Dönthet úgy, hogy számítógépfiókként vagy szolgáltatás-bejelentkezési fiókként regisztrál, a részletekért lásd a gyakori kérdéseket . A szolgáltatás bejelentkezési fiók jelszavai az AD-ben lejárhatnak, ha az AD-tartományban vagy szervezeti egységben beállított alapértelmezett jelszó-lejárati életkor van beállítva. Mivel a számítógépfiók jelszómódosításait az ügyfélszámítógép hajtja, és nem az AD, nem járnak le az AD-ben, bár az ügyfélszámítógépek alapértelmezés szerint 30 naponta módosítják a jelszavukat. Mindkét fióktípus esetében javasoljuk, hogy ellenőrizze a jelszó lejárati idejének konfigurálását, és tervezze frissíteni az AD-fiók tárfiók-identitásának jelszavát a jelszó maximális életkora előtt. Érdemes lehet létrehozni egy új AD szervezeti egységet az AD-ben , és ennek megfelelően letilthatja a jelszó lejárati szabályzatát a számítógépfiókokon vagy a szolgáltatás bejelentkezési fiókjain.

Az alábbi szkriptet a PowerShell 5.1-ben kell futtatnia egy olyan eszközön, amely a helyszíni AD DS-hez csatlakoztatott tartományhoz csatlakozik, olyan helyszíni AD DS-hitelesítő adatokkal, amelyek rendelkeznek engedéllyel a számítógépfiók vagy szolgáltatás bejelentkezési fiók létrehozásához a cél AD-ben (például tartományi rendszergazda). A Minimális jogosultság elvének követéséhez a helyszíni AD DS hitelesítő adatainak a következő Azure-szerepköröknek kell rendelkezniük:

  • Annak az erőforráscsoportnak az olvasója , amelyben a céltárfiók található.
  • Az AD DS-hez csatlakoztatandó tárfiók közreműködője .

Ha az AD DS-ben a tárfiókhoz való csatlakozáshoz használt fiók tulajdonos vagy közreműködő abban az Azure-előfizetésben, ahol a célerőforrások találhatók, akkor a fiók már engedélyezve van a csatlakozás végrehajtásához, és nincs szükség további hozzárendelésekre.

Az AD DS hitelesítő adatainak rendelkezniük kell engedéllyel ahhoz is, hogy számítógépfiókot vagy szolgáltatás-bejelentkezési fiókot hozzanak létre a cél AD-ben. A szkript végrehajtása előtt cserélje le a helyőrző értékeket a sajátjára.

# Change the execution policy to unblock importing AzFilesHybrid.psm1 module
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser

# Navigate to where AzFilesHybrid is unzipped and stored and run to copy the files into your path
.\CopyToPSPath.ps1 

# Import AzFilesHybrid module
Import-Module -Name AzFilesHybrid

# Login to Azure using a credential that has either storage account owner or contributor Azure role 
# assignment. If you are logging into an Azure environment other than Public (ex. AzureUSGovernment) 
# you will need to specify that.
# See https://learn.microsoft.com/azure/azure-government/documentation-government-get-started-connect-with-ps
# for more information.
Connect-AzAccount

# Define parameters
# $StorageAccountName is the name of an existing storage account that you want to join to AD
# $SamAccountName is the name of the to-be-created AD object, which is used by AD as the logon name 
# for the object. It must be 15 characters or less and has certain character restrictions.
# Make sure that you provide the SamAccountName without the trailing '$' sign.
# See https://learn.microsoft.com/windows/win32/adschema/a-samaccountname for more information.
$SubscriptionId = "<your-subscription-id-here>"
$ResourceGroupName = "<resource-group-name-here>"
$StorageAccountName = "<storage-account-name-here>"
$SamAccountName = "<sam-account-name-here>"
$DomainAccountType = "<ComputerAccount|ServiceLogonAccount>" # Default is set as ComputerAccount
# If you don't provide the OU name as an input parameter, the AD identity that represents the 
# storage account is created under the root directory.
$OuDistinguishedName = "<ou-distinguishedname-here>"
# Encryption method is AES-256 Kerberos.

# Select the target subscription for the current session
Select-AzSubscription -SubscriptionId $SubscriptionId 

# Register the target storage account with your active directory environment under the target OU 
# (for example: specify the OU with Name as "UserAccounts" or DistinguishedName as 
# "OU=UserAccounts,DC=CONTOSO,DC=COM"). You can use this PowerShell cmdlet: Get-ADOrganizationalUnit 
# to find the Name and DistinguishedName of your target OU. If you are using the OU Name, specify it 
# with -OrganizationalUnitName as shown below. If you are using the OU DistinguishedName, you can set it 
# with -OrganizationalUnitDistinguishedName. You can choose to provide one of the two names to specify 
# the target OU. You can choose to create the identity that represents the storage account as either a 
# Service Logon Account or Computer Account (default parameter value), depending on your AD permissions 
# and preference. Run Get-Help Join-AzStorageAccountForAuth for more details on this cmdlet.

Join-AzStorageAccount `
        -ResourceGroupName $ResourceGroupName `
        -StorageAccountName $StorageAccountName `
        -SamAccountName $SamAccountName `
        -DomainAccountType $DomainAccountType `
        -OrganizationalUnitDistinguishedName $OuDistinguishedName

# You can run the Debug-AzStorageAccountAuth cmdlet to conduct a set of basic checks on your AD configuration 
# with the logged on AD user. This cmdlet is supported on AzFilesHybrid v0.1.2+ version. For more details on 
# the checks performed in this cmdlet, see Azure Files Windows troubleshooting guide.
Debug-AzStorageAccountAuth -StorageAccountName $StorageAccountName -ResourceGroupName $ResourceGroupName -Verbose

Második lehetőség: Az engedélyezési műveletek manuális végrehajtása

A legtöbb ügyfélnek a fenti egyik lehetőséget kell választania, és az AzFilesHybrid PowerShell modullal engedélyeznie kell az AD DS-hitelesítést az Azure Files használatával. Ha azonban inkább manuálisan szeretné végrehajtani a lépéseket az Active Directory PowerShell használatával, a lépéseket itt találja.

Fontos

Ha már sikeresen végrehajtotta a Join-AzStorageAccount fenti szkriptet, lépjen közvetlenül a Funkció engedélyezésének megerősítése szakaszra. Nem kell elvégeznie a következő manuális lépéseket.

A környezet ellenőrzése

Először ellenőrizze a környezet állapotát.

  • Ellenőrizze, hogy telepítve van-e az Active Directory PowerShell , és hogy a rendszerhéj rendszergazdai jogosultságokkal van-e végrehajtva.
  • Győződjön meg arról, hogy az Az.Storage modul telepítve van, és ha nem, telepítse. Legalább 2.0-s verzióra lesz szüksége.
  • Az ellenőrzések elvégzése után ellenőrizze az AD DS-t, hogy van-e már létrehozott számítógépfiók (alapértelmezett) vagy szolgáltatás-bejelentkezési fiók az SPN/UPN szolgáltatással, például "cifs/your-storage-account-name-here.file.core.windows.net". Ha a fiók nem létezik, hozzon létre egyet az alábbi szakaszban leírtak szerint.

Fontos

Az ebben a szakaszban található Windows Server Active Directory PowerShell-parancsmagokat a Windows PowerShell 5.1-ben kell futtatni. Ebben a forgatókönyvben a PowerShell 7.x és az Azure Cloud Shell nem működik.

A tárfiókot jelképező identitás létrehozása manuálisan az AD-ben

A fiók manuális létrehozásához először hozzon létre egy új Kerberos-kulcsot a tárfiókhoz, és kérje le a hozzáférési kulcsot az alábbi PowerShell-parancsmagokkal. Ez a kulcs csak a beállítás során használatos. A tárfiókon végzett vezérlő- vagy adatsík-műveletekhez nem használható.

# Create the Kerberos key on the storage account and get the Kerb1 key as the password for the AD identity 
# to represent the storage account
$ResourceGroupName = "<resource-group-name-here>"
$StorageAccountName = "<storage-account-name-here>"

New-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -KeyName kerb1
Get-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -ListKerbKey | where-object{$_.Keyname -contains "kerb1"}

A parancsmagoknak a kulcs értékét kell visszaadni. Ha már rendelkezik a kerb1 kulccsal, hozzon létre egy számítógépfiókot vagy szolgáltatásfiókot az AD-ben a szervezeti egység alatt, és használja a kulcsot az AD-identitás jelszavaként.

  1. Állítsa az spN-t cifs/your-storage-account-name-here.file.core.windows.net értékre az AD GUI-ban vagy a Windows parancssorból rendszergazdaként futtatva Setspn (ne felejtse el lecserélni a példaszöveget a tárfiók nevére és <ADAccountName> az AD-fiók nevére).

    Setspn -S cifs/your-storage-account-name-here.file.core.windows.net <ADAccountName>
    
  2. Ha rendelkezik felhasználói fiókkal, módosítsa az UPN-t úgy, hogy az megfeleljen az AD-objektum egyszerű szolgáltatásnevének (az AD PowerShell-parancsmagoknak telepítve kell lenniük, és emelt szintű jogosultságokkal kell végrehajtaniuk a PowerShell 5.1-ben található parancsmagokat).

    Set-ADUser -Identity $UserSamAccountName -UserPrincipalName cifs/<StorageAccountName>.file.core.windows.net@<DNSRoot>
    
  3. Állítsa az AD-fiók jelszavát a kerb1 kulcs értékére.

    Set-ADAccountPassword -Identity servername$ -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "kerb1_key_value_here" -Force)
    

Ha a szervezeti egység érvényesíti a jelszó lejáratát, frissítenie kell a jelszót a jelszó maximális életkora előtt, hogy megakadályozza a hitelesítési hibákat az Azure-fájlmegosztások elérésekor. Részletekért tekintse meg a tárfiók identitásjelszójának frissítését az AD-ben .

Tartsa meg az újonnan létrehozott identitás biztonsági azonosítóját, a következő lépéshez szüksége lesz rá. A tárfiókot képviselő identitást nem kell szinkronizálni a Microsoft Entra-azonosítóval.

A szolgáltatás engedélyezése a tárfiókban

Módosítsa a következő parancsot úgy, hogy az tartalmazza a tartománytulajdonságok konfigurációs adatait a következő parancsban, majd futtassa a funkció engedélyezéséhez. A következő parancsban szükséges tárfiók biztonsági azonosítója az előző szakaszban az AD DS-ben létrehozott identitás SID-azonosítója. Győződjön meg arról, hogy a záró "$" jel nélkül adja meg az ActiveDirectorySamAccountName tulajdonságot.

# Set the feature flag on the target storage account and provide the required AD domain information
Set-AzStorageAccount `
        -ResourceGroupName "<your-resource-group-name>" `
        -Name "<your-storage-account-name>" `
        -EnableActiveDirectoryDomainServicesForFile $true `
        -ActiveDirectoryDomainName "<your-domain-dns-root>" `
        -ActiveDirectoryNetBiosDomainName "<your-domain-dns-root>" `
        -ActiveDirectoryForestName "<your-forest-name>" `
        -ActiveDirectoryDomainGuid "<your-guid>" `
        -ActiveDirectoryDomainsid "<your-domain-sid>" `
        -ActiveDirectoryAzureStorageSid "<your-storage-account-sid>" `
        -ActiveDirectorySamAccountName "<your-domain-object-sam-account-name>" `
        -ActiveDirectoryAccountType "<your-domain-object-account-type, the value could be 'Computer' or 'User'>"

Az AES-256 titkosítás engedélyezéséhez kövesse az ebben a szakaszban ismertetett lépéseket. Ha RC4-titkosítást szeretne használni, hagyja ki ezt a szakaszt.

Fontos

Az AES-256 titkosítás engedélyezéséhez a tárfiókot képviselő tartományobjektumnak a helyszíni AD-tartományban lévő számítógépfióknak (alapértelmezett) vagy szolgáltatás-bejelentkezési fióknak kell lennie. Ha a tartományobjektum nem felel meg ennek a követelménynek, törölje, és hozzon létre egy új tartományobjektumot, amely igen. Emellett írási hozzáféréssel kell rendelkeznie az msDS-SupportedEncryptionTypes objektum attribútumához.

Az AES-256-támogatás konfigurálásához futtatandó parancsmag attól függ, hogy a tárfiókot képviselő tartományobjektum számítógépfiók vagy szolgáltatás bejelentkezési fiók (felhasználói fiók). Akárhogy is, telepítve kell lennie az AD PowerShell-parancsmagoknak, és emelt szintű jogosultságokkal kell végrehajtania a parancsmagot a PowerShell 5.1-ben.

Ha engedélyezni szeretné az AES-256 titkosítást egy számítógépfiókon, futtassa a következő parancsot. Cserélje le és <domain-name> cserélje le <domain-object-identity> az értékeket.

Set-ADComputer -Identity <domain-object-identity> -Server <domain-name> -KerberosEncryptionType "AES256"

Az AES-256 titkosítás szolgáltatás-bejelentkezési fiókon való engedélyezéséhez futtassa a következő parancsot. Cserélje le és <domain-name> cserélje le <domain-object-identity> az értékeket.

Set-ADUser -Identity <domain-object-identity> -Server <domain-name> -KerberosEncryptionType "AES256"

A fenti parancsmag futtatása után cserélje le <domain-object-identity> a következő szkriptet az értékére, majd futtassa a szkriptet a tartományi objektum jelszavának frissítéséhez:

$KeyName = "kerb1" # Could be either the first or second kerberos key, this script assumes we're refreshing the first
$KerbKeys = New-AzStorageAccountKey -ResourceGroupName $ResourceGroupName -Name $StorageAccountName -KeyName $KeyName
$KerbKey = $KerbKeys.keys | Where-Object {$_.KeyName -eq $KeyName} | Select-Object -ExpandProperty Value
$NewPassword = ConvertTo-SecureString -String $KerbKey -AsPlainText -Force

Set-ADAccountPassword -Identity <domain-object-identity> -Reset -NewPassword $NewPassword

Fontos

Ha korábban RC4-titkosítást használt, és frissítette a tárfiókot az AES-256 használatára, futtassa klist purge az ügyfelet, majd válassza újra a fájlmegosztást, hogy új Kerberos-jegyeket kapjon az AES-256-tal.

Hibakeresés

Szükség esetén futtathatja a Debug-AzStorageAccountAuth parancsmagot, hogy alapvető ellenőrzéseket végezzen az AD-konfiguráción a bejelentkezett AD-felhasználóval. Ez a parancsmag az AzFilesHybrid 0.1.2-es vagy újabb verziójában támogatott. Ez a parancsmag csak az AD DS-hitelesítéshez használható. Nem működik a Microsoft Entra Domain Services vagy a Microsoft Entra Kerberos által engedélyezett tárfiókok esetében. A parancsmagban végrehajtott ellenőrzésekről további információt az Azure-fájlmegosztások AD-hitelesítő adatokkal való csatlakoztatásának sikertelen csatlakoztatása című témakörben talál.

Debug-AzStorageAccountAuth -StorageAccountName $StorageAccountName -ResourceGroupName $ResourceGroupName -Verbose

Győződjön meg arról, hogy a funkció engedélyezve van

Ellenőrizze, hogy engedélyezve van-e az Active Directory a tárfiókban a következő szkripttel:

# Get the target storage account
$storageaccount = Get-AzStorageAccount `
        -ResourceGroupName "<your-resource-group-name-here>" `
        -Name "<your-storage-account-name-here>"

# List the directory service of the selected service account
$storageAccount.AzureFilesIdentityBasedAuth.DirectoryServiceOptions

# List the directory domain information if the storage account has enabled AD DS authentication for file shares
$storageAccount.AzureFilesIdentityBasedAuth.ActiveDirectoryProperties

Ha sikeres, a kimenetnek így kell kinéznie:

DomainName:<yourDomainHere>
NetBiosDomainName:<yourNetBiosDomainNameHere>
ForestName:<yourForestNameHere>
DomainGuid:<yourGUIDHere>
DomainSid:<yourSIDHere>
AzureStorageID:<yourStorageSIDHere>

Következő lépés

Ezzel sikeresen engedélyezte az AD DS-t a tárfiókjában. A funkció használatához megosztási szintű engedélyeket kell hozzárendelnie.