Megosztás a következőn keresztül:


Azure-beli szolgáltatásnév létrehozása az Azure PowerShell használatával

Az Azure-szolgáltatásokat használó automatizált eszközöknek mindig korlátozott hozzáférésűeknek kell lenniük. Ahelyett, hogy az alkalmazások teljes jogosultsággal rendelkező felhasználóként jelentkezzenek be, az Azure szolgáltatási főszereplőket biztosít.

Az Azure-beli szolgáltatásnevek olyan identitások, amelyekkel az alkalmazások, üzemeltetett szolgáltatások és automatizált eszközök hozzáférhetnek az Azure erőforrásaihoz. A hozzáférést a szolgáltatásnévhez rendelt szerepkörök korlátozzák, így Ön szabhatja meg, hogy mely erőforrások, mely szinten legyenek hozzáférhetők. Biztonsági okokból mindig ajánlott automatizált eszközök használatakor szolgáltatási főalkalmazásokat alkalmazni, ahelyett, hogy lehetővé tennénk a felhasználói identitással való bejelentkezést.

A cikk bemutatja a szolgáltatásnevek létrehozásának, adatlekérésének és visszaállításának lépéseit az Azure PowerShellben.

Figyelmeztetés

Amikor a New-AzADServicePrincipal paranccsal egy szolgáltatásnevet hoz létre, a kimenetben olyan hitelesítő adatok találhatóak, amelyeket meg kell védeni. Vagy felügyelt identitásokat is használhat – ebben az esetben nincs szükség hitelesítő adatokra.

Előfeltételek

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

Hozzon létre egy szolgáltatásazonosítót a New-AzADServicePrincipal parancsmaggal. A szolgáltatásnév létrehozása során Ön választhatja ki, hogy az milyen típusú bejelentkezési hitelesítést használjon.

Fontos

Az Az PowerShell-modul 7.x-es verziójától kezdve a New-AzADServicePrincipal alapértelmezés szerint nem rendeli hozzá a Közreműködő szerepkört a szolgáltatásnévhez. Ha egy adott szerepkört szeretne hozzárendelni egy szolgáltatásnévhez, tekintse meg a szerepkör-hozzárendelés hozzáadásának lépéseit.

Megjegyzés:

Ha a fiókja nem rendelkezik szolgáltatásnév létrehozására vonatkozó engedéllyel, egy hibaüzenetet ad vissza, New-AzADServicePrincipal 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.

A szolgáltatásnevekhez kétféle hitelesítés érhető el: jelszóalapú hitelesítés és tanúsítványalapú hitelesítés.

Jelszóalapú hitelesítés

Fontos

A jelszóalapú hitelesítési szolgáltatási főfelhasználó alapértelmezett szerepköre a Közreműködő. Ez a szerepkör teljes körű engedélyekkel rendelkezik az Azure-fiókba való olvasásra, illetve írásra. További információ a szerepkör-hozzárendelések kezelésével kapcsolatban: Szolgáltatásnév-szerepkörök kezelése.

Egyéb hitelesítési paraméter hiányában a rendszer jelszóalapú hitelesítést használ, és véletlenszerű jelszót hoz létre az Ön számára. Ez az ajánlott módszer, ha jelszóalapú hitelesítést szeretne használni.

$sp = New-AzADServicePrincipal -DisplayName ServicePrincipalName

A visszaadott objektum tartalmazza a PasswordCredentials.SecretText létrehozott jelszót tartalmazó tulajdonságot. Ügyeljen arra, hogy a szolgáltatásfelelős hitelesítéséhez használt értéket biztonságos helyen tárolja. Ennek értéke nem fog megjelenni a konzol kimenetén. Ha elveszti a jelszót, állítsa vissza a szolgáltatási főazonosító hitelesítő adatait.

Az alábbi kód lehetővé teszi a titkos kód exportálását:

$sp.PasswordCredentials.SecretText

A visszaadott New-AzADServicePrincipal objektum tartalmazza a Id és DisplayName tagokat, amelyek bármelyike használható a szolgáltatásazonosítóval való bejelentkezéshez.

Fontos

