Share via


Azure AI 스튜디오의 역할 기반 액세스 제어

Important

이 문서에 설명된 기능 중 일부는 미리 보기로만 제공될 수 있습니다. 이 미리 보기는 서비스 수준 계약 없이 제공되며, 프로덕션 워크로드에는 권장되지 않습니다. 특정 기능이 지원되지 않거나 기능이 제한될 수 있습니다. 자세한 내용은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

이 문서에서는 Azure AI 스튜디오 허브에 대한 액세스(권한 부여)를 관리하는 방법을 알아봅니다. Azure RBAC(Azure 역할 기반 액세스 제어)는 새 리소스를 만들거나 기존 리소스를 사용하는 기능과 같은 Azure 리소스에 대한 액세스를 관리하는 데 사용됩니다. Microsoft Entra ID의 사용자에게는 리소스에 대한 액세스 권한을 부여하는 특정 역할이 할당됩니다. Azure는 기본 제공 역할과 사용자 지정 역할을 만드는 기능을 모두 제공합니다.

Warning

일부 역할을 적용하면 다른 사용자에 대해 Azure AI 스튜디오의 UI 기능이 제한될 수 있습니다. 예를 들어 사용자의 역할에 컴퓨팅 인스턴스를 만들 수 없는 경우 스튜디오에서 컴퓨팅 인스턴스를 생성하는 옵션을 사용할 수 없습니다. 이 동작은 예상된 것이며, 사용자가 액세스 거부 오류를 반환하는 작업을 시도하지 못하게 합니다.

AI 스튜디오 허브와 프로젝트

Azure AI 스튜디오에는 허브와 프로젝트라는 두 가지 액세스 수준이 있습니다. 허브에는 Azure AI 서비스를 구성하는 인프라(가상 네트워크 설정, 고객 관리형 키, 관리 ID 및 정책 포함)가 포함됩니다. 허브 액세스를 통해 인프라를 수정하고, 새 허브를 만들고, 프로젝트를 만들 수 있습니다. 프로젝트는 AI 시스템을 빌드하고 배포할 수 있는 작업 영역 역할을 하는 허브의 하위 집합입니다. 프로젝트 내에서 흐름을 개발하고, 모델을 배포하고, 프로젝트 자산을 관리할 수 있습니다. 프로젝트 액세스를 통해 허브의 인프라 설정을 활용하면서 AI 엔드투엔드를 개발할 수 있습니다.

AI Studio 리소스 간의 관계를 보여 주는 다이어그램.

허브와 프로젝트 관계의 주요 이점 중 하나는 개발자가 허브 보안 설정을 상속하는 자체 프로젝트를 만들 수 있다는 것입니다. 프로젝트에 기여하고 새 프로젝트를 만들 수 없는 개발자가 있을 수도 있습니다.

허브의 기본 역할

AI 스튜디오 허브에는 기본적으로 사용 가능한 기본 제공 역할이 있습니다.

다음은 허브에 대한 기본 제공 역할과 해당 권한을 나타낸 표입니다.

역할 설명
소유자 새 허브를 관리 및 만들고 권한을 할당하는 기능을 포함하여 허브에 대한 모든 권한입니다. 이 역할은 허브 작성자에게 자동으로 할당됨
기여자 사용자는 새 허브를 만드는 기능을 포함하여 허브에 대한 모든 권한을 가지지만 기존 리소스에 대한 허브 권한을 관리할 수는 없습니다.
Azure AI Developer 새 허브 만들기 및 허브 권한 관리를 제외한 모든 작업을 수행합니다. 예를 들어 사용자는 프로젝트, 컴퓨팅 및 연결을 만들 수 있습니다. 사용자는 프로젝트 내에서 사용 권한을 할당할 수 있습니다. 사용자는 Azure OpenAI, Azure AI 검색 및 Azure AI 서비스와 같은 기존 Azure AI 리소스와 상호 작용할 수 있습니다.
판독기 허브에 대한 읽기 전용 액세스입니다. 이 역할은 허브 내의 모든 프로젝트 멤버에게 자동으로 할당됩니다.

기여자와 Azure AI Developer의 주요 차이점은 새로운 허브를 만드는 기능입니다. 사용자가 새 허브를 만들지 않도록 하려는 경우(할당량, 비용 또는 단지 허브 수 관리로 인해) Azure AI 개발자 역할을 할당합니다.

소유자 및 기여자 역할만 허브를 만들 수 있습니다. 현재 사용자 지정 역할은 허브를 만들 수 있는 권한을 부여할 수 없습니다.

새 "Azure AI Developer" 역할에 대한 전체 권한 집합은 다음과 같습니다.

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

프로젝트의 기본 역할

AI 스튜디오의 프로젝트에는 기본적으로 사용 가능한 기본 제공 역할이 있습니다.

다음은 프로젝트에 대한 기본 제공 역할과 해당 권한을 나타낸 표입니다.

