Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure szolgáltatásokat használó automatizált eszközöknek mindig korlátozott engedélyekkel kell rendelkezniük. Ahelyett, hogy az alkalmazások teljes jogú felhasználóként jelentkeznek be, az Azure szolgáltatás-felhasználókat kínál.
Az Azure szolgáltatásnévazonosító egy olyan identitás, amely alkalmazások, üzemeltetett szolgáltatások és automatizált eszközök számára készült az Azure erőforrások eléréséhez. Ezt a hozzáférést a szolgáltatásnévhez rendelt szerepkörök korlátozzák, így ön szabályozhatja, hogy mely erőforrások érhetők el, és mely szinten. Biztonsági okokból mindig ajánlott szolgáltatásfiókokat használni automatizált eszközökkel, ahelyett, hogy lehetővé tennénk számukra a felhasználói identitással való bejelentkezést.
Ez a cikk bemutatja a szolgáltatásfőnök Azure PowerShell-el való létrehozásának, információ lekérésének és alaphelyzetbe állításának lépéseit.
Caution
Amikor a New-AzADServicePrincipal paranccsal hoz létre szolgáltatásnevet, a kimenet olyan hitelesítő adatokat tartalmaz, amelyeket védenie kell. Alternatív megoldásként fontolja meg a felügyelt identitások használatát, hogy elkerülje a hitelesítő adatok használatát.
Előfeltételek
- Ha a Azure PowerShell helyi használatát választja:
- Az PowerShell-modul telepítése.
- Csatlakozzon az Azure-fiókjához a Connect-AzAccount parancsmag használatával.
- Ha a Azure Cloud Shell használata mellett dönt:
- További információkért tekintse meg a Azure Cloud Shell áttekintését.
Szolgáltatási főszereplő létrehozása
Hozzon létre egy szolgáltatás-azonosítót a New-AzADServicePrincipal parancsmaggal. Szolgáltatásnév létrehozásakor kiválaszthatja az általa használt bejelentkezési hitelesítés típusát.
Important
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.
Note
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):
- Alkalmazásfejlesztő
- Alkalmazási rendszergazda
- Felhőalkalmazás-rendszergazda
- Globális rendszergazda
- hibrid identitáskezelő
A Microsoft Entra ID felhasználói beállításairól további információt a Ki korlátozható az alkalmazások létrehozásában című témakörben talál.
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
Important
A jelszóalapú hitelesítési szolgáltatási főszereplő alapértelmezett szerepköre a Közreműködő. Ez a szerepkör teljes engedéllyel rendelkezik egy Azure-fiók olvasásához és írásához. A szerepkör-hozzárendelések kezelésével kapcsolatos információkért lásd: Szolgáltatásnév-szerepkörök kezelése.
Más hitelesítési paraméterek nélkül a rendszer jelszóalapú hitelesítést használ, és véletlenszerű jelszót hoz létre Önnek. Ha jelszóalapú hitelesítést szeretne, ez a módszer ajánlott.
$sp = New-AzADServicePrincipal -DisplayName ServicePrincipalName
A visszaadott objektum tartalmazza a PasswordCredentials.SecretText létrehozott jelszót tartalmazó tulajdonságot. Győződjön meg arról, hogy ezt az értéket biztonságos helyen tárolja a szolgáltatásnévvel való hitelesítéshez. Az értéke nem jelenik meg a konzol kimenetében. Ha elveszíti a jelszót, újraállítsa a szolgáltatásnév-modul 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ás objektumazonosítójával való bejelentkezéshez.
Important
A szolgáltatási objektum használatával való bejelentkezéshez szükség van annak a bérlőazonosítónak a megadására, amely alatt a szolgáltatási objektum létrejött. Ha le szeretné kérdezni az aktív bérlőt a szolgáltatásfelelős létrehozásakor, futtassa a következő parancsot közvetlenül a szolgáltatásfelelős létrehozása után:
(Get-AzContext).Tenant.Id
Tanúsítványalapú hitelesítés
Important
Tanúsítványalapú hitelesítési szolgáltatásfő létrehozásakor nincs alapértelmezett szerepkör hozzárendelve. A szerepkör-hozzárendelések kezelésével kapcsolatos információkért lásd: Szolgáltatásnév-szerepkörök kezelése.
A tanúsítványalapú hitelesítést használó szolgáltatásnevek a CertValue paraméterrel jönnek létre. Ez a paraméter a nyilvános tanúsítvány alap64 kódolású ASCII-sztringét használja. Ezt egy PEM-fájl, vagy egy szövegkódolt CRT vagy CER jelöli. A nyilvános tanúsítvány bináris kódolása nem támogatott. Ezek az utasítások feltételezik, hogy már rendelkezik elérhető tanúsítvánnyal.
$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ó szolgáltatásnévvel való bejelentkezéshez. A szolgáltatásnévvel bejelentkező ügyfeleknek is hozzá kell férni a tanúsítvány titkos kulcsához.
Important
A szolgáltatási objektum használatával való bejelentkezéshez szükség van annak a bérlőazonosítónak a megadására, amely alatt a szolgáltatási objektum létrejött. Ha le szeretné kérdezni az aktív bérlőt a szolgáltatásfelelős létrehozásakor, futtassa a következő parancsot közvetlenül a szolgáltatásfelelős létrehozása után:
(Get-AzContext).Tenant.Id
Meglévő szolgáltatásnév lekérése
Az aktív bérlő szolgáltatási felelőseinek listája lekérhető a Get-AzADServicePrincipal használatával. Ez a parancs alapértelmezés szerint egy bérlő összes szolgáltatásnevét visszaadja. A nagy szervezetek esetében hosszú időt vehet igénybe az eredmények visszaadása. Ehelyett az opcionális kiszolgálóoldali szűrési argumentumok egyikének használata ajánlott:
-
DisplayNameBeginsWitha megadott értéknek megfelelő előtaggal rendelkező szolgáltatásnevek kérése. A szolgáltatási főkomponens megjelenítendő neve a létrehozás során beállítottDisplayNameérték. -
DisplayNameA szolgáltatásnév nevének pontos egyezését kéri.
Szolgáltatási főszerepkörök kezelése
Azure PowerShell a következő parancsmagokkal rendelkezik a szerepkör-hozzárendelések kezeléséhez:
A Role-Based Access Control (RBAC) és a szerepkörökről további információt a RBAC: Beépített szerepkörök című témakörben talál.
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'
Important
A szerepkör-hozzárendelési parancsmagok nem veszik át a szolgáltatásnév objektumazonosítóját. A társított alkalmazásazonosítót használják, amely a létrehozáskor jön létre. A szolgáltatás-főnév alkalmazásazonosítójának lekéréséhez használja a következőt: Get-AzADServicePrincipal.
Note
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ára". A szerepkörök kezeléséhez forduljon a Microsoft Entra rendszergazdájához.
A szerepkör hozzáadása nem korlátozza a korábban hozzárendelt engedélyeket. A szolgáltatásvezérlő engedélyeinek korlátozásakor a közreműködő szerepet el kell távolítani.
A módosítások a hozzárendelt szerepkörök felsorolásával ellenőrizhetők:
Get-AzRoleAssignment -ServicePrincipalName ServicePrincipalName
Bejelentkezés szolgáltatási főazonosítóval
Bejelentkezéssel tesztelheti az új szolgáltatásnév hitelesítő adatait és engedélyeit. Ha szolgáltatásnévvel szeretne bejelentkezni, szüksége van a hozzá tartozó applicationId értékre és a bérlőre, amely alatt a szolgáltatásnév létrejön.
Szolgáltatásnévvel való bejelentkezés jelszó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és megköveteli, hogy Azure PowerShell a tanúsítvány ujjlenyomata alapján adatokat kérjen le egy helyi tanúsítványtárolóból.
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 elfelejti egy szolgáltatásnév hitelesítő adatait, a New-AzADSpCredential használatával adjon hozzá egy új hitelesítő adatot véletlenszerű jelszóval. Ez a parancsmag nem támogatja a felhasználó által megadott hitelesítő adatokat a jelszó alaphelyzetbe állításakor.
Important
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
Troubleshooting
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 szükség, az alábbi példával eltávolíthatja.
Remove-AzAdServicePrincipal -DisplayName ServicePrincipalName
Ez a hiba akkor is előfordulhat, ha korábban létrehozott egy szolgáltatásnevet egy Azure Active Directory-alkalmazáshoz. Ha eltávolítja a szolgáltatásnevet, az alkalmazás továbbra is elérhető. Ez az alkalmazás megakadályozza, hogy egy azonos nevű szolgáltatás-felelőst 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 egy azonos nevű alkalmazás létezik, és már nincs rá szükség, az alábbi példával eltávolítható.
Remove-AzADApplication -DisplayName ServicePrincipalName
Ellenkező esetben válasszon alternatív nevet a létrehozni kívánt új szolgáltatásnévnek.