Azure Key Vault-Sicherheit

Abgeschlossen

Azure Key Vault schützt kryptografische Schlüssel, Zertifikate (und die privaten Schlüssel, die den Zertifikaten zugeordnet sind) und geheime Schlüssel (z. B. Verbindungszeichenfolgen und Kennwörter) in der Cloud. Beim Speichern vertraulicher und geschäftskritischer Daten müssen Sie jedoch Schritte unternehmen, um die Sicherheit Ihrer Tresore und der darin gespeicherten Daten zu maximieren.

Netzwerksicherheit

Sie können den Zugriff auf Ihre Tresore verringern, indem Sie angeben, welche IP-Adressen darauf zugreifen können. Mit den Endpunkten des virtuellen Netzwerks für Azure Key Vault können Sie den Zugriff auf ein angegebenes virtuelles Netzwerk einschränken. Mit den Endpunkten können Sie auch den Zugriff auf eine Liste der IPv4-Adressbereiche (Internetprotokoll, Version 4) einschränken. Jeder Benutzer, der eine Verbindung mit Ihrem Schlüsseltresor von außerhalb dieser Quellen herstellt, wird der Zugriff verweigert.

Nachdem Firewallregeln wirksam sind, können Benutzer nur Daten aus Key Vault lesen, wenn ihre Anforderungen aus zulässigen virtuellen Netzwerken oder IPv4-Adressbereichen stammen. Dies gilt auch für den Zugriff auf Key Vault über das Azure-Portal. Obwohl Benutzer im Azure-Portal zu einem Schlüsseltresor navigieren können, sind sie möglicherweise nicht in der Lage, Schlüssel, Geheimnisse oder Zertifikate aufzulisten, wenn ihr Clientcomputer nicht in der Liste der zulässigen Computer steht.

Azure Private Link Service ermöglicht Ihnen den Zugriff auf Azure Key Vault und von Azure gehostete Kunden-/Partnerdienste über einen privaten Endpunkt in Ihrem virtuellen Netzwerk. Ein privater Azure-Endpunkt ist eine Netzwerkschnittstelle, die Sie privat und sicher mit einem Dienst verbindet, der von Azure Private Link unterstützt wird. Der private Endpunkt verwendet eine private IP-Adresse aus Ihrem VNet und bringt den Dienst effektiv in Ihr VNet ein. Der gesamte Datenverkehr an den Dienst kann über den privaten Endpunkt weitergeleitet werden, sodass keine Gateways, NAT-Geräte (Network Address Translation), ExpressRoute- oder VPN-Verbindungen oder öffentliche IP-Adressen erforderlich sind. Datenverkehr zwischen Ihrem virtuellen Netzwerk und dem Dienst durchläuft über das Microsoft-Backbone-Netzwerk, wodurch die Gefährdung durch das öffentliche Internet eliminiert wird. Sie können eine Verbindung mit einer Instanz einer Azure-Ressource herstellen, sodass Sie die höchste Granularität bei der Zugriffssteuerung erhalten.

Transport Layer Security (TLS) und Hypertext Transfer Protocol Secure (HTTPS)

Das Key Vault-Front-End (Datenebene) ist ein mehrinstanzenfähiger Server. Dies bedeutet, dass Schlüsseltresore von verschiedenen Kunden dieselbe öffentliche IP-Adresse teilen können. Um eine Isolation zu erreichen, wird jede HTTP-Anforderung unabhängig von anderen Anforderungen authentifiziert und autorisiert.

Das HTTPS-Protokoll ermöglicht es dem Client, an TLS-Aushandlung teilzunehmen. Clients können die Version von TLS erzwingen. Sobald ein Client dies tut, verwendet die gesamte Verbindung die entsprechende Schutzstufe. Key Vault unterstützt TLS 1.2- und 1.3-Protokollversionen.

Key Vault-Authentifizierungsoptionen

