Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Der Connect Server beinhaltet eine eigenständige Benutzerverwaltung auf Basis des Microsoft Identity Frameworks. Diese kann bei Bedarf deaktiviert und durch eine Authentifizierung mittels Azure Active Directory ersetzt werden. Die hierfür notwendigen Schritte zur Konfiguration werden im Folgenden grob umrissen. Die Konfiguration solle unbedingt durch eine Person mit Erfahrung in den Bereichen Azure Active Directory und Authentifizierung über OIDC durchgeführt werden, um eventuelle Sicherheitslücken aufgrund von Konfigurationsfehlern auszuschließen.

Voraussetzungen

Für die Einrichtung benötigen Sie einen Azure AD Mandanten (Tenant). Sofern dieser noch nicht vorhanden ist, folgen Sie bitte den Schritten des Dokuments The Connect Server includes a standalone user administration based on the Microsoft Identity Framework. If required, this can be deactivated and replaced by authentication via Azure Active Directory. The configuration steps required for this are roughly outlined below. The configuration should definitely be performed by a person with experience in the areas of Azure Active Directory and authentication via OIDC in order to rule out possible security gaps due to configuration errors.

Requirements

For the setup you need an Azure AD tenant. If this is not yet available, please follow the steps in the document https://docs.microsoft.com/de-de/azure/active-directory/develop/quickstart-create-new-tenant. Außerdem muss der Connect Server vollständig installiert und für den Zugriff über HTTPS konfiguriert sein.

Vorbereitungen

Registrieren des Connect Servers

...

Also, the Connect Server must be fully installed and configured for access over HTTPS.

Preparations

