Verwendung von Azure Key Vault in der Power Platform: Vorteile, Nachteile und Alternativen

In der heutigen digitalen Welt ist die sichere und effiziente Verwaltung von Geheimnissen ein entscheidender Aspekt für jedes Unternehmen. Azure Key Vault bietet eine zentrale, sichere und flexible Lösung für diese Herausforderung. In diesem Blogbeitrag werden wir die Verwendung von Azure Key Vault in der Power Platform diskutieren, einschließlich der Vorteile, Nachteile und alternativen Methoden.

Vorteile der Verwendung von Azure Key Vault

Azure Key Vault bietet eine Reihe von Vorteilen, die es zu einer attraktiven Option für die Verwaltung von Geheimnissen machen:

  1. Sichere und zentrale Speicherung: Azure Key Vault ermöglicht die sichere und zentrale Speicherung von Geheimnissen, die sowohl in der Cloud als auch On-Premise verwendet werden können. Dies erhöht die Sicherheit und verringert das Risiko einer unerwünschten Offenlegung.
  2. Einfache und flexible Verwaltung: Mit Funktionen wie Zugriffskontrolle, Überwachung, Auditing, Back-up und Wiederherstellung ermöglicht Azure Key Vault eine einfache und flexible Verwaltung von Geheimnissen.
  3. Nahtlose Integration: Azure Key Vault kann nahtlos mit anderen Azure-Diensten und Anwendungen integriert werden, indem APIs und SDKs bereitgestellt werden, die die Authentifizierung und Verschlüsselung erleichtern.
  4. Reduzierte Kosten und Komplexität: Durch die Bereitstellung einer skalierbaren und hochverfügbaren Lösung auf der Azure-Plattform reduziert Azure Key Vault die Kosten und Komplexität der Geheimnisverwaltung.
  5. Verwendung von Secrets in Umgebungsvariablen: Azure Key Vault ermöglicht die Speicherung von umgebungsspezifischen Werten in Secrets, die sich von einer Entwicklungs-, Test- oder Produktionsumgebung unterscheiden. Dies erleichtert die Anwendungsentwicklung und das Lebenszyklusmanagement, indem man die externen Referenzen der Anwendung anpassen kann, wenn man die Anwendung zwischen verschiedenen Umgebungen verschiebt.

Nachteile der Verwendung von Azure Key Vault

Trotz seiner vielen Vorteile gibt es auch einige Nachteile bei der Verwendung von Azure Key Vault:

  1. Zusätzliche Kosten und Komplexität: Es muss ein Azure Key Vault im Azure-Abonnement erstellt und verwaltet werden, was zusätzliche Kosten und Komplexität verursacht.
  2. Zugriffssteuerung: Der Service Principal, der die Lösung bereitstellt, muss Zugriff auf den Azure Key Vault haben. Das bedeutet, dass ihm eine entsprechende Berechtigung in Azure Active Directory zugewiesen werden muss.
  3. Rollenverwaltung: Der Service Principal muss die richtige Rolle in der Zielumgebung haben, z.B. Systemadministrator. Das bedeutet, dass ihm eine entsprechende Berechtigung in der Power Platform zugewiesen werden muss.
  4. Verbindungsherstellung: Eine Verbindung zwischen der Power Platform-Umgebung und dem Azure Key Vault muss hergestellt werden. Die Verbindung erfordert entweder eine Benutzername/Passwort oder eine Service Principal (Client-ID/Client-Secret). Das bedeutet, dass man immer noch für die Verwaltung des Ablaufs/der Rotation des Secrets (oder Passworts) und die Anpassung der Verbindung verantwortlich ist.

Vorteile der Verwendung von Secrets in Umgebungsvariablen

Die Verwendung von Secrets in Umgebungsvariablen bietet eine Reihe von Vorteilen:

  1. Sichere Speicherung: Geheimnisse wie API-Schlüssel, Anmeldeinformationen oder Zertifikate werden sicher gespeichert und geschützt, ohne sie in den Apps oder Flows zu speichern. Das erhöht die Sicherheit und verringert das Risiko einer unerwünschten Offenlegung.
  2. Einfache Verwaltung: Umgebungsvariablen werden einfach und flexibel verwaltet, indem sie mit einem Key Vault-Geheimnis verknüpft werden. Das erleichtert die Einhaltung von Richtlinien und Vorschriften, da die Werte der Geheimnisse in Azure Key Vault geändert werden können, ohne die Lösungen zu ändern.
  3. Nahtlose Verwendung: Umgebungsvariablen können nahtlos in anderen Azure-Diensten und Anwendungen verwendet werden, indem sie in benutzerdefinierten Konnektoren oder HTTP-Anforderungen verwendet werden. Das ermöglicht eine bessere Zusammenarbeit und Interoperabilität, da die Authentifizierung und Verschlüsselung mit Azure Key Vault genutzt werden können.

