Berücksichtigen der Authentifizierung

Abgeschlossen

Der Zugriff auf Azure KI Services-Ressourcen wird standardmäßig mithilfe von Abonnementschlüsseln eingeschränkt. Die Verwaltung des Zugriffs auf diese Schlüssel ist ein wichtiger Sicherheitsaspekt.

Erneutes Generieren von Schlüsseln

Sie sollten Schlüssel regelmäßig neu generieren, um das Risiko der Freigabe von Schlüsseln für oder des Zugriffs durch nicht autorisierte Benutzer zu minimieren. Sie können Schlüssel mit dem Azure-Portal oder mithilfe des az cognitiveservices account keys regenerate Azure-Befehlszeilenschnittstelle (Command-Line Interface, CLI)-Befehls neu generieren.

Jeder KI-Service wird mit zwei Schlüsseln bereitgestellt, sodass Sie Schlüssel ohne Dienstunterbrechung neu generieren können. Dies erreichen Sie folgendermaßen:

  1. Wenn Sie beide Schlüssel in der Produktion verwenden, ändern Sie Ihren Code so, dass nur ein Schlüssel verwendet wird. Konfigurieren Sie beispielsweise alle Produktionsanwendungen für die Verwendung von Schlüssel 1.
  2. Generieren Sie Schlüssel 2 neu.
  3. Legen Sie für alle Produktionsanwendungen fest, dass der neu generierte Schlüssel 2 verwendet werden soll.
  4. Generieren Sie Schlüssel 1 neu.
  5. Aktualisieren Sie schließlich Ihren Produktionscode, um den neuen Schlüssel 1 zu verwenden.

Um beispielsweise Schlüssel im Azure-Portal neu zu generieren, können Sie die folgenden Aktionen ausführen:

  1. Wechseln Sie im Azure-Portal zum Bereich „Schlüssel und Endpunkt“ Ihrer Ressource.
  2. Wählen Sie dann Schlüssel1 neu generieren oder Schlüssel2 neu generieren aus, je nachdem, welchen Schlüssel Sie jeweils neu generieren möchten.

Schützen von Schlüsseln mit Azure Key Vault

Azure Key Vault ist ein Azure-Dienst, in dem Sie Geheimnisse (z. B. Kennwörter und Schlüssel) sicher speichern können. Der Zugriff auf den Schlüsseltresor wird Sicherheitsprinzipalen gewährt, die Sie sich als Benutzeridentitäten vorstellen können, die mithilfe von Microsoft Entra ID authentifiziert werden. Administratoren können einer Anwendung einen Sicherheitsprinzipal zuweisen (in diesem Fall als Dienstprinzipal bezeichnet), um eine verwaltete Identität für die Anwendung zu definieren. Die Anwendung kann dann diese Identität verwenden, um auf den Schlüsseltresor zuzugreifen und ein Geheimnis abzurufen, auf das sie Zugriff hat. Das Steuern des Zugriffs auf das Geheimnis auf diese Weise minimiert das Risiko, dass es durch Hartcodieren in einer Anwendung oder durch Speichern in einer Konfigurationsdatei kompromittiert werden kann.

Sie können die Abonnementschlüssel für eine KI Services-Ressource in Azure Key Vault speichern und Clientanwendungen, die den Dienst verwenden müssen, eine verwaltete Identität zuweisen. Die Anwendungen können dann den Schlüssel nach Bedarf aus dem Schlüsseltresor abrufen, ohne dass das Risiko besteht, dass er für nicht autorisierte Benutzer verfügbar ist.

Diagram showing Azure AI services credentials retrieved from Azure Key Vault.

Tokenbasierte Authentifizierung

Bei Verwendung der REST-Schnittstelle wird die tokenbasierte Authentifizierung von einigen KI Services unterstützt (oder sogar verlangt). In diesen Fällen wird der Abonnementschlüssel in einer ersten Anforderung zum Abrufen eines Authentifizierungstokens mit einer Gültigkeitsdauer von 10 Minuten bereitgestellt. Nachfolgende Anforderungen müssen das Token bereitstellen, um zu überprüfen, ob der Aufrufer authentifiziert wurde.

Tipp

Wenn Sie ein SDK verwenden, werden die Aufrufe zum Abrufen und Bereitstellen eines Tokens vom SDK verarbeitet.

Microsoft Entra ID-Authentifizierung

Azure KI Services unterstützen die Microsoft Entra ID-Authentifizierung, sodass Sie den Zugriff auf bestimmte Dienstprinzipale oder verwaltete Identitäten für in Azure ausgeführte Apps und Dienste gewähren können.

Hinweis

Weitere Informationen zu Authentifizierungsoptionen für KI Services finden Sie in der Dokumentation zu KI Services.

Es gibt verschiedene Möglichkeiten, wie Sie sich bei Azure KI Services mithilfe von Microsoft Entra ID authentifizieren können, darunter:

Authentifizieren mithilfe von Dienstprinzipalen

Der allgemeine Prozess zur Authentifizierung bei Azure KI Services mithilfe von Dienstprinzipalen lautet wie folgt:

Erstellen einer benutzerdefinierten Unterdomäne

