Rollenbasierte Zugriffssteuerung in Azure KI Studio

In diesem Artikel erfahren Sie, wie der Zugriff (Autorisierung) auf eine Azure KI Studio-Hub verwaltet wird. Die rollenbasierte Zugriffssteuerung von Azure (Azure RBAC) wird verwendet, um den Zugriff auf Azure-Ressourcen zu verwalten, z. B. die Möglichkeit, neue Ressourcen zu erstellen oder vorhandene zu verwenden. Benutzern in Ihrer Microsoft Entra ID werden bestimmte Rollen zugewiesen, die Zugriff auf Ressourcen gewähren. Azure bietet sowohl integrierte Rollen als auch die Möglichkeit, benutzerdefinierte Rollen zu erstellen.

Warnung

Die Anwendung einiger Rollen kann die Funktionalität der Benutzeroberfläche in Azure KI Studio für andere Benutz*innener einschränken. Wenn z. B. die Rolle eines Benutzers nicht die Möglichkeit hat, eine Compute-Instanz zu erstellen, ist die Option zum Erstellen einer Compute-Instanz im Studio nicht verfügbar. Dieses Verhalten wird erwartet und verhindert, dass der Benutzer Vorgänge versucht, die einen Fehler vom Typ „Zugriff verweigert“ zurückgeben würden.

KI Studio-Hub und -Projekt

Im Azure KI Studio gibt es zwei Zugriffsebenen: den Hub und das Projekt. Der Hub ist die Heimat der Infrastruktur (einschließlich der Einrichtung des virtuellen Netzwerks, vom Kunden verwalteter Schlüssel, verwalteter Identitäten und Richtlinien) und der Konfiguration Ihrer Azure KI-Dienste. Der Zugriff auf den Hub ermöglicht es Ihnen, die Infrastruktur zu ändern und neue Hubs und Projekte zu erstellen. Projekte sind eine Teilmenge des Hubs, die als Arbeitsbereiche fungieren, mit denen Sie KI-Systeme erstellen und bereitstellen können. Innerhalb eines Projekts können Sie Abläufe entwickeln, Modelle bereitstellen und Projektressourcen verwalten. Mit dem Projektzugriff können Sie KI von Anfang bis Ende entwickeln und dabei die Vorteile der auf dem Hub eingerichteten Infrastruktur nutzen.

Diagramm der Beziehung zwischen KI Studio-Ressourcen.

Einer der wichtigsten Vorteile der Hub- und Projektbeziehung besteht darin, dass Entwickler eigene Projekte erstellen können, welche die Hub-Sicherheitseinstellungen erben. Möglicherweise verfügen Sie auch über Entwickler, die an einem Projekt mitwirken und keine neuen Projekte erstellen können.

Standardrollen für den Hub

Der KI Studio-Hub verfügt über integrierte Rollen, die standardmäßig verfügbar sind.

Hier ist eine Tabelle der integrierten Rollen und deren Berechtigungen für den Hub:

Rolle Beschreibung
Besitzer Vollzugriff auf den Hub, einschließlich der Möglichkeit, neue Hubs zu verwalten und zu erstellen und Berechtigungen zuzuweisen. Diese Rolle wird dem Hubersteller automatisch zugewiesen.
Mitwirkender Benutzer haben Vollzugriff auf den Hub, einschließlich der Möglichkeit, neue Hubs zu erstellen, sind aber nicht in der Lage, Hubberechtigungen für die vorhandene Ressource zu verwalten.
Azure KI-Entwickler Sie können alle Aktionen ausführen, außer neue Hubs erstellen und die Hubberechtigungen verwalten. Benutzer*innen können z. B. Projekte, Compute und Verbindungen erstellen. Benutzer*innen können Berechtigungen innerhalb ihres Projekts zuweisen. Benutzer*innen können mit vorhandenen Azure KI-Ressourcen wie Azure OpenAI, Azure KI-Suche und Azure KI Services interagieren.
Azure KI-Rückschlussbereitstellungsoperator Führen Sie alle erforderlichen Aktionen durch, um eine Ressourcenbereitstellung innerhalb einer Ressourcengruppe zu erstellen.
Leser Schreibgeschützter Zugriff auf den Hub. Diese Rolle wird allen Projektmitgliedern innerhalb des Hubs automatisch zugewiesen.

