Použití spravované identity pro ověřování sql Database ve službě Azure HDInsight
SLUŽBA HDInsight přidala možnost Spravované identity pro ověřování databází SQL v rámci nabídek clusteru a poskytuje bezpečnější mechanismus ověřování.
Tento článek popisuje proces použití možnosti Spravované identity (MSI) pro ověřování služby SQL Database při vytváření clusteru HDInsight.
Možnost Spravovaná identita (MI) je dostupná pro následující databáze:
Databáze | Host on Behalf of (HoBo) DB | Přineste si vlastní databázi (BYO) |
---|---|---|
Ambari | ✅ | ✅ |
Hive | ✅ | ✅ |
Oozie | ✅ | ✅ |
Ranger (ESP) | ❌ | ❌ |
Poznámka:
- Spravovaná identita (MI) je aktuálně dostupná jenom ve veřejných oblastech.
- Možnost MI není ve výchozím nastavení povolená. Pokud ho chcete povolit, odešlete lístek podpory s podrobnostmi o předplatném a oblasti.
Důležité
- Po obnovení clusteru se nedoporučuje aktualizovat spravovanou identitu, protože může narušit provoz clusteru.
- Když znovu vytvoříte MSI se stejným názvem, uživatelé musí znovu vytvořit obsaženého uživatele a znovu přiřadit role, protože nová MSI bude mít jiný objekt a ID klientů, i když název zůstane beze změny.
Postup použití spravované identity během vytváření clusteru na webu Azure Portal
Během vytváření clusteru přejděte do části Úložiště a vyberte databázi SQL pro Ambari, Hive/Oozie. Jako metodu ověřování zvolte spravovanou identitu.
Vyberte spravovanou identitu, která se má ověřit ve službě SQL Database.
Vytvořte uživatele s obsaženou identitou v odpovídající databázi SQL.
Pomocí těchto kroků v editoru dotazů databáze Azure SQL vytvořte uživatele databáze a udělte mu oprávnění pro čtení i zápis. Proveďte tyto kroky pro každou službu SQL Database, kterou budete používat pro různé služby, jako jsou Ambari, Hive nebo Oozie.
Poznámka:
Uživatelské jméno musí obsahovat původní název MSI rozšířený příponou definovanou uživatelem. Osvědčeným postupem je, že přípona může obsahovat počáteční část ID objektu. ID objektu spravované identity lze získat z portálu na stránce spravovaného portálu identit.
Příklad:
- Název MSI: contosoMSI
- ID objektu:
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
- user_name může být
contosoMSI-2ba6c
CREATE USER {user_name} FROM EXTERNAL PROVIDER WITH OBJECT_ID={object id of cluster managed identity}; ALTER ROLE db_datareader ADD MEMBER {user_name}; ALTER ROLE db_ddladmin ADD MEMBER {user_name}; ALTER ROLE db_datawriter ADD MEMBER {user_name};
Poznámka:
Pokud role
db_executor
adb_view_def
db_view_state
jsou již definovány v databázi, není nutné pokračovat v dalším kroku.CREATE ROLE db_executor; GRANT EXECUTE TO db_executor; ALTER ROLE db_executor ADD MEMBER {user_name}; CREATE ROLE db_view_def; GRANT VIEW DEFINITION TO db_view_def; ALTER ROLE db_view_def ADD MEMBER {user_name}; CREATE ROLE db_view_db_state; GRANT VIEW DATABASE STATE TO db_view_db_state; ALTER ROLE db_view_def ADD MEMBER {user_name};
Po zadání potřebných podrobností pokračujte vytvořením clusteru na portálu.