Sdílet prostřednictvím


Řízení přístupu na základě role ve službě Azure AI Studio

Důležité

Některé funkce popsané v tomto článku můžou být dostupné jenom ve verzi Preview. Tato verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučujeme ji pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

V tomto článku se dozvíte, jak spravovat přístup (autorizace) k centru Azure AI Studio. Řízení přístupu na základě role Azure (Azure RBAC) se používá ke správě přístupu k prostředkům Azure, jako je schopnost vytvářet nové prostředky nebo používat existující. Uživatelům ve vašem Microsoft Entra ID jsou přiřazeny konkrétní role, které udělují přístup k prostředkům. Azure poskytuje předdefinované role i možnost vytvářet vlastní role.

Upozorňující

Použití některých rolí může omezit funkčnost uživatelského rozhraní v Azure AI Studiu pro ostatní uživatele. Pokud například role uživatele nemá možnost vytvořit výpočetní instanci, nebude možnost vytvoření výpočetní instance ve studiu k dispozici. Toto chování se očekává a zabrání uživateli v pokusu o operace, které by vrátily chybu odepření přístupu.

Centrum AI Studio vs. projekt

V Azure AI Studiu existují dvě úrovně přístupu: centrum a projekt. Centrum je domovem infrastruktury (včetně nastavení virtuální sítě, klíčů spravovaných zákazníkem, spravovaných identit a zásad) a místa, kde konfigurujete služby Azure AI. Přístup k centru vám umožní upravovat infrastrukturu, vytvářet nová centra a vytvářet projekty. Projekty jsou podmnožinou centra, které funguje jako pracovní prostory, které umožňují sestavovat a nasazovat systémy AI. V rámci projektu můžete vyvíjet toky, nasazovat modely a spravovat prostředky projektu. Project Access umožňuje vyvíjet komplexní AI a současně využívat výhod nastavení infrastruktury v centru.

Diagram vztahu mezi prostředky AI Studia

Jednou z klíčových výhod vztahu centra a projektu je to, že vývojáři můžou vytvářet vlastní projekty, které dědí nastavení zabezpečení centra. Můžete mít také vývojáře, kteří jsou přispěvateli projektu a nemůžou vytvářet nové projekty.

Výchozí role pro centrum

Centrum AI Studio má ve výchozím nastavení předdefinované role, které jsou k dispozici.

Tady je tabulka předdefinovaných rolí a jejich oprávnění pro centrum:

Role Popis
Vlastník Úplný přístup k centru, včetně možnosti spravovat a vytvářet nová centra a přiřazovat oprávnění. Tato role se automaticky přiřadí tvůrci centra.
Přispěvatel Uživatel má úplný přístup k centru, včetně možnosti vytvářet nová centra, ale nemůže spravovat oprávnění centra pro existující prostředek.
Azure AI Developer Proveďte všechny akce s výjimkou vytvoření nových center a správy oprávnění centra. Uživatelé můžou například vytvářet projekty, výpočetní prostředky a připojení. Uživatelé můžou v rámci svého projektu přiřadit oprávnění. Uživatelé můžou pracovat se stávajícími prostředky Azure AI, jako jsou Azure OpenAI, Azure AI Search a služby Azure AI.
Operátor nasazení odvození Azure AI Proveďte všechny akce potřebné k vytvoření nasazení prostředků v rámci skupiny prostředků.
Čtenář Přístup jen pro čtení k centru. Tato role se automaticky přiřadí všem členům projektu v centru.

Klíčovým rozdílem mezi přispěvatelem a vývojářem Azure AI je možnost vytvářet nová centra. Pokud nechcete, aby uživatelé vytvořili nová centra (kvůli kvótě, nákladům nebo správě toho, kolik center máte), přiřaďte roli Azure AI Developer.

Pouze role Vlastník a Přispěvatel umožňují vytvořit centrum. V tuto chvíli vám vlastní role nemůžou udělit oprávnění k vytváření center.

Úplná sada oprávnění pro novou roli Azure AI Developer je následující:

{
    "Permissions": [ 
        { 
        "Actions": [ 
    
            "Microsoft.MachineLearningServices/workspaces/*/read", 
            "Microsoft.MachineLearningServices/workspaces/*/action", 
            "Microsoft.MachineLearningServices/workspaces/*/delete", 
            "Microsoft.MachineLearningServices/workspaces/*/write" 
        ], 
    
        "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 
        } 
    ] 
}

Výchozí role pro projekty

Projekty v AI Studiu mají ve výchozím nastavení předdefinované role, které jsou k dispozici.

Tady je tabulka předdefinovaných rolí a jejich oprávnění pro projekt:

