다음을 통해 공유


서비스 주체를 관리하기 위한 역할

이 문서에서는 Azure Databricks 계정의 서비스 주체에 대한 역할을 관리하는 방법을 설명합니다.

서비스 주체는 자동화된 도구, 작업 및 애플리케이션에 사용하기 위해 Azure Databricks에서 만드는 ID입니다. 서비스 주체는 Azure Databricks 리소스에 대한 자동화된 도구와 스크립트 API 전용 액세스를 제공하여 사용자 또는 그룹을 사용하는 것보다 강력한 보안을 제공합니다.

Azure Databricks 사용자, 서비스 주체, 계정 그룹에 grant 서비스 주체를 사용할 수 있는 접근 권한을 부여할 수 있습니다. 이를 통해 사용자는 ID 대신 서비스 주체로 작업을 실행할 수 있습니다. 또한 사용자가 퇴사하거나 그룹이 수정되더라도 작업이 실패하지 않도록 방지합니다.

서비스 주체에 대한 개요는 서비스 주체 관리를 참조 하세요.

서비스 주체 역할

서비스 주체 역할은 계정 수준 역할입니다. 즉, 계정에서 한 번만 정의하고 모든 작업 영역에 적용해야 합니다. 서비스 주체에 grant 수 있는 두 가지 역할이 있습니다. 서비스 주체 관리자서비스 주체 사용자.

  • 서비스 주체 관리자 를 사용하면 서비스 주체의 역할을 관리할 수 있습니다. 서비스 주체 의 작성자는 서비스 주체에 대한 서비스 주체 관리자 역할을 맡습니다. 계정 관리자는 계정의 모든 서비스 주체에 대해 서비스 주체 관리자 역할을 합니다.

참고 항목

2023년 6월 13일 이전에 서비스 주체를 만든 경우 서비스 주체의 작성자는 기본적으로 서비스 주체 관리자 역할이 없습니다. 관리자이어야 한다면, 계정 관리자에게 서비스 주체 관리자 역할을 grant 요청하세요.

  • 서비스 주체 사용자는 작업 영역 사용자가 작업을 서비스 주체로 실행할 수 있도록 허용합니다. 작업은 작업 소유자의 ID 대신 서비스 주체의 ID로 실행됩니다.

서비스 주체 관리자 역할이 있는 사용자는 서비스 주체 사용자 역할을 상속하지 않습니다. 서비스 주체를 사용하여 작업을 실행하려면 서비스 주체를 만든 후에도 서비스 주체 사용자 역할을 명시적으로 할당해야 합니다.

참고 항목

Azure Databricks 서비스 주체 역할은 Azure 역할 또는 Microsoft Entra ID 역할과 겹치지 않습니다. 이러한 역할은 Azure Databricks 계정에만 걸쳐 있습니다.

계정 콘솔을 사용하여 서비스 주체 역할 관리

계정 관리자는 계정 콘솔을 사용하여 서비스 주체 역할을 관리할 수 있습니다.

서비스 주체에서 역할 보기

  1. 계정 관리자 권한으로 계정 콘솔에 로그인합니다.
  2. 사이드바에서 사용자 관리를 클릭합니다.
  3. 서비스 주체 탭에서 이름을 찾아 클릭합니다.
  4. 권한 탭을 클릭합니다.

주체의 list 및 서비스 주체에 부여된 역할을 볼 수 있습니다. 검색 창을 사용하여 특정 보안 주체 또는 역할을 검색할 수도 있습니다.

서비스 주체의 역할 Grant

  1. 계정 관리자 권한으로 계정 콘솔에 로그인합니다.

  2. 사이드바에서 사용자 관리를 클릭합니다.

  3. 서비스 주체 탭에서 이름을 찾아 클릭합니다.

  4. 권한 탭을 클릭합니다.

  5. Grant 접근 클릭합니다.

  6. 사용자, 서비스 주체 또는 그룹을 검색하고 select 할당할 역할 또는 역할(서비스 주체: 관리자 또는 서비스 주체: 사용자)을 선택합니다.

    참고 항목

    서비스 주체 관리자 역할이 있는 사용자는 서비스 주체 사용자 역할을 상속하지 않습니다. 사용자가 서비스 주체를 사용하여 작업을 실행하도록 하려면 서비스 주체 사용자 역할을 명시적으로 할당해야 합니다.

  7. 저장을 클릭합니다.

