Migrace na podrobné řízení přístupu na základě role pro konfigurace clusteru
Článek
Zavádíme několik důležitých změn, které podporují jemněji odstupňovaný přístup na základě role za účelem získání citlivých informací. V rámci těchto změn může být některá akce vyžadována do 3. září 2019 , pokud používáte některou z ovlivněných entit nebo scénářů.
Co se mění?
Dříve bylo možné tajné kódy získat prostřednictvím rozhraní HDInsight API tím, že uživatelé clusteru mají role Vlastník, Přispěvatel nebo Čtenář Azure, protože jsou k dispozici všem uživatelům s oprávněním*/read. Tajné kódy jsou definovány jako hodnoty, které by bylo možné použít k získání vyššího přístupu, než by měla být povolena role uživatele. Patří mezi ně hodnoty, jako jsou přihlašovací údaje HTTP brány clusteru, klíče účtu úložiště a přihlašovací údaje databáze.
Od 3. září 2019 bude přístup k těmto tajným kódům vyžadovat Microsoft.HDInsight/clusters/configurations/action oprávnění, uživatel k němu nebude mít přístup s rolí Čtenář. Role s tímto oprávněním jsou přispěvatel, vlastník a nová role operátora clusteru HDInsight.
Zavádíme také novou roli operátora clusteru HDInsight, která dokáže načíst tajné kódy bez udělení oprávnění správce přispěvatele nebo vlastníka. Shrnutí:
Role
Dříve
Do budoucna
Čtenář
- Přístup pro čtení, včetně tajných kódů.
- Přístup pro čtení, s výjimkou tajných kódů
Operátor clusteru HDInsight (Nová role)
–
- Přístup pro čtení a zápis, včetně tajných kódů
Přispěvatel
- Přístup pro čtení a zápis, včetně tajných kódů. – Umožňuje vytvářet a spravovat všechny typy prostředků Azure. - Provádění akcí skriptu.
Beze změny
Vlastník
- Přístup pro čtení a zápis včetně tajných kódů. - Úplný přístup ke všem prostředkům - Delegujte přístup k ostatním. - Provádění akcí skriptu.
Beze změny
Informace o tom, jak přidat přiřazení role operátora clusteru HDInsight uživateli, aby mu udělil přístup pro čtení a zápis k tajným kódům clusteru, najdete v následující části Přidání přiřazení role operátora clusteru HDInsight uživateli.
Mám na tyto změny vliv?
Ovlivněné jsou následující entity a scénáře:
Rozhraní API: Uživatelé používající /configurations/configurations/{configurationName} koncové body
verze 1.x nebo 2.x: Uživatelé používající GetClusterConfigurations, GetConnectivitySettings, ConfigureHttpSettingsEnableHttp nebo DisableHttp metody z ConfigurationsOperationsExtensions třídy.
verze 3.x a up: Uživatelé používající Gettřídy , Update, EnableHttpnebo DisableHttp metody ConfigurationsOperationsExtensions .
SDK pro Python: Uživatelé používající get třídy nebo update metody ConfigurationsOperations .
SDK pro Javu: Uživatelé používající update třídy nebo get metody ConfigurationsInner .
SDK for Go: Uživatelé používající Get metody nebo Update metody ze ConfigurationsClient struktury.
Az.HDInsight PowerShell verze 2.0.0.
Kroky při migraci pro váš scénář najdete v následujících částech (nebo použijte odkazy uvedené výš).
API
Následující rozhraní API jsou změněna nebo zastaralá:
Dříve se používaly k získání jednotlivých typů konfigurace (včetně tajných kódů).
Od 3. září 2019 teď toto volání rozhraní API vrátí jednotlivé typy konfigurace s vynechanými tajnými kódy. K získání všech konfigurací, včetně tajných kódů, použijte nové volání POST /configurations. Pokud chcete získat pouze nastavení brány, použijte nové volání POST /getGateway Nastavení.
Dříve se používalo k získání všech konfigurací (včetně tajných kódů).
Od 3. září 2019 bude toto volání rozhraní API zastaralé a už nebude podporováno. Pokud chcete získat všechny konfigurace, použijte nové volání POST /configurations. Pokud chcete získat konfigurace s vynechanými citlivými parametry, použijte volání GET /configurations/{configurationName}.
Aktualizujte na verzi 2.1.0 sady HDInsight SDK pro .NET. Minimální úpravy kódu mohou být vyžadovány, pokud používáte metodu ovlivněnou těmito změnami:
ClusterOperationsExtensions.GetClusterConfigurations už nebudou vracet citlivé parametry , jako jsou klíče úložiště (jádro-lokalita) nebo přihlašovací údaje HTTP (brána).
Pokud chcete načíst všechny konfigurace, včetněcitlivýchch ClusterOperationsExtensions.ListConfigurations Uživatelé s rolí Čtenář nemůžou tuto metodu používat. Umožňuje podrobnou kontrolu nad tím, kteří uživatelé mají přístup k citlivým informacím pro cluster.
Pokud chcete načíst jenom přihlašovací údaje brány HTTP, použijte ClusterOperationsExtensions.GetGatewaySettings.
ClusterOperationsExtensions.GetConnectivitySettingsje nyní zastaralá a byla nahrazena .ClusterOperationsExtensions.GetGatewaySettings
ClusterOperationsExtensions.ConfigureHttpSettingsje nyní zastaralá a byla nahrazena .ClusterOperationsExtensions.UpdateGatewaySettings
ConfigurationsOperationsExtensions.EnableHttp a DisableHttp jsou zastaralé. Protokol HTTP je teď vždycky povolený, takže tyto metody už nejsou potřeba.
Verze 3.x a vyšší
Aktualizujte na verzi 5.0.0 nebo novější sady HDInsight SDK pro .NET. Minimální úpravy kódu mohou být vyžadovány, pokud používáte metodu ovlivněnou těmito změnami:
ConfigurationOperationsExtensions.Get už nebudou vracet citlivé parametry , jako jsou klíče úložiště (jádro-lokalita) nebo přihlašovací údaje HTTP (brána).
Pokud chcete načíst všechny konfigurace, včetněcitlivýchch ConfigurationOperationsExtensions.List Uživatelé s rolí Čtenář nemůžou tuto metodu používat. Umožňuje podrobnou kontrolu nad tím, kteří uživatelé mají přístup k citlivým informacím pro cluster.
Aktualizujte na verzi 1.0.0 nebo novější sady HDInsight SDK pro Python. Minimální úpravy kódu mohou být vyžadovány, pokud používáte metodu ovlivněnou těmito změnami:
ConfigurationsOperations.get už nebudou vracet citlivé parametry , jako jsou klíče úložiště (jádro-lokalita) nebo přihlašovací údaje HTTP (brána).
Pokud chcete načíst všechny konfigurace, včetněcitlivýchch ConfigurationsOperations.list Uživatelé s rolí Čtenář nemůžou tuto metodu používat. Umožňuje podrobnou kontrolu nad tím, kteří uživatelé mají přístup k citlivým informacím pro cluster.
Aktualizujte na verzi 1.0.0 nebo novější sady HDInsight SDK pro Javu. Minimální úpravy kódu mohou být vyžadovány, pokud používáte metodu ovlivněnou těmito změnami:
ConfigurationsInner.get už nebudou vracet citlivé parametry , jako jsou klíče úložiště (jádro-lokalita) nebo přihlašovací údaje HTTP (brána).
ConfigurationsInner.update je teď zastaralý.
SDK For Go
Aktualizujte na verzi 27.1.0 nebo novější sady HDInsight SDK pro Go. Minimální úpravy kódu mohou být vyžadovány, pokud používáte metodu ovlivněnou těmito změnami:
ConfigurationsClient.get už nebudou vracet citlivé parametry , jako jsou klíče úložiště (jádro-lokalita) nebo přihlašovací údaje HTTP (brána).
Pokud chcete načíst všechny konfigurace, včetněcitlivýchch ConfigurationsClient.list Uživatelé s rolí Čtenář nemůžou tuto metodu používat. Umožňuje podrobnou kontrolu nad tím, kteří uživatelé mají přístup k citlivým informacím pro cluster.
Aktualizujte na Az PowerShell verze 2.0.0 nebo novější, abyste se vyhnuli přerušení. Minimální úpravy kódu mohou být vyžadovány, pokud používáte metodu ovlivněnou těmito změnami.
Grant-AzHDInsightHttpServicesAccess je teď zastaralý a nahradila ji nová Set-AzHDInsightGatewayCredential rutina.
Get-AzHDInsightJobOutput byla aktualizována tak, aby podporovala podrobný přístup na základě role ke klíči úložiště.
Na uživatele s rolemi operátora clusteru HDInsight, přispěvatele nebo vlastníka to nemá vliv.
Uživatelé, kteří mají pouze roli Čtenář, potřebují explicitně zadat DefaultStorageAccountKey parametr.
Revoke-AzHDInsightHttpServicesAccess je teď zastaralý. Protokol HTTP je teď vždycky povolený, takže tato rutina už není potřebná.
Podívejte se na az. Další podrobnosti najdete v průvodci migrací služby HDInsight.
Přidání přiřazení role operátora clusteru HDInsight uživateli
Uživatel s rolí Vlastník může přiřadit roli operátora clusteru HDInsight uživatelům, kterým chcete mít přístup pro čtení a zápis k citlivým hodnotám konfigurace clusteru HDInsight (například přihlašovací údaje brány clusteru a klíče účtu úložiště).
Použití Azure CLI
Nejjednodušší způsob, jak toto přiřazení role přidat, je použít az role assignment create příkaz v Azure CLI.
Poznámka
Tento příkaz musí spustit uživatel s rolí Vlastník, protože tato oprávnění můžou udělit jenom oni. Jedná se --assignee o název instančního objektu nebo e-mailové adresy uživatele, kterému chcete přiřadit roli operátora clusteru HDInsight. Pokud se zobrazí chybová zpráva o nedostatečných oprávněních, přečtěte si nejčastější dotazy.
Udělení role na úrovni prostředku (clusteru)
Azure CLI
az role assignment create --role"HDInsight Cluster Operator"--assignee<user@domain.com>--scope /subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.HDInsight/clusters/<ClusterName>
Udělení role na úrovni skupiny prostředků
Azure CLI
az role assignment create --role"HDInsight Cluster Operator"--assignee user@domain.com -g<ResourceGroupName>
Udělení role na úrovni předplatného
Azure CLI
az role assignment create --role"HDInsight Cluster Operator"--assignee user@domain.com
Pomocí webu Azure Portal
Případně můžete k přidání přiřazení role operátora clusteru HDInsight k uživateli použít Azure Portal. Podívejte se na dokumentaci a přiřaďte role Azure pomocí webu Azure Portal.
Často kladené dotazy
Proč se po aktualizaci požadavků rozhraní API nebo nástroje zobrazuje odpověď 403 (Zakázáno)?
Konfigurace clusteru jsou teď za podrobným řízením přístupu na základě role a vyžadují Microsoft.HDInsight/clusters/configurations/* oprávnění k přístupu k nim. Chcete-li získat toto oprávnění, přiřaďte uživateli nebo instančnímu objektu roli operátora clusteru HDInsight, přispěvatele nebo vlastníka, který se pokouší o přístup ke konfiguracím.
Proč se při spuštění příkazu Azure CLI zobrazí nedostatečná oprávnění k dokončení operace, aby se role operátora clusteru HDInsight přiřadil jinému uživateli nebo instančnímu objektu?
Kromě role Vlastník musí mít uživatel nebo instanční objekt, který příkaz spouští, dostatečná oprávnění Microsoft Entra k vyhledání ID objektů přiřazeného. Tato zpráva indikuje nedostatečná oprávnění Microsoft Entra. Zkuste argument –assignee-object-id nahradit -–assignee a zadat ID objektu přiřazeného jako parametr místo názvu (nebo ID objektu zabezpečení v případě spravované identity). Další informace najdete v části volitelné parametry v dokumentaci az role assignment create.
Pokud to stále nefunguje, požádejte správce Microsoft Entra o získání správných oprávnění.
Co se stane, když neprojdu žádnou akcí?
Od 3. září 2019 GET /configurations se už nebudou vracet žádné informace a POST /configurations/gateway volání už nebudou GET /configurations/{configurationName} vracet citlivé parametry, jako jsou klíče účtu úložiště nebo heslo clusteru. Totéž platí pro odpovídající metody sady SDK a rutiny PowerShellu.
Pokud používáte starší verzi některého z nástrojů pro Visual Studio, VSCode, IntelliJ nebo Eclipse, nebude už fungovat, dokud neaktualizujete.
Podrobnější informace najdete v odpovídající části tohoto dokumentu pro váš scénář.
Azure HPC je účelově sestavená cloudová funkce pro úlohy HPC a AI, která využívá špičkové procesory a interfiniBand třídy HPC, aby poskytovala nejlepší výkon, škálovatelnost a hodnotu aplikací. Azure HPC umožňuje uživatelům odhalovat inovace, produktivitu a obchodní flexibilitu prostřednictvím vysoce dostupné řady technologií HPC a AI, které se dají dynamicky přidělovat při změně obchodních a technických potřeb. Tento studijní program je řada modulů, které vám pomůžou začít pracovat s prostředím Azure HPC –