Azure-beli szolgáltatásnév létrehozása az Azure CLI-vel

Az Azure-szolgáltatásokat használó automatizált eszközöknek mindig korlátozott engedélyekkel kell rendelkezniük az Azure-erőforrások biztonságossá tételéhez. Ezért ahelyett, hogy az alkalmazások teljes jogú felhasználóként jelentkeznek be, az Azure szolgáltatásneveket kínál. Az Azure szolgáltatási főazonosító olyan identitás, amelyet alkalmazásokkal, üzemeltetett szolgáltatásokkal és automatizált eszközökkel való használatra hoztak létre. Ez az identitás erőforrások eléréséhez használható.

Ebben az oktatóanyagban a következőket sajátíthatja el:

  • Szolgáltatási főszereplő létrehozása
  • Bejelentkezés szolgáltatásnévvel és jelszóval
  • Bejelentkezés szolgáltatásnévvel és tanúsítvánnyal
  • Szolgáltatási főszerepkörök kezelése
  • Azure-erőforrás létrehozása szolgáltatási főszemély használatával
  • Szolgáltatásazonosító hitelesítő adatainak alaphelyzetbe állítása

Előfeltételek

  • Egy előfizetésben rendelkeznie kell User Access Administrator vagy Role Based Access Control Administrator engedélyekkel, vagy magasabb szintű engedélyekkel a szolgáltatásneve főnök létrehozásához. Az Azure szerepköralapú hozzáférés-vezérléséhez (Azure RBAC) elérhető szerepkörök listáját a beépített Azure-szerepkörökben találja.

Szolgáltatási főszereplő létrehozása

A szolgáltatási főszereplő létrehozásához használja az az ad sp create-for-rbac Azure CLI referenciaparancsot. Ez a példa nem ad meg paramétert --name , így automatikusan létrejön egy időbélyeget tartalmazó név.

Figyelmeztetés

A az ad sp create-for-rbac parancs módosíthatja a meglévő alkalmazást vagy szolgáltatásnevet, ha egy másik objektum ugyanazzal a megjelenítendő névvel rendelkezik. A megjelenített nevek nem egyediek, és változhatnak, ami hitelesítő adatok elvesztését vagy helytelen RBAC-hozzárendeléseket eredményezhet. Ehelyett használjon egyedi objektumazonosítót vagy alkalmazásazonosítót .

az ad sp create-for-rbac

Kimeneti konzol:

{
  "appId": "myAppId",
  "displayName": "myServicePrincipalName",
  "password": "myServicePrincipalPassword",
  "tenant": "myTentantId"
}

Ha nem kapcsolódik az erőforrás-elnevezési konvenciókhoz, és később szeretne létrehozni egy szerepkört és hatókört az új szolgáltatásnévhez, a az ad sp create-for-rbac paraméterek nélküli parancs elfogadható megoldás. Szerepkör és hatókör nélkül azonban az új szolgáltatásnév nem fér hozzá az erőforrásokhoz. Csak létezik.

Amikor paraméterek nélkül hoz létre egy szolgáltatási főszereplőt, hajtsa végre az alábbi lépéseket is:

Megjegyzés:

Ha a fiókja nem rendelkezik szolgáltatásnév létrehozására vonatkozó engedéllyel, egy hibaüzenetet ad vissza, az ad sp create-for-rbac amely a következőt tartalmazza: "A művelet végrehajtásához nem megfelelő jogosultságok". Szolgáltatási főfelhasználó létrehozásához forduljon a Microsoft Entra rendszergazdájához.

Egy Microsoft Entra ID-címtárban, ahol a Felhasználók regisztrálhatnak alkalmazásokat beállítás Nem-re van állítva, a következő Microsoft Entra ID beépített szerepkörök egyikének tagja kell lennie (amelyek rendelkeznek a művelettel: microsoft.directory/applications/createAsOwner vagy microsoft.directory/applications/create):

A Microsoft Entra ID felhasználói beállításaival kapcsolatos további információkért lásd: Az alkalmazások létrehozásának korlátozása.

Szolgáltatásnév létrehozása szerepkörrel és hatókörrel