Sie können eine benutzerdefinierte Unterdomäne auf unterschiedliche Weise erstellen, z. B. über das Azure-Portal, die Azure CLI oder PowerShell.

Sie können beispielsweise eine Unterdomäne mit PowerShell in der Azure Cloud Shell erstellen. Dazu wählen Sie Ihr Abonnement mit dem folgenden Befehl aus:

Set-AzContext -SubscriptionName <Your-Subscription-Name>

Anschließend erstellen Sie Ihre Azure KI Services-Ressource, die eine benutzerdefinierte Unterdomäne angibt, indem Sie Folgendes ausführen:

$account = New-AzCognitiveServicesAccount -ResourceGroupName <your-resource-group-name> -name <your-account-name> -Type <your-account-type> -SkuName <your-sku-type> -Location <your-region> -CustomSubdomainName <your-unique-subdomain-name>

Nach der Erstellung wird Ihr Unterdomänenname in der Antwort zurückgegeben.

Zuweisen einer Rolle zu einem Dienstprinzipal

Sie haben eine Azure KI-Ressource erstellt, die mit einer benutzerdefinierten Unterdomäne verknüpft ist. Als nächstes weisen Sie einem Dienstprinzipal eine Rolle zu.

Zunächst müssen Sie eine Anwendung registrieren. Führen Sie zu diesem Zweck den folgenden Befehl aus:

$SecureStringPassword = ConvertTo-SecureString -String <your-password> -AsPlainText -Force

$app = New-AzureADApplication -DisplayName <your-app-display-name> -IdentifierUris <your-app-uris> -PasswordCredentials $SecureStringPassword

Dadurch wird die Anwendungsressource erstellt.

Anschließend verwenden Sie den Befehl New-AzADServicePrincipal, um einen Dienstprinzipal zu erstellen und die ID Ihrer Anwendung bereitzustellen:

New-AzADServicePrincipal -ApplicationId <app-id>

Schließlich weisen Sie Ihrem Dienstprinzipal die Rolle Cognitive Services Users zu, indem Sie Folgendes ausführen:

New-AzRoleAssignment -ObjectId <your-service-principal-object-id> -Scope <account-id> -RoleDefinitionName "Cognitive Services User"

Mit verwalteten Identitäten authentifizieren

Verwaltete Identitäten sind in zwei Arten verfügbar:

  • Systemseitig zugewiesene verwaltete Identität: Eine verwaltete Identität wird erstellt und mit einer bestimmten Ressource verknüpft, z. B. einem virtuellen Computer, der auf Azure KI Services zugreifen muss. Wenn die Ressource gelöscht wird, wird auch die Identität gelöscht.
  • Benutzerseitig zugewiesene verwaltete Identität: Die verwaltete Identität wird erstellt, damit sie von mehreren Ressourcen verwendet werden kann, anstatt mit einer einzigen verknüpft zu werden. Sie existiert unabhängig von jeder einzelnen Ressource.

Sie können jede Art von verwalteter Identität einer Ressource entweder während der Erstellung der Ressource oder nach der Erstellung zuweisen.

Angenommen, Sie haben einen virtuellen Computer in Azure, den Sie für den täglichen Zugriff auf Azure KI Services verwenden möchten. Um eine vom System zugewiesene Identität für diesen virtuellen Computer zu aktivieren, stellen Sie zuerst sicher, dass Ihr Azure-Konto über die Rolle „Mitwirkender virtueller Computer“ verfügt. Anschließend können Sie den folgenden Befehl mithilfe der Azure CLI im Azure Cloud Shell-Terminal ausführen:

az vm identity assign -g <my-resource-group> -n <my-vm>

Dann können Sie im Azure-Portal Zugriff auf Azure KI Services gewähren, indem Sie Folgendes verwenden:

  1. Wechseln Sie zur Azure KI Services-Ressource, die Sie dem verwalteten Identitätszugriff des virtuellen Computers gewähren möchten.

  2. Wählen Sie im Übersichtsbereich die Option Zugriffssteuerung (IAM) aus.

  3. Wählen Sie Hinzufügen und dann Rollenzuweisung hinzufügen aus.

  4. Wählen Sie auf der Registerkarte „Rolle“ die Option Cognitive Services Contributor aus.

    A screenshot showing the Add role assignment tab.

  5. Wählen Sie auf der Registerkarte „Mitglieder“ unter der Option „Zugriff zuweisen an“ die Option Verwaltete Identität aus. Wählen Sie dann + Mitglieder auswählen aus.

    A screenshot showing the Select managed identities pane.

  6. Stellen Sie sicher, dass Ihr aktives Abonnement in der Option „Abonnement“ ausgewählt ist. Wählen Sie für „Verwaltete Identität“ den virtuellen Computer aus.

  7. Wählen Sie Ihren virtuellen Computer in der Liste und dann Auswählen aus.

  8. Wählen Sie abschließend Überprüfen + Zuweisen aus. Wählen Sie „Überprüfen“ und dann Überprüfen + zuweisen, um den Vorgang abzuschließen.

Hinweis

Weitere Informationen zum Konfigurieren verwalteter Identitäten, einschließlich von Benutzern verwalteter Identitäten, finden Sie unter Konfigurieren verwalteter Identitäten für Azure-Ressourcen auf Azure VM mit Azure CLI