For the complete documentation index, see llms.txt. This page is also available as Markdown.

Split-Tenancy

Ü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

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

In SCEPman (Home Tenant)

  1. Navigieren Sie zu SCEPman App service und dann zu "Settings" --> "Environment variables". Suchen Sie die folgenden Parameter und löschen Sie sie:

Environment Variables

AppConfig:AuthConfig:ManagedIdentityEnabledForWebsiteHostname

AppConfig:AuthConfig:ManagedIdentityEnabledOnUnixTime

AppConfig:AuthConfig:ManagedIdentityPermissionLevel

  1. Benennen Sie die folgenden Einstellungen um (ändern Sie 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 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.

Erstellen die folgenden neuen Umgebungsvariablen, falls Sie dies nicht bereits bei der Erstellung der App-Registrierung getan haben:

Name
Wert

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.

  1. Wenden Sie die Änderungen an.

  2. Starten Sie SCEPman neu App service.

Certificate Master

  1. Navigieren Sie zum Certificate Master App service und dann zu "Settings" > "Environment variables".

  2. Jetzt haben Sie zwei Optionen:

    1. 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.

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

Wenn das der Fall ist, benennen Sie um die folgenden Einstellungen um (ändern Sie 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 Target Tenant sich beim Certificate Master anmelden und Zertifikate ausstellen, einschließlich Gastbenutzer in Ihrem Target Tenant, z. B. aus Ihrem Home Tenant.

Option 2: Benutzer aus dem Target Tenant melden sich beim Certificate Master an

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:HomeApplicationId und

    • AppConfig:AuthConfig:HomeTenantId in 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:

Name
Wert

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.

  1. Speichern Sie die Änderungen

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

  3. 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:

Konto
Wofür wird es verwendet?
Hinweise

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?