Wenn Sie einen Schlüsseltresor in einem Azure-Abonnement erstellen, wird er automatisch dem Microsoft Entra-Mandanten des Abonnements zugeordnet. Alle Anrufer in beiden Ebenen müssen sich in diesem Mandanten registrieren und sich authentifizieren, um auf den Schlüsseltresor zuzugreifen. In beiden Fällen können Anwendungen auf drei Arten auf Key Vault zugreifen:

  • Nur Anwendung: Die Anwendung stellt einen Dienstprinzipal oder eine verwaltete Identität dar. Diese Identität ist das am häufigsten verwendete Szenario für Anwendungen, die regelmäßig auf Zertifikate, Schlüssel oder geheime Schlüssel aus dem Schlüsseltresor zugreifen müssen. Damit dieses Szenario funktioniert, muss die ObjectId der Anwendung in der Zugriffsrichtlinie angegeben werden, und die applicationId darf nicht angegeben oder null sein.
  • Nur für Benutzer: Der Benutzer greift von jeder im Mandanten registrierten Anwendung aus auf den Schlüsseltresor zu. Beispiele für diesen Zugriffstyp sind Azure PowerShell und das Azure-Portal. Damit dieses Szenario funktioniert, muss die ObjectId des Benutzers in der Zugriffsrichtlinie angegeben werden, und die applicationId darf nicht angegeben oder null sein.
  • Application-plus-User (manchmal auch als Verbundidentität bezeichnet): Der Benutzer muss über eine bestimmte Anwendung auf den Schlüsselspeicher zugreifen, und die Anwendung muss den Authentifizierungsfluss "On-behalf-of Authentication" (OBO) verwenden, um die Identität des Benutzers zu imitieren. Damit dieses Szenario funktioniert, müssen sowohl applicationId als auch objectId in der Zugriffsrichtlinie angegeben werden. Die applicationId identifiziert die erforderliche Anwendung, und die objectId identifiziert den Benutzer. Derzeit ist diese Option für Azure RBAC-Datenebene nicht verfügbar.

In allen Zugriffstypen authentifiziert sich die Anwendung mit der Microsoft Entra-ID. Die Anwendung verwendet jede unterstützte Authentifizierungsmethode basierend auf dem Anwendungstyp. Die Anwendung erwirbt ein Token für eine Ressource in der Ebene, um Zugriff zu gewähren. Die Ressource ist ein Endpunkt in der Verwaltungs- oder Datenebene, basierend auf der Azure-Umgebung. Die Anwendung verwendet das Token und sendet eine REST-API-Anforderung an Key Vault.

Das Modell eines einzigen Mechanismus für die Authentifizierung für beide Ebenen hat mehrere Vorteile:

  • Organisationen können den Zugriff zentral auf alle Schlüsseltresore in ihren Organisationen steuern.
  • Wenn ein Benutzer das Unternehmen verlässt, verliert er sofort den Zugriff auf alle Schlüsseltresore in der Organisation.
  • Organisationen können die Authentifizierung mithilfe der Optionen in der Microsoft Entra-ID anpassen, z. B. um die mehrstufige Authentifizierung für zusätzliche Sicherheit zu aktivieren.

Übersicht über das Access-Modell

Der Zugriff auf einen Schlüsseltresor wird über zwei Schnittstellen gesteuert: die Verwaltungsebene und die Datenebene. Die Verwaltungsebene ist der Ort, an dem Sie Key Vault selbst verwalten. Vorgänge in dieser Ebene umfassen das Erstellen und Löschen von Schlüsseltresoren, das Abrufen der Eigenschaften der Schlüsseltresore und das Aktualisieren von Zugriffsrichtlinien. Auf der Datenebene arbeiten Sie mit den in einem Schlüsseltresor gespeicherten Daten. Sie können Schlüssel, geheime Schlüssel und Zertifikate hinzufügen, löschen und ändern.

Beide Ebenen verwenden die Microsoft Entra-ID für die Authentifizierung. Für die Autorisierung verwendet die Verwaltungsebene Azure Role-Based Access Control (Azure RBAC), und die Datenebene eine Key Vault-Zugriffsrichtlinie sowie Azure RBAC für Vorgänge in der Key Vault-Datenebene.

Für den Zugriff auf einen Schlüsseltresor in beiden Ebenen müssen alle Anrufer (Benutzer oder Anwendungen) über die richtige Authentifizierung und Autorisierung verfügen. Die Authentifizierung richtet die Identität des Anrufers ein. Autorisierung bestimmt, welche Vorgänge der Aufrufer ausführen kann. Die Authentifizierung mit Key Vault funktioniert in Verbindung mit der Microsoft Entra-ID, die für die Authentifizierung der Identität eines bestimmten Sicherheitsprinzipals verantwortlich ist.

