Voraussetzungen für das Bereitstellen von App Service unter Azure Stack Hub

Wichtig

Aktualisieren Sie Azure Stack Hub bei Bedarf auf eine unterstützte Version, bevor Sie den Azure App Service Ressourcenanbieter bereitstellen oder aktualisieren. Lesen Sie unbedingt die Versionshinweise für den Ressourcenanbieter, um mehr über neue Funktionen, Korrekturen und bekannte Probleme zu erfahren, die sich auf Ihre Bereitstellung auswirken können.

Unterstützte Mindestversion von Azure Stack Hub Version des App Service-Ressourcenanbieters
2311 und höher 25R1-Installationsprogramm, 25R1-Offlinepaket (Versionshinweise)

Bevor Sie Azure App Service auf Azure Stack Hub bereitstellen, führen Sie die erforderlichen Schritte in diesem Artikel aus.

Azure Stack Hub integrierte Systembereitstellungen

Ressourcenanbietervoraussetzungen

Wenn Sie bereits einen Ressourcenanbieter installiert haben, haben Sie wahrscheinlich die folgenden Voraussetzungen erfüllt und können diesen Abschnitt überspringen. Führen Sie andernfalls diese Schritte aus, bevor Sie fortfahren.

  1. Registrieren Sie Ihre Azure Stack Hub-Instanz bei Azure, falls Sie dies noch nicht getan haben. Sie müssen Ihre Azure Stack Hub Instanz bei Azure registrieren, da Sie eine Verbindung mit Azure herstellen und Elemente vom Marketplace herunterladen.

  2. Wenn Sie nicht mit dem Marketplace-Verwaltung-Feature des Azure Stack Hub-Administratorportals vertraut sind, sollten Sie Herunterladen von Marketplace-Elementen in Azure Stack Hub lesen. In dem Artikel werden Sie durch die Schritte geleitet, mit denen Elemente aus Azure in den Azure Stack Hub-Marketplace heruntergeladen werden. Dieser Artikel gilt sowohl für ein verbundenes als auch für ein nicht verbundenes Szenario. Wenn Ihre Azure Stack Hub Instanz getrennt oder teilweise verbunden ist, müssen Sie zusätzliche Voraussetzungen für die Installation abschließen.

  3. Aktualisieren Sie Ihr Microsoft Entra-Heimverzeichnis. Ab Build 1910 müssen Sie eine neue Anwendung in Ihrem Heimverzeichnismandanten registrieren. Diese App ermöglicht es Azure Stack Hub, neuere Ressourcenanbieter (z. B. Azure Event Hubs und andere) erfolgreich zu erstellen und bei Ihrem Microsoft Entra-Mandanten zu registrieren.

    Diese Aktion ist nach dem Upgrade auf Build 1910 oder höher erforderlich. Wenn Sie diesen Schritt nicht abschließen, schlagen die Installationen von Ressourcenanbietern aus dem Marketplace fehl.

  4. Nachdem Sie ihre Azure Stack Hub Instanz erfolgreich auf 1910 oder höher aktualisiert haben, folgen Sie den Instruktionen zum Klonen/Herunterladen des Repositorys Azure Stack Hub Tools.

  5. Folgen Sie den instructions zum Aktualisieren des Azure Stack Hub Microsoft Entra Home directory (nach der Installation von Updates oder neuen Ressourcenanbietern).

Installationsprogramm und Hilfsskripts

  1. Laden Sie die Hilfsskripts für die Bereitstellung von App Service auf Azure Stack Hub herunter.

    Die Bereitstellungshilfsskripts erfordern das AzureRM-PowerShell-Modul. Installationsdetails finden Sie unter Install PowerShell Az und Azure Stack Module für Azure Stack Hub.

  2. Laden Sie den installer für App Service auf Azure Stack Hub herunter.

  3. Extrahieren Sie den Inhalt der .zip-Datei für die Hilfsskripts. Die folgenden Dateien und Ordner werden extrahiert:

    • Common.ps1
    • Create-AADIdentityApp.ps1
    • Create-ADFSIdentityApp.ps1
    • Create-AppServiceCerts.ps1
    • Get-AzureStackRootCert.ps1
    • BCDR
      • ReACL.cmd
    • Ordner „Modules“
      • GraphAPI.psm1