Registering the Connect Server

  1. Log in to the Azure Portal (https://portal.azure.com) und navigieren Sie zum Dienst and navigate to the Azure Active Directory .

  2. Wählen Sie den Unterpunkt “App registrations” aus und klicken Sie auf “New registration”.

  3. Geben sie einen Namen (z. B. “Connect Server AAD”) ein und wählen Sie die Kontentypen aus, die sich am Connect Server anmelden können (z. B. nur Konten der eigenen Organisation). Das Feld Redirect URI kann leer bleiben, es wird in einem späteren Konfigurationsschritt ergänzt. Sofern Ihre Domäne nicht als Publisher verifiziert wurde, deaktivieren Sie die Checkbox “Permissions service.

  4. Select the subitem "App registrations" and click on "New registration".

  5. Enter a name (e.g. "Connect Server AAD") and select the account types that can log on to the Connect Server (e.g. only accounts from your own organization). The Redirect URI field can be left blank, it will be added in a later configuration step. Unless your domain has been verified as a publisher, uncheck the "Permissions → Grant admin consent to openid and offline_access permission” - andernfalls wird diese Checkbox nicht angezeigt. Klicken Sie nun auf die Schaltfläche “Register”, um die neue App im Azure AD zu registrieren.

    Image Removed

  6. Nun werden einige Informationen der neu registrierten App angezeigt (im folgenden Screenshot durch xxx… unkenntlich gemacht). Kopieren Sie die Werte für die Felder “Display name“, “Application (client) ID” und “Directory (tenant) ID” oder drucken Sie diese aus. Diese Werte werden für spätere Konfigurationsschritte benötigt.

    Image Removed

  7. Navigieren Sie nun in den Bereich “Manage → Branding & Properties” und kopieren Sie die dort unter “Publisher Domain” angezeigte Domäne oder drucken Sie diese Informationen aus. Auch dieser Wert wird für spätere Konfigurationsschritte benötigt.

    Image Removed

  8. Wechseln Sie nun in den Bereich “Expose an API” und klicken Sie auf “Add a scope”. Es erscheint ein neuer Bereich mit einem Vorschlag für die URI des neu angelegten Scopes. Klicken Sie auf die Schaltfläche “Save and continue“ um fortzufahren.

    Image Removed

  9. Vervollständigen Sie nun die fehlenden Informationen wie im folgenden Screenshot. Kopieren Sie den Scope-Namen (hier: “API.Access”) sowie die darunter angezeigte URI oder drucken Sie die Informationen aus. Diese Werte wird für spätere Konfigurationsschritte benötigt. Klicken Sie auf die Schaltfläche “Add scope”, um die Änderungen zu sichern.

    Image Removed

  10. Wechseln Sie nun in den Abschnitt “Authentication“ und klicken Sie im Bereich “Platform configurations“ auf die Schaltfläche “Add a platform”. Daraufhin wird auf der rechten Seite die Auswahl der verfügbaren Plattformen angezeigt. Klicken Sie hier auf “Web”.

    Image Removed

  11. Geben Sie im Feld “Redirect URIs” den Wert “permission" checkbox - otherwise this checkbox will not be displayed. Now click the Register button to register the new app in Azure AD.

    Image Added

  12. Now some information of the newly registered app is displayed (made unrecognizable by xxx... in the following screenshot). Copy or print the values for the fields "Display name", "Application (client) ID" and "Directory (tenant) ID". These values are needed for later configuration steps.

    Image Added

  13. Now navigate to the "Manage → Branding & Properties" area and copy the domain displayed there under "Publisher Domain" or print this information. This value is also needed for later configuration steps.

    Image Added

  14. Now switch to the "Expose an API" area and click on "Add a scope". A new area appears with a suggestion for the URI of the newly created scope. Click on the "Save and continue" button to continue.

    Image Added

  15. Now complete the missing information as shown in the following screenshot. Copy the scope name (here: "API.Access") and the URI displayed below it or print the information. These values will be needed for later configuration steps. Click the "Add scope" button to save the changes.

    Image Added

  16. Now switch to the "Authentication" section and click the "Add a platform" button in the "Platform configurations" area. The selection of available platforms is then displayed on the right-hand side. Click on "Web" here.

    Image Added

  17. In the Redirect URIs field, enter the value "https://localhost/authentication/oidc/signin“ ein (sollten Sie für HTTPS nicht den Standard-Port 443 verwenden, so ergänzen Sie die Port-Angabe). Geben Sie im Feld “Front-channel logout URL“ den Wert “signin" (if you are not using the default port 443 for HTTPS, add the port specification). In the Front-channel logout URL field, enter the value "https://localhost/authentication/oidc/signout“ ein (sollten Sie für HTTPS nicht den Standard-Port 443 verwenden, so ergänzen Sie die Port-Angabe). Stellen Sie sicher, dass im Bereich “Implicit grant and hybrid flows” die Checkboxen “Access tokens” nicht aktiviert ist. Aktivieren Sie anschließend die Checkbox “ID Tokens“. Klicken Sie anschließend auf die Schaltfläche “Configure”.

    Image Removed
  18. Klicken Sie nun im Bereich “Redirect URIs” auf die Schaltfläche “Add URI” und erfassen Sie alle weiteren URIs unter denen die Connect Server Installation erreicht werden kann. Ergänzen Sie hierbei sämtliche URIs um den Pfad “/authentication/oidc/signin“. Sofern die Connect Server Installation vom Internet aus erreichbar ist, ersetzen Sie in unter “Front-channel logout URL” den URI-Teil “https://localhost“ (ggf. inkl. Portangabe) durch den tatsächlich vom Internet aus sichtbaren Hostnamen und Port. Klicken Sie auf die Schaltfläche “Save“, um die Änderungen zu speichern.

    Image Removed

  19. Wechseln sie nun in den Bereich “App roles” und legen Sie mit Hilfe der Schaltfläche “Create app role” die in untenstehender Tabelle aufgelisteten Rollen an. Die Rollenliste sollte am Ende folgendermaßen aussehen:

    Image Removed

Rollendefinitionen für den Connect Server

...

  1. signout" (if you are not using the default port 443 for HTTPS, add the port information). In the Implicit grant and hybrid flows section, make sure that the Access tokens checkboxes are selected. not is activated. Then activate the "ID Tokens" checkbox. Then click on the "Configure" button.

    Image Added
  2. Now click the "Add URI" button in the "Redirect URIs" area and enter all additional URIs under which the Connect Server installation can be reached. Add the path "/authentication/oidc/signin" to all URIs. If the Connect Server installation can be reached from the Internet, replace the URI part "/authentication/oidc/signin" in the "Front-channel logout URL".https://localhost" (incl. port specification, if applicable) by the host name and port actually visible from the Internet. Click the "Save" button to save the changes.

    Image Added

  3. Now switch to the "App roles" section and create the roles listed in the table below using the "Create app role" button. The role list should look like this at the end:

    Image Added

Role definitions for the Connect Server

The following table lists the roles supported by the Connect Server.

Display Name

Type

Value

Description

Administrator

Users/Groups

Administrator

A Connect Server Administrator with unrestricted access.

Connection Administratoradministrator

Users/Groups

ConnectionAdministrator

A user with the authorization to create, change and delete connections.

Database Administratoradministrator

Users/Groups

DatabaseAdministrator

A user with the authorization to perform database management tasks.

Flow Administratoradministrator

Users/Groups

FlowAdministrator

A user with the authorization to create, change and delete flows.

Monitoring Administratoradministrator

Users/Groups

MonitoringAdministrator

A user with the authorization to monitor, modify, restart, and delete tasks.

Monitoring User

Users/Groups

MonitoringUser

A user with the authorization to monitor tasks.

Service Administratoradministrator

Users/Groups

ServiceAdministrator

A user with the authorization to create, change and delete service definitions.

...

Registering the Connect Server

...

frontend

  1. Log in to the Azure Portal an (https://portal.azure.com ) und navigieren Sie zum Dienst and navigate to the Azure Active Directory .

  2. Wählen Sie den Unterpunkt “App registrations” aus und klicken Sie auf “New registration”.

  3. Geben sie einen Namen (z. B. “Connect Server Frontend AAD”) ein und wählen Sie die Kontentypen aus, die sich am Connect Server anmelden können (z. B. nur Konten der eigenen Organisation). Das Feld Redirect URI kann leer bleiben, es wird in einem späteren Konfigurationsschritt ergänzt. Sofern Ihre Domäne nicht als Publisher verifiziert wurde, deaktivieren Sie die Checkbox “Permissions service.

  4. Select the subitem "App registrations" and click on "New registration".

  5. Enter a name (e.g. "Connect Server Frontend AAD") and select the account types that can log on to the Connect Server (e.g. only accounts from your own organization). The Redirect URI field can be left blank, it will be added in a later configuration step. Unless your domain has been verified as a publisher, uncheck the "Permissions → Grant admin consent to openid and offline_access permission” - andernfalls wird diese Checkbox nicht angezeigt. Klicken Sie nun auf die Schaltfläche “Register”, um die neue App im Azure AD zu registrieren.

    Image Removed

  6. Nun werden einige Informationen der neu registrierten App angezeigt (im folgenden Screenshot durch xxx… unkenntlich gemacht). Kopieren Sie die Werte für die Felder “Display name“ und “Application (client) ID” oder drucken Sie diese aus. Diese Werte werden für spätere Konfigurationsschritte benötigt.

    Image Removed

  7. Wechseln Sie nun in den Abschnitt “Authentication“ und klicken Sie im Bereich “Platform configurations“ auf die Schaltfläche “Add a platform”. Daraufhin wird auf der rechten Seite die Auswahl der verfügbaren Plattformen angezeigt. Klicken Sie hier auf “Single-page application”.

    Image Removed

  8. Geben Sie im Feld “Redirect URIs” den Wert “httpspermission" checkbox - otherwise this checkbox will not be displayed. Now click the Register button to register the new app in Azure AD.

    Image Added

  9. Now some information of the newly registered app is displayed (made unrecognizable by xxx... in the following screenshot). Copy or print the values for the fields "Display name" and "Application (client) ID". These values are needed for later configuration steps.

    Image Added

  10. Now switch to the "Authentication" section and click the "Add a platform" button in the "Platform configurations" area. The selection of available platforms is then displayed on the right-hand side. Click on "Single-page application" here.

    Image Added

  11. Enter the value "https://localhost/authentication/login-callback“ ein (sollten Sie für HTTPS nicht den Standard-Port 443 verwenden, so ergänzen Sie die Port-Angabe). Stellen Sie sicher, dass im Bereich “Implicit grant and hybrid flows” die Checkboxen “Access tokens” und “ID tokens” nicht aktiviert sind. Klicken Sie anschließend auf die Schaltfläche “Configure”.

    Image Removed

  12. Klicken Sie nun im Bereich “Redirect URIs” auf die Schaltfläche “Add URI” und erfassen Sie alle weiteren URIs unter denen die Connect Server Installation erreicht werden kann. Ergänzen Sie hierbei sämtliche URIs um den Pfad “/authentication/login-callback“. Klicken Sie auf die Schaltfläche “Save“, um die Änderungen zu speichern.

    Image Removed

  13. Wechseln Sie nun in den Bereich “API permissions”. Die Berechtigung “User.Read” sollte4 in der Übersicht der vorhandenen Berechtigungen bereits eingetragen sein. Sollte die nicht der Falls sein, dann ergänzen Sie diese. Klicken Sie nun auf die Schaltfläche “Add permission” und klicken Sie am oberen Bildrand auf “My APIs”. In der App-Liste sollte nun ein Eintrag für den oben als App registrierten Connect Server angezeigt werden. Klicken Sie nun auf diesen Eintrag.

    Image Removed

  14. Markieren Sie nun die zuvor angelegte Berechtigung “Access.API” und klicken Sie auf die Schaltfläche “Add permissions”.

    Image Removed

  15. Klicken Sie nun auf die Schaltfläche “Grant admin consent” um die neu zugeordnete Berechtigung zu genehmigen.

    Image Removed

  16. Bestätigen Sie die Genehmigung durch einen Klick auf die Schaltfläche “Yes”.

    Image Removed

  17. Überprüfen Sie, dass die nun konfigurierten Berechtigungen wie folgt aussehen:

    Image Removed

  18. Wechseln sie nun in den Bereich “App roles” und legen Sie mit Hilfe der Schaltfläche “Create app role” die in untenstehender Tabelle aufgelisteten Rollen an. Die Rollenliste sollte am Ende folgendermaßen aussehen:

    Image Removed

Rollendefinitionen für den Connect Server Frontend

...

  1. callback" in the "Redirect URIs" field (if you are not using the standard port 443 for HTTPS, add the port specification). In the Implicit grant and hybrid flows section, make sure that the Access tokens and ID tokens checkboxes are selected. not are activated. Then click on the "Configure" button.

    Image Added

  2. Now click the "Add URI" button in the "Redirect URIs" area and enter all additional URIs under which the Connect Server installation can be reached. Add the path "/authentication/login-callback" to all URIs. Click the "Save" button to save the changes.

    Image Added

  3. Now switch to the "API permissions" area. The "User.Read" permission should4 already be entered in the overview of existing permissions. If this is not the case, then add it. Now click on the "Add permission" button and click on "My APIs" at the top of the screen. In the app list you should now see an entry for the Connect Server registered as an app above. Now click on this entry.

    Image Added

  4. Now highlight the "Access.API" permission you created earlier and click the "Add permissions" button.

    Image Added

  5. Now click on the "Grant admin consent" button to approve the newly assigned permission.

    Image Added

  6. Confirm the approval by clicking the "Yes" button.

    Image Added

  7. Verify that the permissions now configured are as follows:

    Image Added

  8. Now switch to the "App roles" section and create the roles listed in the table below using the "Create app role" button. The role list should look like this at the end:

    Image Added

Role definitions for the Connect Server frontend

The following table lists the roles supported by the Connect Server frontend.

Display Name

Type

Value

Description

Administrator

Users/Groups

Administrator

A Connect Server Administrator with unrestricted access.

Connection Administratoradministrator

Users/Groups

ConnectionAdministrator

A user with the authorization to create, change and delete connections.

Database Administratoradministrator

Users/Groups

DatabaseAdministrator

A user with the authorization to perform database management tasks.

Flow Administratoradministrator

Users/Groups

FlowAdministrator

A user with the authorization to create, change and delete flows.

Monitoring Administratoradministrator

Users/Groups

MonitoringAdministrator

A user with the authorization to monitor, modify, restart, and delete tasks.

Monitoring User

Users/Groups

MonitoringUser

A user with the authorization to monitor tasks.

Service Administratoradministrator

Users/Groups

ServiceAdministrator

A user with the authorization to create, change and delete service definitions.

...

Configuring the Connect

...

Server

In de Konfigurationsdatei des Connect Servers (normalerweise “appsettings.json”) muss folgender Block ergänzt werdenthe Connect Server configuration file (usually "appsettings.json") the following block must be added:

Code Block
languagejson
  "Security": {
    "Identity": {
      "AzureAd": {
        "Common": {
          "Instance": "https://login.microsoftonline.com/",
          "Domain": "mycompany.com",
          "TenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        },
        "Backend": {
          "ClientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "Audience": "api://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
        },
        "Frontend": {
          "ClientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "Scope": "api://xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/API.Access"
        }
      }
    }
  },

Die einzelnen Werte haben folgende BedeutungThe individual values have the following meaning:

Name

BeschreibungDescription

Security.Identity.AzureAd.Common.Instance

Die Basis-URI der zu verwendenden Azure AD-Instanz. In der Regel muss hier der Wert “httpsThe base URI of the Azure AD instance to be used. As a rule, the value "https://login.microsoftonline.com/“ stehen" must be entered here.

Security.Identity.AzureAd.Common.DomainDer Name

der Domäne deren Benutzer sich anmelden dürfen (z. B. “galileo-group.de” oder “mycompany.com”The name of the domain whose users are allowed to log in (e.g. "galileo-group.de" or "mycompany.com").

Security.Identity.AzureAd.Common.TenantId

Die Tenant ID des zugehörigen Microsoft Tenants. Diese wurde in den Schritten zur Azure AD Konfiguration ermitteltThe tenant ID of the associated Microsoft tenant. This was determined in the Azure AD configuration steps.

Security.Identity.AzureAd.Backend.ClientId

Die Client ID der im Azure AD registrierten App für den The client ID of the app registered in Azure AD for the Connect Server.

Security.Identity.AzureAd.Backend.Audience

Die URI des bei der Azure AD Konfiguration angelegten Scopes ohne “The URI of the scope created during Azure AD configuration without "/API.Access”Access".

Security.Identity.AzureAd.Frontend.ClientId

Die Client ID der im Azure AD registrierten App für das Connect Server FrontendThe client ID of the app registered in Azure AD for the Connect Server frontend.

Security.Identity.AzureAd.Frontend.Scope

Die URI des bei der Azure AD Konfiguration angelegten ScopesThe URI of the scope created during Azure AD configuration.