Ein Sicherheitsprinzipal ist ein Objekt, das einen Benutzer, eine Gruppe, einen Dienst oder eine Anwendung darstellt, die den Zugriff auf Azure-Ressourcen anfordert. Azure weist jedem Sicherheitsprinzipal eine eindeutige Objekt-ID zu.

  • Ein Benutzersicherheitsprinzipal identifiziert eine Person, die über ein Profil in der Microsoft Entra-ID verfügt.
  • Ein Gruppensicherheitsprinzipal identifiziert eine Gruppe von Benutzern, die in der Microsoft Entra-ID erstellt wurden. Alle Rollen oder Berechtigungen, die der Gruppe zugewiesen sind, werden allen Benutzern innerhalb der Gruppe gewährt.
  • Ein Dienstprinzipal ist ein Sicherheitsprinzipaltyp, der eine Anwendung oder einen Dienst identifiziert, d. h. einen Codeteil anstelle eines Benutzers oder einer Gruppe. Die Objekt-ID eines Service Principals wird als Client-ID bezeichnet und verhält sich wie der Benutzername. Das Clientgeheimnis oder das Zertifikat des Dienstprinzipals funktioniert wie ein Kennwort. Viele Azure Services unterstützen das Zuweisen von verwalteter Identität mit automatisierter Verwaltung von Client-ID und Zertifikat. Verwaltete Identität ist die sicherste und empfohlene Option für die Authentifizierung in Azure.

Bedingter Zugriff

Key Vault bietet Unterstützung für Microsoft Entra-Richtlinien für bedingten Zugriff. Mithilfe von Richtlinien für bedingten Zugriff können Sie bei Bedarf die richtigen Zugriffssteuerungen auf Key Vault anwenden, um Ihre Organisation sicher zu halten und sich zurückzuhalten, wenn sie nicht benötigt werden.

Privilegierter Zugriff

Autorisierung bestimmt, welche Vorgänge der Aufrufer ausführen kann. Die Autorisierung in Key Vault verwendet azure role-based access control (Azure RBAC) auf Verwaltungsebene und entweder Azure RBAC- oder Azure Key Vault-Zugriffsrichtlinien auf Datenebene.

Der Zugriff auf Tresore erfolgt über zwei Schnittstellen oder Ebenen. Diese Ebenen sind die Verwaltungsebene und die Datenebene.

  • Die Verwaltungsebene ist der Ort, an dem Sie Key Vault selbst verwalten, und es ist die Schnittstelle, die zum Erstellen und Löschen von Tresoren verwendet wird. Sie können auch die Eigenschaften des Schlüsseltresors lesen und Zugangsrichtlinien verwalten.
  • Mit der Datenebene können Sie mit den im Azure Key Vault gespeicherten Daten arbeiten. Sie können Schlüssel, geheime Schlüssel und Zertifikate hinzufügen, löschen und ändern.

Anwendungen greifen über Endpunkte auf die Ebenen zu. Die Zugriffssteuerungen für die beiden Ebenen funktionieren unabhängig voneinander. Um einer Anwendung Zugriff auf die Verwendung von Schlüsseln in einem Schlüsseltresor zu gewähren, gewähren Sie Datenebenenzugriff mithilfe von Azure RBAC oder einer Key Vault-Zugriffsrichtlinie. Um einem Benutzer Lesezugriff auf Key Vault-Eigenschaften und -Tags zu gewähren, aber nicht auf Daten (Schlüssel, geheime Schlüssel oder Zertifikate), gewähren Sie Verwaltungsebenenzugriff mit Azure RBAC.

Zugangsebene Access-Endpunkte Operations Zugriffssteuerungsmechanismus
Verwaltungsebene Global:
management.azure.com:443

Microsoft Azure betrieben von 21Vianet:
management.chinacloudapi.cn:443

Azure US Government:
management.usgovcloudapi.net:443

Azure Deutschland:
management.microsoftazure.de:443
Erstellen, Lesen, Aktualisieren und Löschen von Schlüsseltresoren

Festlegen von Zugriffsrichtlinien für Den Schlüsseltresor

Festlegen von Key Vault-Tags
Azure RBAC
Datenebene Global:
<Tresorname>.vault.azure.net:443

Microsoft Azure betrieben von 21Vianet:
<vault-name>.vault.azure.cn:443

Azure US-Regierung
<Vault-Name>.vault.usgovcloudapi.net:443

Azure Deutschland:
<Tresorname>.vault.microsoftazure.de:443
Schlüssel: verschlüsseln, entschlüsseln, wrapKey, unwrapKey, signieren, verifizieren, get, list, create, update, importieren, löschen, wiederherstellen, sichern, zurücksetzen, bereinigen, rotieren (Vorschau), getrotationpolicy (Vorschau), setrotationpolicy (Vorschau), release (Vorschau)

