Azure Synapse Analytics 권한 및 Copy into 권한 처리

Cloud/Azure / /
728x90

1.   Azure Synapse Analytics의 권한 종류

1)   Azure Synapse Analytics 구성 요소에 따른 권한

I.       Synapse 리소스


A.     기본적으로 해당 리소스에 접근 및 Studio를 시작하기 하기 위한 IAM

B.      독자 이상의 권한으로 Studio 실행 가능

C.      독자의 권한 Studio 실행만 가능하고 Pipeline, DataSet 등 모든 작업 확인 불가

II.      SQL DW

A.     SQL Active Directory 관리자

가)    해당 권한은 리소스를 생성한 생성계정에 관리자 권한이 할당된다.

나)    해당 권한의 AD 계정 또는 AD 그룹의 설정은
리소스 > 설정 > SQL Active Directory 관리자
메뉴에서 설정이 가능하다.


 

B.      DW User 권한

가)    Studio에서 해당 데이터베이스에 대한 계정 및 권한을 따로 설정해야 한다.

나)    쿼리를 이용하여 AADLogin 권한을 할당한다.

CREATE USER [bob@test.onmicrosoft.com] 

FROM EXTERNAL PROVIDER WITH DEFAULT_SCHEMA=[dbo] 

 

다)    로그인 할당 후 Grant 구문을 이용하여 해당 DW에 대한 권한을 할당한다. (참조 URL에 확인 시 Grant전체를 확인 가능)

GRANT SELECT ON DATABASE::test_dw 

TO [bob@test.onmicrosoft.com]

 

III.    SparkPool

A.     기본적으로 Synapse RBAC 역할에 따라 구성된다.

B.      Studio > 관리 > 엑세스 제어 메뉴에서 할당 가능하다.


C.      AADRBAC와 같이 크게 사용자, 기여자, 관리자로 관리 가능하다.

D.     SparkPool에 대한 권한을 Synapse Apache Spark 관리자 등으로 따로 설정하여 사용이 가능하다


2)   Copy into 에 따른 권한

I.       기본적으론 SQL Active Directory 관리자 권한을 가지고 있다면 별도의 권한은 필요가 없다.

II.      해당 권한이 없는 유저라면 해당 데이터베이스 또는 테이블에 2가지 권한을 가져야 한다.

GRANT ADMINISTER DATABASE BULK OPERATIONS 

ON DATABASE::test_dw TO [bob@test.onmicrosoft.com]

 

GRANT INSERT ON DATABASE::test_dw 

TO [bob@test.onmicrosoft.com]

 

A.     ADMINISTER DATABASE BULK OPERATIONS

B.      INSERT

III.    또한 Synapse 관리자 또는 기여자 권한이 없다면 Dataset Blob에 대한 자격증명이 직접적으로 이루어지지 못한다. 따라서 해당 접근을 SAS키를 인증하여 해주여야 한다.

COPY INTO dbo.test

(a 1, b 2, c 3)

FROM 'https://test.dfs.core.windows.net/test/test.csv'

WITH (

  FILE_TYPE = 'CSV',

CREDENTIAL=(

IDENTITY'Shared Access Signature'

SECRET='<SAS string>'

)

);

 

2.   출처

1)      https://docs.microsoft.com/ko-kr/sql/t-sql/statements/copy-into-transact-sql?view=azure-sqldw-latest

2)      https://docs.microsoft.com/ko-kr/azure/synapse-analytics/spark/synapse-spark-sql-pool-import-export

3)      https://docs.microsoft.com/ko-kr/azure/synapse-analytics/security/synapse-workspace-synapse-rbac-roles

4)      https://docs.microsoft.com/ko-kr/sql/t-sql/statements/create-user-transact-sql?view=azure-sqldw-latest

5)      https://docs.microsoft.com/ko-kr/sql/t-sql/statements/grant-database-permissions-transact-sql?view=azure-sqldw-latest

728x90

'Cloud > Azure' 카테고리의 다른 글

Azure Blob 위치 검색과 삭제  (0) 2021.06.30
Azure Synapse Analytics SQL Pool에 Bulk Insert  (0) 2021.06.02
Azure Databricks  (0) 2021.04.21
Azure Data Factory - Linked Server 및 Trigger  (0) 2021.04.20
Azure Data Factory - Data Flow  (0) 2021.04.20
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기