AD FS-identitás integrálása az Azure Stack Hub adatközpontjával
Az Azure Stack Hubot Microsoft Entra ID vagy Active Directory összevonási szolgáltatások (AD FS) (AD FS) használatával helyezheti üzembe identitásszolgáltatóként. A választást az Azure Stack Hub üzembe helyezése előtt kell elvégezni. Csatlakoztatott forgatókönyv esetén kiválaszthatja Microsoft Entra azonosítót vagy az AD FS-t. Leválasztott forgatókönyv esetén csak az AD FS támogatott. Ez a cikk bemutatja, hogyan integrálhatja az Azure Stack Hub AD FS-t az adatközpont AD FS-ével.
Fontos
Az identitásszolgáltató nem váltható át a teljes Azure Stack Hub-megoldás újbóli üzembe helyezése nélkül.
Active Directory összevonási szolgáltatások (AD FS) és Graph
Az AD FS használatával történő üzembe helyezés lehetővé teszi egy meglévő Active Directory-erdőben lévő identitások hitelesítését az Azure Stack Hub erőforrásaival. Ehhez a meglévő Active Directory-erdőhöz az AD FS üzembe helyezésére van szükség az AD FS összevonási megbízhatóságának létrehozásához.
A hitelesítés az identitás része. A szerepköralapú hozzáférés-vezérlés (RBAC) Azure Stack Hubban való kezeléséhez konfigurálni kell a Graph-összetevőt. Ha egy erőforráshoz való hozzáférés delegálva van, a Graph-összetevő megkeresi a felhasználói fiókot a meglévő Active Directory-erdőben az LDAP protokoll használatával.
A meglévő AD FS a fiókbiztonsági jogkivonat-szolgáltatás (STS), amely jogcímeket küld az Azure Stack Hub AD FS-nek (az STS erőforrásnak). Az Azure Stack Hubban az automatizálás létrehozza a jogcímszolgáltató megbízhatóságát a meglévő AD FS metaadat-végpontjával.
A meglévő AD FS-ben konfigurálnia kell egy függő entitás megbízhatóságát. Ezt a lépést nem az automatizálás végzi, és az operátornak kell konfigurálnia. Az AD FS-hez készült Azure Stack Hub VIP-végpont a mintával https://adfs.<Region>.<ExternalFQDN>/
hozható létre.
A függő entitás megbízhatósági konfigurációja megköveteli a Microsoft által biztosított jogcímátalakítási szabályok konfigurálását is.
A Graph-konfigurációhoz olyan szolgáltatásfiókot kell megadni, amely "olvasási" engedéllyel rendelkezik a meglévő Active Directoryban. Ez a fiók szükséges bemenetként az automatizáláshoz az RBAC-forgatókönyvek engedélyezéséhez.
Az utolsó lépésben egy új tulajdonos van konfigurálva az alapértelmezett szolgáltatói előfizetéshez. Ez a fiók teljes hozzáféréssel rendelkezik az összes erőforráshoz, amikor bejelentkezik az Azure Stack Hub felügyeleti portáljára.
Követelmények:
Összetevő | Követelmény |
---|---|
Graph | Microsoft Active Directory 2012/2012 R2/2016 2019 |
AD FS | Windows Server 2012/2012 R2/2016 2019 |
A Graph-integráció beállítása
A Graph csak egyetlen Active Directory-erdővel való integrációt támogatja. Ha több erdő is létezik, a rendszer csak a konfigurációban megadott erdőt használja a felhasználók és csoportok beolvasására.
Az automatizálási paraméterek bemeneteként a következő információkra van szükség:
Paraméter | Üzembe helyezési munkalap paramétere | Leírás | Példa |
---|---|---|---|
CustomADGlobalCatalog |
AD FS Forest FQDN | A cél Active Directory-erdő teljes tartományneve, amellyel integrálni szeretne | Contoso.com |
CustomADAdminCredentials |
LdAP olvasási engedéllyel rendelkező felhasználó | graphservice |
Active Directory-helyek konfigurálása
Több helyből álló Active Directory-üzemelő példányok esetén konfigurálja a legközelebbi Active Directory-helyet az Azure Stack Hub üzembe helyezéséhez. A konfiguráció megakadályozza, hogy az Azure Stack Hub Graph szolgáltatás távoli helyről származó globális katalóguskiszolgálóval oldja fel a lekérdezéseket.
Adja hozzá az Azure Stack Hub nyilvános VIP-hálózati alhálózatát az Azure Stack Hubhoz legközelebbi Active Directory-helyhez. Tegyük fel például, hogy az Active Directorynak két helye van: Seattle és Redmond. Ha az Azure Stack Hub a seattle-i helyen van üzembe helyezve, az Azure Stack Hub nyilvános VIP-hálózati alhálózatát hozzá kell adnia a seattle-i Active Directory-helyhez.
További információ az Active Directory-helyekről: A hely topológiájának megtervezése.
Megjegyzés
Ha az Active Directory egyetlen webhelyből áll, kihagyhatja ezt a lépést. Ha konfigurálva van egy mindenre ható alhálózat, ellenőrizze, hogy az Azure Stack Hub nyilvános VIP-hálózatának alhálózata nem része-e annak.
Felhasználói fiók létrehozása a meglévő Active Directoryban (nem kötelező)
Igény szerint létrehozhat egy fiókot a Graph szolgáltatáshoz a meglévő Active Directoryban. Ezt a lépést akkor végezze el, ha még nem rendelkezik használni kívánt fiókkal.
A meglévő Active Directoryban hozza létre a következő felhasználói fiókot (javaslat):
- Felhasználónév: graphservice
- Jelszó: Használjon erős jelszót, és konfigurálja a jelszót, hogy soha ne járjon le.
Nincs szükség különleges engedélyekre vagy tagságra.
Automatizálás aktiválása a gráf konfigurálásához
Ehhez az eljáráshoz használjon egy számítógépet az adatközpont-hálózatban, amely képes kommunikálni az Azure Stack Hub kiemelt végpontjával.
Nyisson meg egy emelt szintű Windows PowerShell munkamenetet (rendszergazdaként futtassa), és csatlakozzon a kiemelt végpont IP-címéhez. Használja a CloudAdmin hitelesítő adatait a hitelesítéshez.
$creds = Get-Credential $pep = New-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
Most, hogy rendelkezik egy munkamenettel a kiemelt végponttal, futtassa a következő parancsot:
Futtassa az alábbi szkriptet az Azure Stack Hub 2008-os és újabb buildjéhez
$i = @( [pscustomobject]@{ CustomADGlobalCatalog="fabrikam.com" CustomADAdminCredential= Get-Credential -Message "Do not include the domain name of the graphservice account in the username." SkipRootDomainValidation = $false ValidateParameters = $true }) Invoke-Command -Session $pep -ScriptBlock {Register-DirectoryService -customCatalog $using:i}
Futtassa az alábbi szkriptet az Azure Stack Hub 2008 előtti buildjéhez
Invoke-Command -Session $pep -ScriptBlock {Register-DirectoryService -CustomADGlobalCatalog contoso.com}
Amikor a rendszer kéri, adja meg a Graph szolgáltatáshoz használni kívánt felhasználói fiók hitelesítő adatait (például graphservice). A Register-DirectoryService parancsmag bemenetének az erdőben lévő erdőnévnek/gyökértartománynak kell lennie, nem pedig az erdő bármely más tartományának.
Fontos
Várja meg a hitelesítő adatok előugró ablakát (a Get-Credential nem támogatott a kiemelt végponton), és adja meg a Graph Service-fiók hitelesítő adatait.
A Register-DirectoryService parancsmag választható paraméterekkel rendelkezik, amelyeket olyan esetekben használhat, amikor a meglévő Active Directory-ellenőrzés sikertelen. A parancsmag végrehajtásakor ellenőrzi, hogy a megadott tartomány a gyökértartomány, elérhető-e egy globális katalóguskiszolgáló, és hogy a megadott fiók olvasási hozzáférést kap-e.
Paraméter Leírás SkipRootDomainValidation
Megadja, hogy az ajánlott gyökértartomány helyett gyermektartományt kell használni. ValidateParameters
Az összes ellenőrzési ellenőrzés megfeleltetve.
Gráfprotokollok és portok
Az Azure Stack Hub graph szolgáltatása a következő protokollokkal és portokkal kommunikál egy írható globális katalóguskiszolgálóval (GC) és kulcsterjesztési központtal (KDC), amely képes feldolgozni a bejelentkezési kéréseket a cél Active Directory-erdőben.
Az Azure Stack Hub graph szolgáltatása a következő protokollokat és portokat használja a cél Active Directoryval való kommunikációhoz:
Típus | Port | Protokoll |
---|---|---|
LDAP | 389 | TCP & UDP |
LDAP SSL | 636 | TCP |
LDAP GC | 3268 | TCP |
LDAP GC SSL | 3269 | TCP |
Az AD FS-integráció beállítása összevonási metaadatok letöltésével
Az automatizálási paraméterek bemeneteként a következő információkra van szükség:
Paraméter | Üzembe helyezési munkalap paramétere | Leírás | Példa |
---|---|---|---|
CustomAdfsName | AD FS-szolgáltató neve | A jogcímszolgáltató neve. Így jelenik meg az AD FS kezdőlapján. |
Contoso |
CustomAD FSFederationMetadataEndpointUri |
AD FS Metadata URI | Összevonási metaadatok hivatkozása. | https://ad01.contoso.com/federationmetadata/2007-06/federationmetadata.xml |
SigningCertificateRevocationCheck | NA | Nem kötelező paraméter a CRL-ellenőrzés kihagyásához. | None |
Automatizálás aktiválása jogcímszolgáltatói megbízhatóság konfigurálásához az Azure Stack Hubban (összevonási metaadatok letöltésével)
Ehhez az eljáráshoz használjon olyan számítógépet, amely képes kommunikálni az Azure Stack Hub kiemelt végpontjával. Az STS AD FS fiók által használt tanúsítványt az Azure Stack Hub megbízhatónak tartja.
Nyisson meg egy emelt szintű Windows PowerShell munkamenetet, és csatlakozzon a kiemelt végponthoz.
$creds = Get-Credential Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
Most, hogy csatlakozott a kiemelt végponthoz, futtassa a következő parancsot a környezetének megfelelő paraméterekkel:
Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataEndpointUri "https://ad01.contoso.com/federationmetadata/2007-06/federationmetadata.xml"
Futtassa a következő parancsot az alapértelmezett szolgáltatói előfizetés tulajdonosának frissítéséhez a környezetének megfelelő paraméterekkel:
Set-ServiceAdminOwner -ServiceAdminOwnerUpn "administrator@contoso.com"
Az AD FS-integráció beállítása összevonási metaadatfájl megadásával
Az 1807-es verziótól kezdve használja ezt a módszert, ha az alábbi feltételek valamelyike teljesül:
- A tanúsítványlánc különbözik az AD FS-hez képest az Azure Stack Hub összes többi végpontja esetében.
- Nincs hálózati kapcsolat a meglévő AD FS-kiszolgálóval az Azure Stack Hub AD FS-példányából.
Az automatizálási paraméterek bemeneteként a következő információkra van szükség:
Paraméter | Leírás | Példa |
---|---|---|
CustomAdfsName | A jogcímszolgáltató neve. Így jelenik meg az AD FS kezdőlapján. | Contoso |
CustomADFSFederationMetadataFileContent | Metaadatok tartalma. | $using:federationMetadataFileContent |
Összevonási metaadatfájl létrehozása
Az alábbi eljáráshoz olyan számítógépet kell használnia, amely hálózati kapcsolattal rendelkezik a meglévő AD FS-környezethez, amely a fiók STS-évé válik. A szükséges tanúsítványokat is telepíteni kell.
Nyisson meg egy emelt szintű Windows PowerShell munkamenetet, és futtassa a következő parancsot a környezetének megfelelő paraméterekkel:
$url = "https://win-SQOOJN70SGL.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml" $webclient = New-Object System.Net.WebClient $webclient.Encoding = [System.Text.Encoding]::UTF8 $metadataAsString = $webclient.DownloadString($url) Set-Content -Path c:\metadata.xml -Encoding UTF8 -Value $metadataAsString
Másolja a metaadatfájlt egy olyan számítógépre, amely képes kommunikálni a kiemelt végponttal.
Automatizálás aktiválása a jogcímszolgáltató megbízhatóságának konfigurálásához az Azure Stack Hubban (összevonási metaadatfájl használatával)
Ehhez az eljáráshoz használjon egy számítógépet, amely képes kommunikálni az Azure Stack Hub kiemelt végpontjával, és hozzáfér az előző lépésben létrehozott metaadatfájlhoz.
Nyisson meg egy emelt szintű Windows PowerShell munkamenetet, és csatlakozzon a kiemelt végponthoz.
$federationMetadataFileContent = get-content c:\metadata.xml $creds=Get-Credential Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
Most, hogy csatlakozott a kiemelt végponthoz, futtassa a következő parancsot a környezetének megfelelő paraméterekkel:
Register-CustomAdfs -CustomAdfsName Contoso -CustomADFSFederationMetadataFileContent $using:federationMetadataFileContent
Futtassa a következő parancsot az alapértelmezett szolgáltatói előfizetés tulajdonosának frissítéséhez. Használja a környezetének megfelelő paramétereket.
Set-ServiceAdminOwner -ServiceAdminOwnerUpn "administrator@contoso.com"
Megjegyzés
Amikor elforgatja a tanúsítványt a meglévő AD FS-en (fiók STS), újra be kell állítania az AD FS-integrációt. Az integrációt akkor is be kell állítania, ha a metaadat-végpont elérhető, vagy a metaadatfájl megadásával lett konfigurálva.
Függő entitás konfigurálása meglévő AD FS-üzembe helyezéshez (STS-fiók)
A Microsoft egy szkriptet biztosít, amely konfigurálja a függő entitás megbízhatóságát, beleértve a jogcím-átalakítási szabályokat is. A szkript használata nem kötelező, mivel manuálisan is futtathatja a parancsokat.
A segédszkriptet letöltheti az Azure Stack Hub Toolsból a GitHubon.
Ha úgy dönt, hogy manuálisan futtatja a parancsokat, kövesse az alábbi lépéseket:
Másolja a következő tartalmat egy .txt fájlba (például c:\ClaimIssuanceRules.txt) az adatközpont AD FS-példányán vagy farmtagján:
@RuleTemplate = "LdapClaims" @RuleName = "Name claim" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"), query = ";userPrincipalName;{0}", param = c.Value); @RuleTemplate = "LdapClaims" @RuleName = "UPN claim" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value); @RuleTemplate = "LdapClaims" @RuleName = "ObjectID claim" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid"] => issue(Type = "http://schemas.microsoft.com/identity/claims/objectidentifier", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType); @RuleName = "Family Name and Given claim" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"), query = ";sn,givenName;{0}", param = c.Value); @RuleTemplate = "PassThroughClaims" @RuleName = "Pass through all Group SID claims" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Issuer =~ "^(AD AUTHORITY|SELF AUTHORITY|LOCAL AUTHORITY)$"] => issue(claim = c); @RuleTemplate = "PassThroughClaims" @RuleName = "Pass through all windows account name claims" c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"] => issue(claim = c);
Ellenőrizze, hogy engedélyezve van-e az extranetes és intranetes Windows Forms-alapú hitelesítés. Az alábbi parancsmag futtatásával ellenőrizheti, hogy a már engedélyezve van-e:
Get-AdfsAuthenticationProvider | where-object { $_.name -eq "FormsAuthentication" } | select Name, AllowedForPrimaryExtranet, AllowedForPrimaryIntranet
Megjegyzés
Előfordulhat, hogy a Windows integrált hitelesítés (WIA) által támogatott felhasználóiügynök-sztringek elavultak az AD FS üzembe helyezéséhez, és szükség lehet egy frissítésre a legújabb ügyfelek támogatásához. A WIA által támogatott felhasználói ügynök sztringjeinek frissítéséről a WiA-t nem támogató eszközök intranetes űrlapalapú hitelesítésének konfigurálása című cikkben olvashat bővebben.
Az űrlapalapú hitelesítési szabályzat engedélyezésének lépéseit lásd: Hitelesítési szabályzatok konfigurálása.A függő entitás megbízhatóságának hozzáadásához futtassa a következő Windows PowerShell parancsot az AD FS-példányon vagy egy farmtagon. Frissítse az AD FS-végpontot, és mutasson az 1. lépésben létrehozott fájlra.
Fontos
Az Azure Stack Hub 2002-s és újabb verzióit futtató ügyfelek esetében a TLS 1.2 érvénybe lép az Azure Stack Hub ADFS-végpontján. Ezért a TLS 1.2-t is engedélyezni kell az ügyfél ADFS-kiszolgálókon. Ellenkező esetben a következő hiba történik, amikor az ügyfél tulajdonában lévő ADFS-gazdagépen/farmon fut
Add-ADFSRelyingPartyTrust
:Add-ADFSRelyingPartyTrust : The underlying connection was closed: An unexpected error occurred on a send.
AD FS 2016/2019 esetén
Add-ADFSRelyingPartyTrust -Name AzureStack -MetadataUrl "https://YourAzureStackADFSEndpoint/FederationMetadata/2007-06/FederationMetadata.xml" -IssuanceTransformRulesFile "C:\ClaimIssuanceRules.txt" -AutoUpdateEnabled:$true -MonitoringEnabled:$true -enabled:$true -AccessControlPolicyName "Permit everyone" -TokenLifeTime 1440
AD FS 2012/2012 R2 esetén
Add-ADFSRelyingPartyTrust -Name AzureStack -MetadataUrl "https://YourAzureStackADFSEndpoint/FederationMetadata/2007-06/FederationMetadata.xml" -IssuanceTransformRulesFile "C:\ClaimIssuanceRules.txt" -AutoUpdateEnabled:$true -MonitoringEnabled:$true -enabled:$true -TokenLifeTime 1440
Fontos
Az AD FS MMC beépülő modult kell használnia a kiállítási engedélyezési szabályok konfigurálásához Windows Server 2012 vagy 2012 R2 AD FS használatakor.
Amikor az Internet Explorert vagy a Microsoft Edge böngészőt használja az Azure Stack Hub eléréséhez, figyelmen kívül kell hagynia a jogkivonat-kötéseket. Ellenkező esetben a bejelentkezési kísérletek sikertelenek. Az AD FS-példányon vagy egy farmtagon futtassa a következő parancsot:
Megjegyzés
Ez a lépés nem alkalmazható Windows Server 2012 vagy 2012 R2 AD FS használatakor. Ebben az esetben nyugodtan kihagyhatja ezt a parancsot, és folytathatja az integrációt.
Set-AdfsProperties -IgnoreTokenBinding $true
Egyszerű szolgáltatásnév létrehozása
Számos olyan forgatókönyv van, amely megköveteli a szolgáltatásnév (SPN) használatát a hitelesítéshez. Az alábbiakban néhány példát láthat:
- Azure CLI-használat az Azure Stack Hub AD FS-üzembe helyezésével.
- System Center Felügyeleti csomag az Azure Stack Hubhoz az AD FS-ben való üzembe helyezéskor.
- Erőforrás-szolgáltatók az Azure Stack Hubban az AD FS-sel való üzembe helyezéskor.
- Különböző alkalmazások.
- Nem interaktív bejelentkezésre van szükség.
Fontos
Az AD FS csak az interaktív bejelentkezési munkameneteket támogatja. Ha egy automatizált forgatókönyvhöz nem interaktív bejelentkezésre van szükség, spN-t kell használnia.
Az egyszerű szolgáltatásnév létrehozásával kapcsolatos további információkért lásd: Szolgáltatásnév létrehozása az AD FS-hez.
Hibaelhárítás
Konfiguráció visszaállítása
Ha olyan hiba történik, amely a környezetet olyan állapotban hagyja, ahol már nem lehet hitelesíteni, visszaállítási lehetőség érhető el.
Nyisson meg egy emelt szintű Windows PowerShell munkamenetet, és futtassa a következő parancsokat:
$creds = Get-Credential Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
Ezután futtassa a következő parancsmagot:
Reset-DatacenterIntegrationConfiguration
A visszaállítási művelet futtatása után a rendszer visszaállítja az összes konfigurációs módosítást. Csak a beépített CloudAdmin-felhasználóval történő hitelesítés lehetséges.
Fontos
Konfigurálnia kell az alapértelmezett szolgáltatói előfizetés eredeti tulajdonosát.
Set-ServiceAdminOwner -ServiceAdminOwnerUpn "azurestackadmin@[Internal Domain]"
További naplók gyűjtése
Ha valamelyik parancsmag meghibásodik, további naplókat gyűjthet a Get-Azurestacklogs
parancsmag használatával.
Nyisson meg egy emelt szintű Windows PowerShell munkamenetet, és futtassa a következő parancsokat:
$creds = Get-Credential Enter-pssession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
Ezután futtassa a következő parancsmagot:
Get-AzureStackLog -OutputPath \\myworkstation\AzureStackLogs -FilterByRole ECE