역할 설명
소유자 프로젝트 사용자에게 권한을 할당하는 기능을 포함하여 프로젝트에 대한 모든 권한입니다.
기여자 사용자는 프로젝트에 대한 모든 권한을 가지지만 프로젝트 사용자에게 권한을 할당할 수는 없습니다.
Azure AI Developer 사용자는 배포 만들기를 포함한 대부분의 작업을 수행할 수 있지만, 프로젝트 사용자에게 사용 권한을 할당할 수는 없습니다.
판독기 프로젝트에 대한 읽기 전용 액세스입니다.

사용자에게 프로젝트에 대한 액세스 권한이 부여되면(예: AI Studio 권한 관리를 통해) 해당 사용자에게 두 개의 추가 역할이 자동으로 할당됩니다. 첫 번째 역할은 허브의 읽기 권한자입니다. 두 번째 역할은 유추 배포 운영자 역할로, 사용자는 프로젝트가 있는 리소스 그룹에 배포를 만들 수 있습니다. 이 역할은 "Microsoft.Authorization/*/read""Microsoft.Resources/deployments/*"라는 두 개의 사용 권한으로 구성됩니다.

엔드 투 엔드 AI 개발과 배포를 완료하려면 사용자는 자동 할당된 이 두 개의 역할과 프로젝트에 대한 기여자 또는 Azure AI Developer 역할만 필요합니다.

프로젝트를 만드는 데 필요한 최소 권한은 허브에서 허용되는 작업 Microsoft.MachineLearningServices/workspaces/hubs/join이 있는 역할입니다. Azure AI 개발자 기본 제공 역할에는 이 권한이 있습니다.

종속성 서비스 Azure RBAC 권한

허브에는 다른 Azure 서비스에 대한 종속성이 있습니다. 다음 표에는 허브를 만들 때 이러한 서비스에 필요한 권한이 나열되어 있습니다. 허브를 만드는 사용자에게 이러한 권한이 필요합니다. 허브에서 프로젝트를 만드는 사용자에게는 필요하지 않습니다.

Permission 목적
Microsoft.Storage/storageAccounts/write 지정된 매개 변수를 사용하여 스토리지 계정을 만들거나, 속성 또는 태그를 업데이트하거나, 지정된 스토리지 계정의 사용자 지정 도메인을 추가합니다.
Microsoft.KeyVault/vaults/write 새 키 자격 증명 모음을 만들거나 기존 키 자격 증명 모음의 속성을 업데이트합니다. 특정 속성에는 더 많은 권한이 필요할 수 있습니다.
Microsoft.CognitiveServices/accounts/write API 계정을 작성합니다.
Microsoft.MachineLearningServices/workspaces/write 새 작업 영역을 만들거나 기존 작업 영역의 속성을 업데이트합니다.

샘플 엔터프라이즈 RBAC 설정

다음 테이블은 엔터프라이즈용 Azure AI 스튜디오에 대한 역할 기반 액세스 제어를 설정하는 방법의 예입니다.

가상 사용자 역할 목적
IT 관리자 허브의 소유자 IT 관리자는 허브가 엔터프라이즈 표준에 맞게 설정되었는지 확인할 수 있습니다. 관리자가 새 허브를 만들 수 있도록 하려면 관리자에게 리소스에 대한 기여자 역할을 할당할 수 있습니다. 또는 관리자에게 리소스에 대한 Azure AI 개발자 역할을 할당하여 새 허브 만들기를 허용하지 않을 수 있습니다.
관리자 허브의 기여자 또는 Azure AI 개발자 관리자는 허브를 관리하고, 컴퓨팅 리소스를 감사하고, 연결을 감사하고, 공유 연결을 만들 수 있습니다.
팀 잠재 고객/잠재 고객 개발자 허브의 Azure AI 개발자 수석 개발자는 팀을 위한 프로젝트를 만들고 허브 수준에서 공유 리소스(예: 컴퓨팅 및 연결)를 만들 수 있습니다. 프로젝트를 만든 후 프로젝트 소유자는 다른 멤버를 초대할 수 있습니다.
팀 구성원/개발자 프로젝트의 기여자 또는 Azure AI 개발자 개발자는 프로젝트 내에서 AI 모델을 빌드 및 배포하고 컴퓨팅 및 연결과 같은 개발을 가능하게 하는 자산을 만들 수 있습니다.

허브 외부에서 만들어진 리소스에 대한 액세스

허브를 만들면 기본 제공 역할 기반 액세스 제어 권한을 통해 리소스를 사용할 수 있는 액세스 권한이 부여됩니다. 그러나 사용자를 대신하여 만든 리소스 외부에서 리소스를 사용하려는 경우 다음 두 가지를 모두 충족해야 합니다.

  • 사용하려는 리소스에 액세스할 수 있도록 설정된 사용 권한이 있어야 합니다.
  • 허브에 액세스할 수 있습니다.

