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 Administrator
Role 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.
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
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.
Feljegyzé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ásnév 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, nem értékre van állítva, a következő Beépített Microsoft Entra-azonosító szerepkörök egyikének kell lennie (amelyek rendelkeznek a művelettel: microsoft.directory/applications/createAsOwner
vagymicrosoft.directory/applications/create
):
- Alkalmazásfejlesztő
- Alkalmazás-rendszergazda
- Felhőalkalmazás-rendszergazda
- Globális rendszergazda
- Hibrid identitás Rendszergazda istrator
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
Ajánlott eljárásként mindig rendeljen hozzá egy adottat --role
, és --scopes
amikor létrehoz egy szolgáltatásnevet. Tegye a következők egyikét:
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.É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.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ó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.
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.