Azure Synapse 작업 영역 액세스 제어 개요
이 문서에서는 Azure Synapse 컴퓨팅 리소스 및 데이터에 대한 액세스를 제어하는 데 사용할 수 있는 메커니즘의 개요를 제공합니다.
Azure Synapse는 다음을 통합하는 포괄적이고 세분화된 액세스 제어 시스템을 제공합니다.
- Azure 역할 - 리소스 관리 및 스토리지의 데이터 액세스에 사용
- Synapse 역할 - 코드 및 실행에 대한 라이브 액세스 관리
- SQL 역할 - SQL 풀의 데이터에 대한 데이터 평면 액세스
- Git 권한 - 연속 통합 및 배포 지원을 포함한 원본 코드 제어
Azure Synapse 역할은 여러 범위에서 적용할 수 있는 권한 세트를 제공합니다. 이처럼 세밀한 적용이 가능하므로 관리자, 개발자, 보안 담당자 및 운영자에게 리소스와 데이터를 컴퓨팅하는 데 꼭 필요한 액세스 권한을 간편하게 부여할 수 있습니다.
사용자의 작업 역할에 맞는 보안 그룹을 사용하면 액세스 제어를 단순화할 수 있습니다. 적절한 보안 그룹의 사용자를 추가하고 제거하는 간단한 방법으로 액세스를 관리할 수 있습니다.
액세스 제어 요소
Azure Synapse 컴퓨팅 리소스 만들기 및 관리
Azure 역할은 다음을 관리하는 데 사용됩니다.
- 전용 SQL 풀
- Data Explorer 풀
- Apache Spark 풀
- 통합 런타임
이러한 리소스를 생성하려면 리소스 그룹의 Azure 소유자 또는 기여자여야 합니다. 이러한 항목을 만든 후 관리하려면 리소스 그룹 또는 개별 리소스에 대한 Azure 소유자 또는 기여자여야 합니다.
소유자 또는 참가자는 Azure Synapse 작업 영역에 대해 Microsoft Entra 전용 인증을 사용하거나 사용하지 않도록 설정할 수 있습니다. Microsoft Entra 전용 인증에 대한 자세한 내용은 Synapse SQL 인증에 Microsoft Entra 인증 사용을 참조하세요.
Azure Synapse에서 코드 개발 및 실행
Synapse는 다음과 같은 두 가지 개발 모델을 지원합니다.
Synapse 라이브 개발: Synapse Studio에서 코드를 개발 및 디버그한 다음 저장하고 실행하도록 게시 합니다. Synapse 서비스는 코드를 편집하고 실행하기 위한 믿을 수 있는 원본입니다. 게시되지 않은 작업은 Synapse Studio를 닫을 때 손실됩니다.
Git 지원 개발: Synapse Studio에서 코드를 개발 및 디버그하고 Git 리포지토리의 작업 분기에 변경 내용을 커밋 합니다. 하나 이상의 분기에서 수행한 작업은 협업 분기에 통합되며, 협업 분기에서 작업을 서비스에 게시합니다. Git 리포지토리는 코드 편집을 위한 믿을 수 있는 원본이고, 서비스는 실행을 위한 믿을 수 있는 원본입니다. Synapse Studio를 닫기 전에 변경 내용을 Git 리포지토리에 커밋하거나 서비스에 게시해야 합니다. Git에서 Synapse Analytics를 사용하는 방법에 대한 자세한 내용은 Azure Synapse Analytics 작업 영역에 대한 지속적인 통합 및 배달을 참조 하세요.
두 개발 모델에서 Synapse Studio에 액세스할 수 있는 모든 사용자는 코드 아티팩트를 만들 수 있습니다. 그러나 아티팩트를 서비스에 게시하고, 게시된 아티팩트를 읽고, 변경 내용을 Git에 커밋하고, 코드를 실행하고, 자격 증명으로 보호된 연결된 데이터에 액세스하려면 추가 권한이 필요합니다. Synapse를 사용하여 Git 리포지토리를 구성, 편집 및 연결을 끊려면 Synapse 작업 영역에서 Azure 기여자 이상의 역할이 있어야 합니다.
Azure Synapse 역할
Azure Synapse 역할은 Synapse 서비스에 대한 액세스를 제어하는 데 사용됩니다. 다양한 역할을 통해 다음을 수행할 수 있습니다.
- 게시된 코드 아티팩트 나열
- 코드 아티팩트, 연결된 서비스 및 자격 증명 정의 게시
- Synapse 컴퓨팅 리소스를 사용하는 코드 또는 파이프라인 실행
- 자격 증명으로 보호되는 연결된 데이터에 액세스하는 코드 또는 파이프라인 실행
- 게시된 코드 아티팩트와 연결된 출력 보기
- 컴퓨팅 리소스 상태 모니터링 및 런타임 로그 보기
Azure Synapse 역할은 작업 영역 범위에서 할당할 수도 있고 세부적인 범위에서 할당하여 특정 Azure Synapse 리소스에 부여된 권한을 제한할 수도 있습니다.
Git 권한
Git 모드에서 Git 사용 개발의 경우 연결된 서비스 및 자격 증명 정의를 포함하여 코드 아티팩트를 읽으려면 Synapse User 또는 Synapse RBAC(역할 기반 액세스 제어) 역할 외에 Git 권한이 필요합니다. Git 모드에서 코드 아티팩트에 대한 변경 내용을 커밋하려면 Git 권한 및 Synapse 아티팩트 게시자 역할이 필요합니다.
SQL의 데이터 액세스
전용 및 서버리스 SQL 풀의 경우 데이터 평면 액세스는 SQL 권한을 사용하여 제어됩니다.
작업 영역 작성자는 작업 영역의 Active Directory 관리자로 할당됩니다. 만든 후에는 Azure Portal에서 이 역할을 다른 사용자 또는 보안 그룹에 할당할 수 있습니다.
서버리스 SQL 풀: Synapse Administrators에게 서버리스 SQL 풀( 기본 제공)에 대한 DBO(권한 부여) 권한이 부여
db_owner
됩니다. 다른 사용자에게 서버리스 SQL 풀에 대한 액세스 권한을 부여하려면 Synapse 관리자는 서버리스 풀에서 SQL 스크립트를 실행해야 합니다.전용 SQL 풀: Synapse 관리자는 전용 SQL 풀의 데이터에 대한 전체 액세스 권한이 있으며 다른 사용자에게 액세스 권한을 부여할 수 있습니다. Synapse 관리자는 데이터베이스 삭제를 제외하고 전용 풀에서 구성 및 유지 관리 작업을 수행할 수도 있습니다. 작업 영역 작성자와 작업 영역 MSI에게는 Active Directory 관리자 권한이 부여됩니다. 그 외의 사용자에게는 전용 SQL 풀에 대한 액세스 권한이 자동으로 부여되지 않습니다. 다른 사용자 또는 그룹에 전용 SQL 풀에 대한 액세스 권한을 부여하려면 Active Directory 관리자 또는 Synapse 관리자는 각 전용 SQL 풀에 대해 SQL 스크립트를 실행해야 합니다.
SQL 풀에서 SQL 권한을 부여하기 위한 SQL 스크립트의 예는 Azure Synapse 작업 영역에 대한 액세스 제어를 설정하는 방법을 참조하세요.
데이터 탐색기 풀에서 데이터 액세스
데이터 탐색기 풀의 경우 데이터 평면 액세스는 데이터 탐색기 권한을 통해 제어됩니다. Synapse 관리자에게는 Data Explorer 풀에 대한 All Database admin
권한이 부여됩니다. 다른 사용자 또는 그룹에 Data Explorer 풀에 대한 액세스 권한을 부여하려면 Synapse 관리자는 보안 역할 관리를 참조해야 합니다. 데이터 평면 액세스에 대한 자세한 내용은 Access Control 개요를 참조하세요.
스토리지의 시스템 관리 데이터에 액세스
서버리스 SQL 풀 및 Apache Spark 테이블은 해당 데이터를 작업 영역과 연결된 Azure Data Lake Storage Gen2 컨테이너에 저장합니다. 사용자가 설치한 Apache Spark 라이브러리도 동일한 스토리지 계정에서 관리됩니다. 이러한 사용 사례를 사용하려면 사용자 및 작업 영역 MSI에 이 작업 영역 Azure Data Lake Storage 컨테이너에 대한 Storage Blob 데이터 기여자 액세스 권한이 부여되어야 합니다.
보안 그룹을 모범 사례로 사용
개인과 그룹에게 역할을 할당하여 액세스 제어 관리를 간소화할 수 있습니다. 보안 그룹을 만들어서 Synapse 리소스 또는 아티팩트에 액세스해야 하는 조직의 가상 사용자 또는 직무를 미러링할 수 있습니다. 그 후 이러한 가상 사용자 기반 보안 그룹에 하나 이상의 Azure 역할, Synapse 역할, SQL 권한 또는 Git 권한을 할당할 수 있습니다. 보안 그룹을 잘 선택하면 사용자를 적절한 보안 그룹에 추가하여 사용자에게 필요한 권한을 쉽게 할당할 수 있습니다.
참고 항목
보안 그룹을 사용하여 액세스를 관리하는 경우 변경 내용이 적용되기 전에 Microsoft Entra ID에 의해 추가 대기 시간이 발생합니다.
Synapse Studio에서 액세스 제어 적용
Synapse Studio는 사용 권한 및 현재 모드에 따라 다르게 동작합니다.
- Synapse 라이브 모드: Synapse Studio를 사용하면 필요한 권한이 없는 경우 게시된 콘텐츠를 보거나, 콘텐츠를 게시하거나, 다른 작업을 수행할 수 없습니다. 경우에 따라 사용하거나 저장할 수 없는 코드 아티팩트가 만들어지지 않습니다.
- Git 모드: 현재 분기에 변경 내용을 커밋할 수 있는 Git 권한이 있는 경우 라이브 서비스에 변경 내용을 게시할 수 있는 권한이 있는 경우 커밋 작업이 허용됩니다(Synapse Artifact Publisher 역할).
경우에 따라 게시하거나 커밋할 권한이 없어도 코드 아티팩트를 만들 수 있습니다. 이를 통해 필요한 실행 권한으로 코드를 실행할 수 있습니다. 일반적인 작업에 필요한 역할에 대한 자세한 내용은 Azure Synapse에서 일반적인 작업을 수행하는 데 필요한 역할 이해를 참조하세요.
Synapse Studio에서 기능을 사용하지 않도록 설정한 경우 도구 설명은 필요한 권한을 나타냅니다. Synapse RBAC 역할 가이드를 사용하여 누락된 권한을 제공하는 데 필요한 역할을 알아보세요.