Ein­lei­tung

Wich­tig für die Nut­zung von Anwen­dun­gen und Ser­vices ist ins­be­son­dere die Sicher­heit, dass die ver­wen­de­ten Daten vor unbe­rech­tig­ten Angrif­fen geschützt wer­den. Dabei kommt der siche­ren Auf­be­wah­rung von Pass­wör­tern, Zer­ti­fi­ka­ten, Zugriffs­schlüs­seln, etc. eine ent­schei­dende Bedeu­tung zu. In der Ver­gan­gen­heit wur­den bereits ver­schie­dene Stra­te­gien ent­wi­ckelt, um die erfor­der­li­che Sicher­heit gewähr­leis­ten zu kön­nen. Sol­che Stra­te­gien sind zum Bei­spiel das Spei­chern von Zugangs­da­ten in einem Code, einer Kon­fi­gu­ra­ti­ons­da­tei, einer Daten­bank oder einer Umge­bungs­va­ria­ble. Aller­dings sind bei die­sen Metho­den einige Nach­teile zu beachten:

  • Es wird direkt auf die Zugangs­da­ten zugegriffen;
  • Ein Moni­to­ring von Zugrif­fen muss selbst­stän­dig imple­men­tiert werden;
  • Ein Update von Zugangs­da­ten ist schwer durchzuführen;
  • Die Sicher­heit des Ser­vers, in dem die Zugangs­da­ten gespei­chert sind, muss selbst­stän­dig gewähr­leis­tet werden.

Eine über­grei­fende Lösung, wel­che die genann­ten Nach­teile besei­tigt, bie­tet die Azure Cloud mit dem Azure Key Vault Ser­vice. Der Azure Key Vault Ser­vice ermög­licht es, die Zugangs­da­ten zen­tra­li­siert und sicher zu spei­chern bzw. zu ver­wal­ten (siehe Abbil­dung). Um einen bes­se­ren Ein­blick zu gewin­nen, wer­den in den fol­gen­den Abschnit­ten die wich­tigs­ten Eigen­schaf­ten und Funk­tio­na­li­tä­ten von Azure Key Vault vorgestellt.

Azure Security Handling with Azure Key Vault Service Bild1
Abbil­dung 1 Azure Key Vault

Key Vault Backbone

Azure Key Vault spei­chert die Schlüs­sel in Hard­ware-Sicher­heit-Modu­len (HSM), die kon­form mit dem US Fede­ral Infor­ma­tion Pro­ces­sing Stan­dard Publi­ca­tion (FIPS) 140–2 Level 2 sind. Ein Benut­zer kann neue Schlüs­sel in HSM erzeu­gen oder eigene Schlüs­sel gesi­chert in HSM impor­tie­ren. Azure Key Vault unter­stützt die fol­gen­den zwei Schlüsseltypen:

  • Soft­ware-geschützt: Schlüs­sel wer­den in HSM gespei­chert, aber kryp­to­gra­fi­sche Ope­ra­tio­nen wer­den außer­halb HSM durchgeführt.
  • HSM-geschützt: Schlüs­sel wer­den inner­halb HSM bear­bei­tet und gespei­chert und ver­las­sen somit HSM nicht. Sie sind aller­dings nur im Pre­mium Preis­mo­del verfügbar.

Um einen höhe­ren Sicher­heits­grad zu errei­chen, bie­tet Azure soge­nannte dedi­zierte HSM. Dedi­zierte HSM sind nur einem Benut­zer zuge­ord­net, wobei der jewei­lige Benut­zer allein die voll­stän­dige admi­nis­tra­tive Kon­trolle über die HSM hat. Jedoch haben dedi­zierte HSM gegen­über Azure Key Vault den Nach­teil, dass sie in Azure Diens­ten, die benut­zer­de­fi­nierte Schlüs­sel ver­wen­den (z. B. Azure Sto­rage), nicht inte­griert wer­den können.

Authen­ti­fi­zie­rung und Autorisierung

