Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wprowadzamy pewne ważne zmiany w celu zapewnienia bardziej szczegółowego dostępu opartego na rolach w celu uzyskania poufnych informacji. W ramach tych zmian niektóre działania mogą być wymagane do 3 września 2019 r., jeśli używasz jednej z dotkniętych jednostek/scenariuszy.
Co się zmienia?
Wcześniej wpisy tajne można było uzyskać za pośrednictwem interfejsu API usługi HDInsight przez użytkowników klastra posiadających role Właściciela, Współautora lub Czytelnika platformy Azure, ponieważ były one dostępne dla każdego posiadacza tych uprawnień. Tajne wartości są definiowane jako takie, które mogą być użyte do uzyskania wyższego poziomu dostępu, niż na jaki powinna pozwalać rola użytkownika, takie jak poświadczenia HTTP bramy klastra, klucze konta magazynu i poświadczenia bazy danych.
Od 3 września 2019 r. uzyskanie dostępu do tych tajemnic będzie wymagało uprawnień Microsoft.HDInsight/clusters/configurations/action, a użytkownik z rolą Czytelnik nie będzie mógł uzyskać do nich dostępu. Role, które mają te uprawnienia, to Współautor, Właściciel i nowa rola Operatora klastra usługi HDInsight.
Wprowadzamy również nową rolę operatora klastra HDInsight, która umożliwia pobieranie sekretów bez nadawania uprawnień administracyjnych współautora lub właściciela. Podsumowanie:
| Rola | Poprzednio | Działania naprzód |
|---|---|---|
| Czytelnik | — Dostęp do odczytu, w tym wpisy tajne. | - Dostęp do odczytu, z wyłączeniem wpisów tajnych |
| Operator klastra usługi HDInsight (Nowa rola) |
N/A | - Dostęp do odczytu/zapisu, w tym dane poufne |
| Współpracownik | - Dostęp do odczytu/zapisu, w tym sekrety. — Tworzenie wszystkich typów zasobów platformy Azure i zarządzanie nimi. - Wykonaj akcje skryptu. |
Bez zmian |
| Właściciel | - Dostęp do odczytu/zapisu, w tym tajne informacje. - Pełny dostęp do wszystkich zasobów — Delegowanie dostępu innym osobom. - Wykonaj akcje skryptu. |
Bez zmian |
Aby uzyskać informacje na temat dodawania przypisania roli operatora klastra HDInsight do użytkownika w celu udzielenia mu dostępu do odczytu/zapisu do sekretów klastra, zobacz Dodawanie przypisania roli operatora klastra HDInsight do użytkownika.
Dowiedz się, czy dotyczy to jednostek lub scenariuszy
Dotyczy to następujących jednostek i scenariuszy:
-
API: użytkownicy korzystający z punktów końcowych
/configurationslub/configurations/{configurationName}. - Azure HDInsight Tools for Visual Studio Code w wersji 1.1.1 lub nowszej.
- Azure Toolkit for IntelliJ w wersji 3.20.0 lub nowszej.
- Narzędzia Azure Data Lake i Stream Analytics dla Visual Studio w wersji 2.3.9000.1.
- Azure Toolkit for Eclipse w wersji 3.15.0 lub nowszej.
-
Zestaw SDK dla platformy .NET
-
wersje 1.x lub 2.x: użytkownicy korzystający z
GetClusterConfigurationsmetod ,GetConnectivitySettings,ConfigureHttpSettingsEnableHttplubDisableHttpz klasy ConfigurationsOperationsExtensions. -
wersje 3.x i nowsze: użytkownicy korzystający z metod
Get,Update,EnableHttplubDisableHttpklasyConfigurationsOperationsExtensions.
-
wersje 1.x lub 2.x: użytkownicy korzystający z
-
Zestaw SDK dla języka Python: użytkownicy korzystający z metod
getlubupdatez klasyConfigurationsOperations. -
Zestaw SDK dla języka Java: użytkownicy korzystający z metod
updatelubgetw klasieConfigurationsInner. -
Zestaw SDK dla języka Go: użytkownicy korzystający z metod
GetlubUpdateze strukturyConfigurationsClient. - Az.HDInsight PowerShell w wersji 2.0.0. Zapoznaj się z poniższymi sekcjami (lub skorzystaj z powyższych linków), aby zapoznać się z krokami migracji dla danego scenariusza.
API
Następujące interfejsy API są zmieniane lub przestarzałe:
-
GET /configurations/{configurationName} (usunięte informacje poufne)
- Wcześniej używane do uzyskiwania indywidualnych typów konfiguracji (w tym tajnych danych).
- Od 3 września 2019 r. to wywołanie interfejsu API teraz zwraca poszczególne typy konfiguracji z pominięciem danych poufnych. Aby uzyskać wszystkie konfiguracje, w tym tajne dane, użyj nowego wywołania POST /configurations. Aby uzyskać tylko ustawienia bramy, użyj nowego wywołania POST /getGatewaySettings.
-
GET /configurations (przestarzałe)
- Wcześniej używane do uzyskiwania wszystkich konfiguracji (w tym tajnych danych)
- Od 3 września 2019 r. to wywołanie interfejsu API jest przestarzałe i nie jest już obsługiwane. Aby uzyskać wszystkie konfiguracje w przyszłości, użyj nowego wywołania POST /configurations. Aby uzyskać konfiguracje z pominiętymi poufnymi parametrami, użyj wywołania GET /configurations/{configurationName}.
-
POST /configurations/{configurationName} (przestarzałe)
- Wcześniej służyło do aktualizowania poświadczeń bramy.
- Od 3 września 2019 r. to wywołanie interfejsu API jest przestarzałe i nie jest już obsługiwane. Zamiast tego użyj nowego polecenia POST /updateGatewaySettings.
Dodano następujące zastępcze interfejsy API:
-
Wpis /konfiguracje
- Użyj tego interfejsu API, aby uzyskać wszystkie konfiguracje, w tym sekrety.
-
POST /getGatewaySettings
- Użyj tego interfejsu API, aby uzyskać ustawienia bramy.
-
POST /updateGatewaySettings
- Użyj tego interfejsu API, aby zaktualizować ustawienia bramy (nazwa użytkownika i/lub hasło).
Narzędzia usługi Azure HDInsight dla programu Visual Studio Code
Jeśli używasz wersji 1.1.1 lub nowszej, zaktualizuj program Azure HDInsight Tools for Visual Studio Code do najnowszej wersji , aby uniknąć przerw.
Azure Toolkit for IntelliJ
Jeśli używasz wersji 3.20.0 lub nowszej, zaktualizuj do najnowszej wersji wtyczki Azure Toolkit for IntelliJ , aby uniknąć przerw.
Narzędzia Azure Data Lake i Analizy Strumieniowej dla Visual Studio
Przeprowadź aktualizację do wersji 2.3.9000.1 lub nowszej narzędzi Azure Data Lake i Stream Analytics Tools for Visual Studio , aby uniknąć przerw. Aby uzyskać pomoc dotyczącą aktualizowania, zobacz naszą dokumentację Update Data Lake Tools for Visual Studio.
Azure Toolkit for Eclipse
Jeśli używasz wersji 3.15.0 lub nowszej, zaktualizuj zestaw narzędzi Azure Toolkit for Eclipse do najnowszej wersji , aby uniknąć przerw.
Zestaw SDK środowiska .NET
Wersje 1.x i 2.x
Aktualizacja do wersji 2.1.0 zestawu SDK usługi HDInsight dla platformy .NET. W przypadku używania metody objętej tymi zmianami może być wymagana minimalna modyfikacja kodu:
ClusterOperationsExtensions.GetClusterConfigurationsNie zwraca już poufnych parametrów, takich jak klucze przechowywania (core-site) lub poświadczenia HTTP (brama).- Aby pobrać wszystkie konfiguracje, w tym parametry poufne, stosuj
ClusterOperationsExtensions.ListConfigurationsod tej pory. Użytkownicy z rolą "Czytelnik" nie mogą używać tej metody. Umożliwia ona szczegółową kontrolę nad tym, którzy użytkownicy mogą uzyskiwać dostęp do poufnych informacji dla klastra. - Aby pobrać tylko poświadczenia bramy HTTP, użyj polecenia
ClusterOperationsExtensions.GetGatewaySettings.
- Aby pobrać wszystkie konfiguracje, w tym parametry poufne, stosuj
ClusterOperationsExtensions.GetConnectivitySettingsjest przestarzały i zastępowany przezClusterOperationsExtensions.GetGatewaySettings.ClusterOperationsExtensions.ConfigureHttpSettingsjest przestarzały i zastępowany przezClusterOperationsExtensions.UpdateGatewaySettings.ConfigurationsOperationsExtensions.EnableHttpiDisableHttpsą przestarzałe. Protokół HTTP jest zawsze włączony, więc te metody nie są już potrzebne.
Wersje 3.x i nowsze
Przeprowadź aktualizację do wersji 5.0.0 lub nowszej zestawu SDK usługi HDInsight dla platformy .NET. W przypadku używania metody objętej tymi zmianami może być wymagana minimalna modyfikacja kodu:
-
ConfigurationOperationsExtensions.GetNie będą już zwracać poufnych parametrów, takich jak klucze magazynu (core-site) lub poświadczenia HTTP (brama).- Aby pobrać wszystkie konfiguracje, w tym parametry poufne, stosuj
ConfigurationOperationsExtensions.Listod tej pory. Użytkownicy z rolą "Czytelnik" nie mogą używać tej metody. Umożliwia ona szczegółową kontrolę nad tym, którzy użytkownicy mogą uzyskiwać dostęp do poufnych informacji dla klastra. - Aby pobrać tylko poświadczenia bramy HTTP, użyj polecenia
ClusterOperationsExtensions.GetGatewaySettings.
- Aby pobrać wszystkie konfiguracje, w tym parametry poufne, stosuj
-
ConfigurationsOperationsExtensions.Updatejest przestarzały i zastępowany przezClusterOperationsExtensions.UpdateGatewaySettings. -
ConfigurationsOperationsExtensions.EnableHttpiDisableHttpsą przestarzałe. Protokół HTTP jest zawsze włączony, więc te metody nie są już potrzebne.
Zestaw SDK dla środowiska Python
Przeprowadź aktualizację do wersji 1.0.0 lub nowszej zestawu SDK usługi HDInsight dla języka Python. W przypadku używania metody objętej tymi zmianami może być wymagana minimalna modyfikacja kodu:
-
ConfigurationsOperations.getNie zwraca już poufnych parametrów , takich jak klucze magazynu (core-site) lub poświadczenia HTTP (brama).- Aby pobrać wszystkie konfiguracje, w tym parametry poufne, stosuj
ConfigurationsOperations.listod tej pory. Użytkownicy z rolą "Czytelnik" nie mogą używać tej metody. Umożliwia ona szczegółową kontrolę nad tym, którzy użytkownicy mogą uzyskiwać dostęp do poufnych informacji dla klastra. - Aby pobrać tylko poświadczenia bramy HTTP, użyj polecenia
ClusterOperations.get_gateway_settings.
- Aby pobrać wszystkie konfiguracje, w tym parametry poufne, stosuj
-
ConfigurationsOperations.updatejest przestarzały i zastępowany przezClusterOperations.update_gateway_settings.
Zestaw SDK dla języka Java
Przeprowadź aktualizację do wersji 1.0.0 lub nowszej zestawu SDK usługi HDInsight dla języka Java. W przypadku używania metody objętej tymi zmianami może być wymagana minimalna modyfikacja kodu:
-
ConfigurationsInner.getNie zwraca już poufnych parametrów , takich jak klucze magazynu (core-site) lub poświadczenia HTTP (brama). -
ConfigurationsInner.updatejest przestarzałe.
Zestaw SDK dla języka Go
Przeprowadź aktualizację do wersji 27.1.0 lub nowszej zestawu SDK usługi HDInsight dla języka Go. W przypadku używania metody objętej tymi zmianami może być wymagana minimalna modyfikacja kodu:
-
ConfigurationsClient.getNie zwraca już poufnych parametrów , takich jak klucze magazynu (core-site) lub poświadczenia HTTP (brama).- Aby pobrać wszystkie konfiguracje, w tym parametry poufne, stosuj
ConfigurationsClient.listod tej pory. Użytkownicy z rolą "Czytelnik" nie mogą używać tej metody. Umożliwia ona szczegółową kontrolę nad tym, którzy użytkownicy mogą uzyskiwać dostęp do poufnych informacji dla klastra. - Aby pobrać tylko poświadczenia bramy HTTP, użyj polecenia
ClustersClient.get_gateway_settings.
- Aby pobrać wszystkie konfiguracje, w tym parametry poufne, stosuj
-
ConfigurationsClient.updatejest przestarzały i zastępowany przezClustersClient.update_gateway_settings.
Az.HDInsight PowerShell
Przeprowadź aktualizację do modułu Az programu PowerShell w wersji 2.0.0 lub nowszej, aby uniknąć przerw w działaniu. W przypadku używania metody objętej tymi zmianami może być wymagana minimalna modyfikacja kodu.
-
Grant-AzHDInsightHttpServicesAccessjest przestarzały i zastępowany przez noweSet-AzHDInsightGatewayCredentialpolecenie cmdlet. -
Get-AzHDInsightJobOutputzostał zaktualizowany w celu zapewnienia szczegółowego dostępu opartego na rolach do klucza magazynu.- Nie ma to wpływu na użytkowników z rolami operatora klastra usługi HDInsight, współautora lub właściciela.
- Użytkownicy jedynie z rolą Czytelnik muszą jawnie określić parametr
DefaultStorageAccountKey.
-
Revoke-AzHDInsightHttpServicesAccessjest przestarzałe. Protokół HTTP jest zawsze włączony, więc to polecenie cmdlet nie jest już potrzebne. Zobacz Przewodnik migracji az.HDInsight, aby uzyskać więcej informacji.
Przypisz rolę Operatora klastra HDInsight użytkownikowi
Użytkownik z rolą Właściciel może przyznać rolę Operator klastra usługi HDInsight użytkownikom, którym chcesz nadać dostęp do odczytu/zapisu do poufnych wartości konfiguracji klastra usługi HDInsight (takich jak poświadczenia bramy klastra i klucze konta magazynu).
Korzystanie z Azure CLI
Najprostszym sposobem dodania tego przypisania roli jest użycie polecenia w Azure CLI az role assignment create.
Uwaga
To polecenie musi być uruchamiane przez użytkownika z rolą Właściciel, ponieważ tylko te uprawnienia mogą zostać przyznane.
--assignee to nazwa jednostki usługi lub adres e-mail użytkownika, któremu chcesz przypisać rolę Operatora Klastra HDInsight. Jeśli wystąpi błąd dotyczący niewystarczających uprawnień, zobacz FAQ.
Przyznanie roli na poziomie zasobu (klaster)
az role assignment create --role "HDInsight Cluster Operator" --assignee <user@domain.com> --scope /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.HDInsight/clusters/<ClusterName>
Przydzielić rolę na poziomie grupy zasobów
az role assignment create --role "HDInsight Cluster Operator" --assignee user@domain.com -g <ResourceGroupName>
Nadaj rolę na poziomie subskrypcji
az role assignment create --role "HDInsight Cluster Operator" --assignee user@domain.com
Korzystanie z witryny Azure Portal
Możesz również użyć portalu Azure, aby dodać przypisanie roli Operator klastra HDInsight do użytkownika. Zapoznaj się z dokumentacją Przypisywanie ról platformy Azure przy użyciu witryny Azure Portal.
Często zadawane pytania
Dlaczego widzę odpowiedź 403 (Zabronione) po zaktualizowaniu żądań interfejsu API i/lub narzędzia?
Konfiguracje klastra są teraz za kontrolą dostępu opartą na rolach z poziomami szczegółowymi i wymagają uprawnienia Microsoft.HDInsight/clusters/configurations/* do uzyskania dostępu do nich. Aby uzyskać te uprawnienia, przypisz rolę Operatora klastra HDInsight, Współautora lub Właściciela do użytkownika lub jednostki usługi próbującej uzyskać dostęp do konfiguracji.
Dlaczego widzę komunikat "Niewystarczające uprawnienia do ukończenia operacji" podczas uruchamiania polecenia interfejsu wiersza polecenia platformy Azure w celu przypisania roli operatora klastra usługi HDInsight do innego użytkownika lub jednostki usługi?
Oprócz posiadania roli Właściciela, użytkownik lub jednostka usługi wykonująca polecenie musi mieć wystarczające uprawnienia usługi Microsoft Entra, aby wyszukać identyfikatory obiektów przypisanych. Ten komunikat wskazuje niewystarczające uprawnienia firmy Microsoft Entra. Spróbuj zastąpić argument -–assignee wartością –assignee-object-id i podać identyfikator obiektu przypisanego jako parametr zamiast nazwy (lub identyfikator użytkownika w przypadku tożsamości zarządzanej). Aby uzyskać więcej informacji, zajrzyj do sekcji parametrów opcjonalnych w dokumentacji az role assignment create.
Jeśli nadal nie działa, skontaktuj się z administratorem firmy Microsoft Entra, aby uzyskać odpowiednie uprawnienia.
Co się stanie, jeśli nie podejmę żadnych działań?
Od 3 września 2019 wywołania GET /configurations i POST /configurations/gateway nie zwracają już żadnych informacji, a wywołanie GET /configurations/{configurationName} nie zwraca już poufnych parametrów, takich jak klucze konta magazynowego lub hasło klastra. To samo dotyczy odpowiednich metod zestawu SDK i poleceń cmdlet programu PowerShell.
Jeśli używasz starszej wersji jednego z narzędzi programu Visual Studio, VS Code, IntelliJ lub Eclipse, nie będzie już działać, dopóki nie zostanie zaktualizowana.
Aby uzyskać bardziej szczegółowe informacje, zobacz odpowiednią sekcję tego dokumentu dla danego scenariusza.