Share via


관리 ID를 사용하여 Azure Stream Analytics 작업에서 Azure Cosmos DB에 액세스

Azure Stream Analytics는 Azure Cosmos DB 출력에 대한 관리 ID 인증을 지원합니다. 관리 ID를 사용하면 암호 변경이나 90일마다 발생하는 사용자 토큰 만료로 인해 다시 인증해야 하는 것과 같이 사용자 기반 인증 방법에 관한 제한 사항이 제거됩니다. 수동으로 인증할 필요가 없어지면 Stream Analytics 배포를 완전히 자동화할 수 있습니다. 

관리 ID는 지정된 Stream Analytics 작업을 나타내는 Microsoft Entra ID에 등록된 관리되는 애플리케이션입니다. 관리형 애플리케이션은 대상 리소스에 인증하는 데 사용됩니다. Azure Stream Analytics 관리 ID에 대한 자세한 내용은 Azure Stream Analytics 관리 ID를 참조하세요.

이 문서에서는 Azure Portal을 통해 Stream Analytics 작업의 Azure Cosmos DB 출력에 대해 시스템 할당 관리 ID를 사용하도록 설정하는 방법을 보여 줍니다. 시스템 할당 관리 ID를 사용하려면 먼저 Stream Analytics 작업과 Azure Cosmos DB 리소스가 있어야 합니다.

관리 ID 만들기

먼저 Azure Stream Analytics 작업의 관리 ID를 만듭니다. 

  1. Azure Portal에서 Azure Stream Analytics 작업을 엽니다. 

  2. 왼쪽 탐색 메뉴의 구성 아래에서 관리 ID를 선택합니다. 그런 다음, 시스템 할당 관리 ID 사용 옆에 있는 확인란을 선택하고 저장을 선택합니다.

    System assigned managed identity

  3. Stream Analytics 작업 ID에 대한 서비스 주체는 Microsoft Entra ID에 만들어집니다. 새로 생성된 ID의 수명 주기는 Azure에서 관리합니다. Stream Analytics 작업을 삭제하면 연결된 ID(즉, 서비스 주체)는 Azure에서 자동으로 삭제합니다. 

    구성을 저장하면 서비스 주체의 OID(개체 ID)가 아래와 같이 보안 주체 ID로 나열됩니다.

    Principal ID

    서비스 주체에는 Stream Analytics 작업과 동일한 이름이 사용됩니다. 예를 들어, 작업 이름이 MyASAJob이면 서비스 주체 이름도 MyASAJob입니다. 

Stream Analytics 작업에 Azure Cosmos DB 계정에 액세스할 수 있는 권한 부여

Stream Analytics 작업이 관리 ID를 사용하여 Azure Cosmos DB에 액세스하려면 만든 서비스 주체에 Azure Cosmos DB 계정에 대한 특별 권한이 있어야 합니다. 이 단계에서는 역할을 스트림 분석 작업의 시스템이 할당한 관리 ID에 할당할 수 있습니다. Azure Cosmos DB에는 관리 ID에 할당할 수 있는 여러 기본 제공 역할이 있습니다. 이 솔루션의 경우 다음 역할을 사용합니다.

기본 제공 역할
Cosmos DB 기본 제공 데이터 기여자

Important

Azure Cosmos DB 데이터 평면 기본 제공 RBAC(역할 기반 액세스 제어)는 Azure Portal을 통해 노출되지 않습니다. Cosmos DB 기본 제공 데이터 기여자 역할을 할당하려면 Azure Powershell을 통해 권한을 부여해야 합니다. Azure Cosmos DB 계정용 Microsoft Entra ID를 사용한 역할 기반 액세스 제어에 대한 자세한 내용은 Azure Cosmos DB 계정용 Microsoft Entra ID를 사용한 역할 기반 액세스 제어 구성 설명서를 참조하세요.

다음 명령을 사용하여 Azure Cosmos DB에서 ASA 작업을 인증할 수 있습니다. $accountName$resourceGroupName은 Azure Cosmos DB 계정에 대한 것이며, $principalId는 ASA 작업의 ID 탭에서 이전 단계에서 얻은 값입니다. 이 명령이 제대로 작동하려면 Azure Cosmos DB 계정에 대한 "기여자" 액세스 권한이 있어야 합니다.

New-AzCosmosDBSqlRoleAssignment -AccountName $accountName -ResourceGroupName $resourceGroupName -RoleDefinitionId '00000000-0000-0000-0000-000000000002' -Scope "/" -PrincipalId $principalId

참고 항목

글로벌 복제 또는 캐싱 대기 시간으로 인해 권한이 취소되거나 부여될 때 지연이 발생할 수 있습니다. 변경 내용은 10분 내에 반영되어야 합니다. 테스트 연결은 처음에는 문제 없을 수 있지만 권한이 완전히 전파되기 전에 작업이 시작되면 작업이 실패할 수 있습니다.

Important

CosmosDB 계정이 모든 네트워크의 연결을 허용하도록 구성되지 않은 경우 공용 Azure 데이터 센터 내에서 연결 허용을 선택해야 합니다.

Azure Cosmos DB를 출력으로 추가

관리 ID가 구성되었으므로 Azure Cosmos DB 리소스를 Stream Analytics 작업에 대한 출력으로 추가할 준비가 되었습니다. 

  1. Stream Analytics 작업으로 이동하고 작업 토폴로지에서 출력 페이지로 이동합니다.

  2. > Azure Cosmos DB 추가를 선택합니다. 출력 속성 창에서 Azure Cosmos DB 계정을 검색하여 선택하고, 인증 모드 드롭다운 메뉴에서 관리 ID: 시스템 할당을 선택합니다.

  3. 나머지 속성을 입력하고 저장을 선택합니다.

다음 단계