Der Hauptunterschied zwischen „Mitwirkender“ und „Azure KI-Entwickler“ ist die Möglichkeit, neue Hubs zu erstellen. Wenn Sie nicht möchten, dass Benutzer neue Hubs erstellen (aufgrund von Kontingenten, Kosten oder einfach nur verwalten, wie viele Hubs Sie haben), weisen Sie die Azure KI-Entwicklerrolle zu.

Nur die Rollen „Besitzer“ und „Mitwirkender“ ermöglichen es Ihnen, einen Hub zu erstellen. Derzeit können Ihnen benutzerdefinierte Rollen nicht die Berechtigung erteilen, Hubs zu erstellen.

Rolle „Azure KI-Entwickler“

Der vollständige Satz von Berechtigungen für die Rolle „Azure KI-Entwickler“ lautet wie folgt:

{
    "Permissions": [ 
        { 
        "Actions": [
            "Microsoft.MachineLearningServices/workspaces/*/read",
            "Microsoft.MachineLearningServices/workspaces/*/action",
            "Microsoft.MachineLearningServices/workspaces/*/delete",
            "Microsoft.MachineLearningServices/workspaces/*/write",
            "Microsoft.MachineLearningServices/locations/*/read",
            "Microsoft.Authorization/*/read",
            "Microsoft.Resources/deployments/*"
        ],
    
        "NotActions": [
            "Microsoft.MachineLearningServices/workspaces/delete",
            "Microsoft.MachineLearningServices/workspaces/write",
            "Microsoft.MachineLearningServices/workspaces/listKeys/action",
            "Microsoft.MachineLearningServices/workspaces/hubs/write",
            "Microsoft.MachineLearningServices/workspaces/hubs/delete",
            "Microsoft.MachineLearningServices/workspaces/featurestores/write",
            "Microsoft.MachineLearningServices/workspaces/featurestores/delete"
        ], 
        "DataActions": [ 
            "Microsoft.CognitiveServices/accounts/OpenAI/*", 
            "Microsoft.CognitiveServices/accounts/SpeechServices/*", 
            "Microsoft.CognitiveServices/accounts/ContentSafety/*" 
        ], 
        "NotDataActions": [], 
        "Condition": null, 
        "ConditionVersion": null 
        } 
    ] 
}

Wenn die integrierte Rolle „Azure KI-Entwickler“ Ihre Anforderungen nicht erfüllt, können Sie eine benutzerdefinierte Rolle erstellen.

Standardrollen für Projekte

Projekte in KI Studio verfügen über integrierte Rollen, die standardmäßig verfügbar sind.

Hier ist eine Tabelle der integrierten Rollen und deren Berechtigungen für das Projekt:

Rolle Beschreibung
Besitzer Vollzugriff auf das Projekt, einschließlich der Möglichkeit, Projektbenutzern Berechtigungen zuzuweisen.
Mitwirkender Der Benutzer hat Vollzugriff auf das Projekt, kann Projektbenutzern jedoch keine Berechtigungen zuweisen.
Azure KI-Entwickler Benutzer können die meisten Aktionen ausführen, einschließlich der Erstellung von Bereitstellungen, aber keine Berechtigungen für Projektbenutzer zuweisen.
Azure KI-Rückschlussbereitstellungsoperator Führen Sie alle erforderlichen Aktionen durch, um eine Ressourcenbereitstellung innerhalb einer Ressourcengruppe zu erstellen.
Leser Schreibgeschützter Zugriff auf das Projekt.

Wenn einem Benutzer Zugriff auf ein Projekt gewährt wird (z. B. über die AI Studio-Berechtigungsverwaltung), werden dem Benutzer automatisch zwei weitere Rollen zugewiesen. Die erste Rolle ist Leser im Hub. Die zweite Rolle ist die Rolle "Bereitstellungsoperator für Inference", mit der der Benutzer Bereitstellungen für die Ressourcengruppe erstellen kann, in der sich das Projekt befindet. Diese Rolle besteht aus den beiden Berechtigungen: "Microsoft.Authorization/*/read" und "Microsoft.Resources/deployments/*".

Um die End-to-End-KI-Entwicklung und -Bereitstellung abzuschließen, benötigen Benutzer in einem Projekt nur diese beiden automatisch zugewiesenen Rollen und entweder die Rolle Mitwirkender oder Azure KI-Entwickler.