A szolgáltatási főszereplővel való bejelentkezéshez szükséges az a bérlőazonosító, amely alatt a szolgáltatási főszereplőt létrehozták. A szolgáltatási főazonosító létrehozásakor az akkor aktív bérlő lekéréséhez futtassa a következő parancsot rögtön a szolgáltatási főazonosító létrehozása után.

(Get-AzContext).Tenant.Id

Tanúsítványalapú hitelesítés

Fontos

Tanúsítványalapú hitelesítést használó szolgáltatásnév létrehozásakor nincs alapértelmezett szerepkör hozzárendelve. További információ a szerepkör-hozzárendelések kezelésével kapcsolatban: Szolgáltatásnév-szerepkörök kezelése.

A tanúsítványalapú hitelesítést használó szolgáltatásnevek létrehozása a CertValue paraméterrel történik. Ez a paraméter a nyilvános tanúsítvány alap64 kódolású ASCII-sztringét használja. Ez egy PEM-fájl vagy egy szöveges kódolású CRT- vagy CER-fájl lehet. A bináris kódolású nyilvános tanúsítványok nem támogatottak. Az alábbi utasítások végrehajtása során azt feltételezzük, hogy a tanúsítvány már rendelkezésre áll.

$cert = <public certificate as base64-encoded string>
$sp = New-AzADServicePrincipal -DisplayName ServicePrincipalName -CertValue $cert

A visszaadott New-AzADServicePrincipal objektum tartalmazza a Id és DisplayName tulajdonságokat, amelyek bármelyike használható a szolgáltatási főfelhasználóval való bejelentkezéshez. A szolgáltatásnévvel bejelentkező ügyfeleknek hozzáféréssel kell rendelkezniük a tanúsítvány titkos kulcsához is.

Fontos

A szolgáltatási főszereplővel való bejelentkezéshez szükséges az a bérlőazonosító, amely alatt a szolgáltatási főszereplőt létrehozták. A szolgáltatási főazonosító létrehozásakor az akkor aktív bérlő lekéréséhez futtassa a következő parancsot rögtön a szolgáltatási főazonosító létrehozása után.

(Get-AzContext).Tenant.Id

Meglévő szolgáltatásfőobjektum lekérése

Az aktív bérlő szolgáltatási főszereplőinek listája a Get-AzADServicePrincipal használatával lekérhető. Ez a parancs alapértelmezés szerint a bérlő összes szolgáltatási főidentitását visszaadja. Nagy szervezetek esetén az eredmények lekérése hosszabb időt vehet igénybe. Ehelyett az opcionális kiszolgálóoldali szűrési argumentumok egyikének használata ajánlott:

  • A DisplayNameBeginsWith a megadott értékkel megegyező előtaggal rendelkező szolgáltatásneveket kéri le. A szolgáltatási főszereplő megjelenítési neve a DisplayName létrehozásakor megadott értéke.
  • DisplayName A szolgáltatásnév nevének pontos egyezését kéri.

Szolgáltatási főszerepkörök kezelése

Az Azure PowerShell a következő parancsmagokkal kezeli a szerepkör-hozzárendeléseket:

További információ a szerepköralapú hozzáférés-vezérlésről (RBAC) és a szerepkörökről: RBAC: Beépített szerepkörök.

Az alábbi példa hozzáadja az Olvasó szerepkört, és eltávolítja a Közreműködő szerepkört:

New-AzRoleAssignment -ApplicationId <service principal application ID> -RoleDefinitionName 'Reader'
Remove-AzRoleAssignment -ObjectId <service principal object ID> -RoleDefinitionName 'Contributor'

Fontos

A szerepkör-hozzárendelési parancsmagok nem veszik át a szolgáltatásnév objektumazonosítóját. Ezek a hozzárendelt alkalmazásazonosítót használják, amelyet a rendszer a létrehozás során állít elő. A szolgáltatásfő alkalmazásazonosítójának lekéréséhez használja a Get-AzADServicePrincipal parancsmagot.

Megjegyzés:

Ha a fiókja nem rendelkezik szerepkör hozzárendelésére vonatkozó engedéllyel, hibaüzenet jelenik meg, amely szerint a fiókja "nem rendelkezik engedéllyel a "Microsoft.Authorization/roleAssignments/write" művelet végrehajtásához. A szerepkörök kezeléséhez forduljon a Microsoft Entra rendszergazdájához.

A szerepkör hozzáadása nem korlátozza az előzetesen hozzárendelt engedélyeket. Amikor egy szolgáltatásfő engedélyeit korlátozzuk, a közreműködő szerepkört el kell távolítani.

A módosítások a hozzárendelt szerepkörök listázásával ellenőrizhetők:

Get-AzRoleAssignment -ServicePrincipalName ServicePrincipalName

Bejelentkezés szolgáltatásazonosító használatával

Tesztelje az új szolgáltatás-főfelhasználó hitelesítő adatait és engedélyeit a bejelentkezéssel. Ha egy szolgáltatásazonosítóval szeretne bejelentkezni, szüksége van a hozzá társított applicationId értékre és a bérlői környezetre, amely alatt létre lett hozva.

Szolgáltatási fővezetővel való bejelentkezés jelszó használatával:

# Use the application ID as the username, and the secret as password
$credentials = Get-Credential
Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant <tenant ID>

A tanúsítványalapú hitelesítéshez az Azure PowerShellnek egy helyi tanúsítványtárolóból kell információkat lekérnie a tanúsítvány ujjlenyomata alapján.

Connect-AzAccount -ServicePrincipal -Tenant <TenantId> -CertificateThumbprint <Thumbprint> -ApplicationId <ApplicationId>

A PowerShell által elérhető hitelesítőadat-tárolóba történő tanúsítványimportálással kapcsolatos utasításokért tekintse meg a tanúsítványalapú hitelesítést ismertető cikket

Hitelesítő adatok visszaállítása

Ha elfelejtette a szolgáltatásnévhez tartozó hitelesítő adatokat, a New-AzADSpCredential parancsmaggal adhat hozzá új hitelesítő adatokat, véletlenszerű jelszóval. Ez a parancsmag nem támogatja a felhasználó által megadott hitelesítő adatokat a jelszó alaphelyzetbe állításakor.

Fontos

Az új hitelesítő adatok hozzárendelése előtt érdemes lehet eltávolítani a meglévő hitelesítő adatokat, hogy megakadályozza a velük való bejelentkezést. Ehhez használja a Remove-AzADSpCredential parancsmagot:

Remove-AzADSpCredential -DisplayName ServicePrincipalName
$newCredential = New-AzADSpCredential -ServicePrincipalName ServicePrincipalName

Hibaelhárítás

Ha a következő hibaüzenetet kapja: "New-AzADServicePrincipal: Egy másik objektum, amelynek ugyanaz az értéke a tulajdonságazonosítóurisnak, már létezik", ellenőrizze, hogy az azonos nevű szolgáltatásnév még nem létezik-e.

Get-AzAdServicePrincipal -DisplayName ServicePrincipalName

Ha a meglévő szolgáltatásnévre már nincs rá szükség, az alábbi példa szerint eltávolíthatja.

Remove-AzAdServicePrincipal -DisplayName ServicePrincipalName

Ez a hiba akkor is jelentkezhet, ha korábban már létrehozott szolgáltatásnevet egy Azure Active Directory-alkalmazásban. Ha eltávolítja a szolgáltatásnevet, az alkalmazás továbbra is elérhető marad. Ez az alkalmazás megakadályozza, hogy ugyanazzal a névvel újabb szolgáltatás főszereplőt hozzon létre.

Az alábbi példával ellenőrizheti, hogy nem létezik-e azonos nevű Microsoft Entra-alkalmazás:

Get-AzADApplication -DisplayName ServicePrincipalName

Ha létezik olyan azonos nevű alkalmazás, amelyre már nincs szükség, az alábbi példa szerint eltávolíthatja.

Remove-AzADApplication -DisplayName ServicePrincipalName

Ellenkező esetben válasszon egy alternatív nevet a létrehozni kívánt új szolgáltatásnév számára.