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


Api-összekötő biztonságossá tétele Microsoft Entra Külső ID önkiszolgáló regisztrációs felhasználói folyamatokban

A következőkre vonatkozik:Zöld kör fehér pipa jellel.Munkaerő-bérlők Fehér kör szürke X szimbólummal. Külső bérlők (további információ)

Ha rest API-t integrál egy Microsoft Entra Külső ID önkiszolgáló regisztrációs felhasználói folyamatba, hitelesítéssel kell védenie a REST API-végpontot. A REST API-hitelesítés biztosítja, hogy csak a megfelelő hitelesítő adatokkal rendelkező szolgáltatások, például a Microsoft Entra ID kezdeményezhessenek hívásokat a végpont felé. Ez a cikk bemutatja, hogyan lehet biztonságossá tenni a REST API-t.

Előfeltételek

Végezze el az útmutató lépéseit: API-összekötő hozzáadása egy regisztrációs felhasználói folyamat útmutatójához .

Az API-végpontot HTTP-alapszintű vagy HTTPS-ügyféltanúsítvány-hitelesítéssel védheti. Mindkét esetben meg kell adnia a Microsoft Entra ID által az API-végpont meghívásakor használt hitelesítő adatokat. Az API-végpont ezután ellenőrzi a hitelesítő adatokat, és engedélyezési döntéseket hoz.

ALAPSZINTŰ HTTP-hitelesítés

Tipp.

A cikkben szereplő lépések a portáltól függően kissé eltérhetnek.

A HTTP alapszintű hitelesítés az RFC 2617-ben van definiálva. Az alapszintű hitelesítés a következőképpen működik: A Microsoft Entra ID http-kérést küld az ügyfél hitelesítő adataival (username és password) a Authorization fejlécben. A hitelesítő adatok alap64 kódolású sztringként username:passwordvannak formázva. Ezután az API feladata, hogy ellenőrizze ezeket az értékeket más engedélyezési döntések végrehajtásához.

Az API-Csatlakozás or http alapszintű hitelesítéssel való konfigurálásához kövesse az alábbi lépéseket:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhasználói Rendszergazda istratorként.
  2. Keresse meg az identitás>külső identitásainak áttekintését.>
  3. Válassza az Összes API-összekötőt, majd válassza ki a konfigurálni kívánt API-Csatlakozás ort.
  4. A hitelesítés típusához válassza az Alapszintű lehetőséget.
  5. Adja meg a REST API-végpont felhasználónevét és jelszavát . Képernyőkép egy API-összekötő alapszintű hitelesítési konfigurációjáról.
  6. Válassza a Mentés lehetőséget.

HTTPS-ügyféltanúsítvány-hitelesítés

Az ügyféltanúsítvány-hitelesítés egy kölcsönös tanúsítványalapú hitelesítés, ahol az ügyfél, a Microsoft Entra ID biztosítja az ügyféltanúsítványát a kiszolgálónak az identitás igazolásához. Ez az SSL-kézfogás részeként történik. Az API felelős az érvényes ügyfél tanúsítványainak ellenőrzéséért, például a Microsoft Entra-azonosítóért és az engedélyezési döntések végrehajtásáért. Az ügyféltanúsítvány egy X.509 digitális tanúsítvány.

Fontos

Éles környezetben a tanúsítványt egy hitelesítésszolgáltatónak kell aláírnia.

Tanúsítvány létrehozása

Tanúsítvány létrehozásához használhatja az Azure Key Vaultot, amely önaláírt tanúsítványokra és az aláírt tanúsítványok tanúsítványkibocsátó szolgáltatóival való integrációra vonatkozó lehetőségekkel rendelkezik. Az ajánlott beállítások a következők:

  • Tárgy: CN=<yourapiname>.<tenantname>.onmicrosoft.com
  • Tartalomtípus: PKCS #12
  • Élettartam acton típusa: Email all contacts at a given percentage lifetime vagy Email all contacts a given number of days before expiry
  • Kulcs típusa: RSA
  • Kulcsméret: 2048
  • Exportálható titkos kulcs: Yes (a fájl exportálásához .pfx )

Ezután exportálhatja a tanúsítványt.

2. lehetőség: önaláírt tanúsítvány előkészítése a PowerShell használatával

Ha még nem rendelkezik tanúsítvánnyal, használhat önaláírt tanúsítványt. Az önaláírt tanúsítvány olyan biztonsági tanúsítvány, amelyet nem egy hitelesítésszolgáltató (CA) ír alá, és nem biztosítja a hitelesítésszolgáltató által aláírt tanúsítvány biztonsági garanciáit.