Zertifikatanforderungen

Um den Ressourcenanbieter in der Produktion ausführen zu können, müssen Sie die folgenden Zertifikate bereitstellen:

  • Standarddomänenzertifikat
  • API-Zertifikat
  • Veröffentlichungszertifikat
  • Identitätszertifikat

Zusätzlich zu den spezifischen Anforderungen, die in den folgenden Abschnitten aufgeführt sind, verwenden Sie später ein Tool, um allgemeine Anforderungen zu testen. Die vollständige Liste der Überprüfungen finden Sie unter Validate Azure Stack Hub PKI-Zertifikate. Zu den Überprüfungen gehören:

  • Dateiformat von PFX.
  • Schlüsselverwendung ist auf Server- und Clientauthentifizierung festgelegt.
  • Mehrere andere.

Standarddomänenzertifikat

Der Ressourcenanbieter platziert das Standarddomänenzertifikat in der Front-End-Rolle. Benutzer-Apps verwenden dieses Zertifikat für Wildcard- oder Standarddomänenanfragen an Azure App Service. Das Zertifikat sichert auch Quellcodeverwaltungsvorgänge (Kudu).

Das Zertifikat muss das PFX-Format aufweisen und sollte ein Platzhalterzertifikat mit drei Antragstellern sein. Diese Anforderung ermöglicht es einem Zertifikat, sowohl die Standarddomäne als auch den scm Endpunkt für Quellcodeverwaltungsvorgänge abzudecken.

Format Beispiel
*.appservice.<region>.<DomainName>.<extension> *.appservice.redmond.azurestack.external
*.scm.appservice.<region>.<DomainName>.<extension> *.scm.appservice.redmond.azurestack.external
*.sso.appservice.<region>.<DomainName>.<extension> *.sso.appservice.redmond.azurestack.external

API-Zertifikat

Platzieren Sie das API-Zertifikat in der Verwaltungsrolle. Der Ressourcenanbieter verwendet es zum Schützen von API-Aufrufen. Das Zertifikat für die Veröffentlichung muss einen Antragsteller enthalten, der dem API-DNS-Eintrag entspricht.

Format Beispiel
api.appservice.<region>.<DomainName>.<extension> api.appservice.redmond.azurestack.external

Veröffentlichungszertifikat

Das Zertifikat für die Herausgeberrolle trägt dazu bei, den FTPS-Datenverkehr für App-Besitzer beim Hochladen von Inhalten zu sichern. Das Zertifikat für die Veröffentlichung muss einen Antragsteller enthalten, der dem FTPS-DNS-Eintrag entspricht.

Format Beispiel
ftp.appservice.<region>.<DomainName>.<extension> ftp.appservice.redmond.azurestack.external

Identitätszertifikat

Das Zertifikat für die Identitäts-App ermöglicht Folgendes:

  • Integration zwischen dem Microsoft Entra- oder Active Directory-Verbunddienste (AD FS) (AD FS)-Verzeichnis, Azure Stack Hub und App Service zur Unterstützung der Integration mit dem Compute-Ressourcenanbieter.
  • SSO-Szenarien (Single Sign-On) für erweiterte Entwicklertools in Azure App Service auf Azure Stack Hub.

Das Identitätszertifikat muss einen Betreff enthalten, der dem folgenden Format entspricht.

Format Beispiel
sso.appservice.<region>.<DomainName>.<extension> sso.appservice.redmond.azurestack.external

Zertifikatüberprüfung

Bevor Sie den App Service-Ressourcenanbieter bereitstellen, überprüfen Sie die Zertifikate mithilfe des Azure Stack Hub Readiness Checker-Tools aus der PowerShell-Katalog. Das Azure Stack Hub Readiness Checker-Tool überprüft, ob die generierten PKI-Zertifikate für die App Service-Bereitstellung geeignet sind.

Wenn Sie mit einem der erforderlichen Azure Stack Hub PKI-Zertifikate arbeiten, planen Sie bei Bedarf genügend Zeit, um Zertifikate zu testen und erneut zu erstellen.

Vorbereitung des Dateiservers

Azure App Service erfordert einen Dateiserver. Für Produktionsumgebungen müssen Sie den Dateiserver so konfigurieren, dass er hochverfügbar ist und Ausfälle bewältigen kann.