Nachteile der Verwendung von Secrets in Umgebungsvariablen

Es gibt jedoch auch einige Nachteile bei der Verwendung von Secrets in Umgebungsvariablen:

  1. Eingeschränkte Verwendung: Die Verwendung ist limitiert auf Canvas-Apps und Power Automate-Flows, andere Komponenten wie Model-Driven Apps oder Power BI unterstützen diese Funktion nicht.
  2. Einschränkungen bei der Verwendung: Secrets können nur als Eingabe für Datenquellen oder andere Komponenten verwendet werden. Sie können nicht als Ausgabe oder Rückgabewert verwendet werden.
  3. Zuweisung zu einer Lösung: Secrets müssen einer Lösung zugewiesen werden, die Teil der Power Platform-Umgebung ist. Das bedeutet, dass nicht dasselbe Secret in verschiedenen Lösungen verwendet werden kann, es sei denn, es werden mehrere Umgebungsvariablen mit demselben Secret-Wert erstellt.

Alternative Methoden

HashiCorp Vault

HashiCorp Vault ist eine Open-Source-Plattform für die Verwaltung von Geheimnissen und Identitäten. Die Integration von Vault mit der Power Platform kann durch die Erstellung eines benutzerdefinierten Konnektors oder das Senden einer HTTP-Anforderung erreicht werden. Allerdings ist dieser Prozess nicht so einfach und sicher wie bei Azure Key Vault, da mehr Schritte und Tools benötigt werden, um die Verbindung zu konfigurieren und zu schützen.

Egnyte

Egnyte ist eine Cloud-basierte Plattform für die Speicherung und Freigabe von Dateien. Die Verbindung von Egnyte mit der Power Platform kann durch die Verwendung des Egnyte-Konnektors oder das Aufrufen einer REST-API hergestellt werden. Allerdings ist Egnyte nicht so gut geeignet für die Speicherung von Geheimnissen wie Azure Key Vault, da es nicht die gleichen Funktionen für Verschlüsselung, Zugriffskontrolle und Überwachung bietet.

AWS Certificate Manager

Der AWS Certificate Manager ist ein Dienst, der hilft, SSL/TLS-Zertifikate für AWS-Ressourcen zu erstellen und zu verwalten. Die Verbindung des AWS Certificate Managers mit der Power Platform kann durch die Erstellung eines benutzerdefinierten Konnektors oder die Verwendung einer AWS SDK hergestellt werden. Allerdings ist der AWS Certificate Manager nicht so nützlich für die Speicherung von Geheimnissen wie Azure Key Vault, da er nur Zertifikate und keine anderen Arten von Geheimnissen unterstützt.

AWS Key Management Service (KMS)

Der AWS Key Management Service (KMS) ist ein Dienst, der hilft, kryptografische Schlüssel für AWS-Ressourcen zu erstellen und zu verwalten. Die Verbindung von AWS KMS mit der Power Platform kann durch die Erstellung eines benutzerdefinierten Konnektors oder die Verwendung einer AWS SDK hergestellt werden. Allerdings ist AWS KMS nicht so kompatibel mit der Power Platform wie Azure Key Vault, da AWS KMS nur mit AWS-Ressourcen funktioniert und nicht mit anderen Cloud-Diensten oder Anwendungen.

Potenzielle Sicherheitsrisiken

Es gibt einige potenzielle Sicherheitsrisiken, die bei der Verwendung von Azure Key Vault und Umgebungsvariablen in der Power Platform berücksichtigt werden müssen:

  1. Kompromittierung von Geheimnissen: Wenn jemand Zugriff auf den Service Principal oder den Azure Key Vault erhält, könnten Geheimnisse kompromittiert werden. Daher müssen die Anmeldeinformationen für den Service Principal und den Azure Key Vault sicher aufbewahrt werden.
  2. Änderung oder Löschung von Werten: Wenn jemand Zugriff auf die Umgebungsvariable erhält, könnte er den Wert ändern oder löschen und die Anwendung stören. Daher müssen die Berechtigungen für die Umgebungsvariable sorgfältig verwaltet werden.
  3. Offenlegung von Geheimnissen: Wenn jemand Zugriff auf die Protokolle der Flows erhält und sie nicht als sichere Eingaben oder Ausgaben markiert sind, könnten die Geheimnisse offengelegt werden. Daher muss man die Flows so konfigurieren, dass keine sensiblen Daten preisgegeben werden.