Legjobb gyakorlatként mindig rendeljen hozzá egy konkrét --role és --scopes megnevezést, amikor létrehoz egy szolgáltatásnevet. Kövesse az alábbi lépéseket:

  1. Határozza meg a megfelelő szerepkört.

    A szerepkör meghatározásakor mindig használja a minimális jogosultság elvét. Például ne adjon a szolgáltatási főszereplőnek contributor engedélyeket egy előfizetéshez, ha a szolgáltatási főszereplőnek csak egy erőforráscsoporton belül kell hozzáférnie az Azure-tárolóhoz. Fontolja meg egy specializált szerepkört, például a storage blobadatok közreműködője. Az Azure RBAC-ben elérhető szerepkörök teljes listáját az Azure beépített szerepkörei között találja.

  2. Kérj le egy értéket a hatókörök paraméteréhez.

    Keresse meg és másolja ki annak az Azure-erőforrásnak az erőforrás-azonosítóját , amelyhez az új szolgáltatásnévnek hozzá kell férnie. Ezek az információk általában az Egyes erőforrások Azure Portal tulajdonságok vagy végpontok lapján találhatók. Íme néhány gyakori --scopes példa, de az erőforrás-azonosítóra támaszkodhat egy tényleges formátumra és értékre.

    Hatókör példa
    Előfizetés /subscriptions/mySubscriptionID
    Erőforráscsoport /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
    Virtuális gép /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
    Tárfiók fájlszolgáltatása /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
    Adatgyár /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.DataFactory/factories/myDataFactoryName

    További hatókör-példákért tekintse meg az Azure RBAC hatókörének ismertetése című témakört.

  3. Hozza létre a szolgáltatásfőt.

    Ebben a példában egy myServicePrincipalName1 nevű új szolgáltatás főösszetevő jön létre olvasói engedélyekkel az RG1 erőforráscsoport összes erőforrásához.

    # Bash script
    az ad sp create-for-rbac --name myServicePrincipalName1 \
                             --role reader \
                             --scopes /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG1
    

    A --scopes paraméter a hatókörök szóközzel tagolt listáját fogadja el. Ebben a példában egy új, myServicePrincipalName2 nevű szolgáltatási főkönyv jön létre olvasói engedélyekkel a myRG1 erőforráscsoport összes erőforrásához. Ez a szolgáltatási fiók olvasói engedélyeket is kap a myVM számára, amely a myRG2-ben található.

    # Bash script
    az ad sp create-for-rbac --name myServicePrincipalName2 \
                             --role reader \
                             --scopes /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myRG2/providers/Microsoft.Compute/virtualMachines/myVM
    

Ha úgy dönt, hogy túl kevés vagy túl sok engedélyt adott az új szolgáltatásfőnévhez, módosítsa az engedélyeket a szolgáltatásfőnév szerepkörök kezelésével.

Szolgáltatásnév létrehozása változókkal

A szolgáltatásnév változókkal is létrehozható:

# Bash script
let "randomIdentifier=$RANDOM*$RANDOM"
servicePrincipalName="msdocs-sp-$randomIdentifier"
roleName="azureRoleName"
subscriptionID=$(az account show --query id --output tsv)
# Verify the ID of the active subscription
echo "Using subscription ID $subscriptionID"
resourceGroup="myResourceGroupName"

echo "Creating SP for RBAC with name $servicePrincipalName, with role $roleName and in scopes /subscriptions/$subscriptionID/resourceGroups/$resourceGroup"
az ad sp create-for-rbac --name $servicePrincipalName \
                         --role $roleName \
                         --scopes /subscriptions/$subscriptionID/resourceGroups/$resourceGroup

A szolgáltatásnév tulajdonságainak teljes listájához használja a az ad sp list parancsot, és tekintse meg a Meglévő szolgáltatásnév lekérése részt.

Figyelmeztetés

Amikor azure-szolgáltatásnevet hoz létre a az ad sp create-for-rbac parancs használatával, a kimenet olyan hitelesítő adatokat tartalmaz, amelyeket védenie kell. Ügyeljen arra, hogy ne vegye fel ezeket a hitelesítő adatokat a kódjába, és ne töltse fel a hitelesítő adatokat a verziókövető rendszerbe. Alternatív megoldásként fontolja meg a felügyelt identitások használatát, ha elérhető, hogy ne kelljen hitelesítő adatokat használnia.

Következő lépések

Most, hogy megtanulta, hogyan hozhat létre azure-beli szolgáltatásnevet, folytassa a következő lépéssel, hogy megtanulja, hogyan használhatja a szolgáltatásnéveket jelszóalapú hitelesítéssel.