Die zum Erstellen eines Projekts erforderlichen Mindestberechtigungen sind eine Rolle, welche die zulässige Aktion Microsoft.MachineLearningServices/workspaces/hubs/join für den Hub hat. Die integrierte Azure II-Entwicklerrolle verfügt über diese Berechtigung.

Azure RBAC-Berechtigungen des Abhängigkeitsdiensts

Der Hub ist von anderen Azure-Diensten abhängig. In der folgenden Tabelle sind die Berechtigungen aufgeführt, die für diese Dienste erforderlich sind, wenn Sie einen Hub erstellen. Die Person, die den Hub erstellt, benötigt diese Berechtigungen. Die Person, die ein Projekt aus dem Hub erstellt, benötigt sie nicht.

Berechtigung Zweck
Microsoft.Storage/storageAccounts/write Erstellen Sie ein Speicherkonto mit den angegebenen Parametern oder aktualisieren Sie die Eigenschaften oder Tags oder fügen Sie eine benutzerdefinierte Domäne für das angegebene Speicherkonto hinzu.
Microsoft.KeyVault/vaults/write Erstellt einen neuen Schlüsseltresor oder aktualisiert die Eigenschaften eines vorhandenen Schlüsseltresors. Bestimmte Eigenschaften erfordern möglicherweise mehr Berechtigungen.
Microsoft.CognitiveServices/accounts/write API-Konten schreiben.
Microsoft.MachineLearningServices/workspaces/write Erstellt einen Arbeitsbereich oder aktualisiert die Eigenschaften eines vorhandenen Arbeitsbereichs.

Beispiel für die Unternehmens-RBAC-Einrichtung

In der folgenden Tabelle finden Sie ein Beispiel dafür, wie Sie eine rollenbasierte Zugriffskontrolle für Ihr Azure KI Studio für ein Unternehmen einrichten.

Persona Role Purpose
IT-Administrator Besitzer des Hubs. Der IT-Administrator kann sicherstellen, dass der Hub für seine Unternehmensstandards eingerichtet ist. Sie können Managern die Rolle „Mitwirkender“ für die Ressource zuweisen, wenn sie Managern ermöglichen möchten, neue Hubs zu erstellen. Oder sie können Managern die Azure KI-Entwicklerrolle für die Ressource zuweisen, um keine neue Huberstellung zuzulassen.
Manager Mitwirkender oder Azure KI-Entwickler im Hub Manager können den Hub verwalten, Computeressourcen überwachen, Verbindungen überwachen und freigegebene Verbindungen erstellen.
Teamleiter/Leadentwickler Azure KI-Entwickler im Hub Leitende Entwickler können Projekte für ihr Team erstellen und gemeinsame Ressourcen (z. B. Rechenleistung und Verbindungen) auf der Hubebene anlegen. Nach der Projekterstellung können Projektbesitzer andere Mitglieder einladen.
Teammitglieder/Entwickler Mitwirkender oder Azure KI-Entwickler im Projekt Entwickler können KI-Modelle in einem Projekt erstellen und bereitstellen und Ressourcen erstellen, die Entwicklung ermöglichen, z. B. Berechnungen und Verbindungen.

Zugriff auf Ressourcen, die außerhalb des Hubs erstellt wurden

Wenn Sie einen Hub erstellen, gewähren Ihnen die integrierten rollenbasierten Zugriffssteuerungsberechtigungen Zugriff auf die Verwendung der Ressource. Wenn Sie jedoch Ressourcen nutzen möchten, die nicht in Ihrem Namen erstellt wurden, müssen Sie beides sicherstellen:

  • Die Ressource, die Sie verwenden möchten, verfügt über Berechtigungen, die Ihnen den Zugriff darauf ermöglichen.
  • Ihr Hub darf darauf zugreifen.

Wenn Sie beispielsweise versuchen, einen neuen Blob-Speicher zu nutzen, müssen Sie sicherstellen, dass die verwaltete Identität des Hubs der Blob Storage-Leserrolle für das Blob hinzugefügt wird. Wenn Sie versuchen, eine neue Azure KI Search-Quelle zu verwenden, müssen Sie möglicherweise den Hub zu den Rollenzuweisungen der Azure KI Search hinzufügen.

Verwalten des Zugriffs mit Rollen

