다음을 통해 공유


관리 ID 인증을 사용하여 수집할 큐 Blob

사용자 고유의 스토리지 계정에서 수집을 위해 Blob을 큐에 대기하는 경우 SAS(공유 액세스 서명) 토큰 및 공유 키 인증 방법 대신 관리 ID를 사용할 수 있습니다. 관리 ID는 고객 SAS 토큰 또는 공유 키를 서비스와 공유할 필요가 없으므로 데이터를 수집하는 보다 안전한 방법입니다. 대신 관리 ID가 클러스터에 할당되고 데이터를 수집하는 데 사용되는 스토리지 계정에 대한 읽기 권한이 부여됩니다. 언제든지 이러한 권한을 취소할 수 있습니다.

참고

  • 이 인증 방법은 고객 소유 스토리지 계정에 있는 Azure Blob 및 Azure Data Lake 파일에만 적용됩니다. Kusto SDK를 사용하여 업로드된 로컬 파일에는 적용되지 않습니다.
  • 큐에 대기 중인 수집만 지원됩니다. Kusto 쿼리 언어의 인라인 수집 및 SDK API를 사용한 직접 수집은 지원되지 않습니다.

클러스터에 관리 ID 할당

관리 ID 개요에 따라 시스템 또는 사용자 할당 관리 ID를 클러스터에 추가합니다. 클러스터에 이미 원하는 관리 ID가 할당되어 있는 경우 다음 단계를 사용하여 개체 ID를 복사합니다.

  1. 클러스터를 포함하는 Azure 구독과 연결된 계정을 사용하여 Azure Portal에 로그인합니다.

  2. 클러스터로 이동하여 ID를 선택합니다.

  3. 적절한 ID 유형, 시스템 또는 사용자 할당을 선택한 다음, 필요한 ID의 개체 ID를 복사합니다.

시스템 관리 ID 개체 ID를 보여 주는 개요 페이지의 스크린샷,

관리 ID에 권한 부여

  1. Azure Portal에서 수집하려는 데이터가 포함된 스토리지 계정으로 이동합니다.

  2. 액세스 제어를 선택한 다음, + 추가>역할 할당 추가를 차례로 선택합니다.

  3. Storage 계정에 대한 DeleteSourceOnSuccess 원본 옵션, 권한을 사용하려는 경우 관리 ID 스토리지 Blob 데이터 읽기 권한자 또는 Storage Blob 데이터 기여자를 부여합니다.

참고 항목

소유자 또는 기여자 권한을 부여하는 것으로 충분하지 않으므로 수집이 실패합니다.

관리 ID를 사용한 수집을 위해 시스템에 할당된 역할을 보여 주는 역할 할당 추가 페이지의 스크린샷,

Important

네트워크 문제가 발생할 경우 Azure Storage에서 오류를 반환할 Download Forbidden 수 있습니다. 이 오류는 프라이빗 링크를 사용하여 스토리지 계정에 액세스하는 경우에 발생할 수 있습니다. 이러한 경우 사용 권한이 올바른 경우 스토리지 계정에 대한 연결을 확인합니다.

Azure Data Explorer 관리 ID 정책 설정

관리 ID를 사용하여 클러스터에 데이터를 수집하려면 선택한 관리 ID에 NativeIngestion 대한 사용 옵션을 허용합니다. 네이티브 수집은 외부 원본에서 수집하기 위해 SDK를 사용하는 기능을 나타냅니다. 사용 가능한 SDK에 대한 자세한 내용은 클라이언트 라이브러리를 참조 하세요.

사용량 관리 ID 정책은 대상 클러스터의 클러스터 또는 데이터베이스 수준에서 정의할 수 있습니다.

데이터베이스 수준에서 정책을 적용하려면 다음 명령을 실행합니다.

.alter-merge database <database name> policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"

클러스터 수준에서 정책을 적용하려면 다음 명령을 실행합니다.

.alter-merge cluster policy managed_identity "[ { 'ObjectId' : '<managed_identity_id>', 'AllowedUsages' : 'NativeIngestion' }]"

필요한 관리 ID의 개체 ID로 바꿉 <managed_identity_id> 니다.

참고 항목

관리 ID 정책을 편집하려면 클러스터에 대한 권한이 있어야 합니다 All Database Admin .

Kusto SDK를 사용하여 관리 ID로 수집하기 위한 큐 blob

Kusto SDK를 사용하여 데이터를 수집하는 경우 권한이 없는 Blob URI에 ;managed_identity={objectId}를 추가하여 관리 ID 인증을 사용하는 Blob URI를 생성합니다. 클러스터의 시스템 할당 관리 ID를 사용하여 데이터를 수집하는 경우 Blob URI에 ;managed_identity=system을 추가할 수 있습니다.

중요

큐에 대기 중인 수집 클라이언트를 사용해야 합니다. Kusto 쿼리 언어에서 직접 수집 또는 인라인 수집과 함께 관리 ID를 사용하는 것은 지원되지 않습니다.

다음은 시스템 및 사용자 할당 관리 ID에 대한 Blob URI의 예입니다.

  • 시스템 할당: https://demosa.blob.core.windows.net/test/export.csv;managed_identity=system
  • 사용자 할당: https://demosa.blob.core.windows.net/test/export.csv;managed_identity=6a5820b9-fdf6-4cc4-81b9-b416b444fd6d

중요

  • 관리 ID를 사용하여 C# SDK로 데이터를 수집하는 경우 StorageSourceOptions에 Blob 크기를 제공해야 합니다. 크기가 설정되지 않은 경우 SDK는 스토리지 계정에 액세스하여 Blob 크기를 채우려고 시도하므로 오류가 발생합니다.
  • 크기 매개 변수는 Blob 크기가 아니라 원시(압축되지 않은) 데이터 크기여야 합니다.
  • 수집 시 크기를 모르는 경우 0 값을 지정합니다. 서비스는 인증을 위해 관리 ID를 사용하여 크기를 검색하려고 시도합니다.