Konfigurieren einer verwalteten Identität
Mit einer verwalteten Identität können Azure-Dienste andere Azure-Ressourcen sicher authentifizieren und darauf zugreifen, ohne Anmeldeinformationen verwalten zu müssen. Sie behandelt automatisch die Erstellung und Verwaltung der Identität und macht Verbindungen mit Diensten damit einfacher und sicherer.
Die Authentifizierung mit verwalteten Identitäten für Azure-Ressourcen ist die empfohlene Authentifizierungsmethode für den programmgesteuerten Zugriff auf SQL.
Wenn Sie die Microsoft Entra-Authentifizierung mit Azure SQL-Datenbank nutzen, müssen Sie eine systemseitig zugewiesene verwaltete Identität zuweisen, wenn Azure-Dienstprinzipale zum Erstellen von Microsoft Entra-Benutzern in SQL-Datenbank verwendet werden. Bisher konnte der Serveridentität von Azure SQL-Datenbank nur eine systemseitig zugewiesene verwaltete Identität zugewiesen werden, nun kann aber auch eine benutzerseitig zugewiesene verwaltete Identität als Serveridentität zugewiesen werden.
Systemseitig zugewiesene verwaltete Identität
Wenn Sie eine systemseitig zugewiesene verwaltete Identität für eine Azure-Ressource wie einem logischen SQL-Server aktivieren, wird in Microsoft Entra ID ein spezieller Dienstprinzipal erstellt. Dieser Dienstprinzipal ist an den Lebenszyklus der Ressource gebunden, d. h., er wird automatisch gelöscht, wenn die Ressource gelöscht wird. Dieser Typ einer verwalteten Identität kann nicht freigegeben werden, und er ist nur einer einzelnen Azure-Ressource zugeordnet. Er wird häufig für Workloads verwendet, die in einer einzigen Ressource enthalten sind und unabhängige Identitäten benötigen, z. B. eine Anwendung, die auf einer einzelnen VM ausgeführt wird.
Verwenden einer systemseitig zugewiesenen verwalteten Identität
Stellen Sie sich ein Szenario vor, in dem Sie eine systemseitig zugewiesene verwaltete Identität für Ihre Azure-Web-App aktivieren müssen. Zunächst müssen Sie auf das Azure-Portal zugreifen und Ihre Web-App finden. Navigieren Sie dort im linken Menü zum Abschnitt Einstellungen, und wählen Sie Identität aus.
Auf der Registerkarte Systemseitig zugewiesen müssen Sie den Status in Ein ändern und dann Ihre Änderungen speichern.
Damit Ihre Anwendung mithilfe einer systemseitig verwalteten Identität auf die Datenbank zugreifen kann, müssen Sie auch einen Benutzer mit den entsprechenden Berechtigungen für Ihre Datenbank erstellen.
CREATE USER [my-prod-web-app] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [my-prod-web-app];
ALTER ROLE db_datawriter ADD MEMBER [my-prod-web-app];
Anschließend müssen Sie in Ihrem Anwendungscode die folgende Verbindungszeichenfolge verwenden, um eine Verbindung mit Azure SQL-Datenbank mithilfe einer systemseitig zugewiesenen verwalteten Identität herzustellen.
Server=myserver.database.windows.net;Authentication=Active Directory Managed Identity; Encrypt=True;Database=my-db
Benutzerseitig zugewiesene verwaltete Identität
Eine benutzerseitig zugewiesene verwaltete Identität wird als unabhängige Azure-Ressource erstellt. Dieser Typ von verwalteter Identität kann mehreren Instanzen verschiedener Azure-Dienste zugewiesen werden und eignet sich damit für Workloads, die auf mehreren Ressourcen ausgeführt werden und eine einzelne Identität gemeinsam nutzen können.
Darüber hinaus ist eine benutzerseitig zugewiesene verwaltete Identität auch für Workloads nützlich, die eine Vorabautorisierung für eine sichere Ressource als Teil eines Bereitstellungsflows erfordern, oder wenn Ressourcen häufig wiederverwendet werden, aber die Berechtigungen konsistent bleiben müssen.
Verwenden einer benutzerseitig zugewiesenen verwalteten Identität
Um verwaltete Identitäten für Azure-Ressourcen zu verwenden, müssen Sie zunächst eine benutzerseitig verwaltete Identität in Azure erstellen.
Navigieren Sie dazu zuerst zum Azure-Portal. Wählen Sie Verwaltete Identitäten und dann + Erstellen aus. Füllen Sie die erforderlichen Felder auf der Seite Benutzerseitig zugewiesene verwaltete Identität erstellen aus.
Als Nächstes müssen Sie ähnlich wie bei einer systemseitig verwalteten Identität die benutzerseitig verwaltete Identität der Azure-Ressource zuweisen. In diesem Beispiel weisen Sie sie der Azure-Web-App auf der Registerkarte Benutzerseitig verwaltet zu.
Erstellen Sie abschließend mithilfe der CREATE USER-Anweisung einen SQL-Benutzer aus der verwalteten Identität in der Zieldatenbank. In diesem Beispiel lautet der Name der verwalteten Identität my-identity.
CREATE USER [my-identity] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [my-identity];
ALTER ROLE db_datawriter ADD MEMBER [my-identity];
Die folgende Verbindungszeichenfolge zeigt, wie Sie mithilfe einer benutzerseitig zugewiesenen verwalteten Identität eine Verbindung mit Azure SQL-Datenbank herstellen.
Server=myserver.database.windows.net;Authentication=Active Directory Managed Identity; Encrypt=True;User Id=my-identity; Database=my-db
Diese Flexibilität macht benutzerseitig zugewiesene verwaltete Identitäten zu einer vielseitigen und sicheren Option für die Verwaltung des Zugriffs auf verschiedene Dienste in Ihrer Azure-Umgebung.