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 jogosultsággal rendelkező felhasználóként jelentkezzenek be, az Azure egyszerű szolgáltatásneveket biztosít.
Az Azure-szolgáltatásnév egy olyan identitás, amely alkalmazásokkal, üzemeltetett szolgáltatásokkal és automatizált eszközökkel való használatra 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 a szolgáltatásnevek használata automatizált eszközökkel ahelyett, hogy lehetővé tenné számukra a felhasználói identitással való bejelentkezést.
Ez a cikk bemutatja a szolgáltatásnév Azure PowerShell-lel való létrehozásának, információké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 az 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 az 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 egyszerű szolgáltatást 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.
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):
- Alkalmazásfejlesztő
- Alkalmazás-rendszergazda
- Felhőalkalmazás-rendszergazda
- Globális rendszergazda
- hibrid identitáskezelő
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ásnév alapértelmezett szerepköre a Közreműködő. Ez a szerepkör teljes engedélyekkel 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, állítsa alaphelyzetbe a szolgáltatásnév 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 azokat és Id a DisplayName tagokat, amelyek bármelyike használható a szolgáltatásnévvel való bejelentkezéshez.
Fontos
A szolgáltatásnévvel való bejelentkezéshez a bérlőazonosítóra van szükség, amely alatt a szolgáltatásnév létre lett hozva. Ha le szeretné szerezni az aktív bérlőt a szolgáltatásnév létrehozásakor, futtassa a következő parancsot közvetlenül a szolgáltatásnév létrehozása után :
(Get-AzContext).Tenant.Id
Tanúsítványalapú hitelesítés
Fontos
A tanúsítványalapú hitelesítési szolgáltatásnév 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 azokat a Id tulajdonságokat, DisplayName amelyek bármelyike használható a 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.
Fontos
A szolgáltatásnévvel való bejelentkezéshez a bérlőazonosítóra van szükség, amely alatt a szolgáltatásnév létre lett hozva. Ha le szeretné szerezni az aktív bérlőt a szolgáltatásnév létrehozásakor, futtassa a következő parancsot közvetlenül a szolgáltatásnév 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ásneveinek 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ásnév 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
Az Azure PowerShell a következő parancsmagokkal kezeli a szerepkör-hozzárendeléseket:
A hozzáférés-vezérlés (RBAC) és a szerepkörök Role-Based további információkért lásd: 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. A társított alkalmazásazonosítót használják, amely a létrehozáskor jön létre. A szolgáltatásnév alkalmazásazonosítójának lekéréséhez használja a következőt Get-AzADServicePrincipal: .
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 a korábban hozzárendelt engedélyeket. A szolgáltatásnév engedélyeinek korlátozásakor a közreműködői szerepkört 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ásnévvel
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 applicationId hozzá társított értékre és a bérlőre, amely alatt 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 az Azure PowerShell lekérje az adatokat egy helyi tanúsítványtárolóból egy 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 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.
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 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ásnevet 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.