Wenn Sie Besitzer eines Hubs sind, können Sie für KI Studio Rollen hinzufügen und entfernen. Wechseln Sie in KI Studio zur Seite Home, und wählen Sie Ihren Hub aus. Wählen Sie dann Benutzer aus, um Benutzer für den Hub hinzuzufügen und zu entfernen. Sie können Berechtigungen auch über das Azure-Portal unter Access Control (IAM) oder über die Azure CLI verwalten. Verwenden Sie beispielsweise die Azure CLI, um „joe@contoso.com“ die Rolle „Azure KI-Entwickler“ für die Ressourcengruppe „this-rg“ mit dem folgenden Befehl zuzuweisen:

az role assignment create --role "Azure AI Developer" --assignee "joe@contoso.com" --resource-group this-rg 

Erstellen von benutzerdefinierten Rollen

Wenn die integrierten Rolle nicht ausreichend sind, können Sie benutzerdefinierte Rollen erstellen. Benutzerdefinierte Rollen können über Berechtigungen zum Lesen, Schreiben, Löschen und für Computeressourcen in diesem KI Studio verfügen. Sie können die Rolle auf einer bestimmten Projektebene, einer bestimmten Ressourcengruppenebene oder einer bestimmten Abonnementebene verfügbar machen.

Hinweis

Sie müssen auf der entsprechenden Ebene Besitzer der Ressource sein, um eine benutzerdefinierte Rolle in dieser Ressource erstellen zu können.

Im folgenden JSON-Beispiel wird eine benutzerdefinierte KI Studio-Entwicklerrolle auf Abonnementebene definiert:

{
    "properties": {
        "roleName": "AI Studio Developer",
        "description": "Custom role for AI Studio. At subscription level",
        "assignableScopes": [
            "/subscriptions/<your-subscription-id>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.MachineLearningServices/workspaces/write",
                    "Microsoft.MachineLearningServices/workspaces/endpoints/write",
                    "Microsoft.Storage/storageAccounts/write",
                    "Microsoft.Resources/deployments/validate/action",
                    "Microsoft.KeyVault/vaults/write",
                    "Microsoft.Authorization/roleAssignments/read",
                    "Microsoft.Authorization/roleDefinitions/read",
                    "Microsoft.CognitiveServices/*/read"
                ],
                "notActions": [
                    "Microsoft.MachineLearningServices/workspaces/delete",
                    "Microsoft.MachineLearningServices/workspaces/write",
                    "Microsoft.MachineLearningServices/workspaces/listKeys/action",
                    "Microsoft.MachineLearningServices/workspaces/hubs/write",
                    "Microsoft.MachineLearningServices/workspaces/hubs/delete",
                    "Microsoft.MachineLearningServices/workspaces/featurestores/write",
                    "Microsoft.MachineLearningServices/workspaces/featurestores/delete"
                ],
                "dataActions": [
                    "Microsoft.CognitiveServices/accounts/OpenAI/*/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/generate/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/extensions/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/embeddings/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/images/generations/action"
                ],
                "notDataActions": []
            }
        ]
    }
}

Schritte zum Erstellen einer benutzerdefinierten Rolle finden Sie in den folgenden Artikeln:

Weitere Informationen zum Erstellen benutzerdefinierter Rollen im Allgemeinen finden Sie im Artikel Benutzerdefinierte Azure-Rollen.

Zuweisen von Rollen in KI Studio

Sie können direkt in Azure KI Studio auf Hub- oder Projekt Benutzer hinzufügen und Rollen zuweisen. Wählen Sie auf einer Hub- oder Projektübersichtsseite Neuer Benutzer aus, um einen Benutzer hinzuzufügen.

Hinweis

Sie können nur integrierte Rollen auswählen. Wenn Sie benutzerdefinierte Rollen zuweisen müssen, müssen Sie das Azure-Portal, die Azure CLI oder Azure PowerShell verwenden.

Screenshot: Hubübersicht in Azure KI Studio mit hervorgehobener Schaltfläche „Neuer Benutzer“

Anschließend werden Sie aufgefordert, die Benutzerinformationen einzugeben und eine integrierte Rolle auszuwählen.

Screenshot: Aufforderung zum Hinzufügen von Benutzern mit auf „Azure KI-Entwickler“ festgelegter Rolle

Szenario: Verwenden eines vom Kunden verwalteten Schlüssels