Verwenden einer Schnellstartvorlage für einen Dateiserver und SQL Server

Eine Quickstartvorlage für eine Referenzarchitektur steht für die Bereitstellung eines hoch verfügbaren Dateiservers und SQL Server zur Verfügung. Diese Vorlage unterstützt Active Directory Infrastruktur in einem virtuellen Netzwerk, das für die Unterstützung einer hoch verfügbaren Bereitstellung von Azure App Service auf Azure Stack Hub konfiguriert ist.

Der Azure Stack Hub-Operator verwaltet diese Server, insbesondere in Produktionsumgebungen. Konfigurieren Sie die Vorlage nach Bedarf oder erforderlich für Ihre Organisation.

Hinweis

Die integrierte Systeminstanz muss ressourcen aus GitHub herunterladen können, um die Bereitstellung abzuschließen.

Einen eigenen Dateiserver bereitstellen

Wenn Sie app Service in einem vorhandenen virtuellen Netzwerk bereitstellen möchten, stellen Sie den Dateiserver in einem separaten Subnetz von App Service bereit.

Wenn Sie einen Dateiserver mithilfe einer der oben erwähnten Schnellstartvorlagen bereitstellen möchten, können Sie diesen Abschnitt überspringen. Die Dateiserver werden als Teil der Vorlagenbereitstellung konfiguriert.

Bereitstellen von Gruppen und Konten in Active Directory
  1. Erstellen Sie die folgenden globalen Active Directory-Sicherheitsgruppen:

    • FileShareOwners
    • FileShareUsers
  2. Erstellen Sie die folgenden Active Directory-Konten als Dienstkonten:

    • FileShareOwner
    • FileShareUser

    Verwenden Sie als bewährte Sicherheitsmethode eindeutige Benutzer für diese Konten (und für alle Webrollen). Verwenden Sie außerdem sichere Benutzernamen und Kennwörter. Legen Sie die Kennwörter mit den folgenden Bedingungen fest:

    • Aktivieren Sie Kennwort läuft nie ab.
    • Aktivieren Sie Benutzer kann Kennwort nicht ändern.
    • Deaktivieren Sie Benutzer muss Kennwort bei der nächsten Anmeldung ändern.
  3. Fügen Sie die Konten wie folgt Gruppen als Mitglieder hinzu:

    • Fügen Sie FileShareOwner der Gruppe FileShareOwners hinzu.
    • Fügen Sie FileShareUser der Gruppe FileShareUsers hinzu.
Bereitstellen von Gruppen und Konten in einer Arbeitsgruppe

Wenn Sie einen Dateiserver konfigurieren, führen Sie alle folgenden Befehle an einer Administrator-Eingabeaufforderung aus. Verwenden Sie PowerShell nicht.

Wenn Sie die Azure Resource Manager-Vorlage verwenden, wurden die Benutzer bereits erstellt.

  1. Führen Sie die folgenden Befehle aus, um die FileShareOwner- und FileShareUser-Konten zu erstellen. Ersetzen Sie <password> durch Ihre eigenen Werte.

    net user FileShareOwner <password> /add /expires:never /passwordchg:no
    net user FileShareUser <password> /add /expires:never /passwordchg:no
    
  2. Legen Sie die Kennwörter für die Konten so fest, dass sie niemals ablaufen, indem Sie die folgenden WMIC Befehle ausführen:

    WMIC USERACCOUNT WHERE "Name='FileShareOwner'" SET PasswordExpires=FALSE
    WMIC USERACCOUNT WHERE "Name='FileShareUser'" SET PasswordExpires=FALSE
    
  3. Erstellen Sie die lokalen Gruppen FileShareUsers und FileShareOwners, und fügen Sie die Konten im ersten Schritt hinzu:

    net localgroup FileShareUsers /add
    net localgroup FileShareUsers FileShareUser /add
    net localgroup FileShareOwners /add
    net localgroup FileShareOwners FileShareOwner /add
    

Bereitstellen der Inhaltsfreigabe

Die Inhaltsfreigabe enthält die Websiteinhalte des Mandanten. Das Verfahren zum Bereitstellen der Inhaltsfreigabe auf einem einzelnen Dateiserver ist für Active Directory- und Arbeitsgruppenumgebungen identisch. Bei einem Failovercluster in Active Directory ist es anders.