서비스 주체의 역할 Revoke

  1. 계정 관리자 권한으로 계정 콘솔에 로그인합니다.
  2. 사이드바에서 사용자 관리를 클릭합니다.
  3. 서비스 주체 탭에서 이름을 찾아 클릭합니다.
  4. 권한 탭을 클릭합니다.
  5. 사용자, 서비스 주체 또는 그룹을 검색하여 역할을 편집합니다.
  6. 교장과 함께 있는 행에서 케밥 메뉴 를 클릭한 다음 케밥 메뉴 select를 통해편집합니다. 또는 보안 주체에 대한 모든 역할을부터 까지 삭제하여 .
  7. 편집을 클릭합니다.
  8. 역할 옆에 있는 X을 클릭하여 revoke하십시오.
  9. 저장을 클릭합니다.

작업 영역 관리자 설정 페이지를 사용하여 서비스 주체 역할 관리

작업 영역 관리자는 관리자 설정 페이지를 사용할 때 서비스 주체 관리자 역할이 있는 서비스 주체에 대한 서비스 주체 역할을 관리할 수 있습니다.

서비스 주체에서 역할 보기

  1. 작업 영역 관리자로 Azure Databricks 작업 영역에 로그인합니다.
  2. Azure Databricks 작업 영역의 위쪽 표시줄에서 사용자 이름을 클릭하고 select설정.
  3. ID 및 액세스 탭을 클릭합니다.
  4. 서비스 주체 옆에 있는 관리를 클릭합니다.
  5. 이름을 찾아 클릭합니다.
  6. 권한 탭을 클릭합니다.

주체의 list 및 서비스 주체에 부여된 역할을 볼 수 있습니다. 검색 창을 사용하여 특정 보안 주체 또는 역할을 검색할 수도 있습니다.

서비스 주체의 역할 Grant

grant 역할을 수행하려면 서비스 주체에 대한 서비스 주체 관리자 역할이 있어야 합니다.

  1. 작업 영역 관리자로 Azure Databricks 작업 영역에 로그인합니다.

  2. Azure Databricks 작업 영역의 위쪽 표시줄에서 사용자 이름을 클릭하고 select설정.

  3. ID 및 액세스 탭을 클릭합니다.

  4. 서비스 주체 옆에 있는 관리를 클릭합니다.

  5. 이름을 찾아 클릭합니다.

  6. 권한 탭을 클릭합니다.

  7. Grant을 액세스하려면을 클릭합니다.

  8. 사용자, 서비스 주체 또는 그룹을 검색하고 select 할당할 역할 또는 역할(서비스 주체: 관리자 또는 서비스 주체: 사용자)을 선택합니다.

    참고 항목

    역할은 작업 영역의 구성원이 아니더라도 모든 계정 수준 사용자, 서비스 주체 또는 그룹에 부여할 수 있습니다. 작업 영역-로컬 그룹에 역할을 부여할 수 없습니다.

    서비스 주체 관리자 역할이 있는 사용자는 서비스 주체 사용자 역할을 상속하지 않습니다. 사용자가 서비스 주체를 사용하여 작업을 실행하도록 하려면 서비스 주체 사용자 역할을 명시적으로 할당해야 합니다.

  9. 저장을 클릭합니다.

서비스 주체의 역할 Revoke

서비스 주체에서 역할을 revoke 하기 위해, 반드시 서비스 주체 관리자 역할이 있어야 합니다.

  1. 작업 영역 관리자로 Azure Databricks 작업 영역에 로그인합니다.
  2. Azure Databricks 작업 영역의 위쪽 표시줄에서 사용자 이름을 클릭한 후 설정 select을 엽니다.
  3. ID 및 액세스 탭을 클릭합니다.
  4. 서비스 주체 옆에 있는 관리를 클릭합니다.
  5. 이름을 찾아 클릭합니다.
  6. 권한 탭을 클릭합니다.
  7. 사용자, 서비스 주체 또는 그룹을 검색하여 역할을 편집합니다.
  8. 주체가 있는 행에서 케밥 메뉴 을 클릭하고,을 선택한 다음 select편집을 누르세요. 또는 select에서를 revoke로 삭제하여 주체에 대한 모든 역할을 제거합니다.
  9. 편집을 클릭합니다.
  10. revoke역할 옆에 있는 X 클릭합니다.
  11. 저장을 클릭합니다.