Role Popis
Vlastník Úplný přístup k projektu, včetně možnosti přiřazovat oprávnění uživatelům projektu.
Přispěvatel Uživatel má úplný přístup k projektu, ale nemůže přiřadit oprávnění uživatelům projektu.
Azure AI Developer Uživatel může provádět většinu akcí, včetně vytváření nasazení, ale nemůže přiřadit oprávnění uživatelům projektu.
Operátor nasazení odvození Azure AI Proveďte všechny akce potřebné k vytvoření nasazení prostředků v rámci skupiny prostředků.
Čtenář Přístup jen pro čtení k projektu.

Když je uživateli udělen přístup k projektu (například prostřednictvím správy oprávnění AI Studio), přiřadí se uživateli automaticky dvě další role. První role je čtenář v centru. Druhou rolí je role Operátor odvození nasazení, která uživateli umožňuje vytvářet nasazení ve skupině prostředků, ve které je projekt. Tato role se skládá z těchto dvou oprávnění: "Microsoft.Authorization/*/read" a "Microsoft.Resources/deployments/*".

Aby bylo možné dokončit kompletní vývoj a nasazení umělé inteligence, uživatelé potřebují jenom tyto dvě automaticky přiřazené role a roli Přispěvatel nebo Vývojář Azure AI v projektu.

Minimální oprávnění potřebná k vytvoření projektu jsou role, která má povolenou akci Microsoft.MachineLearningServices/workspaces/hubs/join v centru. Tato oprávnění má předdefinovaná role Azure AI Developer.

Oprávnění Azure RBAC služby Závislost

Centrum má závislosti na jiných službách Azure. Následující tabulka uvádí oprávnění požadovaná pro tyto služby při vytváření centra. Osoba, která vytváří centrum, potřebuje tato oprávnění. Osoba, která vytvoří projekt z centra, ho nepotřebuje.

Oprávnění Účel
Microsoft.Storage/storageAccounts/write Vytvořte účet úložiště se zadanými parametry nebo aktualizujte vlastnosti nebo značky nebo přidáte vlastní doménu pro zadaný účet úložiště.
Microsoft.KeyVault/vaults/write Vytvořte nový trezor klíčů nebo aktualizujte vlastnosti existujícího trezoru klíčů. Některé vlastnosti můžou vyžadovat více oprávnění.
Microsoft.CognitiveServices/accounts/write Zápis účtů rozhraní API
Microsoft.MachineLearningServices/workspaces/write Vytvořte nový pracovní prostor nebo aktualizujte vlastnosti existujícího pracovního prostoru.

Ukázková podniková instalace RBAC

Následující tabulka je příkladem nastavení řízení přístupu na základě role pro azure AI Studio pro podniky.

Osoba Role Účel
Správce IT Vlastník centra Správce IT může zajistit, aby centrum bylo nastavené na podnikové standardy. Pokud chtějí správcům povolit vytváření nových center, můžou k prostředku přiřadit roli Přispěvatel. Nebo můžou přiřadit nadřízeným roli Azure AI Developer v prostředku, aby nepovolili vytvoření nového centra.
Manažeři Přispěvatel nebo Vývojář Azure AI v centru Správci můžou spravovat centrum, auditovat výpočetní prostředky, auditovat připojení a vytvářet sdílená připojení.
Vedoucí týmu nebo vedoucí vývojář Azure AI Developer v centru Vedoucí vývojáři můžou vytvářet projekty pro svůj tým a vytvářet sdílené prostředky (např. výpočetní prostředky a připojení) na úrovni centra. Po vytvoření projektu můžou vlastníci projektu pozvat další členy.
Členové týmu nebo vývojáři Přispěvatel nebo vývojář Azure AI v projektu Vývojáři můžou vytvářet a nasazovat modely AI v rámci projektu a vytvářet prostředky, které umožňují vývoj, jako jsou výpočty a připojení.

Přístup k prostředkům vytvořeným mimo centrum

Při vytváření centra vám předdefinovaná oprávnění řízení přístupu na základě role udělí přístup k použití prostředku. Pokud ale chcete použít prostředky mimo to, co se vytvořilo vaším jménem, musíte zajistit obojí:

  • Prostředek, který se pokoušíte použít, má nastavená oprávnění, která vám umožní přístup k prostředku.
  • Vaše centrum má povolený přístup.

Pokud se například pokoušíte využívat nové úložiště objektů blob, musíte zajistit, aby se spravovaná identita centra přidala do role Čtenář služby Blob Storage pro objekt blob. Pokud se pokoušíte použít nový zdroj služby Azure AI Search, možná budete muset centrum přidat do přiřazení rolí služby Azure AI Search.

Správa přístupu pomocí rolí

Pokud jste vlastníkem centra, můžete přidat a odebrat role pro AI Studio. Přejděte na domovskou stránku v AI Studiu a vyberte centrum. Pak vyberte Uživatelé a přidejte a odeberte uživatele pro centrum. Oprávnění můžete spravovat také na webu Azure Portal v části Řízení přístupu (IAM) nebo prostřednictvím Azure CLI. Například pomocí Azure CLI přiřaďte roli Vývojáře Azure AI projoe@contoso.com skupinu prostředků this-rg pomocí následujícího příkazu:

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