Führen Sie auf einem einzelnen Dateiserver für Active Directory oder einer Arbeitsgruppe die folgenden Befehle in einer Eingabeaufforderung mit erhöhten Rechten aus. Ersetzen Sie den Wert für C:\WebSites durch die entsprechenden Pfade in Ihrer Umgebung.

set WEBSITES_SHARE=WebSites
set WEBSITES_FOLDER=C:\WebSites
md %WEBSITES_FOLDER%
net share %WEBSITES_SHARE% /delete
net share %WEBSITES_SHARE%=%WEBSITES_FOLDER% /grant:Everyone,full

Konfiguration der Zugriffssteuerung für die Freigaben

Führen Sie die folgenden Befehle in einer Eingabeaufforderung mit erhöhten Rechten auf dem Dateiserver oder auf dem Failoverclusterknoten aus, bei dem es sich um den aktuellen Besitzer der Clusterressource handelt. Ersetzen Sie Variablen durch die Werte, die für Ihre Umgebung spezifisch sind.

Active Directory

set DOMAIN=<DOMAIN>
set WEBSITES_FOLDER=C:\WebSites
icacls %WEBSITES_FOLDER% /reset
icacls %WEBSITES_FOLDER% /grant Administrators:(OI)(CI)(F)
icacls %WEBSITES_FOLDER% /grant %DOMAIN%\FileShareOwners:(OI)(CI)(M)
icacls %WEBSITES_FOLDER% /inheritance:r
icacls %WEBSITES_FOLDER% /grant %DOMAIN%\FileShareUsers:(CI)(S,X,RA)
icacls %WEBSITES_FOLDER% /grant *S-1-1-0:(OI)(CI)(IO)(RA,REA,RD)

Arbeitsgruppe

set WEBSITES_FOLDER=C:\WebSites
icacls %WEBSITES_FOLDER% /reset
icacls %WEBSITES_FOLDER% /grant Administrators:(OI)(CI)(F)
icacls %WEBSITES_FOLDER% /grant FileShareOwners:(OI)(CI)(M)
icacls %WEBSITES_FOLDER% /inheritance:r
icacls %WEBSITES_FOLDER% /grant FileShareUsers:(CI)(S,X,RA)
icacls %WEBSITES_FOLDER% /grant *S-1-1-0:(OI)(CI)(IO)(RA,REA,RD)

Vorbereitung der SQL Server-Instanz

Hinweis

Wenn Sie sich für die Bereitstellung der Schnellstartvorlage für einen hoch verfügbaren Dateiserver und SQL Server entschieden haben, können Sie diesen Abschnitt überspringen. Die Vorlage stellt SQL Server in einer hoch verfügbaren Konfiguration bereit und konfiguriert sie.

Für die Hosting- und Meterdatenbanken für Azure App Service auf Azure Stack Hub müssen Sie eine SQL Server Instanz für die App Service-Datenbanken vorbereiten.

Verwenden Sie für Produktions- und Hochverfügbarkeitszwecke eine Vollversion von SQL Server 2016 SP3 oder höher, aktivieren Sie die Authentifizierung im gemischten Modus, und stellen Sie sie in einer highly available configuration bereit.

Alle App-Dienstrollen müssen auf die SQL Server Instanz für Azure App Service auf Azure Stack Hub zugreifen. Sie können SQL Server im Standardanbieterabonnement in Azure Stack Hub bereitstellen. Oder Sie können die vorhandene Infrastruktur innerhalb Ihrer Organisation verwenden, solange eine Verbindung mit Azure Stack Hub besteht. Wenn Sie ein Microsoft Marketplace-Image verwenden, denken Sie daran, die Firewall entsprechend zu konfigurieren.

Hinweis

SQL-Infrastructure-as-a-Service- (IaaS-)Images für virtuelle Maschinen (VMs) sind über die Marketplace-Verwaltungsfunktion verfügbar. Laden Sie unbedingt immer die neueste Version der SQL IaaS-Erweiterung herunter, bevor Sie einen virtuellen Computer mithilfe eines Marketplace-Elements bereitstellen. Die SQL-Images sind mit den in Azure verfügbaren SQL-VMs identisch. Für virtuelle SQL-Computer, die mit diesen Images erstellt werden, stellen die IaaS-Erweiterung und die zugehörigen Portalerweiterungen Features wie das automatische Patchen und Sicherungsfunktionen bereit.

