중요한 정보를 얻기 위해 보다 세분화된 역할 기반 액세스를 지원하기 위해 몇 가지 중요한 변경 사항을 도입하고 있습니다. 이러한 변경의 일환으로 영향을 받는 엔터티/시나리오 중 하나를 사용하는 경우 2019년 9월 3일까지 몇 가지 작업이 필요할 수 있습니다.
무엇이 변경되고 있나요?
이전에는 권한이 있는 */read
모든 사용자가 사용할 수 있었기 때문에 소유자, 기여자 또는 읽기 권한자 Azure 역할을 소유한 클러스터 사용자가 HDInsight API를 통해 비밀을 얻을 수 있었습니다. 비밀은 사용자의 역할이 허용해야 하는 것보다 더 높은 액세스 권한을 얻는 데 사용할 수 있는 값으로 정의됩니다. 여기에는 클러스터 게이트웨이 HTTP 자격 증명, 스토리지 계정 키 및 데이터베이스 자격 증명과 같은 값이 포함됩니다.
2019년 9월 3일부터 이러한 비밀에 Microsoft.HDInsight/clusters/configurations/action
액세스하려면 권한이 필요하며 사용자는 읽기 권한자 역할로 액세스할 수 없습니다. 이 권한이 있는 역할은 참가자, 소유자 및 새 HDInsight 클러스터 운영자 역할입니다.
또한 기여자 또는 소유자의 관리 권한을 부여받지 않고 비밀을 검색할 수 있는 새로운 HDInsight 클러스터 운영자 역할을 도입하고 있습니다. 요약:
역할 | 전에 | 앞으로의 전망 |
---|---|---|
판독기 | - 비밀을 포함한 읽기 권한. | - 비밀을 제외한 읽기 액세스 권한 |
HDInsight 클러스터 연산자 (새 역할) |
해당 없음(N/A) | - 비밀을 포함한 읽기/쓰기 액세스 |
기여자 | - 비밀을 포함한 읽기/쓰기 권한. - 모든 유형의 Azure 리소스를 만들고 관리합니다. - 스크립트 작업을 실행합니다. |
변경 내용 없음 |
소유자 | - 비밀을 포함한 읽기/쓰기 권한. - 모든 리소스에 대한 전체 액세스 - 다른 사용자에게 액세스 권한을 위임합니다. - 스크립트 작업을 실행합니다. |
변경 내용 없음 |
사용자에게 HDInsight 클러스터 운영자 역할 할당을 추가하여 클러스터 암호에 대한 읽기/쓰기 권한을 부여하는 방법에 대한 자세한 내용은 아래 섹션인 사용자에게 HDInsight 클러스터 운영자 역할 할당 추가를 참조하세요.
이러한 변경의 영향을 받나요?
영향을 받는 엔터티 및 시나리오는 다음과 같습니다.
-
API: 또는
/configurations/{configurationName}
엔드포인트를 사용하는/configurations
사용자입니다. - Azure HDInsight Tools for Visual Studio Code 버전 1.1.1 이하.
- IntelliJ용 Azure 도구 키트 버전 3.20.0 이하.
- Azure Data Lake 및 Stream Analytics Tools for Visual Studio 버전 2.3.9000.1.
- Azure Toolkit for Eclipse 버전 3.15.0 이하.
-
.NET용 SDK
-
버전 1.x 또는 2.x: ConfigurationsOperationsExtensions 클래스의 ,
GetConnectivitySettings
,ConfigureHttpSettings
또는DisableHttp
EnableHttp
메서드를 사용하는GetClusterConfigurations
사용자입니다. -
버전 3.x 이상: 클래스의 ,
Update
,EnableHttp
또는DisableHttp
메서드를 사용하는Get
사용자입니다ConfigurationsOperationsExtensions
.
-
버전 1.x 또는 2.x: ConfigurationsOperationsExtensions 클래스의 ,
-
Python용 SDK: 클래스의 또는
update
메서드를 사용하는get
사용자입니다ConfigurationsOperations
. -
Java용 SDK: 클래스의 또는
get
메소드를update
사용하는 사용자입니다ConfigurationsInner
. -
Go용 SDK: 구조체의 or
Update
메소드를Get
사용하는 사용자입니다ConfigurationsClient
. - Az.HDInsight PowerShell 버전 2.0.0. 아래 섹션을 참조(또는 위의 링크 사용)하여 시나리오에 대한 마이그레이션 단계를 확인합니다.
응용 프로그램 인터페이스 (API)
다음 API는 변경되거나 더 이상 사용되지 않습니다.
-
GET /configurations/{configurationName} (민감한 정보 제거됨)
- 이전에는 개별 구성 유형(비밀 포함)을 가져오는 데 사용되었습니다.
- 2019년 9월 3일부터 이 API 호출은 이제 비밀이 생략된 개별 구성 유형을 반환합니다. 비밀을 포함한 모든 구성을 가져오려면 새 POST /configurations 호출을 사용합니다. 게이트웨이 설정만 가져오려면 새 POST /getGatewaySettings 호출을 사용합니다.
-
GET /configurations (더 이상 사용되지 않음)
- 이전에는 모든 구성(비밀 포함)을 가져오는 데 사용되었습니다.
- 2019년 9월 3일부터 이 API 호출은 더 이상 사용되지 않으며 더 이상 지원되지 않습니다. 앞으로 모든 구성을 가져오려면 새 POST /configurations 호출을 사용합니다. 중요한 매개 변수가 생략된 구성을 가져오려면 GET /configurations/{configurationName} 호출을 사용합니다.
-
POST /configurations/{configurationName} (더 이상 사용되지 않음)
- 이전에는 게이트웨이 자격 증명을 업데이트하는 데 사용되었습니다.
- 2019년 9월 3일부터 이 API 호출은 더 이상 사용되지 않으며 더 이상 지원되지 않습니다. 대신 새 POST /updateGatewaySettings를 사용합니다.
다음과 같은 대체 API가 추가되었습니다.
-
POST/구성
- 이 API를 사용하여 비밀을 포함한 모든 구성을 가져옵니다.
-
POST /getGatewaySettings
- 이 API를 사용하여 게이트웨이 설정을 가져옵니다.
-
POST /updateGatewaySettings
- 이 API를 사용하여 게이트웨이 설정(사용자 이름 및/또는 암호)을 업데이트합니다.
Visual Studio Code용 Azure HDInsight 도구
버전 1.1.1 이하를 사용하는 경우 중단을 방지하기 위해 최신 버전의 Azure HDInsight Tools for Visual Studio Code 로 업데이트합니다.
IntelliJ용 Azure 도구 키트
버전 3.20.0 이하를 사용하는 경우 중단을 방지하기 위해 IntelliJ용 Azure 도구 키트 플러그 인을 최신 버전으로 업데이트합니다.
Visual Studio용 Azure Data Lake 및 Stream Analytics 도구
중단을 방지하기 위해 Azure Data Lake 버전 2.3.9000.1 이상으로 업데이트하고 Visual Studio용 Stream Analytics 도구를 사용합니다. 업데이트에 대한 도움말은 Visual Studio용 Data Lake Tools 업데이트 설명서를 참조하세요.
Eclipse용 Azure 도구 키트
버전 3.15.0 이하를 사용하는 경우 중단을 방지하기 위해 최신 버전의 Azure Toolkit for Eclipse로 업데이트합니다.
.NET용 SDK
버전 1.x 및 2.x
HDInsight SDK for .NET 버전 2.1.0 으로 업데이트합니다. 이러한 변경의 영향을 받는 메서드를 사용하는 경우 최소한의 코드 수정이 필요할 수 있습니다.
ClusterOperationsExtensions.GetClusterConfigurations
스토리지 키(core-site) 또는 HTTP 자격 증명(gateway)과 같은 민감한 매개 변수를 더 이상 반환하지 않습니다 .- 민감한 매개 변수를 포함한 모든 구성을 검색하려면 going forward를 사용합니다
ClusterOperationsExtensions.ListConfigurations
. '읽기 권한자' 역할의 사용자는 이 방법을 사용할 수 없습니다. 이를 통해 클러스터의 민감한 정보에 액세스할 수 있는 사용자를 세부적으로 제어할 수 있습니다. - HTTP 게이트웨이 자격 증명만 검색하려면 를 사용합니다
ClusterOperationsExtensions.GetGatewaySettings
.
- 민감한 매개 변수를 포함한 모든 구성을 검색하려면 going forward를 사용합니다
ClusterOperationsExtensions.GetConnectivitySettings
는 이제 더 이상 사용되지 않으며 로 대체ClusterOperationsExtensions.GetGatewaySettings
되었습니다.ClusterOperationsExtensions.ConfigureHttpSettings
는 이제 더 이상 사용되지 않으며 로 대체ClusterOperationsExtensions.UpdateGatewaySettings
되었습니다.ConfigurationsOperationsExtensions.EnableHttp
이제DisableHttp
더 이상 사용되지 않습니다. 이제 HTTP가 항상 활성화되므로 이러한 메소드가 더 이상 필요하지 않습니다.
버전 3.x 이상
HDInsight SDK for .NET 버전 5.0.0 이상으로 업데이트합니다. 이러한 변경의 영향을 받는 메서드를 사용하는 경우 최소한의 코드 수정이 필요할 수 있습니다.
-
ConfigurationOperationsExtensions.Get
스토리지 키(core-site) 또는 HTTP 자격 증명(gateway)과 같은 민감한 매개 변수를 더 이상 반환하지 않습니다 .- 민감한 매개 변수를 포함한 모든 구성을 검색하려면 going forward를 사용합니다
ConfigurationOperationsExtensions.List
. '읽기 권한자' 역할의 사용자는 이 방법을 사용할 수 없습니다. 이를 통해 클러스터의 민감한 정보에 액세스할 수 있는 사용자를 세부적으로 제어할 수 있습니다. - HTTP 게이트웨이 자격 증명만 검색하려면 를 사용합니다
ClusterOperationsExtensions.GetGatewaySettings
.
- 민감한 매개 변수를 포함한 모든 구성을 검색하려면 going forward를 사용합니다
-
ConfigurationsOperationsExtensions.Update
는 이제 더 이상 사용되지 않으며 로 대체ClusterOperationsExtensions.UpdateGatewaySettings
되었습니다. -
ConfigurationsOperationsExtensions.EnableHttp
이제DisableHttp
더 이상 사용되지 않습니다. 이제 HTTP가 항상 활성화되므로 이러한 메소드가 더 이상 필요하지 않습니다.
Python용 SDK
Python용 HDInsight SDK 버전 1.0.0 이상으로 업데이트합니다. 이러한 변경의 영향을 받는 메서드를 사용하는 경우 최소한의 코드 수정이 필요할 수 있습니다.
-
ConfigurationsOperations.get
스토리지 키(core-site) 또는 HTTP 자격 증명(gateway)과 같은 민감한 매개 변수를 더 이상 반환하지 않습니다 .- 민감한 매개 변수를 포함한 모든 구성을 검색하려면 going forward를 사용합니다
ConfigurationsOperations.list
. '읽기 권한자' 역할의 사용자는 이 방법을 사용할 수 없습니다. 이를 통해 클러스터의 민감한 정보에 액세스할 수 있는 사용자를 세부적으로 제어할 수 있습니다. - HTTP 게이트웨이 자격 증명만 검색하려면 를 사용합니다
ClusterOperations.get_gateway_settings
.
- 민감한 매개 변수를 포함한 모든 구성을 검색하려면 going forward를 사용합니다
-
ConfigurationsOperations.update
는 이제 더 이상 사용되지 않으며 로 대체ClusterOperations.update_gateway_settings
되었습니다.
Java용 SDK
Java용 HDInsight SDK 버전 1.0.0 이상으로 업데이트합니다. 이러한 변경의 영향을 받는 메서드를 사용하는 경우 최소한의 코드 수정이 필요할 수 있습니다.
-
ConfigurationsInner.get
스토리지 키(core-site) 또는 HTTP 자격 증명(gateway)과 같은 민감한 매개 변수를 더 이상 반환하지 않습니다 . -
ConfigurationsInner.update
는 이제 더 이상 사용되지 않습니다.
Go용 SDK
Go용 HDInsight SDK 버전 27.1.0 이상으로 업데이트합니다. 이러한 변경의 영향을 받는 메서드를 사용하는 경우 최소한의 코드 수정이 필요할 수 있습니다.
-
ConfigurationsClient.get
스토리지 키(core-site) 또는 HTTP 자격 증명(gateway)과 같은 민감한 매개 변수를 더 이상 반환하지 않습니다 .- 민감한 매개 변수를 포함한 모든 구성을 검색하려면 going forward를 사용합니다
ConfigurationsClient.list
. '읽기 권한자' 역할의 사용자는 이 방법을 사용할 수 없습니다. 이를 통해 클러스터의 민감한 정보에 액세스할 수 있는 사용자를 세부적으로 제어할 수 있습니다. - HTTP 게이트웨이 자격 증명만 검색하려면 를 사용합니다
ClustersClient.get_gateway_settings
.
- 민감한 매개 변수를 포함한 모든 구성을 검색하려면 going forward를 사용합니다
-
ConfigurationsClient.update
는 이제 더 이상 사용되지 않으며 로 대체ClustersClient.update_gateway_settings
되었습니다.
Az.HDInsight PowerShell
중단을 방지하기 위해 Az PowerShell 버전 2.0.0 이상으로 업데이트합니다. 이러한 변경의 영향을 받는 메서드를 사용하는 경우 최소한의 코드 수정이 필요할 수 있습니다.
-
Grant-AzHDInsightHttpServicesAccess
는 이제 더 이상 사용되지 않으며 새Set-AzHDInsightGatewayCredential
cmdlet으로 대체되었습니다. -
Get-AzHDInsightJobOutput
스토리지 키에 대한 세분화된 역할 기반 액세스를 지원하도록 업데이트되었습니다.- HDInsight 클러스터 운영자, 기여자 또는 소유자 역할이 있는 사용자는 영향을 받지 않습니다.
- 읽기 권한자 역할만 있는 사용자는 매개 변수를 명시적으로 지정해야
DefaultStorageAccountKey
합니다.
-
Revoke-AzHDInsightHttpServicesAccess
는 이제 더 이상 사용되지 않습니다. 이제 HTTP가 항상 사용하도록 설정되므로 이 cmdlet은 더 이상 필요하지 않습니다. az를 참조하십시오. 자세한 내용은 HDInsight 마이그레이션 가이드를 참조하세요.
사용자에게 HDInsight 클러스터 운영자 역할 할당 추가
소유자 역할이 있는 사용자는 중요한 HDInsight 클러스터 구성 값(예: 클러스터 게이트웨이 자격 증명 및 스토리지 계정 키)에 대한 읽기/쓰기 권한을 부여하려는 사용자에게 HDInsight 클러스터 운영자 역할을 할당할 수 있습니다.
Azure CLI 사용
이 역할 할당을 추가하는 가장 간단한 방법은 Azure CLI에서 az role assignment create
명령을 사용하는 것입니다.
비고
이 명령은 소유자 역할을 가진 사용자만 이러한 권한을 부여할 수 있으므로 실행해야 합니다.
--assignee
HDInsight 클러스터 운영자 역할을 할당하려는 사용자의 서비스 주체 이름 또는 이메일 주소입니다. 권한 부족 오류가 발생하면 FAQ를 참조하세요.
리소스(클러스터) 수준에서 역할 부여Grant role at the resource (cluster) level
az role assignment create --role "HDInsight Cluster Operator" --assignee <user@domain.com> --scope /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.HDInsight/clusters/<ClusterName>
리소스 그룹 수준에서 역할 부여Grant role at the resource group level
az role assignment create --role "HDInsight Cluster Operator" --assignee user@domain.com -g <ResourceGroupName>
구독 수준에서 역할 부여Grant role at the subscription level
az role assignment create --role "HDInsight Cluster Operator" --assignee user@domain.com
Azure 포털 사용하기
또는 Azure Portal을 사용하여 사용자에게 HDInsight 클러스터 운영자 역할 할당을 추가할 수 있습니다. Azure Portal을 사용하여 Azure 역할 할당 설명서를 참조하세요.
자주 묻는 질문(FAQ)
API 요청 및/또는 도구를 업데이트한 후 403(사용할 수 없음) 응답이 표시되는 이유는 무엇입니까?
클러스터 구성은 이제 세분화된 역할 기반 액세스 제어 뒤에 있으며 액세스하려면 권한이 필요합니다 Microsoft.HDInsight/clusters/configurations/*
. 이 권한을 얻으려면 구성에 액세스하려는 사용자 또는 서비스 주체에게 HDInsight 클러스터 운영자, 기여자 또는 소유자 역할을 할당합니다.
HDInsight 클러스터 운영자 역할을 다른 사용자 또는 서비스 주체에게 할당하기 위해 Azure CLI 명령을 실행할 때 "권한이 부족하여 작업을 완료할 수 없음"이 표시되는 이유는 무엇인가요?
소유자 역할을 갖는 것 외에도 명령을 실행하는 사용자 또는 서비스 주체는 담당자의 개체 ID를 조회할 수 있는 충분한 Microsoft Entra 권한이 있어야 합니다. 이 메시지는 Microsoft Entra 권한이 부족함을 나타냅니다. 인수를 로 –assignee-object-id
바꾸고 -–assignee
이름 대신 담당자의 개체 ID를 매개 변수로 제공해 보세요(또는 관리 ID의 경우 보안 주체 ID). 자세한 내용은 az role assignment create 설명서의 선택적 매개 변수 섹션을 참조하세요.
그래도 작동하지 않으면 Microsoft Entra 관리자에게 문의하여 올바른 권한을 획득하세요.
아무 조치도 취하지 않으면 어떻게 되나요?
2019 GET /configurations
POST /configurations/gateway
년 9월 3일부터 호출은 더 이상 정보를 반환하지 않으며 호출은 GET /configurations/{configurationName}
더 이상 스토리지 계정 키 또는 클러스터 암호와 같은 중요한 매개 변수를 반환하지 않습니다. 해당 SDK 메서드 및 PowerShell cmdlet도 마찬가지입니다.
언급 된 Visual Studio, VS Code, IntelliJ 또는 Eclipse 용 도구 중 하나의 이전 버전을 사용하는 경우 업데이트 할 때까지 더 이상 작동하지 않습니다.
자세한 내용은 시나리오에 대한 이 문서의 해당 섹션을 참조하세요.