Geheimniseinschleusung in Onlineendpunkten (Vorschau)

GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)

Die Geheimniseinschleusung im Kontext eines Onlineendpunkts ist ein Prozess des Abrufens von Geheimnissen (z. B. API-Schlüssel) aus Geheimnisspeichern und das Einschleusen dieser in Ihren Benutzercontainer, der in einer Onlinebereitstellung ausgeführt wird. Auf Geheimnisse wird schließlich sicher über Umgebungsvariablen zugegriffen, die vom Rückschlussserver, der Ihr Bewertungsskript ausführt, oder vom Rücksschlussstapel verwendet werden, den Sie mit einem BYOC-Bereitstellungsansatz (Bring Your Own Container) zur Verfügung stellen.

Wichtig

Dieses Feature ist zurzeit als öffentliche Preview verfügbar. Diese Vorschauversion wird ohne Vereinbarung zum Servicelevel bereitgestellt und ist nicht für Produktionsworkloads vorgesehen. Manche Features werden möglicherweise nicht unterstützt oder sind nur eingeschränkt verwendbar.

Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

Problembeschreibung

Wenn Sie eine Onlinebereitstellung erstellen, sollten Sie Geheimnisse aus der Bereitstellung verwenden, um auf externe Dienste zuzugreifen. Einige dieser externen Dienste umfassen Microsoft Azure OpenAI Service, Azure KI Services und Azure KI Inhaltssicherheit.

Um die Geheimnisse zu verwenden, müssen Sie eine Möglichkeit finden, sie sicher an Ihren Benutzercontainer zu übergeben, der innerhalb der Bereitstellung ausgeführt wird. Es wird nicht empfohlen, Geheimnisse als Teil der Bereitstellungsdefinition einzubeziehen, da diese Vorgehensweise die Geheimnisse in der Bereitstellungsdefinition verfügbar macht.

Ein besserer Ansatz besteht darin, die Geheimnisse in Geheimnisspeichern zu speichern und diese dann sicher aus der Bereitstellung abzurufen. Dieser Ansatz stellt jedoch eine eigene Herausforderung dar: Wie soll sich die Bereitstellung selbst bei den Geheimspeichern authentifizieren, um Geheimnisse abzurufen? Da die Onlinebereitstellung Ihren Benutzercontainer mithilfe der Endpunktidentität ausführt, bei der es sich um eine verwaltete Identität handelt, können Sie Azure RBAC verwenden, um die Berechtigungen der Endpunktidentität zu steuern und dem Endpunkt das Abrufen von Geheimnissen aus dem Geheimnisspeicher zu ermöglichen. Wenn Sie diesen Ansatz verwenden, müssen Sie die folgenden Aufgaben ausführen:

  • Weisen Sie der Endpunktidentität die richtigen Rollen zu, damit Geheimnisse aus dem Geheimnisspeichern gelesen werden können.
  • Implementieren Sie die Bewertungslogik für die Bereitstellung, sodass sie die verwaltete Identität des Endpunkts verwendet, um die Geheimnisse aus dem Geheimnisspeichern abzurufen.

Während dieser Ansatz bei der Verwendung einer verwalteten Identität eine sichere Möglichkeit zum Abrufen und Einschleusen von Geheimnissen ist, vereinfacht die Geheimniseinschleusung über das Feature der Geheimniseinschleusung das Abrufen von Geheimnissen für Arbeitsbereichsverbindungen und Schlüsseltresore weiter.

Dem Endpunkt zugeordnete verwaltete Identität

Eine Onlinebereitstellung führt Ihren Benutzercontainer mit der verwalteten Identität aus, die dem Endpunkt zugeordnet ist. Diese verwaltete Identität, die als Endpunktidentität bezeichnet wird, ist eine Microsoft Entra ID, die Azure RBAC- unterstützt. Daher können Sie der Identität Azure-Rollen zuweisen, um Berechtigungen zu steuern, die zum Ausführen von Vorgängen erforderlich sind. Diese Endpunktidentität kann entweder eine systemseitig zugewiesene Identität (System-Assigned Identity, SAI) oder eine benutzerseitig zugewiesene Identität (User-Assigned Identity, UAI) sein. Sie können entscheiden, welche dieser Arten von Identitäten verwendet werden sollen, wenn Sie den Endpunkt erstellen.

  • Bei einer vom System zugewiesenen Identitätwird die Identität automatisch erstellt, wenn Sie den Endpunkt erstellen, und Rollen mit grundlegenden Berechtigungen (z. B. die Pull-Berechtigung für die Azure Container Registry und der Speicher-BLOB-Datenleser) werden automatisch zugewiesen.
  • Bei einer vom Benutzer zugewiesenen Identitätmüssen Sie zuerst die Identität erstellen und sie dann dem Endpunkt zuordnen, wenn Sie den Endpunkt erstellen. Sie sind auch dafür verantwortlich, der UAI bei Bedarf geeignete Rollen zuzuweisen.

Weitere Informationen zur Verwendung verwalteter Identitäten eines Endpunkts finden Sie unter Zugreifen auf Ressourcen von Endpunkten mit verwalteten Identitäten und in dem Beispiel zur Verwendung verwalteter Identitäten für die Interaktion mit externen Diensten.