Beim Konfigurieren eines Hubs für die Verwendung eines kundenseitig verwalteten Schlüssels (CMK) wird eine Azure Key Vault-Instanz verwendet, um den Schlüssel zu speichern. Der Benutzer- oder Dienstprinzipal, der zum Erstellen des Arbeitsbereichs verwendet wird, muss über die Zugriffsberechtigung „Besitzer“ oder „Mitwirkender“ für den Schlüsseltresor verfügen.

Wenn Ihr KI Studio-Hub mit einer benutzerseitig zugewiesenen verwalteten Identität konfiguriert ist, müssen der Identität den folgenden Rollen zugewiesen werden. Mit diesen Rollen kann die verwaltete Identität die Azure Storage-, Azure Cosmos DB- und Azure Search-Ressourcen erstellen, die bei Verwendung eines vom Kunden verwalteten Schlüssels verwendet werden:

  • Microsoft.Storage/storageAccounts/write
  • Microsoft.Search/searchServices/write
  • Microsoft.DocumentDB/databaseAccounts/write

Innerhalb des Schlüsseltresors muss dem Benutzer- oder Dienstprinzipal über eine Schlüsseltresor-Zugriffsrichtlinie Zugriff für das Erstellen, Abrufen, Löschen und Bereinigen des Schlüssels zugewiesen werden. Weitere Informationen finden Sie unter Azure Key Vault – Sicherheit.

Szenario: Verbindungen mit Microsoft Entra ID-Authentifizierung

Wenn Sie eine Verbindung erstellen, die die Microsoft Entra ID-Authentifizierung verwendet, müssen Sie Ihren Entwicklern Rollen zuweisen, damit diese auf die Ressource zugreifen können.

Ressourcenverbindung Role Beschreibung
Azure KI Cognitive Search Mitwirkender Listen Sie die API-Schlüsseln aus Azure KI Studio auf, um die Indizes aufzulisten.
Azure KI Search Mitwirkender an Suchindexdaten Erforderlich für Indizierungsszenarien
Azure KI Services/Azure OpenAI Mitwirkender für Cognitive Services OpenAI Rufen Sie die öffentliche Erfassungs-API im Azure KI Studio auf.
Azure KI Services/Azure OpenAI Cognitive Services-Benutzer Listen Sie die API-Schlüssel aus Azure KI Studio auf.
Azure KI Services/Azure OpenAI Mitwirkender für Cognitive Services Ermöglicht Aufrufe der Steuerungsebene.
Azure Blob Storage Mitwirkender an Storage-Blobdaten Erforderlich zum Lesen und Schreiben von Daten in den Blobspeicher.
Azure Data Lake Storage Gen2 Mitwirkender an Storage-Blobdaten Erforderlich zum Lesen und Schreiben von Daten in den Data Lake.
Microsoft OneLake Mitwirkender Um jemandem Zugriff auf Microsoft OneLake zu gewähren, müssen Sie ihnen Zugriff auf Ihren Microsoft Fabric-Arbeitsbereich gewähren.

Wichtig

Wenn Sie Promptflow mit Azure Storage (einschließlich Azure Data Lake Storage Gen 2) verwenden, müssen Sie auch die Rolle Privilegierter Mitwirkender von Speicherdateidaten zuweisen.

Bei Verwendung von authentifizierten Verbindungen in Microsoft Entra ID im Chat-Playground müssen sich die Dienste gegenseitig autorisieren, um auf die erforderlichen Ressourcen zuzugreifen. Administrator*innen, die die Konfiguration ausführen, benötigen die Rolle Owner für diese Ressourcen, um Rollenzuweisungen hinzuzufügen. In der folgenden Tabelle werden die für jede Ressource erforderlichen Rollenzuweisungen aufgelistet. Die Spalte Zugewiesene Person bezieht sich auf die systemseitig zugewiesene verwaltete Identität der aufgelisteten Ressource. Die Spalte Ressource bezieht sich auf die Ressource, auf die die zugewiesene Person zugreifen muss. Azure OpenAI verfügt beispielsweise über eine systemseitig zugewiesene verwaltete Identität, die der Rolle Suchindexdatenleser für die Ressource von Azure KI-Suche zugewiesen werden muss.