Windows rendszeren a PowerShell New-SelfSignedCertificate parancsmagja segítségével hozzon létre tanúsítványt.

  1. Futtassa a következő PowerShell-parancsot egy önaláírt tanúsítvány létrehozásához. Módosítsa az argumentumot az -Subject alkalmazáshoz és az Azure AD B2C-bérlő nevéhez, például contosowebapp.contoso.onmicrosoft.com. A dátumot úgy is módosíthatja -NotAfter , hogy a tanúsítvány lejárata eltérő legyen.

    New-SelfSignedCertificate `
        -KeyExportPolicy Exportable `
        -Subject "CN=yourappname.yourtenant.onmicrosoft.com" `
        -KeyAlgorithm RSA `
        -KeyLength 2048 `
        -KeyUsage DigitalSignature `
        -NotAfter (Get-Date).AddMonths(12) `
        -CertStoreLocation "Cert:\CurrentUser\My"
    
  2. Windows rendszerű számítógépen keresse meg és válassza a Felhasználói tanúsítványok kezelése lehetőséget

  3. A Tanúsítványok – Aktuális felhasználó csoportban válassza a Személyes>tanúsítványok>yourappname.yourtenant.onmicrosoft.com lehetőséget.

  4. Jelölje ki a tanúsítványt, majd válassza az Összes tevékenység>exportálása művelet>lehetőséget.

  5. Válassza a Következő>igen lehetőséget, exportálja a Következő titkos kulcsot.>

  6. Fogadja el a fájlformátum exportálásának alapértelmezett értékét, majd válassza a Tovább gombot.

  7. Engedélyezze a Jelszó beállítást, adjon meg egy jelszót a tanúsítványhoz, majd válassza a Tovább gombot.

  8. A tanúsítvány mentési helyének megadásához válassza a Tallózás lehetőséget , és keresse meg a kívánt könyvtárat.

  9. A Mentés másként ablakban adjon meg egy fájlnevet, majd válassza a Mentés lehetőséget.

  10. Válassza a Next>Finish (Tovább > Befejezés) elemet.

Ahhoz, hogy az Azure AD B2C elfogadja a .pfx fájljelszót, a jelszót az AES256-SHA256 helyett a Windows Tanúsítványtár exportálási segédprogram TripleDES-SHA1 beállításával kell titkosítani.

Az API-Csatlakozás or konfigurálása

Az API-Csatlakozás or ügyféltanúsítvány-hitelesítéssel való konfigurálásához kövesse az alábbi lépéseket:

  1. Jelentkezzen be a Microsoft Entra felügyeleti központba legalább felhasználói Rendszergazda istratorként.
  2. Keresse meg az identitás>külső identitásainak áttekintését.>
  3. Válassza az Összes API-összekötőt, majd válassza ki a konfigurálni kívánt API-Csatlakozás ort.
  4. A hitelesítés típusához válassza a Tanúsítvány lehetőséget.
  5. A Tanúsítvány feltöltése mezőben válassza ki a tanúsítvány .pfx fájlját egy titkos kulccsal.
  6. Az Enter Password (Jelszó megadása) mezőbe írja be a tanúsítvány jelszavát. Képernyőkép egy API-összekötő tanúsítványhitelesítési konfigurációjáról.
  7. Válassza a Mentés lehetőséget.

Engedélyezési döntések végrehajtása

Az API-nak az elküldött ügyféltanúsítványok alapján kell implementálnia az engedélyezést az API-végpontok védelme érdekében. A szolgáltatás és az Azure Functions Azure-alkalmazás a TLS kölcsönös hitelesítésének konfigurálását ismertető cikkben megtudhatja, hogyan engedélyezheti és ellenőrizheti a tanúsítványt az API-kódból. Az Azure API Managementet bármely API-szolgáltatás előtti rétegként használhatja az ügyféltanúsítvány-tulajdonságok kívánt értékeken való ellenőrzéséhez.

Tanúsítványok megújítása

Javasoljuk, hogy emlékeztető riasztásokat állítson be a tanúsítvány lejáratakor. Új tanúsítványt kell létrehoznia, és meg kell ismételnie a fenti lépéseket, amikor a használt tanúsítványok hamarosan lejárnak. Az új tanúsítvány használatának "gördítéséhez" az API-szolgáltatás az új tanúsítvány üzembe helyezése során ideiglenesen továbbra is elfogadhatja a régi és az új tanúsítványokat.

Ha új tanúsítványt szeretne feltölteni egy meglévő API-összekötőbe, válassza az API-összekötőt az API-összekötők alatt, majd válassza az Új tanúsítvány feltöltése lehetőséget. A Microsoft Entra ID automatikusan használja a legutóbb feltöltött tanúsítványt, amely nem járt le, és amelynek a kezdő dátuma lejárt.

Képernyőkép egy új tanúsítványról, ha már létezik.

API-kulcs hitelesítése

Egyes szolgáltatások egy "API-kulcs" mechanizmust használnak a HTTP-végpontokhoz való hozzáférés elhomályosítása érdekében a fejlesztés során azáltal, hogy a hívónak egy egyedi kulcsot kell tartalmaznia HTTP-fejlécként vagy HTTP-lekérdezési paraméterként. Az Azure Functions esetében ezt úgy teheti meg, hogy az API-összekötő végponti URL-címébenszerepel a code lekérdezési paraméter. Például: https://contoso.azurewebsites.net/api/endpoint?code=0123456789).

Ez nem egy olyan mechanizmus, amelyet egyedül kell használni az éles környezetben. Ezért az alapszintű vagy tanúsítványhitelesítés konfigurálásához mindig szükség van. Ha fejlesztési célokra nem szeretne hitelesítési módszert implementálni (nem ajánlott), választhatja az "alapszintű" hitelesítést az API-összekötő konfigurációjában, és ideiglenes értékeket username használhat, amelyeket password az API figyelmen kívül hagyhat a megfelelő engedélyezés megvalósítása során.

Következő lépések