Zertifikate: Kontakte verwalten, Aussteller abrufen, Liste von Ausstellern, Aussteller festlegen, Aussteller löschen, Aussteller verwalten, Abrufen, Auflisten, Erstellen, Importieren, Aktualisieren, Löschen, Wiederherstellen, Sichern, Wiederherstellen, Bereinigen.

Geheimnisse: Abrufen, Auflisten, Festlegen, Löschen, Wiederherstellen, Sichern, Wiederherstellen, Endgültig löschen
Zugriffsrichtlinie für Key Vault oder Azure RBAC

Verwalten des administrativen Zugriffs auf Key Vault

Wenn man einen Schlüsseltresor in einer Ressourcengruppe erstellt, verwaltet man den Zugriff mit Microsoft Entra ID. Sie gewähren Benutzern oder Gruppen die Möglichkeit, die Schlüsseltresore in einer Ressourcengruppe zu verwalten. Sie können zugriff auf einer bestimmten Bereichsebene gewähren, indem Sie die entsprechenden Azure-Rollen zuweisen. Um einem Benutzer Zugriff zum Verwalten von Schlüsseltresoren zu gewähren, weisen Sie dem Benutzer eine vordefinierte Schlüsseltresor-Verwalter-Rolle zu. Die folgenden Bereichsebenen können einer Azure-Rolle zugewiesen werden:

  • Abonnement: Eine Azure-Rolle, die auf Abonnementebene zugewiesen ist, gilt für alle Ressourcengruppen und Ressourcen innerhalb dieses Abonnements.
  • Ressourcengruppe: Eine Azure-Rolle, die auf Ressourcengruppenebene zugewiesen ist, gilt für alle Ressourcen in dieser Ressourcengruppe.
  • Bestimmte Ressource: Eine Azure-Rolle, die einer bestimmten Ressource zugewiesen ist, gilt für diese Ressource. In diesem Fall ist die Ressource ein bestimmter Schlüsseltresor.

Wenn ein Benutzer über Contributor Berechtigungen für eine Schlüsseltresor-Verwaltungsebene verfügt, kann der Benutzer selbst Zugriff auf die Datenebene gewähren, indem er eine Key Vault-Zugriffsrichtlinie festlegt. Sie sollten mit dem Berechtigungsmodell der Zugriffsrichtlinien genau steuern, wer über Contributor Rollenzugriff auf Ihre Schlüsseltresore verfügt, um sicherzustellen, dass nur autorisierte Personen auf Ihre Schlüsseltresore, Schlüssel, Geheimnisse und Zertifikate zugreifen und diese verwalten können. Es wird empfohlen, das neue Rollenbasierte Zugriffssteuerung (Role Based Access Control, RBAC)-Berechtigungsmodell zu verwenden, um dieses Problem zu vermeiden. Mit dem RBAC-Berechtigungsmodell ist die Berechtigungsverwaltung auf die Rollen "Besitzer" und "Benutzerzugriffsadministrator" beschränkt, was die Trennung von Aufgaben zwischen Rollen für Sicherheitsvorgänge und allgemeinen Verwaltungsvorgängen ermöglicht.

Steuern des Zugriffs auf Key Vault-Daten

Sie können den Zugriff auf Key Vault-Schlüssel, Zertifikate und Geheimnisse mithilfe von Azure RBAC oder Key Vault-Zugriffsrichtlinien steuern.

Protokollierung und Überwachung

Die Protokollierung von Key Vault speichert Informationen zu den Aktivitäten, die auf Ihrem Tresor durchgeführt werden.

Sie können Key Vault in das Ereignisraster integrieren, um benachrichtigt zu werden, wenn sich der Status eines Schlüssels, eines Zertifikats oder eines geheimen Schlüssels geändert hat, der im Schlüsseltresor gespeichert ist.

Es ist auch wichtig, den Status Ihres Schlüsseltresors zu überwachen, um sicherzustellen, dass Ihr Dienst wie beabsichtigt funktioniert.

Sicherung und Wiederherstellung

Azure Key Vault Soft-Delete und Löschschutz ermöglichen es Ihnen, gelöschte Tresore und Tresorobjekte wiederherzustellen.

Sie sollten außerdem regelmäßig Sicherungskopien Ihres Tresors durchführen, wenn Sie Objekte innerhalb eines Tresors aktualisieren, löschen oder erstellen.