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


Azure-szolgáltatásnév használata tanúsítványalapú hitelesítéssel

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. Az Azure-szolgáltatásnevekhez kétféle hitelesítés érhető el: jelszóalapú hitelesítés és tanúsítványalapú hitelesítés.

Javasoljuk, hogy a jelszóalapú hitelesítés biztonsági korlátozásai miatt tanúsítványalapú hitelesítést használjon. A tanúsítványalapú hitelesítés lehetővé teszi az adathalászatnak ellenálló hitelesítés bevezetését feltételes hozzáférési szabályzatok használatával, amelyek jobban védik az Azure-erőforrásokat. Ha többet szeretne megtudni arról, hogy miért biztonságosabb a tanúsítványalapú hitelesítés, olvassa el a Microsoft Entra tanúsítványalapú hitelesítését.

Az oktatóanyag ezen lépése bemutatja, hogyan használhat egyszerű szolgáltatásnév-tanúsítványt egy Azure-erőforrás eléréséhez.

Új tanúsítványt tartalmazó szolgáltatásnév létrehozása

Ha önaláírt tanúsítványt szeretne létrehozni a hitelesítéshez, használja a következő paramétert--create-cert:

az ad sp create-for-rbac --name myServicePrincipalName \
                         --role roleName \
                         --scopes /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName \
                         --create-cert

Konzol kimenete:

{
  "appId": "myServicePrincipalID",
  "displayName": "myServicePrincipalName",
  "fileWithCertAndPrivateKey": "certFilePath\certFileName.pem",
  "password": null,
  "tenant": "myOrganizationTenantID"
}

Ha nem tárolja a tanúsítványt a Key Vaultban, a kimenet tartalmazza a fileWithCertAndPrivateKey kulcsot. A kulcs értéke jelzi, hogy hol tárolja a létrehozott tanúsítványt. Másolja a tanúsítványt biztonságos helyre. Ha elveszíti a tanúsítvány titkos kulcsához való hozzáférést, állítsa alaphelyzetbe a szolgáltatásnév hitelesítő adatait.

A PEM-fájlok tartalma szövegszerkesztővel tekinthető meg. Íme egy PEM-fájl példa:

PEM-fájl képernyőképe

Szolgáltatásnév létrehozása meglévő tanúsítvány használatával

Hozzon létre egy szolgáltatásnevet egy meglévő tanúsítvánnyal a --cert paraméter használatával. A szolgáltatásnevet használó eszközöknek hozzáféréssel kell rendelkezniük a tanúsítvány titkos kulcsához. A tanúsítványoknak ASCII formátumban kell lenniük, például PEM, CER vagy DER formátumban. Adja át a certi897ficate értéket sztringként , vagy használja a @path formátumot a tanúsítvány fájlból való betöltéséhez.

PEM-fájl használata esetén a TANÚSÍTVÁNYt hozzá kell fűzni a fájl titkos kulcsához.

# create a service principal with the certificate as a string
az ad sp create-for-rbac --name myServicePrincipalName \
                         --role roleName \
                         --scopes /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName \
                         --cert "-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----"
# create a service principal with the certificate file location
az ad sp create-for-rbac --name myServicePrincipalName \
                         --role roleName \
                         --scopes /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName \
                         --cert @/path/to/cert.pem

Az Azure Key Vault használata

A --keyvault paraméter hozzáadható tanúsítványok létrehozásához vagy lekéréséhez az Azure Key Vaultban. A paraméter használatakor --keyvault a --cert paraméterre is szükség van. Ebben a példában az --cert érték a tanúsítvány neve.

# Create a service principal storing the certificate in Azure Key Vault
az ad sp create-for-rbac --name myServicePrincipalName \
                         --role roleName \
                         --scopes /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName \
                         --create-cert \
                         --cert myCertificateName \
                         --keyvault myVaultName
# Create a service principal using an existing certificate in Azure Key Vault
az ad sp create-for-rbac --name myServicePrincipalName \
                         --role roleName \
                         --scopes /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName \
                         --cert myCertificateName \
                         --keyvault myVaultName

Tanúsítvány lekérése az Azure Key Vaultból

Az Azure Key Vaultban tárolt tanúsítványhoz kérje le a tanúsítványt a titkos kulcsával az az keyvault titkos kódkijellel , és konvertálja PEM-fájllá. Az Azure Key Vaultban a tanúsítvány titkos kódjának neve megegyezik a tanúsítvány nevével.

az keyvault secret download --file /path/to/cert.pfx \
                            --vault-name VaultName \
                            --name CertName \
                            --encoding base64
openssl pkcs12 -in cert.pfx -passin pass: -passout pass: -out cert.pem -nodes

az login --service-principal -u "<myAppClientID>" -p cert.pem --tenant "<myTenantID>"

Meglévő PKCS12-fájl konvertálása

Ha már rendelkezik PKCS#12 fájllal, az OpenSSL használatával PEM formátumba konvertálhatja. Ha van jelszava, módosítsa az argumentumot passin .

openssl pkcs12 -in fileName.p12 -clcerts -nodes -out fileName.pem -passin pass: -passout pass:

Tanúsítvány hozzáfűzése szolgáltatásnévhez

Az az ad --append sp hitelesítőadat-visszaállítás paraméterével hozzáfűzhet egy tanúsítványt egy meglévő szolgáltatásnévhez. Ez a parancs alapértelmezés szerint törli az összes jelszót és kulcsot, ezért körültekintően használja.

az ad sp credential reset --id myServicePrincipalID \
                          --append \
                          --cert @/path/to/cert.pem

Konzol kimenete:

Certificate expires yyyy-mm-dd hh:mm:ss+00:00. Adjusting key credential end date to match.
The output includes credentials that you must protect. Be sure that you do not include these credentials in your code or check the credentials into your source control. For more information, see https://aka.ms/azadsp-cli
{
  "appId": "myServicePrincipalID",
  "password": null,
  "tenant": "myOrganizationTenantID"
}

Bejelentkezés szolgáltatásnévvel tanúsítvány használatával

Ha tanúsítványsal szeretne bejelentkezni, a tanúsítványnak helyileg elérhetőnek kell lennie PEM vagy DER fájlként ASCII formátumban. A PKCS#12 fájlok (.p12/.pfx) nem működnek. PEM-fájl használatakor a TITKOS KULCSOT és a TANÚSÍTVÁNYt össze kell fűzni a fájlon belül. Az elérési utat nem kell előtaggal előtagolnia, @ mint más az parancsokkal.

az login --service-principal \
         --username myServicePrincipalID \
         --tenant myOwnerOrganizationId \
         --password /path/to/cert

Következő lépések

Most, hogy megtanulta, hogyan használhatja a szolgáltatásnevek használatát tanúsítvány használatával, folytassa a következő lépéssel, és ismerje meg, hogyan kérhető le egy meglévő szolgáltatásnév.