Role Zugewiesene Person Resource Beschreibung
Suchindexdatenleser Azure KI Services/Azure OpenAI Azure KI Search Der Rückschlussdienst fragt die Daten aus dem Index ab. Wird nur für Rückschlussszenarien verwendet.
Mitwirkender an Suchindexdaten Azure KI Services/Azure OpenAI Azure KI Search Lese-/Schreibzugriff auf Inhalte in Indizes. Importieren, Aktualisieren oder Abfragen der Dokumentensammlung eines Indexes. Wird nur für Erfassungs- und Rückschlussszenarien verwendet.
Mitwirkender von Suchdienst Azure KI Services/Azure OpenAI Azure KI Search Lese-/Schreibzugriff auf Objektdefinitionen (Indizes, Aliase, Synonymzuordnungen, Indexer, Datenquellen und Skillsets). Der Rückschlussdienst fragt das Indexschema für die automatische Feldzuordnung ab. Der Datenerfassungsdienst erstellt den Index, Datenquellen, Skills und den Indexer und fragt den Indexerstatus ab.
Mitwirkender für Cognitive Services OpenAI Azure KI Search Azure KI Services/Azure OpenAI Benutzerdefinierter Skill
Cognitive Services OpenAI-Benutzer Azure OpenAI-Ressource für das Chatmodell Azure OpenAI-Ressource für das Einbettungsmodell Nur erforderlich, wenn zwei Azure OpenAI-Ressourcen für die Kommunikation verwendet werden.
Mitwirkender an Storage-Blobdaten Azure KI Cognitive Search Azure Storage-Konto Liest Blobs und schreibt in den Wissensspeicher.
Mitwirkender an Storage-Blobdaten Azure KI Services/Azure OpenAI Azure Storage-Konto Liest aus dem Eingabecontainer und schreibt die vorverarbeitete Ergebnisse in den Ausgabecontainer.

Hinweis

Die Rolle Cognitive Services OpenAI-Benutzer ist nur erforderlich, wenn Sie zwei Azure OpenAI-Ressourcen verwenden: eine für Ihr Chatmodell und eine für Ihr Einbettungsmodell. Wenn dies zutrifft, aktivieren Sie Vertrauenswürdige Dienste und stellen Sie sicher, dass in der Verbindung für Ihr Einbettungsmodell der Azure OpenAI-Ressource Microsoft Entra ID aktiviert ist.

Szenario: Verwenden einer vorhandenen Azure OpenAI-Ressource

Wenn Sie eine Verbindung zu einer bestehenden Azure OpenAI-Ressource erstellen, müssen Sie Ihren Benutzerinnen und Benutzern auch Rollen zuweisen, damit diese auf die Ressource zugreifen können. Sie sollten entweder die Rolle Cognitive Services OpenAI-Benutzerin oder -Benutzer oder Cognitive Services OpenAI-Mitwirkende zuweisen, je nach den Aufgaben, die sie ausführen müssen. Informationen zu diesen Rollen und den von ihnen aktivierten Aufgaben finden Sie unter Azure OpenAI-Rollen.

Szenario: Verwenden von Azure Container Registry

Eine Azure Container Registry-Instanz ist eine optionale Abhängigkeit für Azure KI Studio-Hub. In der folgenden Tabelle ist die Unterstützungsmatrix bei der Authentifizierung eines Hubs bei Azure Container Registry abhängig von der Authentifizierungsmethode und der Konfiguration des Zugriffs auf das öffentliche Netzwerk für Azure Container Registry aufgeführt.

Authentifizierungsmethode Öffentlicher Netzwerkzugriff ist
deaktiviert
Azure Container Registry
Zugriff auf öffentliches Netzwerk aktiviert
Administratorbenutzer
Systemseitig zugewiesene verwalteten Identität für AI Studio-Hub
Benutzerseitig zugewiesene verwalteten Identität für AI Studio-Hub
mit der ACRPull-Rolle, die der Identität zugewiesen ist

Eine systemseitig zugewiesene verwaltete Identität wird automatisch den richtigen Rollen zugewiesen, wenn der Hub erstellt wird. Wenn Sie eine benutzerseitig zugewiesene verwaltete Identität verwenden, müssen Sie ihr die die Rolle ACRPull zuweisen.

Szenario: Verwenden von Azure Application Insights für die Protokollierung

Azure Application Insights ist eine optionale Abhängigkeit für den Azure KI Studio-Hub. In der folgenden Tabelle sind die erforderlichen Berechtigungen aufgeführt, wenn Sie beim Erstellen eines Hubs Application Insights verwenden möchten. Die Person, die den Hub erstellt, benötigt diese Berechtigungen. Die Person, die ein Projekt aus dem Hub erstellt, benötigt diese Berechtigungen nicht.