Sie können für alle SQL Server-Rollen eine Standardinstanz oder eine benannte Instanz verwenden. Wenn Sie eine benannte Instanz verwenden, müssen Sie den SQL Server Browserdienst manuell starten und Port 1434 öffnen.

Das App Service-Installationsprogramm überprüft, ob SQL Server die Datenbankeindämmung aktiviert hat. Führen Sie die folgenden SQL-Befehle aus, um die Datenbankeindämmung für die SQL Server Instanz zu aktivieren, die die App Service-Datenbanken hostet:

sp_configure 'contained database authentication', 1;
GO
RECONFIGURE;
GO

Licensing-Bedenken für den erforderlichen Dateiserver und SQL Server

Für Azure App Service in Azure Stack Hub sind ein Dateiserver und eine SQL Server-Instanz erforderlich. Sie können bereits vorhandene Ressourcen verwenden, die sich außerhalb Ihrer Azure Stack Hub Bereitstellung befinden, oder Ressourcen innerhalb Ihres Azure Stack Hub Standardanbieterabonnements bereitstellen.

Wenn Sie die Ressourcen in Ihrem Azure Stack Hub Standardanbieterabonnement bereitstellen möchten, umfasst die Kosten für Azure App Service für Azure Stack Hub die Lizenzen für diese Ressourcen (Windows Server Lizenzen und SQL Server Lizenzen). Die Lizenzen unterliegen den folgenden Einschränkungen:

  • Sie stellen die Infrastruktur im Standardanbieterabonnement bereit.
  • Der Ressourcenanbieter für Azure App Service für Azure Stack Hub verwendet ausschließlich die Infrastruktur. Keine anderen administrativen Workloads (andere Ressourcenanbieter wie z. B. SQL-RP) oder Mandantenworkloads (z. B. Mandanten-Apps, die eine Datenbank benötigen) dürfen diese Infrastruktur verwenden.

Operative Verantwortung für den Dateiserver und SQL Server

Cloudbetreiber sind für die Wartung und den Betrieb des Dateiservers und SQL Server verantwortlich. Der Ressourcenanbieter verwaltet diese Ressourcen nicht. Der Cloudoperator ist für die Sicherung der App Service-Datenbanken und der Inhaltsdateifreigabe des Mandanten verantwortlich.

Skript zum Abrufen des Azure Resource Manager Stammzertifikats für Azure Stack Hub

Öffnen Sie eine PowerShell-Sitzung mit erhöhten Rechten auf einem Computer, der den privilegierten Endpunkt im integrierten Azure Stack Hub-System erreichen kann.

Führen Sie das Get-AzureStackRootCert.ps1 Skript aus dem Ordner aus, in dem Sie die Hilfsskripts extrahiert haben. Das Skript erstellt in dem Ordner des Skripts, das App Service zum Erstellen von Zertifikaten benötigt, ein Stammzertifikat.

Wenn Sie den folgenden PowerShell-Befehl ausführen, geben Sie den privilegierten Endpunkt und die Anmeldeinformationen für AzureStack\CloudAdmin:

Get-AzureStackRootCert.ps1

Parameter des Skripts „Get-AzureStackRootCert.ps1“

Parameter Erforderlich oder optional Standardwert Beschreibung
PrivilegedEndpoint Erforderlich AzS-ERCS01 Privilegierter Endpunkt
CloudAdminCredential Erforderlich AzureStack\CloudAdmin Anmeldeinformationen des Domänenkontos für Azure Stack Hub-Cloudadministratoren

Netzwerk- und Identitätskonfiguration

Die Netzwerk- und Identitätskonfiguration für Azure App Service für Azure Stack Hub umfasst das Einrichten der erforderlichen Netzwerkinfrastruktur und identitätsverwaltung zur Unterstützung des Ressourcenanbieters.

Konfigurieren eines virtuellen Netzwerks

