Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:Azure SQL Managed Instance
V tomto článku se naučíte používat instanční objekty (přihlášení) zálohované microsoftem Entra ID (dříve Azure Active Directory) k zabezpečení spravované instance Azure SQL.
V tomto kurzu se naučíte:
- Vytvořte přihlášení Microsoft Entra pro spravovanou instanci SQL.
- Udělte oprávnění pro přihlášení ve spravované instanci SQL.
- Vytvořte uživatele Microsoft Entra z přihlášení.
- Přiřaďte uživatelům oprávnění a spravujte zabezpečení databáze.
- Používejte zosobnění s uživateli.
- Používejte u uživatelů dotazy napříč databázemi.
- Seznamte se s funkcemi zabezpečení, jako je ochrana před hrozbami, auditování, maskování dat a šifrování.
Poznámka:
ID Microsoft Entra se dříve označovalo jako Azure Active Directory (Azure AD).
Požadavky
K dokončení kurzu se ujistěte, že máte následující požadavky:
- SQL Server Management Studio (SSMS)
- Spravovaná instance SQL
- Postupujte podle tohoto článku: Rychlý start: Vytvoření spravované instance SQL
- Přístup ke spravované instanci SQL a zřízení správce Microsoft Entra pro spravovanou instanci SQL. Další informace najdete tady:
Omezení přístupu
Ke spravovaným instancím SQL je možné přistupovat prostřednictvím privátní IP adresy. Podobně jako izolované prostředí SQL Serveru potřebují aplikace nebo uživatelé přístup k síti služby SQL Managed Instance (VNet) před vytvořením připojení. Další informace najdete v tématu Připojení aplikace ke službě SQL Managed Instance.
Je také možné nakonfigurovat koncový bod služby ve spravované instanci SQL, která umožňuje veřejná připojení stejným způsobem jako pro Azure SQL Database. Další informace najdete v tématu Konfigurace veřejného koncového bodu v Azure SQL Managed Instance.
Vytvoření přihlášení Microsoft Entra pomocí SSMS
Správce SQL může vytvořit první přihlášení Microsoft Entra nebo správce Microsoft Entra vytvořený během zřizování. Další informace naleznete v tématu Zřízení správce Microsoft Entra pro SLUŽBU SQL Managed Instance.
Příklady připojení ke službě SQL Managed Instance najdete v následujících článcích:
- Rychlý start: Konfigurace virtuálního počítače Azure pro připojení ke službě SQL Managed Instance
- Rychlý start: Konfigurace připojení typu point-to-site ke službě SQL Managed Instance z místního prostředí
Připojte se ke spravované instanci SQL pomocí přihlášení správce systému SQL nebo správce Microsoft Entra pomocí aplikace SQL Server Management Studio (SSMS).
V Průzkumník objektů klikněte pravým tlačítkem na server a zvolte Nový dotaz.
V okně dotazu použijte následující syntaxi k vytvoření přihlášení k místnímu účtu Microsoft Entra:
USE master GO CREATE LOGIN login_name FROM EXTERNAL PROVIDER GOTento příklad vytvoří přihlášení pro účet
nativeuser@aadsqlmi.onmicrosoft.com.USE master GO CREATE LOGIN [nativeuser@aadsqlmi.onmicrosoft.com] FROM EXTERNAL PROVIDER GONa panelu nástrojů vyberte Spustit a vytvořte přihlášení.
Spuštěním následujícího příkazu T-SQL zkontrolujte nově přidané přihlášení:
SELECT * FROM sys.server_principals; GO
Další informace najdete v tématu CREATE LOGIN.
Udělení oprávnění k vytváření přihlášení
Existující přihlášení musí mít odpovídající oprávnění nebo být součástí příslušných rolí serveru, aby bylo možné vytvořit další přihlášení Microsoft Entra.
Přihlášení ověřování SQL
Pokud se jedná o objekt zabezpečení serveru založený na ověřování SQL, musí být přiřazena role správce systému , aby bylo možné vytvořit přihlášení pro účty Microsoft Entra.
Přihlášení k ověřování Microsoft Entra
- Pokud je přihlášení instančním objektem serveru Microsoft Entra, musí být přiřazena role serveru sysadmin nebo securityadmin , aby bylo možné vytvářet přihlášení pro ostatní uživatele, skupiny a aplikace Microsoft Entra.
- Minimálně
ALTER ANY LOGINmusí být uděleno oprávnění k vytvoření dalších přihlášení Microsoft Entra. - Ve výchozím nastavení jsou standardní oprávnění udělená nově vytvořeným přihlášením Microsoft Entra a
masterCONNECT SQLVIEW ANY DATABASE. - Roli serveru sysadmin lze udělit mnoha přihlášením Microsoft Entra v rámci spravované instance SQL.
Přidání přihlášení k roli serveru sysadmin :
Znovu se přihlaste ke spravované instanci SQL nebo použijte stávající připojení s správcem Microsoft Entra nebo instančním objektem SQL, který je správcem systému.
V Průzkumník objektů klikněte pravým tlačítkem na server a zvolte Nový dotaz.
Pomocí následující syntaxe T-SQL udělte službě Microsoft Entra přihlašovací roli serveru sysadmin :
ALTER SERVER ROLE sysadmin ADD MEMBER login_name GONásledující příklad udělí roli serveru sysadmin přihlášení
nativeuser@aadsqlmi.onmicrosoft.com:ALTER SERVER ROLE sysadmin ADD MEMBER [nativeuser@aadsqlmi.onmicrosoft.com] GO
Vytvoření dalších přihlášení Microsoft Entra pomocí aplikace SSMS
Po vytvoření přihlášení Microsoft Entra a udělení oprávnění správce systému může toto přihlášení vytvořit další přihlášení pomocí FROM EXTERNAL PROVIDER klauzule s CREATE LOGIN.
Připojte se ke spravované instanci SQL pomocí přihlášení Microsoft Entra tak, že v aplikaci SQL Server Management Studio (SSMS) vyberete Připojit k serveru .
- Do názvu serveru zadejte název hostitele služby SQL Managed Instance.
- V části Ověřování vyberte Microsoft Entra MFA , aby se otevře přihlašovací okno vícefaktorového ověřování. Přihlášení. Další informace najdete v tématu Univerzální ověřování (podpora SSMS pro vícefaktorové ověřování).
V Průzkumník objektů klikněte pravým tlačítkem na server a zvolte Nový dotaz.
V okně dotazu použijte následující syntaxi k vytvoření přihlášení pro jiný účet Microsoft Entra:
USE master GO CREATE LOGIN login_name FROM EXTERNAL PROVIDER GOTento příklad vytvoří přihlášení pro uživatele
bob@aadsqlmi.netMicrosoft Entra, jehož doménaaadsqlmi.netje federována s doménou Microsoft Entraaadsqlmi.onmicrosoft.com.Spusťte následující příkaz T-SQL. Federované účty Microsoft Entra představují náhradu za místní přihlášení a uživatele služby SQL Managed Instance.
USE master GO CREATE LOGIN [bob@aadsqlmi.net] FROM EXTERNAL PROVIDER GOVytvořte databázi ve spravované instanci SQL pomocí syntaxe CREATE DATABASE . Tato databáze se použije k otestování přihlášení uživatelů v další části.
V Průzkumník objektů klikněte pravým tlačítkem na server a zvolte Nový dotaz.
V okně dotazu pomocí následující syntaxe vytvořte databázi s názvem MyMITestDB.
CREATE DATABASE MyMITestDB; GO
Vytvořte přihlášení ke službě SQL Managed Instance pro skupinu v MICROSOFT Entra ID. Skupina musí existovat v MICROSOFT Entra ID před přidáním přihlášení ke službě SQL Managed Instance. Viz Vytvoření základní skupiny a přidání členů pomocí Microsoft Entra ID. Vytvořte skupinu mygroup a přidejte do této skupiny členy.
Otevřete nové okno dotazu v aplikaci SQL Server Management Studio.
Tento příklad předpokládá, že existuje skupina s názvem mygroup v MICROSOFT Entra ID. Spusťte následující příkaz:
USE master GO CREATE LOGIN [mygroup] FROM EXTERNAL PROVIDER GOJako test se přihlaste ke spravované instanci SQL pomocí nově vytvořeného přihlášení nebo skupiny. Otevřete nové připojení ke spravované instanci SQL a při ověřování použijte nové přihlášení.
V Průzkumník objektů klikněte pravým tlačítkem na server a zvolte Nový dotaz pro nové připojení.
Spuštěním následujícího příkazu zkontrolujte oprávnění serveru pro nově vytvořené přihlášení Microsoft Entra:
SELECT * FROM sys.fn_my_permissions (NULL, 'DATABASE') GO
Podpora objektů zabezpečení Microsoft Entra v Azure SQL jako uživatelé a přihlášení se rozšiřují o Microsoft Entra Externí ID interních a externích uživatelů typu host. Uživatele typu host, a to jednotlivě i jako součást skupiny, je možné použít stejně jako jakýkoli jiný uživatel Microsoft Entra v Azure SQL. Pokud chcete, aby uživatelé typu host mohli vytvářet další přihlášení serveru Microsoft Entra nebo uživatele databáze, musí mít oprávnění ke čtení jiných identit v adresáři Microsoft Entra. Toto oprávnění se konfiguruje na úrovni adresáře. Další informace naleznete v tématu Přístupová oprávnění hosta v Microsoft Entra ID.
Vytvoření uživatele Microsoft Entra z přihlášení Microsoft Entra
Autorizace pro jednotlivé databáze funguje ve službě SQL Managed Instance podobně jako u databází na SQL Serveru. Uživatele můžete vytvořit z existujícího přihlášení v databázi, která má udělená oprávnění k této databázi nebo je přidána do databázové role.
Teď, když jsme vytvořili databázi s názvem MyMITestDB a přihlašovací jméno, které má pouze výchozí oprávnění, je dalším krokem vytvoření uživatele z daného přihlášení. V tuto chvíli se přihlášení může připojit ke spravované instanci SQL a zobrazit všechny databáze, ale nemůže s databázemi pracovat. Pokud se přihlásíte pomocí účtu Microsoft Entra s výchozími oprávněními a pokusíte se rozbalit nově vytvořenou databázi, zobrazí se následující chyba:
Další informace o udělení oprávnění k databázi naleznete v tématu Začínáme s oprávněními databázového stroje.
Vytvoření uživatele Microsoft Entra a vytvoření ukázkové tabulky
Poznámka:
Existují určitá omezení, když se uživatel přihlásí jako součást skupiny Microsoft Entra.
Například volání, které se SUSER_SID má vrátit NULL, protože daný uživatel Microsoft Entra není součástí tabulky sys.server_principals .
Proto může být přístup k určitým uloženým procedurům nebo seznamu udělených oprávnění v tomto případě omezený.
Přihlaste se ke spravované instanci SQL pomocí účtu správce systému v aplikaci SQL Server Management Studio.
V Průzkumník objektů klikněte pravým tlačítkem na server a zvolte Nový dotaz.
V okně dotazu pomocí následující syntaxe vytvořte uživatele z přihlášení Microsoft Entra:
USE <Database Name> -- provide your database name GO CREATE USER user_name FROM LOGIN login_name GONásledující příklad vytvoří uživatele
bob@aadsqlmi.netz přihlášeníbob@aadsqlmi.net:USE MyMITestDB GO CREATE USER [bob@aadsqlmi.net] FROM LOGIN [bob@aadsqlmi.net] GOPodporuje se také vytvoření uživatele Microsoft Entra z přihlášení Microsoft Entra, které je skupinou.
Následující příklad vytvoří přihlášení pro skupinu Microsoft Entra mygroup , která existuje ve vašem tenantovi Microsoft Entra:
USE MyMITestDB GO CREATE USER [mygroup] FROM LOGIN [mygroup] GOVšichni uživatelé, kteří patří do skupiny MyMITestDB , mají přístup k databázi MyMITestDB .
Důležité
Při vytváření UŽIVATELE z přihlášení Microsoft Entra, zadejte user_name jako stejný login_name z
LOGIN.Další informace naleznete v tématu CREATE USER.
V novém okně dotazu vytvořte testovací tabulku pomocí následujícího příkazu T-SQL:
USE MyMITestDB GO CREATE TABLE TestTable ( AccountNum varchar(10), City varchar(255), Name varchar(255), State varchar(2) );Vytvořte připojení v aplikaci SSMS s uživatelem, který byl vytvořen. Všimněte si, že tabulku TestTable , kterou vytvořil správce systému dříve, nevidíte. Potřebujeme uživateli poskytnout oprávnění ke čtení dat z databáze.
Aktuální oprávnění, které má uživatel, můžete zkontrolovat spuštěním následujícího příkazu:
SELECT * FROM sys.fn_my_permissions('MyMITestDB','DATABASE') GO
Přidání uživatelů do rolí na úrovni databáze
Aby uživatel viděl data v databázi, můžeme uživateli poskytnout role na úrovni databáze.
Přihlaste se ke spravované instanci SQL pomocí účtu správce systému pomocí aplikace SQL Server Management Studio.
V Průzkumník objektů klikněte pravým tlačítkem na server a zvolte Nový dotaz.
Udělte uživateli Microsoft Entra roli databáze db_datareader pomocí následující syntaxe T-SQL:
Use <Database Name> -- provide your database name ALTER ROLE db_datareader ADD MEMBER user_name GONásledující příklad poskytuje uživateli
bob@aadsqlmi.neta skupině mygroup oprávnění db_datareader v databázi MyMITestDB :USE MyMITestDB GO ALTER ROLE db_datareader ADD MEMBER [bob@aadsqlmi.net] GO ALTER ROLE db_datareader ADD MEMBER [mygroup] GOSpuštěním následujícího příkazu zkontrolujte, zda existuje uživatel Microsoft Entra, který byl vytvořen v databázi:
SELECT * FROM sys.database_principals GOVytvořte nové připojení ke spravované instanci SQL s uživatelem přidaným do role db_datareader .
Rozbalením databáze v Průzkumník objektů zobrazíte tabulku.
Otevřete nové okno dotazu a spusťte následující
SELECTpříkaz:SELECT * FROM TestTableVidíte data z tabulky? Měly by se zobrazit vrácené sloupce, jak je znázorněno na následujícím snímku obrazovky:
Zosobnění přihlášení Microsoft Entra
Sql Managed Instance podporuje zosobnění přihlášení Microsoft Entra.
Testování zosobnění
Přihlaste se ke spravované instanci SQL pomocí účtu správce systému pomocí aplikace SQL Server Management Studio.
V Průzkumník objektů klikněte pravým tlačítkem na server a zvolte Nový dotaz.
V okně dotazu vytvořte novou uloženou proceduru pomocí následujícího příkazu:
USE MyMITestDB GO CREATE PROCEDURE dbo.usp_Demo WITH EXECUTE AS 'bob@aadsqlmi.net' AS SELECT user_name(); GOPomocí následujícího příkazu zjistíte, že uživatel, kterého zosobníte při provádění uložené procedury, je
bob@aadsqlmi.net.Exec dbo.usp_DemoOtestujte zosobnění pomocí příkazu
EXECUTE AS LOGIN:EXECUTE AS LOGIN = 'bob@aadsqlmi.net' GO SELECT SUSER_SNAME() REVERT GO
Poznámka:
Pouze přihlášení na úrovni serveru SQL, která jsou součástí role správce systému , můžou spouštět následující operace, které cílí na objekty zabezpečení Microsoft Entra:
EXECUTE AS USEREXECUTE AS LOGIN
Použití dotazů napříč databázemi
Dotazy mezi databázemi jsou podporovány pro účty Microsoft Entra s přihlášeními Microsoft Entra. Abychom mohli otestovat křížový dotaz se skupinou Microsoft Entra, musíme vytvořit jinou databázi a tabulku. Pokud už existuje, můžete přeskočit vytvoření jiné databáze a tabulky.
Přihlaste se ke spravované instanci SQL pomocí účtu správce systému pomocí aplikace SQL Server Management Studio.
V Průzkumník objektů klikněte pravým tlačítkem na server a zvolte Nový dotaz.
V okně dotazu pomocí následujícího příkazu vytvořte databázi s názvem MyMITestDB2 a tabulku s názvem TestTable2:
CREATE DATABASE MyMITestDB2; GO USE MyMITestDB2 GO CREATE TABLE TestTable2 ( EmpId varchar(10), FirstName varchar(255), LastName varchar(255), Status varchar(10) );V novém okně dotazu spusťte následující příkaz, kterým vytvoříte skupinu mygroup v nové databázi MyMITestDB2 a udělíte
SELECToprávnění k této databázi mygroup:USE MyMITestDB2 GO CREATE USER [mygroup] FROM LOGIN [mygroup] GO GRANT SELECT TO [mygroup] GOPřihlaste se ke spravované instanci SQL pomocí aplikace SQL Server Management Studio jako člen skupiny Microsoft Entra mygroup. Otevřete nové okno dotazu a spusťte příkaz křížové databáze
SELECT:USE MyMITestDB SELECT * FROM MyMITestDB2..TestTable2 GOMěli byste vidět výsledky tabulky z tabulky TestTable2.
Další podporované scénáře
- Správa agenta SQL a spouštění úloh jsou podporovány pro přihlášení Microsoft Entra.
- Přihlášení Microsoft Entra můžou spouštět operace zálohování a obnovení databáze.
- Auditování všech příkazů souvisejících s přihlášeními a událostmi ověřování Microsoft Entra
- Vyhrazené připojení správce pro přihlášení Microsoft Entra, která jsou členy role serveru sysadmin .
- Přihlášení Microsoft Entra jsou podporována pomocí nástroje sqlcmd a nástroje SQL Server Management Studio .
- Triggery přihlášení jsou podporovány pro události přihlášení pocházející z přihlášení Microsoft Entra.
- Službu Service Broker a DB poštu je možné nastavit pomocí přihlášení Microsoft Entra.
Související obsah
- Funkce zabezpečení služby SQL Managed Instance
- Začínáme s auditováním služby Azure SQL Managed Instance
- Funkce Always Encrypted
- Konfigurace rozšířené ochrany před internetovými útoky ve službě Azure SQL Managed Instance
- Dynamické maskování dat
- Zabezpečení na úrovni řádků
- Transparentní šifrování dat (TDE)
- Co je Azure SQL Managed Instance?