관리 ID를 사용하여 업데이트 정책 실행
적용 대상: ✅Azure Data Explorer
업데이트 정책은 다음 시나리오에서 관리 ID로 구성해야 합니다.
- 업데이트 정책 쿼리가 다른 데이터베이스의 테이블을 참조하는 경우
- 업데이트 정책 쿼리가 활성화된 행 수준 보안 정책이 있는 테이블을 참조하는 경우
관리 ID로 구성된 업데이트 정책은 관리 ID를 대신하여 수행됩니다.
이 문서에서는 시스템 할당 또는 사용자 할당 관리 ID를 구성하고 해당 ID를 사용하여 업데이트 정책을 만드는 방법을 알아봅니다.
필수 조건
- 클러스터 및 데이터베이스 클러스터 및 데이터베이스를 만듭니다.
- 데이터베이스에 대한 AllDatabasesAdmin 권한입니다.
관리 ID 구성
두 가지 종류의 관리 ID가 있습니다.
시스템 할당: 시스템 할당 ID가 클러스터에 연결되고 클러스터가 제거되면 제거됩니다. 클러스터당 하나의 시스템 할당 ID만 허용됩니다.
사용자 할당: 사용자 할당 관리 ID는 독립 실행형 Azure 리소스입니다. 여러 사용자 할당 ID를 클러스터에 할당할 수 있습니다.
다음 탭 중 하나를 선택하여 기본 관리 ID 유형을 설정합니다.
단계에 따라 사용자 할당 ID를 추가합니다.
Azure Portal의 관리 ID 리소스 왼쪽 메뉴에서 속성을 선택합니다. 다음 단계에서 사용할 테넌트 ID 및 보안 주체 ID를 복사하고 저장합니다.
다음 .alter-merge 정책 managed_identity 명령을 실행하여 이전 단계의 관리 ID 보안 주체 ID로 바꿉
<objectId>
니다. 이 명령은 업데이트 정책과 함께 관리 ID를 사용할 수 있도록 클러스터에서 관리 ID 정책을 설정합니다..alter-merge cluster policy managed_identity ```[ { "ObjectId": "<objectId>", "AllowedUsages": "AutomatedFlows" } ]```
참고 항목
특정 데이터베이스에서 정책을 설정하려면 대신 사용합니다
database <DatabaseName>
cluster
.다음 명령을 실행하여 업데이트 정책 쿼리에서 참조하는 모든 데이터베이스에 대해 관리 ID 데이터베이스 뷰어 권한을 부여합니다.
.add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
관련 데이터베이스
<objectId>
, 2단계의 관리 ID 보안 주체 ID,<tenantId>
2단계의 Microsoft Entra ID 테넌트 ID 로 바꿉<DatabaseName>
니다.
업데이트 정책 만들기
다음 탭 중 하나를 선택하여 사용자 할당 또는 시스템 할당 관리 ID를 대신하여 실행되는 업데이트 정책을 만듭니다.
관리 ID 개체 ID로 설정된 속성을 사용하여 ManagedIdentity
.alter 테이블 정책 업데이트 명령을 실행합니다.
예를 들어 다음 명령은 데이터베이스MyDatabase
에 있는 테이블 MyTable
의 업데이트 정책을 변경합니다. 두 매개 변수 모두 Source
Query
업데이트 정책이 정의된 동일한 데이터베이스 내의 개체만 참조해야 합니다. 그러나 매개 변수에 지정된 함수 내에 포함된 코드는 Query
다른 데이터베이스에 있는 테이블과 상호 작용할 수 있습니다. 예를 들어 함수 MyUpdatePolicyFunction()
는 사용자 할당 관리 ID를 대신하여 액세스할 OtherTable
OtherDatabase
수 있습니다. <objectId>
는 관리 ID 개체 ID여야 합니다.
.alter table MyDatabase.MyTable policy update
```
[
{
"IsEnabled": true,
"Source": "MyTable",
"Query": "MyUpdatePolicyFunction()",
"IsTransactional": false,
"PropagateIngestionProperties": false,
"ManagedIdentity": "<objectId>"
}
]
```