Mit Azure App Service auf Azure Stack Hub können Sie den Ressourcenanbieter in einem vorhandenen virtuellen Netzwerk bereitstellen oder ein virtuelles Netzwerk als Teil der Bereitstellung erstellen. Wenn Sie ein vorhandenes virtuelles Netzwerk verwenden, können Sie interne IP-Adressen verwenden, um eine Verbindung mit dem Dateiserver und der SQL Server-Instanz herzustellen, die App Service auf Azure Stack Hub benötigt.

Konfigurieren Sie vor der Installation von App Service auf Azure Stack Hub das virtuelle Netzwerk mit dem folgenden Adressbereich und Subnetzen:

  • Virtuelles Netzwerk, /16

  • Subnetze:

    • ControllersSubnet, /24
    • ManagementServersSubnet, /24
    • FrontEndsSubnet, /24
    • PublishersSubnet, /24
    • WorkerSubnet, /21

Das Erstellen eines benutzerdefinierten virtuellen Netzwerks im Voraus ist optional. Azure App Service auf Azure Stack Hub kann das erforderliche virtuelle Netzwerk erstellen, muss dann aber mit SQL Server und dem Dateiserver über öffentliche IP-Adressen kommunizieren. Wenn Sie die Schnellstartvorlage für den hoch verfügbaren App Service-Dateiserver verwenden und SQL Server, um die erforderlichen Serverressourcen bereitzustellen, stellt die Vorlage auch ein virtuelles Netzwerk bereit.

Wichtig

Wenn Sie app Service in einem vorhandenen virtuellen Netzwerk bereitstellen möchten, stellen Sie SQL Server in einem separaten Subnetz von App Service und dem Dateiserver bereit.

Erstellen einer Identitätsanwendung zum Aktivieren von SSO-Szenarien

Azure App Service verwendet eine Identitätsanwendung (Dienstprinzipal), um die folgenden Vorgänge zu unterstützen:

  • Integration von Skalierungssätzen für virtuelle Computer auf Arbeitsebenen
  • SSO für das Azure Functions-Portal und erweiterte Entwicklertools (Kudu)

Je nachdem, welchen Identitätsanbieter Azure Stack Hub verwendet (Microsoft Entra ID oder AD FS), führen Sie die entsprechenden Schritte aus, um den Dienstprinzipal zu erstellen, den Azure App Service auf dem Azure Stack Hub-Ressourcenanbieter verwendet.

Erstellen einer Microsoft Entra-App

