Einrichtung Azure AD-Anmeldung - ACS - Finance 2023.1

Vorwort

Mit Finance 2023.1 führen wir die ACS-Anmeldemethode ein, also die Anmeldung über das Azure Active-Directory. Um gewisse neue Funktionen von Microsoft zu nutzen, muss der Schritt zu dieser Anmeldemethode gegangen werden.

Voraussetzung ist, dass Sie als Kunde Ihr lokales Active Directory bereits mit dem Azure Active Directory (AAD) verbunden haben und Ihre Benutzer die Business Central nutzen sollen in das AAD synchronisiert sind. Heißt, sie müssen eine Zahlungsmethode hinterlegt haben, einen Azure AD-Tenant besitzen etc. um die Services zu nutzen.


Informieren Sie sich bitte direkt bei Microsoft, was dazu nötig ist. Weitere Informationen dazu finden Sie hier: https://learn.microsoft.com/de-de/azure/active-directory/hybrid/how-to-connect-sync-whatis 

Es müssen einige Einrichtungsschritte von einem Azure-Administrator ausgeführt werden. Bitte gehen Sie sicher, dass Sie die nötigen Berechtigungen dazu besitzen.


Wir verlinken hier direkt auf die jeweiligen Anleitungen von Microsoft. Wir gehen nur auf spezifische Sachverhalte ein, die entweder besonders aufgefallen sind oder in der NEVARIS-Umgebung anders sind.

Auch wenn in den Microsoft-Anleitungen von PowerBI, etc gesprochen wird. Wir unterstützen diese Funktionen mit der Azure-Anmeldung explizit nicht. Wir bitten Sie das zu beachten. Wir zählen hier konkret auf was unterstützt wird.


  • Die Anmeldung der Benutzer mit ACS (Azure AD-Anmeldung)
  • Nutzung der Email-Funktionen von Business Central (Email-Versand über Office 365 Exchange Online etc.) - keine Nutzung des Outlook-AddIns

Infos zu der ACS-Anmeldemethode (Azure AD)

Zu Grunde liegt folgende Anleitung:

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/authenticating-users-with-azure-ad-openid-connect

Da wir mit Finance 2023.1 auf BC20 CU8 setzen, sind wir bereits auf BC20. Microsoft kündigt WS-Federation zu Gunsten von OpenID Connect ab. Deswegen muss diesem Leitfaden gefolgt werden.

Wie Microsoft richtig schreibt, kann man die ganze Umsetzung (heißt Verschlüsselung zwischen Mittelschicht und WebServer, SSL-Zertifikat für den WebClient) mit selbst-signierten Zertifikaten erledigen, die zum Beispiel auf eien Domänen-Controller mit Zertifikatsdiensten erstellt werden und anschließend den nötigen Clients bekannt gemacht werden.

Oder es werden von einer entsprechenden Authentifizierungsstelle Zertifikate mit den jeweiligen DNS-Namen gekauft. Bitte wählen Sie die Möglichkeit die für Sie und Ihre Umgebung am besten passt.

Preparation und Task 1: Create an Azure AD Tenant

Microsoft geht in "Preparation" und "Task 1" darauf ein, welche Vorrausetzungen bereits erfüllt sein müssen. Diese wurden hier bereits auch kurz angeschnitten.

Unter anderem müssen Zertifikate bei dem Mittelschichtsserver und dem Web Server hinterlegt und konfiguriert werden:

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/deployment/implement-security-certificates-production-environment

Anmerkungen von unserer Seite:

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/configure-server-instance

In der Business Central Administration müssen folgende Einstellungen gemacht werden:

General: 

Den Credential-Type bitte erst ändern, wenn alle Einstellungen für AzureAD in der Business Central Administration ordnungsgemäß eingefügt worden sind (Application ID , Valid Audiences etc.) Siehe: Task 4 und 5: Configure Business Central Server and WebServer

Disable Token-Signing Certificate Validation muss aktiviert werden, laut Microsoft.

