Split-Tenancy
nur SCEPman Enterprise Edition
Überblick
SCEPman kann so eingerichtet werden, dass es von einem Azure-Tenant aus betrieben wird, der vom Azure-/Intune-Tenant getrennt ist, für den es Zertifikate an Benutzer und/oder Geräte ausstellt. Diese Konfiguration, bekannt als Split-Tenancy, ist besonders für MSPs hilfreich die die Azure-Infrastrukturkosten über ihre Kunden hinweg konsolidieren möchten, während sie für jeden dieser Kunden ein dediziertes Backend und eine eindeutige CA beibehalten.
Split-Tenancy bringt einen erheblichen Nachteil: Artikel zu verwalteten Identitäten kann nicht mehr verwendet werden. Das bedeutet, dass die Authentifizierung gegen die Graph API (Azure AD und Intune) über eine App-Registrierung und ein Client Secret erfolgt, das verwaltet werden muss (vom MSP), da es abläuft.
Im Folgenden bezeichnen wir den Hosting-Tenant als Home Tenant, während wir den Kunden-Tenant als Target Tenantbezeichnen. SCEPman-Ressourcen befinden sich im Home Tenant, und die verwalteten Geräte im Target Tenant wie in der Grafik unten:

Konfigurationsschritte
Im Home Tenantführen Sie eine Standardbereitstellung von SCEPman/Certificate Master durch, wie in unserem Getting Started Guide.
In SCEPman (Home Tenant)
Navigieren Sie zu SCEPman App service und dann zu "Settings" --> "Environment variables". Suchen Sie die folgenden Parameter und löschen Sie sie:
AppConfig:AuthConfig:ManagedIdentityEnabledForWebsiteHostname
AppConfig:AuthConfig:ManagedIdentityEnabledOnUnixTime
AppConfig:AuthConfig:ManagedIdentityPermissionLevel
Benennen Sie die folgenden Einstellungen um (ändern Sie ihre Werte nicht):
AppConfig:AuthConfig:ApplicationId
AppConfig:AuthConfig:HomeApplicationId
AppConfig:AuthConfig:TenantId
AppConfig:AuthConfig:HomeTenantId
Erstellen Sie eine App registration im Target Tenant wie hier beschrieben: Azure App Registration. Dies App registration ermöglicht es SCEPman, auf die Azure AD- und Intune-Verzeichnisse im Target Tenant.
Das Client Secret das im Rahmen dieser App registration erstellt wird, läuft ab und muss vor Ablauf erneuert werden. Bitte setzen Sie eine Erinnerung für die Erneuerung.
Erstellen die folgenden neuen Umgebungsvariablen, falls Sie dies nicht bereits bei der Erstellung der App-Registrierung getan haben:
AppConfig:AuthConfig:ApplicationId
GUID der App registration die zuvor erstellt wurde (Target Tenant).
AppConfig:AuthConfig:TenantId
Tenant ID der Target Tenant.
AppConfig:AuthConfig:ApplicationKey
Wert des Client Secret das im Rahmen der App registration im Target Tenant.
Wenden Sie die Änderungen an.
Starten Sie SCEPman neu App service.
Certificate Master
Navigieren Sie zum Certificate Master App service und dann zu "Settings" > "Environment variables".
Jetzt haben Sie zwei Optionen:
Wenn Benutzer aus Ihrem Home Tenant sich beim Certificate Master anmelden und Zertifikate ausstellen sollen, einschließlich Gastbenutzer in Ihrem Home Tenant, z. B. aus Ihrem Target Tenant.

Wenn das der Fall ist, benennen Sie um die folgenden Einstellungen um (ändern Sie ihre Werte nicht):
AppConfig:AuthConfig:TenantId
AppConfig:AuthConfig:HomeTenantId
AppConfig:AuthConfig:ApplicationId
AppConfig:AuthConfig:HomeApplicationId
b. Sie möchten, dass Benutzer aus Ihrem Target Tenant sich beim Certificate Master anmelden und Zertifikate ausstellen, einschließlich Gastbenutzer in Ihrem Target Tenant, z. B. aus Ihrem Home Tenant.

