다음을 통해 공유


Azure HDInsight에서 SQL Database 인증에 관리 ID 사용

HDInsight는 클러스터 제품 내에서 SQL 데이터베이스를 인증하고 보다 안전한 인증 메커니즘을 제공하기 위한 관리 ID 옵션을 추가했습니다.

이 문서에서는 HDInsight 클러스터를 만들 때 SQL Database 인증에 MSI(관리 ID) 옵션을 사용하는 프로세스를 간략하게 설명합니다.

MI(관리 ID) 옵션은 다음 데이터베이스에 사용할 수 있습니다.

데이터베이스 (HoBo) DB를 대신하여 호스트 BYO(Bring Your Own) DB
Ambari
Hive
Oozie
Ranger(ESP)

참고 항목

  • MI(관리 ID)는 현재 공용 지역에서만 사용할 수 있습니다.
  • MI 옵션은 기본적으로 사용하도록 설정되지 않습니다. 사용하도록 설정하려면 구독 및 지역 세부 정보가 포함된 지원 티켓을 제출합니다.

Important

  • 클러스터 작업을 방해할 수 있으므로 클러스터를 다시 실행한 후에는 관리 ID를 업데이트하지 않는 것이 좋습니다.
  • 이름이 같은 MSI를 다시 만들 때 사용자는 포함된 사용자를 다시 만들고 역할을 다시 할당해야 합니다. 새 MSI에는 이름이 변경되지 않은 경우에도 다른 개체와 클라이언트 ID가 포함되기 때문에 사용자가 역할을 다시 할당해야 합니다.

Azure Portal에서 클러스터를 만드는 동안 관리 ID를 사용하는 단계

  1. 클러스터를 만드는 동안 Storage 섹션으로 이동하고 Ambari/Hive/Oozie에 대한 SQL 데이터베이스를 선택합니다. 인증 방법으로 관리 ID를 선택합니다.

    기본 탭을 보여 주는 스크린샷.

  2. SQL Database를 사용하여 인증할 관리 ID를 선택합니다.

    스토리지 탭을 보여 주는 스크린샷

  3. 해당 SQL 데이터베이스에서 관리 ID를 사용하여 포함된 사용자를 만듭니다.

    Azure SQL 데이터베이스 쿼리 편집기에서 다음 단계에 따라 데이터베이스 사용자를 만들고 읽기/쓰기 권한을 부여합니다. Ambari, Hive 또는 Oozie와 같은 다양한 서비스에 사용할 각 SQL Database에 대해 다음 단계를 수행합니다.

    참고 항목

    사용자 이름에는 사용자 정의 접미사로 확장된 원래 MSI 이름이 포함되어야 합니다. 접미사는 개체 ID의 초기 부분을 포함하는 것이 가장 좋습니다. 관리 ID의 개체 ID는 관리 ID 포털 페이지의 포털에서 가져올 수 있습니다.

    예시:

    • MSI 이름: contosoMSI
    • 개체 ID: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    • user_name 수 있습니다. contosoMSI-2ba6c
    CREATE USER {user_name} FROM EXTERNAL PROVIDER WITH OBJECT_ID={object id of cluster managed identity};   
    
    ALTER ROLE db_datareader ADD MEMBER {user_name};   
    ALTER ROLE db_ddladmin ADD MEMBER {user_name};   
    ALTER ROLE db_datawriter ADD MEMBER {user_name};   
    

    참고 항목

    역할이 db_executordb_view_defdb_view_state 데이터베이스에 이미 정의되어 있는 경우 후속 단계를 진행할 필요가 없습니다.

    CREATE ROLE db_executor;   
    GRANT EXECUTE TO db_executor;   
    ALTER ROLE db_executor ADD MEMBER {user_name};   
    
    CREATE ROLE db_view_def;   
    GRANT VIEW DEFINITION TO db_view_def;   
    ALTER ROLE db_view_def ADD MEMBER {user_name};   
    CREATE ROLE db_view_db_state;  
    
    GRANT VIEW DATABASE STATE TO db_view_db_state;   
    
    ALTER ROLE db_view_def ADD MEMBER {user_name};  
    
  4. 필요한 세부 정보를 입력한 후 포털에서 클러스터 만들기를 계속 진행합니다.