Berechtigung Zweck
Microsoft.Insights/Components/Write Schreiben sie in eine Komponentenkonfiguration für Anwendungseinblicke.
Microsoft.OperationalInsights/workspaces/write Erstellen Sie einen neuen Arbeitsbereich oder Links zu einem bestehenden Arbeitsbereich, indem Sie die Kunden-ID des bestehenden Arbeitsbereichs angeben.

Szenario: Beschaffung bereitgestellter Durchsatzeinheiten

Im folgenden Beispiel wird eine benutzerdefinierte Rolle definiert, die bereitgestellte Durchsatzeinheiten (PTU) beschaffen kann.

{
    "properties": {
        "roleName": "PTU procurer",
        "description": "Custom role to purchase PTU",
        "assignableScopes": [
            "/subscriptions/<your-subscription-id>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/accounts/commitmentplans/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/write",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/delete",
                    "Microsoft.CognitiveServices/locations/commitmentTiers/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/read",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/write",
                    "Microsoft.CognitiveServices/accounts/commitmentplans/delete",
                    "Microsoft.Features/features/read",
                    "Microsoft.Features/providers/features/read",
                    "Microsoft.Features/providers/features/register/action",
                    "Microsoft.Insights/logDefinitions/read",
                    "Microsoft.Insights/metricdefinitions/read",
                    "Microsoft.Insights/metrics/read",
                    "Microsoft.ResourceHealth/availabilityStatuses/read",
                    "Microsoft.Resources/deployments/operations/read",
                    "Microsoft.Resources/subscriptions/operationresults/read",
                    "Microsoft.Resources/subscriptions/read",
                    "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                    "Microsoft.Resources/subscriptions/resourceGroups/read"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

Szenario: Azure OpenAI Assistants-API

Im folgenden Beispiel wird eine Rolle für einen Entwickler mithilfe von Azure OpenAI Assistants definiert.

{
    "id": "",
    "properties": {
        "roleName": "Azure OpenAI Assistants API Developer",
        "description": "Custom role to work with Azure OpenAI Assistants API",
        "assignableScopes": [
            "<your-scope>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.CognitiveServices/*/read",
                    "Microsoft.Authorization/roleAssignments/read",
                    "Microsoft.Authorization/roleDefinitions/read"
                ],
                "notActions": [],
                "dataActions": [
                    "Microsoft.CognitiveServices/accounts/OpenAI/*/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/engines/generate/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/search/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/extensions/chat/completions/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/deployments/embeddings/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/images/generations/action",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/files/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/delete",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/messages/files/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/write",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/read",
                    "Microsoft.CognitiveServices/accounts/OpenAI/assistants/threads/runs/steps/read"
                ],
                "notDataActions": []
            }
        ]
    }
}

Problembehandlung

Fehler: Prinzipal hat keinen Zugriff auf API/Vorgang

Problembeschreibung

Wenn Sie den Azure KI Studio-Chat-Playground verwenden, erhalten Sie eine Fehlermeldung mit dem Hinweis „Prinzipal hat keinen Zugriff auf API/Vorgang“. Der Fehler enthält u. U. auch einen Wert für „Apim-request-id“.

Ursache

Der Benutzer oder Dienstprinzipal, der zum Authentifizieren von Anforderungen an Azure OpenAI oder Azure KI-Suche verwendet wird, verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf die Ressource.

Lösung

Weisen Sie dem Benutzer oder Dienstprinzipal die folgenden Rollen zu. Die von Ihnen zugewiesene Rolle hängt von den Diensten, die Sie verwenden, und von der Zugriffsebene ab, die der Benutzer oder Dienstprinzipal erfordert:

Dienst, auf den zugegriffen wird Role Beschreibung
Azure OpenAI Mitwirkender für Cognitive Services OpenAI Rufen Sie die öffentliche Erfassungs-API im Azure KI Studio auf.
Azure OpenAI Cognitive Services-Benutzer Listen Sie die API-Schlüssel aus Azure KI Studio auf.
Azure KI Cognitive Search Mitwirkender an Suchindexdaten Erforderlich für Indizierungsszenarien.
Azure KI Cognitive Search Suchindexdatenleser Der Rückschlussdienst fragt die Daten aus dem Index ab. Wird nur für Rückschlussszenarien verwendet.

Nächste Schritte