Wenn das der Fall ist, gehen Sie wie folgt vor:
Öffnen Sie eine PowerShell oder Azure Cloud Shell in Ihrem Target Tenant und führen Sie die folgenden Befehle aus:
Ersetzen Sie <url> mit Ihrer Certificate Master-URL
Das CMDlet gibt eine Application Id und eine Tenant Id (die des Target Tenant) aus. Geben Sie diese beiden Werte als
AppConfig:AuthConfig:HomeApplicationIdundAppConfig:AuthConfig:HomeTenantIdin Ihren Certificate Master-Einstellungen ein.
Jetzt erstellen die folgenden neuen Anwendungseinstellungen und überschreiben Sie dabei möglicherweise die vorhandenen mit denselben Werten wie in SCEPman:
AppConfig:AuthConfig:ApplicationId
GUID der App registration das zuvor erstellt wurde.
AppConfig:AuthConfig:TenantId
Tenant ID der Target Tenant.
AppConfig:AuthConfig:ApplicationKey
Wert des Client Secret das im Rahmen der App registration Sie können bei Bedarf ein separates neues Client Secret für Certificate Master erstellen.
Speichern Sie die Änderungen
Starten Sie den SCEPman Certificate Master neu App service.
Gewähren Sie die Rechte zum Anfordern von Zertifikaten über die Certificate Master Web-App, siehe hier
Zur Übersicht sind hier die Konten aufgeführt, die von Certificate Master verwendet werden, und wofür sie verwendet werden:
Managed Identity
Autorisieren von an SCEPman übermittelten CSRs
Zugriff auf das Storage Account
N/V
App Registration mit App ID von ApplicationId
Certificate Master greift in diesem Kontext auf Microsoft Graph zu, um zu sehen, welche Zertifikate über Intune ausgestellt wurden
Wenn ApplicationKey nicht vorhanden ist, wird stattdessen die Managed Identity verwendet.
App Registration mit App ID von HomeApplicationId
Benutzer authentifizieren nach diese Anwendung. Sie sollte sich in dem Tenant befinden, in dem die Benutzer liegen, die auf Certificate Master zugreifen (Gastbenutzer aus anderen Tenants können jedoch ebenfalls autorisiert werden)
Wenn HomeApplicationId nicht vorhanden ist, ApplicationId wird stattdessen verwendet.
Nun ist die Split-Tenancy-Konfiguration abgeschlossen, und Sie können Ihre SCEP-Profile basierend auf Ihrem MDM konfigurieren, siehe hier
Überlegungen bei mehreren Target Tenants
Wenn Sie mehrere SCEPman-Instanzen haben möchten, die Zertifikate für verschiedene Target Tenants ausstellen, müssen Sie zusätzliche Konfigurationsschritte durchführen, um diese Instanzen voneinander zu isolieren.
Ein mögliches Konzept könnte eine Management-Ressourcengruppe umfassen, die einen einzigen App Service Plan enthält, der die Rechenressourcen für alle Ihre SCEPman App Services bereitstellt. Folgende Punkte sollten berücksichtigt werden, wenn dies für mehrere Tenants umgesetzt wird:
Jede Instanz sollte ihre eigene Ressourcengruppe haben, um sie voneinander zu unterscheiden
Sie sollten für jede Instanz App Registrations erstellen, um die Berechtigungen zu isolieren
Der App Service Plan sollte in einer unabhängigen Management-Ressourcengruppe erstellt werden, da er mehrere Instanzen bedient
In diesem Diagramm stellen ein Management-Tenant und seine zwei SCEPman-Instanzen Zertifikate für die Tenants von Contoso und Tailwind bereit:
Unexpected error with integration mermaid: Integration is not installed on this space
Eine neue SCEPman-Instanz zu einem vorhandenen App Service Plan hinzufügen
Beim Bereitstellen einer neuen SCEPman-Instanz mit der Enterprise-Bereitstellungsmethode haben Sie die Möglichkeit, die Ressourcen-ID eines vorhandenen App Service Plan einzugeben, zu dem diese Instanz hinzugefügt werden soll.
Diese Ressourcen-ID finden Sie in den Eigenschaften des vorhandenen App Service Plan:

Kundenspezifische App Registrations erstellen
Um die Berechtigungen der Apps zu isolieren, müssen Sie den Post-Deployment-Befehl anpassen, um benutzerdefinierte App Registrations 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 zum Certificate Master kann nun optional angewendet werden, wenn dieser Dienst aus dem Kunden-Tenant erreichbar sein soll.
Zuletzt aktualisiert
War das hilfreich?