Führen Sie die folgenden Schritte aus, um das Dienstprinzipal in Ihrem Microsoft Entra-Mandanten zu erstellen:

  1. Öffnen Sie eine PowerShell-Instanz als azurestack\AzureStackAdmin.

  2. Wechseln Sie zum Speicherort der Skripts, die Sie zuvor in diesem Artikel heruntergeladen und extrahiert haben.

  3. Installieren von PowerShell für Azure Stack Hub

  4. Führen Sie das Skript Create-AADIdentityApp.ps1 aus. Wenn Sie dazu aufgefordert werden, geben Sie die Microsoft Entra-Mandanten-ID ein, die Sie für Ihre Azure Stack Hub-Bereitstellung verwenden. Geben Sie beispielsweise myazurestack.onmicrosoft.com ein.

  5. Geben Sie im Anmeldeinformationen-Fenster Ihr Microsoft Entra-Dienstadministrator-Konto und Ihr Passwort ein. Wählen Sie OK aus.

  6. Geben Sie den Zertifikatdateipfad und das Zertifikatkennwort für das zuvor erstellte Zertifikat ein. Das Zertifikat für diesen Schritt ist standardmäßig "sso.appservice.local.azurestack.external.pfx ".

  7. Notieren Sie sich die Anwendungs-ID in der PowerShell-Ausgabe. Mit der ID in den folgenden Schritten erteilen Sie die Zustimmung für die Berechtigungen der Anwendung und während der Installation.

  8. Öffnen Sie ein neues Browserfenster und melden Sie sich im Azure-Portal als Microsoft Entra-Dienstadministrator an.

  9. Öffnen Sie den Microsoft Entra-Dienst.

  10. Wählen Sie im linken Bereich "App-Registrierungen" aus.

  11. Suchen Sie nach der Anwendungs-ID, die Sie in Schritt 7 angegeben haben.

  12. Wählen Sie in der Liste die App Service-Anwendungsregistrierung aus.

  13. Wählen Sie im linken Bereich API-Berechtigungen aus.

  14. Wählen Sie Grant Admin consent fortenant aus, wobei tenant der Name Ihres Microsoft Entra Mandanten ist. Wählen Sie "Ja " aus, um die Zustimmungserteilung zu bestätigen.

  15. Führen Sie für Szenarien mit mehreren Mandanten das folgende PowerShell-Skript aus, um dem Directory.Read.All und user_impersonation Berechtigungen für die App-Registrierung mithilfe des Azure Resource Manager Admin-Endpunkts zu erteilen.

    # Build the admin endpoint by replacing the region and the FQDN with the values specific to your system
    $adminarmendpoint = https://adminmanagement.<region>.<FQDN>/
    Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint $userarmendpoint
    # Home directory
    $AADTenantName = "xxx"
    $authEndpoint = (Get-AzEnvironment -Name "AzureStackAdmin").ActiveDirectoryAuthority.TrimEnd('/')
    $TenantId = (invoke-restmethod "$($AuthEndpoint)/$($AADTenantName)/.well-known/openid-configuration").issuer.TrimEnd('/').Split('/')[-1]
    Login-AzAccount -EnvironmentName "AzureStackAdmin" -TenantId $TenantID
    
    # Enter the region name of your Azure Stack Hub system
    $Location = '<region>'
    $AppServicesAppId = '' # The identity app's application ID; use the Azure portal to get it - Entra ID - App Registration - App Services - Application ID
    $AppServicesObjectId = '' # The identity app's object ID; use the Azure portal to get it - Entra ID - App Registration - App Services - Object ID
    
    # The applicationId property in the JSON returned from https://<AdminArmEndpoint>/metadata/identity?api-version=2015-01-01
    $TenantArmAppId = (Invoke-WebRequest "$adminarmendpoint/metadata/identity?api-version=2015-01-01" -UseBasicParsing | select -ExpandProperty Content | ConvertFrom-Json | select applicationId).applicationId
    
    $params = @{
        ResourceGroupName = "system.$Location"
        ResourceType = 'Microsoft.Subscriptions.Providers/applicationRegistrations'
        ResourceName = 'AppService'
        ApiVersion = '2018-05-01'
        Location = $Location
        Properties = @{
            appId = $AppServicesAppId
            objectId = $AppServicesObjectId
            appRoleAssignments = @(@{
                client = $AppServicesAppId
                roleId = ([guid]('00000002-0000-0000-c000-000000000000')).ToString() # Well-known value for the Directory.Read.All permission
                resource = ([guid]('00000002-0000-0000-c000-000000000000')).ToString() # Well-known value for Microsoft.Azure.ActiveDirectory
            })
            oAuth2PermissionGrants = @(@{
                client = $AppServicesAppId
                resource = ([guid]('00000002-0000-0000-c000-000000000000')).ToString() # Well-known value for Microsoft.Azure.ActiveDirectory
                scope = 'User.Read Directory.Read.All'
            }, @{
                client = $AppServicesAppId
                resource = $tenantArmAppId
                scope = 'user_impersonation'
            })
        }
    }
    New-AzResource @params -Verbose -Force
    

    Nachdem Sie dieses Skript ausgeführt haben, muss jeder Mandant, der App Service verwenden muss, das Registrierungsskript erneut ausführen. Siehe Konfigurieren der Mandantenfähigkeit in Azure Stack Hub.

Create-AADIdentityApp PowerShell-Skript

Create-AADIdentityApp.ps1
Parameter Erforderlich oder optional Standardwert Beschreibung
DirectoryTenantName Erforderlich Null Microsoft Entra-Mandanten-ID Geben Sie die GUID oder Zeichenfolge an. Z. B. myazureaaddirectory.onmicrosoft.com.
AdminArmEndpoint Erforderlich Null Azure Resource Manager-Endpunkt des Administrators. Z. B. adminmanagement.local.azurestack.external.
TenantARMEndpoint Erforderlich Null Azure Resource Manager-Endpunkt des Mandanten Z. B. management.local.azurestack.external.
AzureStackAdminCredential Erforderlich Null Microsoft Entra Dienstadministrator-Anmeldeinformationen.
CertificateFilePath Erforderlich Null Vollständiger Pfad zur Zertifikatdatei der Identitätsanwendung, die zuvor generiert wurde.
CertificatePassword Erforderlich Null Kennwort zum Schutz des privaten Zertifikatschlüssels
Environment Wahlfrei AzureCloud Name der unterstützten Cloudumgebung, in der das Ziel Microsoft Graph Dienst verfügbar ist. Zulässige Werte: AzureCloud, AzureChinaCloud, AzureUSGovernment, AzureGermanCloud.