Vytváření vlastních rolí

Poznámka:

Abyste mohli vytvořit nové centrum, potřebujete roli Vlastník nebo Přispěvatel. V tuto chvíli vám vlastní role, i když jsou povolené všechny akce, neumožní vytvořit centrum.

Pokud si s předdefinovanými rolemi nevystačíte, můžete vytvářet role vlastní. Vlastní role můžou mít oprávnění ke čtení, zápisu, odstranění a výpočetnímu prostředku v sadě AI Studio. Roli můžete zpřístupnit na úrovni konkrétního projektu, na konkrétní úrovni skupiny prostředků nebo na konkrétní úrovni předplatného.

Poznámka:

Pokud chcete vytvořit vlastní role v rámci tohoto prostředku, musíte být vlastníkem prostředku na této úrovni.

Následující příklad JSON definuje vlastní roli vývojáře AI Studio na úrovni předplatného:

{
    "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": []
            }
        ]
    }
}

Scénář: Použití klíče spravovaného zákazníkem

Při konfiguraci centra pro použití klíče spravovaného zákazníkem (CMK) se k uložení klíče použije služba Azure Key Vault. Uživatel nebo instanční objekt použitý k vytvoření pracovního prostoru musí mít přístup vlastníka nebo přispěvatele k trezoru klíčů.

Pokud je vaše centrum AI Studio nakonfigurované se spravovanou identitou přiřazenou uživatelem, musí být identitě udělena následující role. Tyto role umožňují spravované identitě vytvářet prostředky Azure Storage, Azure Cosmos DB a Azure Search používané při použití klíče spravovaného zákazníkem:

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

V rámci trezoru klíčů musí mít uživatel nebo instanční objekt přístup k němu prostřednictvím zásad přístupu trezoru klíčů k vytvoření, získání, odstranění a vyprázdnění. Další informace najdete v tématu Zabezpečení služby Azure Key Vault.

Scénář: Použití existujícího prostředku Azure OpenAI

Když vytvoříte připojení k existujícímu prostředku Azure OpenAI, musíte také přiřadit role uživatelům, aby měli k prostředku přístup. V závislosti na úlohách, které potřebují provést, byste měli přiřadit roli přispěvatele OpenAI služeb Cognitive Services nebo Přispěvatel OpenAI služeb Cognitive Services. Informace o těchto rolích a úlohách, které povolí, najdete v tématu Role Azure OpenAI.

Scénář: Použití služby Azure Container Registry

Instance služby Azure Container Registry je volitelná závislost pro centrum Azure AI Studio. Následující tabulka uvádí matici podpory při ověřování centra ve službě Azure Container Registry v závislosti na metodě ověřování a konfiguraci přístupu k veřejné síti ve služběAzure Container Registry.

Metoda ověřování Zakázaný přístup k
veřejné síti
Povolený přístup k veřejné síti ve službě Azure Container Registry
Uživatel s rolí správce
Spravovaná identita přiřazená systémem v centru AI Studio
Spravovaná identita
přiřazená uživatelem centra AI Studio s rolí ACRPull přiřazenou k identitě

Spravovaná identita přiřazená systémem se při vytváření centra automaticky přiřadí správným rolím. Pokud používáte spravovanou identitu přiřazenou uživatelem, musíte k identitě přiřadit roli ACRPull .

Scénář: Použití Aplikace Azure lication Insights k protokolování

Aplikace Azure lication Insights je volitelná závislost pro centrum Azure AI Studio. Následující tabulka uvádí požadovaná oprávnění, pokud chcete při vytváření centra použít Application Insights. Osoba, která vytváří centrum, potřebuje tato oprávnění. Osoba, která vytvoří projekt z centra, tato oprávnění nepotřebuje.

Oprávnění Účel
Microsoft.Insights/Components/Write Zápis do konfigurace komponenty Application Insights
Microsoft.OperationalInsights/workspaces/write Vytvořte nový pracovní prostor nebo odkazy na existující pracovní prostor zadáním ID zákazníka z existujícího pracovního prostoru.

Scénář: Nákup jednotek zřízené propustnosti

Následující příklad definuje vlastní roli, která může získat zřízené jednotky propustnosti (PTU).

{
    "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": []
            }
        ]
    }
}

Scénář: Rozhraní API asistentů Azure OpenAI

Následující příklad definuje roli pro vývojáře pomocí pomocníků Azure OpenAI.

{
    "id": "",
    "properties": {
        "roleName": "CognitiveServices OpenAI Assistants API Developer",
        "description": "Custom role to work with AOAI 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": []
            }
        ]
    }
}

Další kroky