Microsoft

Disable token signing certificate validation when configuring Azure Active Directory authentication with single sign-on.

Der Thumbprint des Zertifikats kann aus der Zertifikatsverwaltung entnommen werden. Leer- und Sonderzeichen müssen entfernt werden. Es muss unter den Vertrauenswürdigen Stammzertifizierungsstellen zu finden sein! Siehe Anleitung, Implement-Security-Certificates-Production-Environment

Den "Protection Level" unter "Client Services" auf "EncryptAndSign" stellen. Ebenso bei der Web Server-Instanz: "ClientServicesProtectionLevel":  "EncryptAndSign"


Wie man später SSL beim WebServer konfiguriert (dringend notwendig!), kann man hier nachlesen:

https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/deployment/configure-ssl-web-client-connection

Einrichten eines SSL-Zertifikates unter dem Port 443 für den Webserver einer Finance-Installation

Task 2: Register an application in the Azure AD tenant

Die Kommunikation von BusinessCentral mit dem Azure AD funktioniert in Azure über sogenannte "Applications".

Heißt: Eine Application für die eigentliche Azure AD-Anmeldung, eine für die Exchange Online Office365-Funktionalität.

Man legt die Application wie Microsoft es beschreibt an, hier ein paar Beispiel-Screenshots (dienen lediglich als Unterstützung, es können jederzeit Änderungen von Microsoft vorgenommen werden):


Die Redirect URI ist die Webserver-Instanz mir eingerichteter SSL-Verbindung. Zum Beispiel: https://NAMEDESWEBSERVERS/WEBSERVERINSTANZ/SignIn

Bitte genau die Groß- und Kleinschreibung der WebServer-Instanz etc. beachten.

Nachdem die "Application" erstellt ist, muss noch eine "Application ID URI" erstellt werden:

Ansonsten bitte weiter den Microsoft-Leitfaden verfolgen.

Task 3: Associate Azure AD Users with Business Central Users

Microsoft empfiehlt hier die Authentifizierungs-Mail der Business Central-User anzupassen. Dies sollte man unter der WIndows-Anmeldemethode zumindest für den Admin-Account vorher eintragen. Ansonsten kann man sich nach dem Umstellen auf die "ACS"-Anmeldemethode nicht mehr anmelden. Natürlich ist es auch möglich eine 2. Instanz (Mittelschicht- und WebInstanz) für die ACS-Anmeldemethode anzulegen.

Diese kann man aus dem Azure-Portal unter "Users" unter "User Principal name" zu dem jeweiligen Nutzer herausfinden. Voraussetzung ist wie gesagt ein konfiguriertes Azure AD. Eventuell sogar mit Office 365 Exchange Online um die Mail-Funktionen zu nutzen.


Task 4 und 5: Configure Business Central Server and Web Server

Nun geht es darum die Business Central-Mittelschicht zu konfigurieren.

Alle Informationen die man dazu benötigt, stehen in der Azure AD Application-Übersicht. Hier ein Beispiel dazu:

Wir empfehlen die Einstellungen über die PowerShell vorzunehmen. Mit einem späteren Update wird Microsoft die "Business Central Administration" entfernen.

Punkte im Web Server als Unterstützung (unter C:\wwwroot\inetpub\{NamederInstanz}, die navsettings.json):

Hier die Azure AD-Einstellungen in der Business Central Administration:

More Security and configuration tips

Microsoft empfiehlt die access token lifetime auf 10 Minuten zu stellen.

Infos zu den Email-Einstellungen in Verbindung mit Azure AD

https://learn.microsoft.com/de-de/dynamics365/business-central/admin-how-setup-email#setting-up-email-for-business-central-on-premises

Eine App-Registrierung für Business Central im Azure-Portal erstellen

Beim Erstellen des Secrets unbedingt den Value notieren, diesen kann man danach nicht mehr sichtbar machen!

Business Central mit Ihrer App-Registrierung verbinden