Getrennte Mandanten (Split-Tenancy)

circle-exclamation

Überblick

SCEPman kann so eingerichtet werden, dass es von einem Azure-Mandanten aus arbeitet, der vom Azure/Intune-Mandanten getrennt ist, für den es Zertifikate an Benutzer und/oder Geräte ausstellt. Diese Konfiguration, bekannt als Split-Tenancy, ist besonders hilfreich für MSPs die die Azure-Infrastrukturkosten über ihre Kunden hinweg konsolidieren möchten und dabei für jeden dieser Kunden ein dediziertes Backend und eine eigene CA beibehalten.

Split-Tenancy bringt einen großen Nachteil: Managed Identities kann nicht mehr verwendet werden. Das bedeutet, die Authentifizierung gegen die Graph-API (Azure AD und Intune) erfolgt über eine App-Registrierung und ein Client-Secret, das verwaltet werden muss (durch den MSP), da es abläuft.

Im Folgenden bezeichnen wir den Hosting-Mandanten als Home-Mandant, während wir den Kunden-Mandanten als Ziel-Mandant. SCEPman-Ressourcen werden im Home-Mandantenexistieren, und die verwalteten Geräte im Ziel-Mandant wie in der Grafik unten:

Konfigurationsschritte

  1. Im Home-Mandanten, führen Sie eine Standardbereitstellung von SCEPman/Certificate Master wie in unserem Getting Started Guide.

In SCEPman (Home-Mandant)

  1. Navigieren Sie zum SCEPman App Service und dann zu "Einstellungen" --> "Umgebungsvariablen". Suchen Sie die folgenden Parameter und löschen Sie diese:

Umgebungsvariablen

AppConfig:AuthConfig:ManagedIdentityEnabledForWebsiteHostname

AppConfig:AuthConfig:ManagedIdentityEnabledOnUnixTime

AppConfig:AuthConfig:ManagedIdentityPermissionLevel

  1. Benenne die folgenden Einstellungen um (ändere ihre Werte nicht):

Ursprünglicher Name
Neuer Name

AppConfig:AuthConfig:ApplicationId

AppConfig:AuthConfig:HomeApplicationId

AppConfig:AuthConfig:TenantId

AppConfig:AuthConfig:HomeTenantId

  1. Erstellen Sie eine App-Registrierung im Ziel-Mandant wie hier beschrieben: Azure App Registration. Dies App-Registrierung ermöglicht SCEPman den Zugriff auf die Azure AD- und Intune-Verzeichnisse im Ziel-Mandant.

circle-exclamation

Erstellen die folgenden neuen Umgebungsvariablen, falls Sie diese nicht bereits während der Erstellung der App-Registrierung gesetzt haben:

Name
Wert

AppConfig:AuthConfig:ApplicationId

GUID des App-Registrierung das zuvor erstellt wurde (Ziel-Mandant).

AppConfig:AuthConfig:TenantId

Mandanten-ID des Ziel-Mandant.

AppConfig:AuthConfig:ApplicationKey

Wert nächsten Schritt Client-Secret das im Rahmen der App-Registrierung im Ziel-Mandant.

  1. erzeugt wurde. Wenden Sie die Änderungen an.

  2. Starten Sie den SCEPman neu App Service.

SCEPman erstellt das CA-Root-Zertifikat während der Erstinstallation. Sollte aus irgendeinem Grund alternatives CA-Schlüsselmaterial verwendet werden sollen, ist es möglich, diesen CA-Schlüssel und das Zertifikat mit Ihrem eigenen im Azure Key Vault zu ersetzen. Zum Beispiel, wenn Sie ein Sub-CA-Zertifikat verwenden möchten, das von einer vorhandenen internen Root-CA signiert wurde.

  1. Navigieren Sie zum Certificate Master App Service und dann zu "Einstellungen" > "Umgebungsvariablen".

  2. Nun haben Sie zwei Optionen:

    1. Wenn Sie möchten, dass Benutzer aus Ihrem Home-Mandanten sich beim Certificate Master anmelden und Zertifikate ausstellen können, was Gastbenutzer in Ihrem Home-Mandanten einschließt, z. B. aus Ihrem Ziel-Mandanten.

Option 1: Benutzer aus dem Home-Mandanten melden sich beim Certificate Master an

Wenn das der Fall ist, benennen Sie um die folgenden Einstellungen um (ändere ihre Werte nicht):

Ursprünglicher Name
Neuer Name

AppConfig:AuthConfig:TenantId

AppConfig:AuthConfig:HomeTenantId

AppConfig:AuthConfig:ApplicationId

AppConfig:AuthConfig:HomeApplicationId

b. Sie möchten, dass Benutzer aus Ihrem Ziel-Mandant sich beim Certificate Master anmelden und Zertifikate ausstellen können, was Gastbenutzer in Ihrem Ziel-Mandanten einschließt, z. B. aus Ihrem Home-Mandanten.

Option 2: Benutzer aus dem Ziel-Mandanten melden sich beim Certificate Master an

Wenn das der Fall ist, tun Sie Folgendes:

  • Öffnen Sie ein PowerShell oder Azure Cloud Shell in Ihrem Ziel-Mandant und führen Sie die folgenden Befehle aus:

Ersetzen Sie <url> mit Ihrer Certificate Master-URL

  • Das CMDlet gibt eine Anwendungs-ID und eine Mandanten-ID (die des Ziel-Mandant). Geben Sie diese beiden Werte als

    • AppConfig:AuthConfig:HomeApplicationId und

    • AppConfig:AuthConfig:HomeTenantId in Ihren Certificate Master-Einstellungen ein.

  • Nun erstellen Sie die folgenden neuen Anwendungs-Einstellungen, wobei Sie möglicherweise die vorhandenen überschreiben, mit denselben Werten wie in SCEPman:

