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ásnév egy alkalmazásokkal, üzemeltetett szolgáltatásokkal és automatizált eszközökkel való használatra létrehozott identitás. Ez az identitás erőforrások eléréséhez használható.

Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:

  • Egyszerű szolgáltatás 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ásnév-szerepkörök kezelése
  • Azure-erőforrás létrehozása szolgáltatásnév használatával
  • Szolgáltatásnév hitelesítő adatainak alaphelyzetbe állítása

Előfeltételek

  • Egy előfizetésben szolgáltatásnév létrehozásához rendelkeznie User Access AdministratorRole Based Access Control Administrator vagy rendelkeznie kell engedélyekkel vagy magasabb engedélyekkel. 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.

Egyszerű szolgáltatás létrehozása

Szolgáltatásnév 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.

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 egyszerű szolgáltatást, hajtsa végre az alábbi lépéseket is:

  • Jegyezze fel a rendszer által hozzárendelt jelszót, mert nem tudja újból lekérni. Ha elveszíti a jelszót, állítsa alaphelyzetbe az az ad sp hitelesítő adatok alaphelyzetbe állításával, ahogyan az a Szolgáltatásnév alaphelyzetbe állításával kapcsolatos hitelesítő adatok alaphelyzetbe állításával magyarázható.
  • Állítsa be az új szolgáltatásnév szerepkör-hozzárendelését az az role assignment create használatával, a szolgáltatásnév-szerepkörök kezelése című témakörben leírtak szerint.

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

Ajánlott eljárásként mindig rendeljen hozzá egy adottat --role , és --scopes amikor létrehoz egy szolgáltatásnevet. Follow these steps:

  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ásnévnek contributor engedélyeket egy előfizetéshez, ha a szolgáltatásnévnek csak egy erőforráscsoporton belül kell hozzáférnie az Azure Storage-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. Érték lekérése 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.

    Scope Example
    Előfizetés /subscriptions/mySubscriptionID
    Erőforráscsoport /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName
    Virtual machine /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myVMname
    Tárfiókfájl-szolgáltatás /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName/providers/Microsoft.Storage/storageAccounts/myStorageAccountName/fileServices/default
    Data Factory /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ásnevet.

    Ebben a példában egy myServicePrincipalName1 nevű új szolgáltatásnév 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 myServicePrincipalName2 nevű új szolgáltatásnév jön létre olvasói engedélyekkel a myRG1 erőforráscsoport összes erőforrásához. Ez a szolgáltatásnév olvasói engedélyeket is kap a myRG2-ben található myVM-hez.

    # 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ásnévhez, módosítsa az engedélyeket a szolgáltatásné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 az az ad sp listát , és tekintse meg a meglévő szolgáltatásnév lekérése című témakört.

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 adja meg ezeket a hitelesítő adatokat a kódban, és ne adja be a hitelesítő adatokat a verziókövetésbe. 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.