Az alábbi lépések egy új Azure SQL Database logikai kiszolgáló és egy felhasználó által hozzárendelt felügyelt identitással rendelkező új adatbázis létrehozásának folyamatát ismertetik.
Keresse meg az SQL-telepítés kiválasztása lehetőséget az Azure Portalon.
Ha még nem jelentkezett be az Azure Portalra, jelentkezzen be, amikor a rendszer kéri.
Az SQL-adatbázisok alatt hagyja meg az erőforrástípust önálló adatbázisként, és válassza a Létrehozás lehetőséget.
Az SQL Database létrehozása űrlap Alapismeretek lapján, a Project részletei alatt válassza ki a kívánt Azure-előfizetést.
Erőforráscsoport esetén válassza az Új létrehozása lehetőséget, adja meg az erőforráscsoport nevét, majd kattintson az OK gombra.
Az Adatbázisnév mezőben adja meg a kívánt adatbázisnevet.
Kiszolgáló esetén válassza az Új létrehozása lehetőséget, és töltse ki az Új kiszolgáló űrlapot a következő értékekkel:
- Kiszolgálónév: Adjon meg egy egyedi kiszolgálónevet. A kiszolgálóneveknek globálisan egyedinek kell lenniük az Azure összes kiszolgálója számára, nem csak az előfizetésen belül.
- Kiszolgálói rendszergazdai bejelentkezés: Adjon meg egy rendszergazdai bejelentkezési nevet, például:
azureuser
.
- Jelszó: Adjon meg egy jelszót, amely megfelel a jelszó követelményeinek, és írja be újra a Jelszó megerősítése mezőbe.
- Hely: Válasszon egy helyet a legördülő listából
Válassza a Tovább elemet : Hálózatkezelés a lap alján.
A Hálózatkezelés lap Csatlakozás ivity metódusához válassza a Nyilvános végpont lehetőséget.
Tűzfalszabályok esetén állítsa az Aktuális ügyfél IP-címének hozzáadása igen értékre. Hagyja meg, hogy az Azure-szolgáltatások és -erőforrások elérhessék ezt a kiszolgálót Nem értékre állítva.
Válassza a Tovább elemet : Biztonság a lap alján.
A Biztonság lap Identitás területén válassza az Identitások konfigurálása lehetőséget.
Az Identitás panel Felhasználó által hozzárendelt felügyelt identitás területén válassza a Hozzáadás lehetőséget. Válassza ki a kívánt előfizetést, majd a Felhasználó által hozzárendelt felügyelt identitások csoportban válassza ki a kívánt felhasználó által hozzárendelt felügyelt identitást a kiválasztott előfizetésből. Ezután válassza a Kiválasztás gombot.
Az Elsődleges identitás területen válassza ki ugyanazt a felhasználó által hozzárendelt felügyelt identitást, amelyet az előző lépésben választott ki.
Megjegyzés:
Ha a rendszer által hozzárendelt felügyelt identitás az elsődleges identitás, az Elsődleges identitás mezőnek üresnek kell lennie.
Válassza az Alkalmaz lehetőséget
Válassza a Véleményezés + létrehozás lehetőséget a lap alján
A Véleményezés + létrehozás lapon a felülvizsgálat után válassza a Létrehozás lehetőséget.
Az Azure CLI-parancs az sql server create
egy új logikai kiszolgáló kiépítésére szolgál. Az alábbi parancs létrehoz egy új kiszolgálót egy felhasználó által hozzárendelt felügyelt identitással. A példa engedélyezi a Csak Microsoft Entra hitelesítést is, és beállít egy Microsoft Entra-rendszergazdát a kiszolgálóhoz.
A kiszolgáló SQL Rendszergazda istrator-bejelentkezése automatikusan létrejön, és a jelszó véletlenszerű jelszóra lesz beállítva. Mivel az SQL-hitelesítési kapcsolat le van tiltva ezzel a kiszolgáló létrehozásával, az SQL-Rendszergazda istrator-bejelentkezés nem lesz használva.
A Kiszolgáló Microsoft Entra-rendszergazdája lesz a beállított <AzureADAccount>
fiók, és a kiszolgáló kezelésére használható.
Cserélje le a példában a következő értékeket:
<subscriptionId>
: Az előfizetés azonosítója az Azure Portalon található
<ResourceGroupName>
: A logikai kiszolgáló erőforráscsoportjának neve
<managedIdentity>
: A felhasználó által hozzárendelt felügyelt identitás. Elsődleges identitásként is használható.
<primaryIdentity>
: A kiszolgálói identitásként használni kívánt elsődleges identitás
<AzureADAccount>
: Lehet Microsoft Entra-felhasználó vagy -csoport. Például: DummyLogin
<AzureADAccountSID>
: A felhasználó Microsoft Entra objektumazonosítója
<ServerName>
: Egyedi logikai kiszolgálónév használata
<Location>
: A kiszolgáló helye, például westus
, vagy centralus
subscription_id=<subscriptionId>
resource_group=<ResourceGroupName>
managed_identity=<managedIdentity>
primary_identity=<primaryIdentity>
azure_ad_account=<AzureADAccount>
azure_ad_account_sid=<AzureADAccountSID>
server_name=<ServerName>
location=<Location>
az sql server create \
--assign-identity \
--identity-type UserAssigned \
--user-assigned-identity-id /subscriptions/$subscription_id/resourceGroups/$resource_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$managed_identity \
--primary-user-assigned-identity-id /subscriptions/$subscription_id/resourceGroups/$resource_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$primary_identity \
--enable-ad-only-auth \
--external-admin-principal-type User \
--external-admin-name $azure_ad_account \
--external-admin-sid $azure_ad_account_sid \
-g $resource_group \
-n $server_name \
-l $location
További információ: az sql server create.
Megjegyzés:
A fenti példa csak felhasználó által hozzárendelt felügyelt identitással rendelkező kiszolgálót helyez üzembe. Ha mindkét típusú felügyelt identitást létre szeretné hozni a kiszolgálóval, beállíthatja --identity-type
UserAssigned,SystemAssigned
a kívánt értéket.
A kiszolgáló állapotának a létrehozás utáni ellenőrzéséhez tekintse meg a következő parancsot:
az sql server show --name <ServerName> --resource-group <ResourceGroupName> --expand-ad-admin
A PowerShell-parancs New-AzSqlServer
egy új Azure SQL logikai kiszolgáló kiépítésére szolgál. Az alábbi parancs létrehoz egy új kiszolgálót egy felhasználó által hozzárendelt felügyelt identitással. A példa engedélyezi a Csak Microsoft Entra hitelesítést is, és beállít egy Microsoft Entra-rendszergazdát a kiszolgálóhoz.
A kiszolgáló SQL Rendszergazda istrator-bejelentkezése automatikusan létrejön, és a jelszó véletlenszerű jelszóra lesz beállítva. Mivel az SQL-hitelesítési kapcsolat le van tiltva ezzel a kiszolgáló létrehozásával, az SQL-Rendszergazda istrator-bejelentkezés nem lesz használva.
A Kiszolgáló Microsoft Entra-rendszergazdája lesz a beállított <AzureADAccount>
fiók, és a kiszolgáló kezelésére használható.
Cserélje le a példában a következő értékeket:
<ResourceGroupName>
: A logikai kiszolgáló erőforráscsoportjának neve
<Location>
: A kiszolgáló helye, például West US
, vagy Central US
<ServerName>
: Egyedi logikai kiszolgálónév használata
<subscriptionId>
: Az előfizetés azonosítója az Azure Portalon található
<managedIdentity>
: A felhasználó által hozzárendelt felügyelt identitás. Elsődleges identitásként is használható
<primaryIdentity>
: A kiszolgálói identitásként használni kívánt elsődleges identitás
<AzureADAccount>
: Lehet Microsoft Entra-felhasználó vagy -csoport. Például: DummyLogin
$server = @{
ResourceGroupName = "<ResourceGroupName>"
Location = "<Location>"
ServerName = "<ServerName>"
ServerVersion = "12.0"
AssignIdentity = $true
IdentityType = "UserAssigned"
UserAssignedIdentityId = "/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity>"
PrimaryUserAssignedIdentityId = "/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<primaryIdentity>"
ExternalAdminName = "<AzureADAccount>"
EnableActiveDirectoryOnlyAuthentication = $true
}
New-AzSqlServer @server
További információ: New-AzSqlServer.
Megjegyzés:
A fenti példa csak felhasználó által hozzárendelt felügyelt identitással rendelkező kiszolgálót helyez üzembe. Ha mindkét típusú felügyelt identitást létre szeretné hozni a kiszolgálóval, beállíthatja -IdentityType
"UserAssigned,SystemAssigned"
a kívánt értéket.
A kiszolgáló állapotának a létrehozás utáni ellenőrzéséhez tekintse meg a következő parancsot:
Get-AzSqlServer -ResourceGroupName "<ResourceGroupName>" -ServerName "<ServerName>" -ExpandActiveDirectoryAdministrator
A Kiszolgálók – REST API létrehozása vagy frissítése a felhasználó által hozzárendelt felügyelt identitással rendelkező logikai kiszolgáló létrehozásához használható.
Az alábbi szkript kiépít egy logikai kiszolgálót, beállítja a Microsoft Entra rendszergazdát <AzureADAccount>
, és engedélyezi a Csak Microsoft Entra hitelesítést. A kiszolgáló SQL Rendszergazda istrator bejelentkezése is automatikusan létrejön, és a jelszó véletlenszerű jelszóra lesz beállítva. Mivel az SQL-hitelesítési kapcsolat le van tiltva ezzel a kiépítéssel, az SQL-Rendszergazda istrator-bejelentkezés nem lesz használva.
A Microsoft Entra rendszergazdája <AzureADAccount>
a kiszolgáló felügyeletére használható a kiépítés befejezésekor.
Cserélje le a példában a következő értékeket:
<tenantId>
: Az Azure Portalon és a Microsoft Entra ID-erőforráson keresztül érhető el. Az Áttekintés panelen meg kell jelennie a bérlőazonosítónak
<subscriptionId>
: Az előfizetés azonosítója az Azure Portalon található
<ServerName>
: Egyedi logikai kiszolgálónév használata
<ResourceGroupName>
: A logikai kiszolgáló erőforráscsoportjának neve
<AzureADAccount>
: Lehet Microsoft Entra-felhasználó vagy -csoport. Például: DummyLogin
<Location>
: A kiszolgáló helye, például westus2
, vagy centralus
<objectId>
: Az Azure Portalon és a Microsoft Entra ID-erőforráson keresztül érhető el. A Felhasználó panelen keresse meg a Microsoft Entra-felhasználót, és keresse meg az objektumazonosítóját
<managedIdentity>
: A felhasználó által hozzárendelt felügyelt identitás. Elsődleges identitásként is használható
<primaryIdentity>
: A kiszolgálói identitásként használni kívánt elsődleges identitás
Import-Module Azure
Import-Module MSAL.PS
$tenantId = '<tenantId>'
$clientId = '1950a258-227b-4e31-a9cf-717495945fc2' # Static Microsoft client ID used for getting a token
$subscriptionId = '<subscriptionId>'
$uri = "urn:ietf:wg:oauth:2.0:oob"
$authUrl = "https://login.windows.net/$tenantId"
$serverName = "<ServerName>"
$resourceGroupName = "<ResourceGroupName>"
Login-AzAccount -tenantId $tenantId
# login as a user with SQL Server Contributor role or higher
# Get a token
$result = Get-MsalToken -RedirectUri $uri -ClientId $clientId -TenantId $tenantId -Scopes "https://management.core.windows.net/.default"
#Authetication header
$authHeader = @{
'Content-Type'='application\json; '
'Authorization'=$result.CreateAuthorizationHeader()
}
# Enable Azure AD-only auth and sets a user-managed identity as the server identity
# No server admin is specified, and only Azure AD admin and Azure AD-only authentication is set to true
# Server admin (login and password) is generated by the system
# The sid is the Azure AD Object ID for the user
# Replace all values in a <>
$body = '{
"location": "<Location>",
"identity": {"type" : "UserAssigned", "UserAssignedIdentities" : {"/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity>" : {}}},
"properties": { "PrimaryUserAssignedIdentityId":"/subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<primaryIdentity>","administrators":{ "login":"<AzureADAccount>", "sid":"<objectId>", "tenantId":"<tenantId>", "principalType":"User", "azureADOnlyAuthentication":true }
}
}'
# Provision the server
Invoke-RestMethod -Uri https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Sql/servers/$serverName/?api-version=2020-11-01-preview -Method PUT -Headers $authHeader -Body $body -ContentType "application/json"
Megjegyzés:
A fenti példa csak felhasználó által hozzárendelt felügyelt identitással rendelkező kiszolgálót helyez üzembe. Ha mindkét típusú felügyelt identitást létre szeretné hozni a kiszolgálóval, beállíthatja "type"
"UserAssigned,SystemAssigned"
a kívánt értéket.
A kiszolgáló állapotának ellenőrzéséhez használja a következő szkriptet:
$uri = 'https://management.azure.com/subscriptions/'+$subscriptionId+'/resourceGroups/'+$resourceGroupName+'/providers/Microsoft.Sql/servers/'+$serverName+'?api-version=2020-11-01-preview&$expand=administrators/activedirectory'
$responce=Invoke-WebRequest -Uri $uri -Method PUT -Headers $authHeader -Body $body -ContentType "application/json"
$responce.statuscode
$responce.content
Íme egy példa egy ARM-sablonra, amely létrehoz egy Azure SQL Database logikai kiszolgálót egy felhasználó által hozzárendelt felügyelt identitással. A sablon emellett hozzáad egy Microsoft Entra rendszergazdai csoportot a kiszolgálóhoz, és engedélyezi a Csak Microsoft Entra hitelesítést, de ez eltávolítható a sablon példájából.
További információkért és ARM-sablonokért tekintse meg az Azure SQL Database és a felügyelt SQL-példány Azure Resource Manager-sablonjait.
Egyéni üzembe helyezést használhat az Azure Portalon, és saját sablont készíthet a szerkesztőben. Ezután mentse a konfigurációt, miután beillesztette a példában.
A felhasználó által hozzárendelt felügyelt identitás erőforrás-azonosítójának lekéréséhez keressen felügyelt identitásokat az Azure Portalon. Keresse meg a felügyelt identitást, és lépjen a Tulajdonságok elemre. Az UMI-erőforrás-azonosítóra példa jelenik /subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity>
meg.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.1",
"parameters": {
"server": {
"type": "string",
"defaultValue": "[uniqueString('sql', resourceGroup().id)]",
"metadata": {
"description": "The name of the logical server."
}
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources."
}
},
"aad_admin_name": {
"type": "String",
"metadata": {
"description": "The name of the Azure AD admin for the SQL server."
}
},
"aad_admin_objectid": {
"type": "String",
"metadata": {
"description": "The Object ID of the Azure AD admin."
}
},
"aad_admin_tenantid": {
"type": "String",
"defaultValue": "[subscription().tenantId]",
"metadata": {
"description": "The Tenant ID of the Azure Active Directory"
}
},
"aad_admin_type": {
"defaultValue": "User",
"allowedValues": [
"User",
"Group",
"Application"
],
"type": "String"
},
"aad_only_auth": {
"defaultValue": true,
"type": "Bool"
},
"user_identity_resource_id": {
"defaultValue": "",
"type": "String",
"metadata": {
"description": "The Resource ID of the user-assigned managed identity, in the form of /subscriptions/<subscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managedIdentity>."
}
},
"AdminLogin": {
"minLength": 1,
"type": "String"
},
"AdminLoginPassword": {
"type": "SecureString"
}
},
"resources": [
{
"type": "Microsoft.Sql/servers",
"apiVersion": "2020-11-01-preview",
"name": "[parameters('server')]",
"location": "[parameters('location')]",
"identity": {
"type": "UserAssigned",
"UserAssignedIdentities": {
"[parameters('user_identity_resource_id')]": {}
}
},
"properties": {
"administratorLogin": "[parameters('AdminLogin')]",
"administratorLoginPassword": "[parameters('AdminLoginPassword')]",
"PrimaryUserAssignedIdentityId": "[parameters('user_identity_resource_id')]",
"administrators": {
"login": "[parameters('aad_admin_name')]",
"sid": "[parameters('aad_admin_objectid')]",
"tenantId": "[parameters('aad_admin_tenantid')]",
"principalType": "[parameters('aad_admin_type')]",
"azureADOnlyAuthentication": "[parameters('aad_only_auth')]"
}
}
}
]
}