Erstellen einer AD FS-App

  1. Öffnen Sie eine PowerShell-Instanz als azurestack\AzureStackAdmin.

  2. Wechseln Sie zum Speicherort der Skripts, die Sie zuvor in diesem Artikel heruntergeladen und extrahiert haben.

  3. Installieren von PowerShell für Azure Stack Hub

  4. Führen Sie das Skript Create-ADFSIdentityApp.ps1 aus.

  5. Geben Sie im Fenster Anmeldeinformationen das Administratorkonto und -kennwort Ihrer AD FS-Cloud ein. Wählen Sie OK aus.

  6. Geben Sie den Zertifikatdateipfad und das Zertifikatkennwort für das zuvor erstellte Zertifikat an. Das Zertifikat für diesen Schritt ist standardmäßig "sso.appservice.local.azurestack.external.pfx ".

Create-ADFSIdentityApp.ps1
Parameter Erforderlich oder optional Standardwert Beschreibung
AdminArmEndpoint Erforderlich Null Azure Resource Manager-Endpunkt des Administrators. Z. B. adminmanagement.local.azurestack.external.
PrivilegedEndpoint Erforderlich Null Privilegierter Endpunkt, Z. B. AzS-ERCS01.
CloudAdminCredential Erforderlich Null Anmeldeinformationen des Domänenkontos für Azure Stack Hub-Cloudadministratoren. Z. B. Azurestack\CloudAdmin.
CertificateFilePath Erforderlich Null Vollständiger Pfad zur PFX-Zertifikatdatei der Identitätsanwendung.
CertificatePassword Erforderlich Null Kennwort zum Schutz des privaten Zertifikatschlüssels

Elemente von Microsoft Marketplace herunterladen

Azure App Service auf Azure Stack Hub erfordert, dass Sie Elemente aus dem Microsoft Marketplace herunterladen, um sie im Azure Stack Hub-Marketplace verfügbar zu machen. Bevor Sie die Bereitstellung oder das Upgrade von Azure App Service auf Azure Stack Hub starten, laden Sie die folgenden Elemente herunter.

Wichtig

Windows Server Core ist kein unterstütztes Plattformimage für die Verwendung mit Azure App Service auf Azure Stack Hub.

Verwenden Sie Auswertungsimages nicht für Produktionsbereitstellungen.

  • Neueste Version des Windows Server 2022 Datacenter-VM-Images.
  • Windows Server 2022 Datacenter vollständiges VM-Image mit aktiviertem Microsoft .NET 3.5.1 SP1. Azure App Service für Azure Stack Hub erfordert, dass Microsoft .NET 3.5.1 SP1 für das Image aktiviert ist, das Sie für die Bereitstellung verwenden. Bei syndizierten Marketplace-Images von Windows Server 2022 ist dieses Feature nicht aktiviert. In getrennten Umgebungen kann das Image nicht Microsoft Update erreichen, um die Pakete herunterzuladen, die mithilfe von DISM installiert werden. Sie müssen ein Windows Server 2022 Image erstellen und verwenden, bei dem dieses Feature für getrennte Bereitstellungen vorab aktiviert ist.

    Informationen zum Erstellen eines benutzerdefinierten Images und zum Hinzufügen zu Marketplace finden Sie unter Add a custom VM image to Azure Stack Hub. Achten Sie darauf, die folgenden Eigenschaften anzugeben, wenn Sie das Bild zu Marketplace hinzufügen:

    • Publisher: Geben Sie MicrosoftWindowsServer ein.
    • Angebot: Geben Sie WindowsServer ein.
    • SKU: Geben Sie "AppService" ein.
    • Version: Geben Sie die neueste Version an.
  • Benutzerdefinierte Skripterweiterung v1.9.1 oder höher. Dieses Element ist eine VM-Erweiterung.