액세스 제어 개요
적용 대상: ✅Microsoft Fabric✅Azure Data Explorer
액세스 제어는 인증 및 권한 부여를 기반으로 합니다. 클러스터 또는 데이터베이스와 같은 Azure Data Explorer 리소스의 각 쿼리 및 명령은 인증 및 권한 부여 검사를 모두 통과해야 합니다.
액세스 제어는 인증 및 권한 부여를 기반으로 합니다. KQL 데이터베이스와 같은 패브릭 리소스의 각 쿼리 및 명령은 인증 및 권한 부여 검사를 모두 통과해야 합니다.
인증
프로그래밍 방식으로 인증하려면 클라이언트가 Microsoft Entra ID 통신하고 Kusto 서비스와 관련된 액세스 토큰을 요청해야 합니다. 그런 다음, 클라이언트는 데이터베이스에 요청을 발급할 때 획득한 액세스 토큰을 ID 증명으로 사용할 수 있습니다.
주요 인증 시나리오는 다음과 같습니다.
- 사용자 인증: 사용자 ID를 확인하는 데 사용됩니다.
- 애플리케이션 인증: 구성된 자격 증명을 사용하여 사람의 개입 없이 리소스에 액세스해야 하는 애플리케이션의 ID를 확인하는 데 사용됩니다.
- OBO(on-behalf-of) 인증 : 애플리케이션이 토큰과 해당 애플리케이션에 대한 토큰을 교환하여 Kusto 서비스에 액세스할 수 있도록 허용합니다. 이 흐름은 MSAL을 사용하여 구현해야 합니다.
- SPA(단일 페이지 애플리케이션) 인증: 클라이언트 쪽 SPA 웹 애플리케이션이 사용자를 로그인하고 토큰을 가져와 데이터베이스에 액세스할 수 있도록 허용합니다. 이 흐름은 MSAL을 사용하여 구현해야 합니다.
메모
사용자 및 애플리케이션 인증의 경우 Kusto 클라이언트 라이브러리를 사용하는 것이 좋습니다. OBO(On-Behalf-of) 또는 SPA(Single-Page 애플리케이션) 인증이 필요한 경우 클라이언트 라이브러리에서 이러한 흐름을 지원하지 않으므로 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 및 애플리케이션 키는 사용자 이름 및 암호와 같습니다.
- 이전에 가져온 유효한 Microsoft Entra 토큰을 사용하여 애플리케이션 인증을 Azure Data Explorer에 발급했습니다.
- OBO(On-behalf-of) 인증을 사용하여 Azure Data Explorer 토큰으로 교환할 수 있는 다른 리소스에 대해 발급된 Microsoft Entra 토큰을 사용한 애플리케이션 인증입니다.
권한 부여
리소스에 대한 작업을 수행하기 전에 인증된 모든 사용자가 권한 부여 검사를 통과해야 합니다. 보안 주체가 하나 이상의 보안 역할을 할당하는 Kusto 역할 기반 액세스 제어 모델이 사용됩니다. 사용자에게 할당된 역할 중 하나가 지정된 작업을 수행할 수 있는 한 권한 부여가 부여됩니다. 예를 들어 데이터베이스 사용자 역할은 보안 주체에게 특정 데이터베이스의 데이터를 읽고 데이터베이스에 테이블을 만드는 등의 권한을 부여합니다.
보안 주체와 보안 역할의 연결은 개별적으로 또는 Microsoft Entra ID에 정의된 보안 그룹을 사용하여 정의할 수 있습니다. 보안 역할을 할당하는 방법에 대한 자세한 내용은 보안 역할 개요참조하세요.
그룹 권한 부여
그룹에 하나 이상의 역할을 할당하여 Microsoft Entra ID 그룹에 권한 부여를 부여할 수 있습니다.
사용자 또는 애플리케이션 주체의 권한 부여가 확인되면 시스템은 먼저 특정 작업을 허용하는 명시적 역할 할당을 확인합니다. 이러한 역할 할당이 없는 경우 시스템은 잠재적으로 작업에 권한을 부여할 수 있는 모든 그룹에서 보안 주체의 멤버 자격을 분석합니다. 보안 주체가 이러한 그룹의 구성원으로 확인되면 요청된 작업에 권한이 부여됩니다. 그렇지 않으면 보안 주체가 이러한 그룹의 멤버가 아닌 경우 작업은 권한 부여 검사를 통과하지 못하고 작업이 허용되지 않습니다.
메모
그룹 멤버 자격을 확인하는 것은 리소스를 많이 사용할 수 있습니다. 그룹 멤버 자격은 자주 변경되지 않으므로 멤버 자격 확인 결과가 캐시됩니다. 캐싱 기간은 다양하며 그룹 멤버 자격 변경이 업데이트되는 속도에 따라 결정됩니다. 그룹에 사용자를 추가하는 데 최대 30분이 걸릴 수 있습니다. 그룹에서 사용자를 제거하는 데 최대 3시간이 걸릴 수 있습니다.
관련 콘텐츠
- Kusto 역할 기반 액세스 제어 이해합니다.
- 사용자 또는 애플리케이션 인증의 경우 Kusto 클라이언트 라이브러리를 사용합니다.
- OBO 또는 SPA 인증의 경우 MSAL(Microsoft 인증 라이브러리)인증하는 방법을 참조하세요.