Rollenzuweisung zur Endpunktidentität

Die folgenden Rollen sind für die Geheimnisspeicher erforderlich:

  • Für Geheimnisse, die in Arbeitsbereichsverbindungen unter Ihrem Arbeitsbereich gespeichert sind: Workspace Connections stellt eine API zum Auflisten von Geheimnissen (Vorschau) bereit, die erfordert, dass die Identität zum Aufrufen der API der Identität die Rolle Azure Machine Learning Workspace Connection Secrets Reader (oder gleichwertig) zugewiesen hat.
  • Für Geheimnisse, die in einem externen Microsoft Azure Key Vault gespeichert sind: Key Vault stellt eine API zum Abrufen von Geheimnisversionen (Vorschau) bereit, die erfordert, dass die Identität zum Aufrufen der API der Identität die Rolle Key Vault Secrets User (oder gleichwertig) zugewiesen hat.

Implementierung der Geheimniseinschleusung

Sobald Geheimnisse (z. B. API-Schlüssel) aus Geheimnisspeichern abgerufen werden, gibt es zwei Möglichkeiten, sie in einen Benutzercontainer einzuschleusen, der innerhalb der Onlinebereitstellung ausgeführt wird:

  • Schleusen Sie Geheimnisse selbst ein, indem Sie verwaltete Identitäten verwenden.
  • Schleusen Sie Geheimnisse mithilfe des Features der Geheimniseinschleusung ein.

Beide Ansätze umfassen zwei Schritte:

  1. Erstens: Rufen Sie Geheimnisse aus dem Geheimnisspeicher mithilfe der Endpunktidentität ab.
  2. Zweitens: Schleusen Sie Geheimnisse in Ihren Benutzercontainer ein.

Geheimniseinschleusung über die Verwendung von verwalteten Identitäten

In Ihrer Bereitstellungsdefinition müssen Sie die Endpunktidentität verwenden, um die APIs aus Geheimnisspeichern aufzurufen. Sie können diese Logik entweder in Ihrem Bewertungsskript oder in Shellskripts implementieren, die Sie im BYOC-Container ausführen. Informationen zum Implementieren der Geheimniseinschleusung über die Verwendung von verwalteten Identitäten finden Sie im Beispiel für die Verwendung verwalteter Identitäten für die Interaktion mit externen Diensten.

Geheimniseinschleusung über das Feature der Geheimniseinschleusung

Um das Feature der Geheimniseinschleusung zu verwenden, ordnen Sie in Ihrer Bereitstellungsdefinition die Geheimnisse (auf die Sie verweisen möchten) aus Arbeitsbereichsverbindungen oder dem Key Vault zu den Umgebungsvariablen zu. Bei diesem Ansatz müssen Sie keinen Code in Ihrem Bewertungsskript oder in Shellskripts schreiben, die Sie im BYOC-Container ausführen. Um die Geheimnisse aus Arbeitsbereichsverbindungen oder dem Key Vault den Umgebungsvariablen zuzuordnen, müssen die folgenden Bedingungen erfüllt sein:

  • Wenn während der Endpunkterstellung ein Onlineendpunkt definiert wurde, um den Zugriff auf standardmäßige Geheimnisspeicher (Arbeitsbereichsverbindungen unter dem aktuellen Arbeitsbereich) zu erzwingen, sollte Ihre Benutzeridentität, die die Bereitstellung unter dem Endpunkt erstellt, über die Berechtigungen zum Lesen von Geheimnissen aus Arbeitsbereichsverbindungen verfügen.
  • Die von der Bereitstellung verwendete Endpunktidentität sollte über Berechtigungen zum Lesen von Geheimnissen aus Arbeitsbereichsverbindungen oder dem Key Vault verfügen, worauf in der Bereitstellungsdefinition verwiesen wurde.

Hinweis

  • Wenn der Endpunkt erfolgreich mit einem SAI erstellt und das Flag festgelegt wurde, um den Zugriff auf standardmäßige Geheimnisspeicher zu erzwingen, verfügt der Endpunkt automatisch über die Berechtigung für Arbeitsbereichsverbindungen.
  • Wenn der Endpunkt eine UAI verwendet hat oder das Flag zum Erzwingen des Zugriffs auf standardmäßige Geheimnisse nicht festgelegt wurde, verfügt die Endpunktidentität möglicherweise nicht über die Berechtigung für Arbeitsbereichsverbindungen. In einer solchen Situation müssen Sie die Rolle für die Arbeitsbereichsverbindungen manuell der Endpunktidentität zuweisen.
  • Die Endpunktidentität erhält nicht automatisch eine Berechtigung für den externen Key Vault. Wenn Sie den Key Vault als Geheimnisspeicher verwenden, müssen Sie die Rolle für den Key Vault manuell der Endpunktidentität zuweisen.

Weitere Informationen zur Verwendung der Geheimniseinschleusung finden Sie unter Bereitstellen von Machine Learning-Modellen für Onlineendpunkte mit Geheimniseinschleusung (Vorschau).