Azure Key Vault spei­chert sicher­heits­kri­ti­sche Infor­ma­tio­nen, sodass den Zugriffs­richt­li­nien auf die Daten eine zen­trale Bedeu­tung zukommt.    Der Benut­zer­zu­gang zu einem Schlüs­sel in Azure Key Vault ist mehr­stu­fig. Zuerst erfolgt die Authen­ti­fi­zie­rung des Benut­zers durch Azure Active Direc­tory. Dar­auf folgt die Auto­ri­sie­rung von Azure Key Vault mit­tels des Role-Based Access Con­trols (RBAC). Um schließ­lich den Schlüs­sel­wert zu erhal­ten, wird die interne Key Vault Access Policy über­prüft. In die­sem Zusam­men­hang ist zu beach­ten, dass die Key Vault Access Policy den Zugang sowohl für Benut­zer als auch für Appli­ka­tio­nen ermög­li­chen kann (siehe Abbildung).

Azure Security Handling with Azure Key Vault Service Bild2
Abbil­dung 2 Authen­ti­fi­zie­rung in der Azure Cloud

Authen­ti­fi­zie­rung von Applikationen

Als Best Prac­tice für die Authen­ti­fi­zie­rung von Appli­ka­tio­nen in Azure Key Vault emp­feh­len sich Mana­ged Iden­ti­ties (siehe Abbil­dung). Wenn eine ver­wal­tete Iden­ti­tät für eine Appli­ka­tion akti­viert wird, wird die Iden­ti­tät im Gegen­satz zu einer Authen­ti­fi­zie­rung mit einem Zer­ti­fi­kat auto­ma­tisch durch die Azure Active Direc­tory ver­wal­tet. Dies beinhal­tet den Vor­teil, dass der Benut­zer­auf­wand gering bleibt.

Mit­hilfe von Mana­ged Iden­ti­ties haben Appli­ka­tio­nen die Mög­lich­keit, sich bei Azure Key Vault zu authen­ti­fi­zie­ren, ohne Cre­den­ti­als im Code zu spei­chern. Dabei unter­lie­gen die ver­wal­te­ten Iden­ti­tä­ten, genau wie andere Iden­ti­tä­ten, den Richt­li­nien des RBAC. Die Mana­ged Iden­ti­ties sind unter ande­rem für die fol­gen­den Azure Ser­vices ver­füg­bar: Azure Data Fac­tory, Azure Func­tions, Azure Event Grid, Azure IoT Hub, Azure Kyber­netes Ser­vice, Azure Key Vault und Azure Vir­tual Machines.

Azure Security Handling with Azure Key Vault Service Bild3
Abbil­dung 3 Athen­ti­fi­zie­rung von Applikationen

Netz­werk­si­cher­heit: Fire­wall und private Endpunkte

Azure Key Vault ver­fügt, wie auch andere Azure Dienste, über eine Fire­wall und kann über private End­punkte mit vir­tu­el­len Netz­wer­ken ver­knüpft wer­den. Die Fire­wall ermög­licht, den Zugang zu Azure Key Vault auf dedi­zierte vir­tu­elle Netz­werke und IP-Adres­sen zu begren­zen. Dies ist ein wesent­li­cher Schutz­me­cha­nis­mus, der von Azure emp­foh­len wird.

Ein pri­va­ter End­punkt erlaubt es, Azure Key Vault in ein vir­tu­el­les Netz­werk zu inte­grie­ren. Andere Benut­zer kön­nen über einen pri­va­ten Link auf den End­punkt aus Ihrem vir­tu­el­len Netz­werk zugrei­fen.  In die­sem Sze­na­rio blei­ben die Daten inner­halb der Azure Back­bone Infrastruktur und gelan­gen daher nicht in das öffent­li­che Internet.

Moni­to­ring, Log­ging und Warnungen

Moni­to­ring, Log­ging und War­nun­gen für Azure Key Vault wur­den sehr aus­führ­lich imple­men­tiert. Moni­to­ring Dash­boards las­sen sich inner­halb weni­ger Sekun­den im Azure Key Vault Inter­face erstel­len. Die ver­füg­ba­ren Metri­ken sind die Zeit­la­tenz von API-Auf­ru­fen, die Ver­füg­bar­keit von Azure Key Vault, die gesamte Last auf Azure Key Vault in Pro­zent gerech­net und die Anzahl der Auf­rufe von Azure Key Vault. Eine fer­tige Über­sicht der Metri­ken kann auch direkt in Azure Moni­tor (aktu­ell in der Vor­schau) ange­zeigt wer­den. Dar­über hin­aus kann Azure Key Vault sowohl die Metri­ken als auch Logs, die zusätz­li­che Infor­ma­tio­nen zu den Metri­ken ent­hal­ten, nach Azure Log Ana­ly­tics, Azure Event Hub und ein Spei­cher­konto exportieren.

