Share via


액세스 제어 개요

Azure Data Explorer 액세스 제어는 인증 및 권한 부여를 기반으로 합니다. 클러스터 또는 데이터베이스와 같은 Azure Data Explorer 리소스의 각 쿼리 및 명령은 인증 및 권한 부여 검사를 모두 통과해야 합니다.

  • 인증: 요청하는 보안 주체의 ID를 확인합니다.
  • 권한 부여: 대상 리소스에 대한 요청을 수행할 수 있는 보안 주체의 유효성을 검사합니다.

인증

클러스터를 사용하여 프로그래밍 방식으로 인증하려면 클라이언트가 Microsoft Entra ID 통신하고 Azure Data Explorer 관련된 액세스 토큰을 요청해야 합니다. 그런 다음 클라이언트는 클러스터에 요청을 실행할 때 획득한 액세스 토큰을 ID 증명으로 사용할 수 있습니다.

기본 인증 시나리오는 다음과 같습니다.

  • 사용자 인증: 사용자 ID를 확인하는 데 사용됩니다.
  • 애플리케이션 인증: 구성된 자격 증명을 사용하여 사람이 개입하지 않고 리소스에 액세스해야 하는 애플리케이션의 ID를 확인하는 데 사용됩니다.
  • OBO(On-Behalf-of) 인증: 애플리케이션이 Kusto 서비스에 액세스하기 위한 토큰과 해당 애플리케이션에 대한 토큰을 교환할 수 있도록 허용합니다. 이 흐름은 MSAL을 사용하여 구현해야 합니다.
  • SPA(단일 페이지 애플리케이션) 인증: 클라이언트 쪽 SPA 웹 애플리케이션이 사용자를 로그인하고 토큰을 가져와 클러스터에 액세스할 수 있도록 허용합니다. 이 흐름은 MSAL을 사용하여 구현해야 합니다.

참고

사용자 및 애플리케이션 인증의 경우 Kusto 클라이언트 라이브러리를 사용하는 것이 좋습니다. OBO(On-Behalf-of) 또는 SPA(Single-Page Application) 인증이 필요한 경우 이러한 흐름이 클라이언트 라이브러리에서 지원되지 않으므로 MSAL을 직접 사용해야 합니다. 자세한 내용은 MSAL(Microsoft 인증 라이브러리)을 사용하여 인증을 참조하세요.

사용자 인증

사용자 인증은 사용자가 Microsoft Entra ID 자격 증명 또는 Active Directory Federation Services 같은 Microsoft Entra ID 페더레이션하는 ID 공급자에게 자격 증명을 제시할 때 발생합니다. 사용자는 Azure Data Explorer 서비스에 표시할 수 있는 보안 토큰을 다시 가져옵니다. Azure Data Explorer 토큰이 유효한지 여부, 신뢰할 수 있는 발급자에서 토큰을 발급했는지 여부 및 토큰에 포함된 보안 클레임을 결정합니다.

Azure Data Explorer Kusto 클라이언트 라이브러리를 포함하여 다음과 같은 사용자 인증 방법을 지원합니다.

  • 사용자 인터페이스를 통해 로그인하는 대화형 사용자 인증
  • Azure Data Explorer 대해 발급된 Microsoft Entra 토큰을 사용한 사용자 인증
  • OBO(On-behalf-of) 인증을 사용하여 Azure Data Explorer 토큰으로 교환할 수 있는 다른 리소스에 대해 발급된 Microsoft Entra 토큰을 사용한 사용자 인증.

애플리케이션 인증

요청이 특정 사용자와 연결되지 않았거나 자격 증명을 제공할 수 있는 사용자가 없는 경우 애플리케이션 인증이 필요합니다. 이 경우 애플리케이션은 비밀 정보를 제공하여 Microsoft Entra ID 또는 페더레이션된 IdP에 인증합니다.

Azure Data Explorer Kusto 클라이언트 라이브러리를 포함하여 다음과 같은 애플리케이션 인증 방법을 지원합니다.

  • Azure 관리 ID를 사용한 애플리케이션 인증.
  • 로컬에 설치된 X.509v2 인증서를 사용한 애플리케이션 인증.
  • 클라이언트 라이브러리에 바이트 스트림으로 지정된 X.509v2 인증서를 사용하여 애플리케이션 인증
  • Microsoft Entra 애플리케이션 ID 및 Microsoft Entra 애플리케이션 키를 사용한 애플리케이션 인증. 애플리케이션 ID 및 애플리케이션 키는 사용자 이름 및 암호와 같습니다.
  • Azure Data Explorer 발급된 이전에 가져온 유효한 Microsoft Entra 토큰을 사용하여 애플리케이션 인증.
  • OBO(On-behalf-of) 인증을 사용하여 Azure Data Explorer 토큰으로 교환할 수 있는 다른 리소스에 대해 발급된 Microsoft Entra 토큰을 사용한 애플리케이션 인증.

권한 부여

Azure Data Explorer 리소스에 대한 작업을 수행하기 전에 인증된 모든 사용자는 권한 부여 검사 전달해야 합니다. Azure Data Explorer 보안 주체가 하나 이상의 보안 역할을 사용하는 Kusto 역할 기반 액세스 제어 모델을 사용합니다. 사용자에게 할당된 역할 중 하나가 지정된 작업을 수행할 수 있는 한 권한 부여가 부여됩니다. 예를 들어 데이터베이스 사용자 역할은 보안 주체에게 특정 데이터베이스의 데이터를 읽고 데이터베이스에 테이블을 만드는 등의 권한을 부여합니다.

보안 주체와 보안 역할의 연결은 개별적으로 또는 Microsoft Entra ID 정의된 보안 그룹을 사용하여 정의할 수 있습니다. 보안 역할을 할당하는 방법에 대한 자세한 내용은 보안 역할 개요를 참조하세요.

그룹 권한 부여

그룹에 하나 이상의 역할을 할당하여 Microsoft Entra ID 그룹에 권한 부여를 부여할 수 있습니다.

사용자 또는 애플리케이션 주체의 권한 부여가 확인되면 시스템은 먼저 특정 작업을 허용하는 명시적 역할 할당을 확인합니다. 이러한 역할 할당이 없는 경우 시스템은 잠재적으로 작업에 권한을 부여할 수 있는 모든 그룹에서 보안 주체의 멤버 자격을 분석합니다. 보안 주체가 이러한 그룹의 구성원으로 확인되면 요청된 작업에 권한이 부여됩니다. 그렇지 않으면 보안 주체가 이러한 그룹의 멤버가 아닌 경우 작업은 권한 부여 검사 전달하지 않으며 작업이 허용되지 않습니다.

참고

그룹 멤버 자격을 확인하는 것은 리소스를 많이 사용할 수 있습니다. 그룹 멤버 자격은 자주 변경되지 않으므로 멤버 자격 검사 결과가 캐시됩니다. 캐싱 기간은 다양하며 멤버 자격 결과(보안 주체가 멤버인지 여부), 보안 주체 유형(사용자 또는 애플리케이션)과 같은 요인의 영향을 받습니다. 최대 캐싱 기간은 최대 3시간까지 연장할 수 있지만 최소 기간은 30분입니다.