Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird erläutert, wie Sie Ihre Identität für getrennte Vorgänge in Azure Local planen und integrieren. Erfahren Sie, wie Sie Ihre Identitätslösung einrichten und die Aktionen und Rollen verstehen, die für Operatoren verfügbar sind.
Verstehen und Planen der Identität
Bei getrennten Vorgängen müssen Sie eine vorhandene Identitäts- und Zugriffsverwaltungslösung integrieren. Bevor Sie getrennte Vorgänge bereitstellen, stellen Sie sicher, dass Sie die schritte verstehen, die erforderlich sind, um die Identitätslösung zu integrieren und anzuwenden.
Getrennte Vorgänge unterstützen diese Lösungen:
- Active Directory: Gruppen und Mitgliedschaften
- Active Directory-Verbunddienste (AD FS): Authentifizierung
Hinweis
Nur universelle Gruppen werden für Active Directory unterstützt. Legen Sie den Gruppenbereich auf "Universal" fest, wenn Sie Gruppenmitgliedschaften einrichten.
Verstehen der Funktionsweise der Identitätsintegration
Richten Sie während der Bereitstellung Offline-Betrieb ein, um eine Integration mit Ihren Identitätsanbietern (IDP) und der Identitäts- und Zugriffsverwaltung zu erzielen. Geben Sie einen Stammoperator an. Dieser Benutzer besitzt ein spezielles Betreiberabonnement und fügt nach der Bereitstellung weitere Operatoren hinzu. Das Operatorabonnement definiert den Umfang für Operatoraktionen, und einzelne Aktionen hängen von der Operatorrolle ab.
Auf hoher Ebene authentifiziert der OpenID Connect -Endpunkt (OIDC) Benutzer bei getrennten Vorgängen, und der LDAP-Endpunkt (Lightweight Directory Access Protocol) integriert Gruppen und Mitgliedschaften aus Ihrer Organisation. Nach der Integration wird die standardmäßige rollenbasierte Azure-Zugriffssteuerung den gewünschten Bereichen zugewiesen.
Hinweis
Rollenzuweisungen und Richtlinien werden nicht vom Betreiberabonnement an einzelne Abonnements geerbt. Jedes Abonnement verfügt über einen eigenen Bereich. Nur bestimmte Rollen, die einzelnen Abonnements zugewiesen sind, können Aktionen innerhalb dieses bestimmten Abonnements ausführen.
Grundlegendes zur Operatorrolle und -aktionen
Sie können dem Betreiberabonnement weitere Operatoren zuweisen, damit sie tägliche Aktionen ausführen können. Die integrierte Eigentümerrolle für das Betreiberabonnement ermöglicht es Betreibern, diese Aktionen im Geltungsbereich durchzuführen: /Subscriptions/\<GUID>/Microsoft.AzureLocalOperator/*.
Um die Operatorrolle und die aktionen zu verstehen, die sie ausführen können, bieten die folgenden Tabellen eine detaillierte Übersicht über die verfügbaren Aktionen in verschiedenen Kategorien. Zu diesen Kategorien gehören Identitäts- und Zugriffsverwaltung, Abonnementverwaltung sowie Observability und Diagnose.
Verwenden Sie diese Tabellen, um die spezifischen Aufgaben der Operatoren zu identifizieren, die im Rahmen des Geltungsbereichs des Operatorabonnements ausgeführt werden können.
Identitäts- und Zugriffsverwaltung
| Maßnahme | Bediener |
|---|---|
| Mehr Operatoren zuweisen | Ja |
| SPN erstellen | Ja |
| SPN löschen | Ja |
| Dienstprinzipalnamen auflisten (SPNs) | Ja |
| SPN aktualisieren | Ja |
| Anzeigen von Gruppenmitgliedschaften (synchronisiert) | Ja |
| Identitätskonfiguration anzeigen | Ja |
| Identitätssynchronisierungsstatus anzeigen | Ja |
Abonnementverwaltung
| Maßnahme | Bediener |
|---|---|
| Alias erstellen | Ja |
| Erstellen von Abonnements | Ja |
| Alias löschen | Ja |
| Abonnement löschen | Ja |
| Listenalias | Ja |
| Alle Abonnements auflisten | Ja |
| Erneute Zuordnung des Abonnementbesitzers | Ja |
| Abonnement umbenennen | Ja |
| Abonnement fortsetzen | Ja |
Überwachbarkeit und Diagnose
| Maßnahme | Bediener |
|---|---|
| Sammeln von Protokollen | Ja |
| Konfigurieren von Diagnose- und vom System generierten Protokolleinstellungen | Ja |
| Konfigurieren Sie die Syslog-Weiterleitung | Ja |
| Herunterladen von Protokollen | Ja |
Es gibt einige Ausnahmen von den Aktionen, die für Operatoren verfügbar sind:
Operatoren können ein Operatorabonnement nicht löschen.
Besitzer, die einem Dienstprinzipalnamen (SERVICE Principal Name, SPN) zugewiesen sind, können diesen SPN auch löschen.
Hinweis
Nur die bereitgestellten Aktionen sind im Azure-Portal verfügbar.
Andere integrierte Rollen wie Sicherheitsoperator, Abonnementmanager und Supportoperator können bei Bedarf als betrachtet und ausgewertet werden. Um detailliertere Operatorrollen zu erzielen, können Sie benutzerdefinierte Rollendefinitionen basierend auf der Operatorrolle erstellen und Zugriff auf das Operatorabonnement zuweisen.
Grundlegendes zur Synchronisierung
Nachdem Sie die ersteinrichtung abgeschlossen haben, synchronisiert das System Gruppen mit Gruppenmitgliedschaften, sodass sie für getrennte Vorgänge zugänglich sind. Um zu sehen, welche Gruppen und Mitgliedschaften synchronisiert werden, verwenden Sie eine Operatoranwendungsprogrammierschnittstelle (API), wie Get-ApplianceExternalIdentityObservability im Anhang aufgeführt. Die Synchronisierung wird regelmäßig alle sechs Stunden ausgeführt.
Identitätscheckliste
Verwenden Sie diese Checkliste, um Ihre Identitätsintegration mit getrennten Vorgängen zu planen.
Identifizieren Sie IP-Adressen oder einen vollqualifizierten Domänennamen (FQDN) für folgendes:
- LDAP-Endpunkt (Active Directory)
- Anmeldeendpunkt (AD FS/OIDC)
Wenn Sie einen FQDN für den LDAP-Endpunkt verwenden:
- Stellen Sie sicher, dass das Gerät für den Offline-Betrieb konfiguriert ist und ein Domain Name System (DNS) verwendet, mit dem der bereitgestellte Endpunkt aufgelöst wird.
Erstellen Sie ein Konto mit schreibgeschütztem Zugriff auf dem LDAP v3-Server (Active Directory).
Identifizieren Sie die Stammgruppe für die Synchronisierung der Mitgliedschaft.
UPN identifizieren Diesem Benutzer sollte die Rolle des Initialoperators zugewiesen werden.
Sammeln und bereitstellen Sie die folgenden Parameter vor der Bereitstellung:
| Parametername | BESCHREIBUNG | Beispiel |
|---|---|---|
| Autorität | Ein URI für barrierefreie Autoritäten, der Informationen zu OIDC-Endpunkten, Metadaten und mehr liefert. | https://adfs.contoso-AzureLocal.com/adfs |
| ClientID | AppID, die beim Einrichten der adfsclient-App erstellt wurde. | 00001111-aaaa-2222-bbbb-3333cccc4444 |
| LdapCredential (Benutzername und Kennwort) | Anmeldeinformationen (schreibgeschützt) für die LDAP-Integration. | Benutzername: ldap Passwort:****** |
| LdapsCertChainInfo | Zertifikatketteninformationen für Ihren LDAP-Endpunkt. Sie können die Zertifikatketteninformationen für Demozwecke weglassen. | So rufen Sie die Zertifikatkette ab |
| OidcCertChainInfo | Zertifikatketteninformationen für Ihren OIDC-Endpunkt. Sie können die Zertifikatketteninformationen für Demozwecke weglassen. | So rufen Sie die Zertifikatkette ab |
| LdapServer | LDAP-Endpunkt, der aus getrennten Vorgängen erreicht werden kann. Dieser Endpunkt synchronisiert Gruppen und Gruppenmitgliedschaften. | Ldap.local.contoso.com |
| LdapPort | LDAP-Port, der zum Herstellen einer Verbindung mit dem globalen Katalog verwendet wird. Der Standardwert 3268 ist ein unsicherer Kanal und 3269 ist ein SSL/gesicherter Kanal für den globalen Katalog. | 3269 |
| RootOperatorUserPrincipalName | UPN für die anfängliche Operator-Persona, die Zugriff auf das Operator-Abonnement gewährt | Cloud-admin@local.contoso.com |
| Synchronisierungsgruppenkennung | GUID der Active Directory-Gruppe, von der die Synchronisierung gestartet wird. $group = Get-ADGroup -Identity “mygroup” \| Select-Object Name, ObjectGUID
|
81d71e5c5-abc4-11af-8132-afdf6bbe2ec1 |
| Automatisierungszertifikat | (Optional) Für Automatisierungskonto zu verwendende Zertifikat Erstellen eines Clientzertifikats mit Ihrem eigenen PKI oder Verwenden eines selbstsignierten Zertifikats und Schützen dieses Zertifikats |
$cert=New-SelfSignedCertificate -Subject "Automatisierungskonto" |
Beispielkonfigurationsparameter:
$ldapPass = 'retracted'|Convertto-securestring -asplaintext -force
$idpConfig = @{
authority = 'https://adfs.contoso-AzureLocal.com/adfs'
clientId = '9e7655c5-1bc4-45af-8345-cdf6bbf4ec1'
rootOperatorUserPrincipalName = 'operator@local.contoso.com'
ldapServer = 'ldap.local.contoso.com'
LdapCredential = New-Object PSCredential -ArgumentList @("ldap", $ldapPass)
syncGroupIdentifier = '81d71e5c5-abc4-11af-8132-afdf6bbe2ec1'
}
Vollständig automatisierte Bereitstellungen
Verwenden Sie für vollständig automatisierte Bereitstellungen das AutomationCertificate als Teil der IdentityConfiguration. Auf diese Weise können Sie den vollständigen Bereitstellungsablauf automatisieren, da dieses Konto zum Anmelden als Operator, zum Erstellen von Abonnements, zum Registrieren von Ressourcenanbietern und zum Ausführen mit vollständiger Automatisierung verwendet werden kann.
Nachfolgend sehen Sie ein Beispiel für die Anmeldung bei diesem Zertifikat nach der Bereitstellung:
$username = '2cb981cc-147e-47cd-a32c-4bb0dfa60573'
$certPath = 'C:\Aldo\operatorcert.pem'
$tenantId = 'aaaabbbb-0000-cccc-1111-dddd2222eeee'
# Example using az login
az login --service-principal --username $username --certificate $certPath --tenant $tenantId
# Example using Powershell
# Make sure the cert is installed in the CurrentUser cert store
$CertThumbprint = (Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.Subject -like "*Azure Local disconnected operations automation credential*" }).Thumbprint
Connect-AzAccount -ServicePrincipal `
-ApplicationId $username`
-TenantId $tenantId `
-CertificateThumbprint $certThumbprint
Bitte notieren Sie sich Folgendes:
- Der Benutzername ist statisch. Dies ist die Anwendungs-ID, die als Operator fungiert.
- Sie müssen sicherstellen, dass Sie das Zertifikat in eine PEM-Datei konvertiert/exportiert haben.
Einschränkungen
Berücksichtigen Sie diese Einschränkungen, wenn Sie ihre Identitätsintegration mit getrennten Vorgängen planen:
Entfernen von Benutzern und Gruppen nach der Synchronisierung: Wenn Sie Benutzer und Gruppen mit Mitgliedschaften nach der letzten Synchronisierung entfernen, werden sie durch getrennte Vorgänge nicht bereinigt. Diese Einschränkung kann zu Fehlern führen, wenn Sie Gruppenmitgliedschaften abfragen.
Keine Erzwingungssynchronisierungsfunktion: Die anfängliche Synchronisierung kann bis zu sechs Stunden dauern. Danach wird die Synchronisierung alle 15 Minuten ausgeführt.
Keine Verwaltungsgruppen oder aggregierte Stammebene: Dieses Feature ist für mehrere Abonnements nicht verfügbar.
Unterstützte Überprüfungen: Nur Active Directory/AD FS werden auf Unterstützung überprüft.
Minderung von Problemen bei der Integration von Identitäten
Verwenden Sie als Hostadministrator das PowerShell-Cmdlet für getrennte Vorgänge, um Einstellungen zu aktualisieren und Probleme zu beheben. Hier sind einige Szenarien, in denen Sie Ihre Identitätseinstellungen möglicherweise neu konfigurieren müssen:
Fehler bei der Synchronisierung oder nicht gestartet:
- Überprüfen Sie, ob LDAP-Anmeldeinformationen gültig sind.
- Überprüfen Sie, ob LDAP-Anmeldeinformationen Lesezugriff haben.
- Überprüfen Sie, ob getrennte Vorgänge den LDAP-Server erreichen können, lösen Sie den FQDN auf (falls keine IP-Adresse verwendet wird), und vergewissern Sie sich, dass keine Firewalls den Datenverkehr blockieren.
Falsche Gruppe synchronisierter Gruppen:
- Überprüfen Sie, ob der
SyncGroupIdentifierauf den richtigen Stamm eingestellt ist. Das, von welchem Sie synchronisieren.
- Überprüfen Sie, ob der
Verlorener Zugriff auf das Betreiberabonnement:
- Um den Zugriff auf den Operator wiederherzustellen, ändern Sie die
rootOperatorUserPrincipalName.
- Um den Zugriff auf den Operator wiederherzustellen, ändern Sie die
Cmdlets für die Identitätsintegration
Verwenden Sie als Hostadministrator das Modul für getrennte Vorgänge und Installationszertifikate, um Cmdlets auszuführen, mit denen Sie Einstellungen ändern und die Identitätsintegration beheben können. Führen Sie diese Ausführung Get-Command ApplianceExternalIdentity aus, um die verfügbaren Cmdlets für die Identitätsintegration aufzulisten.
Testen der Identitätskonfiguration
Verwenden Sie dieses Cmdlet, um Ihre Identitätskonfiguration schnell auf clientseitiger Seite zu überprüfen.
$idpConfig = new-applianceIdentityConfiguration @identityParams
Test-ApplianceExternalIdentityConfiguration -config $idpConfig
Testidentitätskonfiguration (umfassende Überprüfung)
Verwenden Sie dieses Cmdlet, um Ihre Parameter und das Setup zu überprüfen, bevor Sie Ihre Konfiguration anwenden.
$idpConfig = new-applianceIdentityConfiguration @identityParams
Test-ApplianceExternalIdentityConfigurationDeep -config $idpConfig
Festlegen oder Zurücksetzen der Identität
Verwenden Sie dieses Cmdlet, um das Operatorabonnement zurückzusetzen. Verwenden Sie dieses Cmdlet nur, wenn Probleme mit der Identitätsintegration auftreten.
Set-ApplianceExternalIdentityConfiguration
Identitätsverwaltung
Verwenden Sie dieses Cmdlet, um alle Cmdlets aufzulisten, die Ihnen beim Einrichten und Beheben von Identitätskonfigurationen helfen.
Get-Command *Appliance*ExternalIdentity*
Anhang
Verwenden Sie PowerShell unter Windows Server 2022 oder höher für diese Befehle.
Einrichten von Active Directory oder Active Directory Domain Services (ADDS) zu Demozwecken
# Modify to fit your domain/installation
$GSMAAccount = 'Local\gmsa_adfs$'
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
# Import the ADDSDeployement module
Import-Module ADDSDeployment
# Install the AD FS role
Install-WindowsFeature ADFS-Federation -IncludeManagementTools
# Promote the server to a domain controller
Install-ADDSForest `
-DomainName "local.contoso.com" `
-DomainNetbiosName "local" ` #NETBIOS 15 char limit
-SafeModeAdministratorPassword (ConvertTo-SecureString "" -AsPlainText -Force) `
-InstallDns
# Test only
Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))
$cert = New-SelfSignedCertificate -DnsName "adfs.local.contoso.com"
# Import the AD FS module and configure AD FS
Import-Module ADFS
# Install AD FS
Install-AdfsFarm `
-CertificateThumbprint "$($cert.Thumbprint)" `
-FederationServiceName "adfs.local.contoso.com" `
-FederationServiceDisplayName "Local Contoso ADFS" `
-GroupServiceAccountIdentifier $GSMAAccount
Erstellen einer AD FS-Client-App, Beispielbenutzer und Gruppen
# ClientID can be any unique id in your organization - hardcoded GUID here just as example
Add-AdfsClient `
-Name "Azure Local Disconnected operations Sign In Service" `
-ClientId "11112222-bbbb-3333-cccc-4444dddd5555" `
-RedirectUri "https://login.autonomous.cloud.private/signin-oidc"
# Import the Active Directory module
Import-Module ActiveDirectory
# Create new Active Directory users
$users = @('operator', 'ldap', 'user1', 'user2', 'user3')
$users | % {Remove-ADUser $_ -Confirm:$false -ErrorAction SilentlyContinue }
$users | % {New-ADUser `
-Name "AzureLocal User $_" `
-GivenName "AzureLocal" `
-Surname "User $_" `
-SamAccountName $_ `
-UserPrincipalName "$_@Local.contoso.com" `
-Path "CN=Users,DC=local,DC=contoso,DC=com" `
-AccountPassword (ConvertTo-SecureString "" -AsPlainText -Force) `
-Enabled $true
}
# Create a new Active Directory group
New-ADGroup `
-Name "AzureLocal Users" `
-GroupScope Universal `
-Path "CN=Users,DC=local,DC=contoso,DC=com"
# Add the user to the group
Add-ADGroupMember `
-Identity "AzureLocal Users" `
-Members $users
# Create AD FS sync group and add the operator to it
# Variables
$groupName = "ADFS_Sync_Group"
$ouPath = "CN=Users,DC=local,DC=contoso,DC=com"
$users = @("operator")
# Create the group
New-ADGroup -Name $groupName `
-SamAccountName $groupName `
-GroupScope Universal `
-GroupCategory Security `
-Path $ouPath `
-Description "Sync group for ADFS purposes"
# Add members to the group
foreach ($user in $users) {
Add-ADGroupMember -Identity $groupName -Members $user
}
# Retrieve the group's ObjectGUID
$group = Get-ADGroup -Identity $groupName | Select-Object Name, ObjectGUID
# Display the syncGroupIdentifier (ObjectGUID), which is required by the IDP script run from the host
$group
Gewähren Sie LDAP-Benutzern Leserechte für Benutzer mit der Vererbungsoption
Im folgenden Beispiel wird lesezugriff auf den LDAP-Benutzer im Benutzercontainer mithilfe der ActiveDirectorySecurityInheritance "All" Einstellung gewährt. Durch das Zuweisen einer Zugriffsregel mit "Alle" wird die Regel auf die gesamte Unterstruktur des Zielobjekts angewendet.
$domain = Get-ADDomain
$identity = [System.Security.Principal.NTAccount]"$($domain.Name)\ldap"
$accessRule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($identity, [System.DirectoryServices.ActiveDirectoryRights] "GenericRead", [System.Security.AccessControl.AccessControlType] "Allow", [System.DirectoryServices.ActiveDirectorySecurityInheritance] "All")
$acl = Get-Acl -Path "AD:\CN=Users,$($domain.DistinguishedName)"
$acl.AddAccessRule($accessRule)
Set-ACL -Path "AD:\CN=Users,$($domain.DistinguishedName)" -AclObject $acl
Write-Verbose "Granted 'GenericRead' permissions to LDAP account."
Erlauben Sie dem GSMA-Konto das Lesen der Benutzereinstellungen.
Das folgende Beispiel zeigt, wie das GSMA-Konto Benutzereigenschaften in Active Directory aus der Synchronisierungsgruppe lesen kann.
# GroupName and GSMAccount defined earlier
# Get group details
$Group = Get-ADGroup -Identity $GroupName
$GroupDN = $Group.DistinguishedName
# Build the access rule
$Identity = New-Object System.Security.Principal.NTAccount($GSMAAccount)
$ActiveDirectoryRights = [System.DirectoryServices.ActiveDirectoryRights]::ReadProperty
$AccessControlType = [System.Security.AccessControl.AccessControlType]::Allow
$InheritanceType = [System.DirectoryServices.ActiveDirectorySecurityInheritance]::All
# Create the access rule and apply it to the group
# bf9679c0-0de6-11d0-a285-00aa003049e2 (Member attribute): https://learn.microsoft.com/en-us/windows/win32/adschema/a-member?redirectedfrom=MSDN
$Rule = New-Object System.DirectoryServices.ActiveDirectoryAccessRule $Identity, $ActiveDirectoryRights, $AccessControlType, "bf9679c0-0de6-11d0-a285-00aa003049e2", $InheritanceType
$GroupEntry = [ADSI]"LDAP://$GroupDN"
$Security = $GroupEntry.ObjectSecurity
$Security.AddAccessRule($Rule)
$GroupEntry.CommitChanges()
Hinweis
Wenn das GSMA-Konto für Ihre ADFS-Farm benutzereigenschaften nicht lesen kann, schlägt die Anmeldung fehl, auch wenn die auf der ADFS-Anmeldeseite eingegebenen Anmeldeinformationen korrekt sind.
Überprüfen und Testen der ADFS-Funktionalität
Führen Sie die folgenden Schritte aus, um die IDPInitiated Signon-Testseite zu aktivieren:
Aktivieren Sie die Anmeldetestseite. Führen Sie den folgenden Befehl aus:
Set-AdfsProperties -EnableIdpInitiatedSignonPage $trueWechseln Sie zu IdpInitiatedSignon (
https://adfs.FDQN/adfs/ls/IdpInitiatedSignon.aspx) und ersetzen Sie den FQDN durch Ihren tatsächlichen Domänennamen.Hier ist ein Beispiel mit Ihrem Domänennamen:
https://adfs.MYFQDN/adfs/ls/IdpInitiatedSignon.aspxMelden Sie sich mit Ihrem Operatorkonto an, um die Funktionalität von ADFS zu bestätigen.
Dieses Feature ist nur in Azure Local 2602 oder höher verfügbar.