Basie­rend auf den Metri­ken las­sen sich sta­ti­sche und dyna­mi­sche Benut­zer­war­nun­gen ein­rich­ten, um früh­zei­tig auf uner­war­tete Ereig­nisse zu reagie­ren. Es wird eine sta­ti­sche War­nung aus­ge­löst, wenn eine Metrik einen sta­ti­schen Grenz­wert über­schrei­tet. Eine dyna­mi­sche War­nung erfor­dert, dass eine Metrik einen Wert eine defi­nierte Anzahl der Male passiert.

Backup und Recovery

Ein uner­war­te­ter Ver­lust von Sicher­heits­in­for­ma­tio­nen kann den gesam­ten Geschäfts­ab­lauf zum Erlie­gen brin­gen.  Daher bie­tet Azure Key Vault meh­rere Mecha­nis­men, um den Key Vault Dienst und des­sen Inhalte gegen einen Ver­lust zu schüt­zen. Für den Fall, dass ein Schlüs­sel oder ein kom­plet­ter Key Vault ver­se­hent­lich gelöscht wer­den, imple­men­tiert Azure eine Soft-Delete-Option. Diese Option ermög­licht es, gelöschte Inhalte inner­halb der Auf­be­wah­rungs­zeit, wel­che zwi­schen 7 und 90 Tage kon­fi­gu­rier­bar ist, wiederherzustellen.

Als Alter­na­tive zum Soft-Delete unter­stützt Azure Key Vault Back­ups von ein­zel­nen Schlüs­seln und Geheim­nis­sen, aber nicht vom kom­plet­ten Key Vault. Eine Backup-Datei kann nur inner­halb des glei­chen Azure Abon­ne­ments und der glei­chen Geo­gra­fie ent­schlüs­selt wer­den. Da der Ver­wal­tungs­auf­wand von Back­ups allein dem Benut­zer unter­liegt, emp­fiehlt Azure, die Back­ups nur dann vor­zu­neh­men, wenn es dafür beson­dere Anlässe gibt.

Jeder Azure Key Vault ver­fügt schließ­lich über zwei Repli­ka­tio­nen: Eine Repli­ka­tion in der glei­chen Region und eine andere Repli­ka­tion in einer ande­ren Region der glei­chen Geo­gra­fie. Es gibt also ins­ge­samt drei Kopien. Sobald eine Kom­po­nente in Azure Key Vault aus­fällt, wird die ent­spre­chende repli­zierte Kom­po­nente aktiv. Das Glei­che gilt, wenn eine Region kom­plett aus­fällt. Dann wird Azure Key Vault auto­ma­tisch auf eine andere Region umgeschaltet.

Use Cases

Azure Key Vault kann in ver­schie­de­nen Azure Diens­ten inte­griert wer­den. Zwei wich­tige Anwen­dungs­fälle sind:

  • Ent­wick­ler haben oft das Pro­blem, Zugangs­da­ten zu Ihrer Ent­wick­lungs- und Pro­duk­tiv­um­ge­bung zu ver­wal­ten. Azure DevOps/Pipeline erlaubt Schlüs­sel aus einem Key Vault in eine Pipe­line oder ein Release anzu­bin­den. Als Folge wer­den keine Schlüs­sel mehr hart­ko­diert, son­dern leicht und zen­tra­li­siert durch die Active Direc­tory und das RBAC verwaltet.
  • Orches­trie­rung und Auto­ma­ti­sie­rung von Cloud-Lösun­gen wird oft von Azure Func­tions über­nom­men. Ein­zelne Schritte kön­nen dabei Zugangs­da­ten erfor­dern. Azure Func­tions kön­nen auf ein Key Vault mit­tels einer Mana­ged Iden­tity zugrei­fen. Die­ser Ansatz lässt sich inner­halb weni­ger Minu­ten kon­fi­gu­rie­ren und automatisieren.

Key Vault ist ein sehr hilf­rei­cher Dienst von Azure Cloud. Azure Key Vault erleich­tert deut­lich die Ver­wal­tung von Zugangs­da­ten in ver­schie­de­nen Umge­bun­gen und nimmt damit einen fes­ten Platz in vie­len Cloud Archi­tek­tu­ren an.