예를 들어, 새 Blob Storage를 사용하려는 경우 허브의 관리 ID가 Blob에 대한 Blob Storage 읽기 권한자 역할에 추가되었는지 확인해야 합니다. 새로운 Azure AI 검색 원본을 사용하려는 경우 Azure AI 검색의 역할 할당에 허브를 추가해야 할 수도 있습니다.

역할을 통해 액세스 관리

허브 소유자인 경우 AI 스튜디오에 대한 역할을 추가하고 제거할 수 있습니다. AI 스튜디오 페이지로 이동하여 허브를 선택합니다. 그런 다음 사용자를 선택하여 허브에 대한 사용자를 추가 및 제거합니다. 액세스 제어(IAM) 또는 Azure CLI를 통해 Azure Portal에서 사용 권한을 관리할 수도 있습니다. 예를 들어, 다음 명령을 사용하여 Azure CLI를 사용하여 리소스 그룹 "this-rg"의 "joe@contoso.com"에 Azure AI Developer 역할을 할당합니다.

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

사용자 지정 역할 만들기

참고 항목

새 허브를 만들려면 소유자 또는 기여자 역할이 필요합니다. 현재로서는 모든 작업이 허용되더라도 사용자 지정 역할을 사용하여 허브를 만들 수 없습니다.

기본 제공 역할이 충분하지 않은 경우 사용자 지정 역할을 만들 수 있습니다. 사용자 지정 역할에는 해당 AI 스튜디오에서 읽기, 쓰기, 삭제 및 컴퓨팅 리소스 권한이 있을 수 있습니다. 특정 프로젝트 수준, 특정 리소스 그룹 수준 또는 특정 구독 수준에서 역할을 사용하도록 설정할 수 있습니다.

참고 항목

해당 리소스 내에서 사용자 지정 역할을 만들려면 해당 수준의 리소스 소유자여야 합니다.

시나리오: 고객 관리형 키 사용

CMK(고객 관리형 키)를 사용하도록 허브를 구성하는 경우 Azure Key Vault를 사용하여 키를 저장합니다. 작업 영역을 만드는 데 사용되는 사용자 또는 서비스 주체는 키 자격 증명 모음에 대한 소유자 또는 참가자 액세스 권한이 있어야 합니다.

AI 스튜디오 허브가 사용자 할당 관리 ID로 구성된 경우 ID에 다음 역할을 부여해야 합니다. 이러한 역할을 통해 관리 ID는 고객 관리형 키를 사용할 때 사용되는 Azure Storage, Azure Cosmos DB 및 Azure Search 리소스를 만들 수 있습니다.

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

키 자격 증명 모음 내에서 사용자 또는 서비스 주체는 키 자격 증명 모음 액세스 정책을 통해 키에 대한 만들기, 가져오기, 삭제 및 제거 액세스 권한이 있어야 합니다. 자세한 내용은 Azure Key Vault 보안을 참조하세요.

시나리오: 기존 Azure OpenAI 리소스 사용

기존 Azure OpenAI 리소스에 대한 연결을 만들 때 리소스에 액세스할 수 있도록 사용자에게 역할을 할당해야 합니다. 수행해야 하는 작업에 따라 Cognitive Services OpenAI 사용자 또는 Cognitive Services OpenAI 기여자 역할을 할당해야 합니다. 이러한 역할 및 사용하도록 설정하는 작업에 대한 자세한 내용은 Azure OpenAI 역할을 참조하세요.

시나리오: Azure Container Registry 사용

Azure Container Registry 인스턴스는 Azure AI 스튜디오 허브에 대한 선택적 종속성입니다. 다음 표에는 인증 방법과 Azure Container Registry의공용 네트워크 액세스 구성에 따라 Azure Container Registry에 허브를 인증할 때 지원 매트릭스가 나열되어 있습니다.

인증 방법 공용 네트워크 액세스
사용 안 함
Azure Container Registry
공용 네트워크 액세스 사용
관리 사용자
AI 스튜디오 허브 시스템 할당 관리 ID
AI 스튜디오 허브 시스템 할당 관리 ID
ID에 ACRPull 역할이 할당됨

시스템 할당 관리 ID는 허브가 만들어질 때 올바른 역할에 자동으로 할당됩니다. 사용자 할당 관리 ID를 사용하는 경우 ACRPull 역할을 ID에 할당해야 합니다.

시나리오: 로깅에 Azure Application Insights 사용

Azure Application Insights는 Azure AI 스튜디오 허브에 대한 선택적 종속성입니다. 다음 표에는 허브를 만들 때 Application Insights를 사용하려는 경우 필요한 권한이 나열되어 있습니다. 허브를 만드는 사용자에게 이러한 권한이 필요합니다. 허브에서 프로젝트를 만드는 사용자에게는 이러한 권한이 필요하지 않습니다.

Permission 목적
Microsoft.Insights/Components/Write Application Insights 구성 요소 구성에 씁니다.
Microsoft.OperationalInsights/workspaces/write 새 작업 영역을 만들거나 기존 작업 영역의 고객 ID를 제공하여 기존 작업 영역에 연결합니다.

다음 단계