Name
Wert

AppConfig:AuthConfig:ApplicationId

GUID des App-Registrierung das zuvor erstellt wurde.

AppConfig:AuthConfig:TenantId

Mandanten-ID des Ziel-Mandant.

AppConfig:AuthConfig:ApplicationKey

Wert nächsten Schritt Client-Secret das im Rahmen der App-Registrierung vorher. Sie können ein separates neues Client-Secret für den Certificate Master erstellen, wenn Sie möchten.

  1. Speichern Sie die Änderungen

  2. Starten Sie den SCEPman Certificate Master neu App Service.

  3. Gewähren Sie die Rechte, Zertifikate über die SCEPman erstellt das CA-Root-Zertifikat während der Erstinstallation. Sollte aus irgendeinem Grund alternatives CA-Schlüsselmaterial verwendet werden sollen, ist es möglich, diesen CA-Schlüssel und das Zertifikat mit Ihrem eigenen im Azure Key Vault zu ersetzen. Zum Beispiel, wenn Sie ein Sub-CA-Zertifikat verwenden möchten, das von einer vorhandenen internen Root-CA signiert wurde. Web-App anzufordern, siehe Die S/MIME-Funktion ist im neuesten Outlook-Client nicht verfügbar. Mehr Info

Als Übersicht hier die Konten, die von SCEPman erstellt das CA-Root-Zertifikat während der Erstinstallation. Sollte aus irgendeinem Grund alternatives CA-Schlüsselmaterial verwendet werden sollen, ist es möglich, diesen CA-Schlüssel und das Zertifikat mit Ihrem eigenen im Azure Key Vault zu ersetzen. Zum Beispiel, wenn Sie ein Sub-CA-Zertifikat verwenden möchten, das von einer vorhandenen internen Root-CA signiert wurde. verwendet werden und wofür sie verwendet werden:

Konto
Wofür wird es verwendet?
Hinweise

Managed Identity

  • Autorisieren von an SCEPman eingereichten CSR

  • Zugriff auf das Storage-Konto

N/A

App-Registrierung mit App-ID von ApplicationId

Certificate Master greift in diesem Zusammenhang auf Microsoft Graph zu, um zu sehen, welche Zertifikate über Intune registriert wurden

Wenn ApplicationKey nicht vorhanden ist, wird stattdessen die Managed Identity verwendet.

App-Registrierung mit App-ID von HomeApplicationId

Benutzer authentifizieren kopieren nach diese Anwendung. Sie sollte in dem Mandanten liegen, in dem sich die Benutzer befinden, die auf den Certificate Master zugreifen (aber Gastbenutzer aus anderen Mandanten können ebenfalls autorisiert werden)

Wenn HomeApplicationId nicht vorhanden ist, ApplicationId wird stattdessen verwendet.

Nun ist die Split-Tenancy-Konfiguration abgeschlossen, Sie können fortfahren und Ihre SCEP-Profile basierend auf Ihrem MDM konfigurieren, siehe Die S/MIME-Funktion ist im neuesten Outlook-Client nicht verfügbar. Mehr Infoarrow-up-right

Überlegungen bei mehreren Ziel-Mandanten

Wenn Sie mehrere SCEPman-Instanzen haben möchten, die Zertifikate an verschiedene Ziel-Mandanten ausgeben, sollten Sie zusätzliche Konfigurationsschritte vornehmen, um diese Instanzen voneinander zu isolieren.

Ein mögliches Konzept könnte eine Management-Resource-Group umfassen, die einen einzelnen App Service Plan hält, der die Rechenressource für alle Ihre SCEPman App Services bereitstellt. Die folgenden Punkte sollten berücksichtigt werden, wenn Sie dies für mehrere Mandanten tun:

  • Jede Instanz sollte ihre eigene Ressourcengruppe haben, um sie zu unterscheiden

  • Sie sollten App-Registrierungen für jede Instanz erstellen, um die Berechtigungen zu isolieren

  • Der App Service Plan sollte in einer unabhängigen Management-Resource-Group erstellt werden, da er mehrere Instanzen bedient

In diesem Diagramm stellt ein Management-Mandant mit seinen zwei SCEPman-Instanzen Zertifikate für die Mandanten von Contoso und Tailwind bereit:

Unexpected error with integration mermaid: Integration is not installed on this space

Fügen Sie einer vorhandenen App Service Plan eine neue SCEPman-Instanz hinzu

Beim Bereitstellen einer neuen SCEPman-Instanz mit der Enterprise-Bereitstellungsmethodearrow-up-right wird Ihnen die Möglichkeit geboten, die Ressourcen-ID eines vorhandenen App Service Plans anzugeben, zu dem diese Instanz hinzugefügt werden soll.

Diese Ressourcen-ID finden Sie in den Eigenschaften des vorhandenen App Service Plans:

Erstellen Sie kundenspezifische App-Registrierungen

Um die Berechtigungen der Apps zu isolieren, müssen Sie den Post-Deployment-Befehl anpassen, um benutzerdefinierte App-Registrierungen anzugeben:

Dieser Befehl führt zu einer vollständig konfigurierten SCEPman-Instanz, die von den vorherigen Instanzen isoliert ist. Sie können nun mit der Konfiguration der Split-Tenancy für diese Instanz fortfahren.

Der obige Abschnitt bezüglich des Certificate Master kann nun optional angewendet werden, wenn Sie möchten, dass dieser Dienst vom Kunden-Mandanten aus zugänglich ist.

Zuletzt aktualisiert

War das hilfreich?