Databricks CLI를 사용하여 서비스 주체 역할 관리

서비스 주체의 역할을 관리하려면 서비스 주체 관리자 역할이 있어야 합니다. Databricks CLI를 사용하여 역할을 관리할 수 있습니다. Databricks CLI 설치 및 인증에 대한 자세한 내용은 Databricks CLI란?을 참조하세요.

계정 액세스 제어 API사용하여 서비스 주체 역할을 관리할 수도 있습니다. 계정 액세스 제어 API는 Azure Databricks 계정 및 작업 영역을 통해 지원됩니다.

계정 관리자는 accounts.azuredatabricks.net API({account-domain}/api/2.0/preview/accounts/{account_id}/access-control)를 호출합니다.

계정 관리자가 아닌 서비스 주체 관리자 역할이 있는 사용자는 작업 영역 도메인({workspace-domain}/api/2.0/preview/accounts/access-control/)에서 API를 호출합니다.

Databricks CLI를 사용하여 서비스 주체에서 Grant 역할을 설정하기

계정 액세스 제어 API 및 CLI는 일관성을 etag 보장하기 위해 필드를 사용합니다. API를 통해 서비스 주체 역할을 grant 또는 revoke로 지정하려면, 먼저 GET 규칙 set 명령을 실행한 후, 응답으로 etag를 받습니다. 그런 다음 변경 내용을 로컬 환경에 적용하고, 마지막으로 etag와 함께 PUT 규칙 set을 발행할 수 있습니다.

예를 들어 다음 명령을 실행하여 액세스를 grant 서비스 주체에 setGET 규칙을 실행합니다.

databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>

다음을

  • <account-id> 계정 ID를 사용합니다.
  • <application-id> 서비스 주체 애플리케이션 ID를 사용합니다.
  • <etag> with ""

예제 응답:

{
  "etag":"<etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.manager"
    },
    {
      "principals": [
        "users/user@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"<name>"
}

etag 나중에 사용하기 위해 응답 본문에서 필드를 복사합니다.

그런 다음 규칙의 최종 상태를 결정할 때 로컬에서 업데이트한 후 etag를 사용해 규칙 updateset 수 있습니다. 서비스 주체인 사용자 역할을 사용자 user2@example.comgrant 다음을 실행합니다.

databricks account access-control update-rule-set --json '{
  "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
  "rule_set": {
      "name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
      "grant_rules": [
        {
            "role": "roles/servicePrincipal.user",
            "principals": ["users/user2@example.com"]
        }
      ],
      "etag": "<etag>"
  }
}'

다음을

  • <account-id> 계정 ID를 사용합니다.
  • <application-id> 서비스 주체 애플리케이션 ID를 사용합니다.
  • <etag> 마지막 응답에서 복사한 etag를 사용하여

예제 응답:

{
  "etag":"<new-etag>",
  "grant_rules": [
    {
      "principals": [
        "users/user2@example.com"
      ],
      "role":"roles/servicePrincipal.user"
    }
  ],
  "name":"accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default"
}

Important

이는 메서드이므로 PUT 모든 기존 역할을 덮어씁니다. 기존 역할을 유지하려면 배열에 grant_roles 추가해야 합니다.

사용할 수 있는 서비스 주체 List

작업 영역 서비스 주체 API를 사용하여 사용자 역할이 있는 서비스 주체를 servicePrincipal/use로 필터링하여 list 수 있습니다.

서비스 주체 사용자 역할이 있는 서비스 주체에 대해 다음 명령을 실행하려면: list

databricks service-principals list -p WORKSPACE --filter "permission eq 'servicePrincipal/use'"

작업 영역 서비스 주체 API를 사용하여 서비스 주체를 list할 수 있습니다.