Hitelesítés felügyelt identitással

A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint

authentication-managed-identity A szabályzat használatával hitelesíthet egy háttérszolgáltatással a felügyelt identitás használatával. Ez a szabályzat lényegében a felügyelt identitás használatával szerez be egy hozzáférési jogkivonatot Microsoft Entra ID a megadott erőforrás eléréséhez. A jogkivonat sikeres lekérése után a szabályzat a séma használatával beállítja a jogkivonat értékét a AuthorizationBearer fejlécben. Az API Management gyorsítótárazza a jogkivonatot, amíg lejár.

A rendszer által hozzárendelt identitás és a több felhasználó által hozzárendelt identitás bármelyike használható jogkivonat lekérésére. Ha client-id nincs megadva, a rendszer rendszer által hozzárendelt identitást feltételez. Ha a client-id változó meg van adva, a rendszer jogkivonatot kér a felhasználó által hozzárendelt identitáshoz a Microsoft Entra ID.

Feljegyzés

Állítsa be a szabályzat elemeit és gyermekelemeit a szabályzatutasításban megadott sorrendben. További információ az API Management-szabályzatok beállításáról és szerkesztéséről.

Figyelmeztetés

Biztonsági szempontok: Az API Management-szabályzatok szerkesztésére jogosult felhasználók ezzel a szabályzattal hitelesíthetik magukat a szolgáltatás felügyelt identitásaként. Azonban nem tudnak közvetlen hozzáférést szerezni az erőforrásokhoz anélkül, hogy először hozzárendelnének egy felügyelt identitást az API Management-példányhoz. Miután hozzárendelt egy felügyelt identitást, előfordulhat, hogy a házirendek módosítására jogosult felhasználók ki tudják terjeszteni a hitelesítési jogkivonatot, propagálhatják azt egy háttérrendszerbe, vagy naplózhatják későbbi használatra. Részletes biztonsági útmutatást és kockázatcsökkentési stratégiákat a felügyelt identitások biztonsági szempontjait a felügyelt identitások áttekintésében talál.

Szabályzatutasítás

<authentication-managed-identity resource="resource" client-id="clientid of user-assigned identity" output-token-variable-name="token-variable" ignore-error="true|false"/>  

Attribútumok

Attribútum Leírás Kötelező Alapértelmezett
erőforrás Húr. A cél webes API (biztonságos erőforrás) alkalmazásazonosítója Microsoft Entra ID. A szabályzatkifejezések engedélyezettek. Igen n/a
ügyfél-azonosító Húr. A felhasználó által hozzárendelt identitás ügyfélazonosítója a Microsoft Entra ID. A szabályzatkifejezések nem engedélyezettek. Nem N/A. A rendszer által hozzárendelt identitás akkor használatos, ha az attribútum nem található.
output-token-variable-name Húr. Annak a környezeti változónak a neve, amely tokenértéket kap típusobjektumként string. A szabályzatkifejezések nem engedélyezettek. Nem n/a
ignore-error Logikai. Ha be van trueállítva, a szabályzatfolyamat akkor is végrehajtja a folyamatot, ha nem szerez be hozzáférési jogkivonatot. Nem false

Használat

Használati megjegyzések

  • Ha ez a szabályzat a globális hatókörben van definiálva, a kapott jogkivonat minden API-hoz elérhető lesz a szabályzat végrehajtási környezetében, beleértve a munkaterületeken lévőket is. Ha a jogkivonatnak csak bizonyos API-k számára kell elérhetőnek lennie, érdemes lehet a szabályzatot szűkebb hatókörben (például termék- vagy API-szinten) alkalmazni a globális szabályzat helyett.

  • A jogkivonat-továbbítás az ügyfél felelőssége. A szabályzat kiértékelésekor az API Management lekér egy jogkivonatot Microsoft Entra ID, és továbbítja azt a háttérrendszeri as-is a Authorization fejlécben. Az API Management nem ellenőrzi, hogy a rendszer melyik háttérrendszerbe küldi a jogkivonatot. Az ügyfél felelőssége annak biztosítása, hogy a jogkivonatok csak a kívánt és megbízható háttérszolgáltatásokra legyenek továbbítva. Gondosan konfigurálja a háttérbeli entitásokat és más szabályzatokat, hogy megakadályozza a jogkivonatok nem kívánt célhelyekre való küldését.

Példák

Felügyelt identitás használata háttérszolgáltatással történő hitelesítéshez

<authentication-managed-identity resource="https://graph.microsoft.com"/> 
<authentication-managed-identity resource="https://cognitiveservices.azure.com"/> <!--Azure OpenAI-->
<authentication-managed-identity resource="https://management.azure.com/"/> <!--Azure Resource Manager-->
<authentication-managed-identity resource="https://vault.azure.net"/> <!--Azure Key Vault-->
<authentication-managed-identity resource="https://servicebus.azure.net/"/> <!--Azure Service Bus-->
<authentication-managed-identity resource="https://eventhubs.azure.net/"/> <!--Azure Event Hub-->
<authentication-managed-identity resource="https://storage.azure.com/"/> <!--Azure Blob Storage-->
<authentication-managed-identity resource="https://database.windows.net/"/> <!--Azure SQL-->
<authentication-managed-identity resource="https://signalr.azure.com"/> <!--Azure SignalR-->
<authentication-managed-identity resource="AD_application_id"/> <!--Application (client) ID of your own Azure AD Application-->

Felügyelt identitás használata és a fejléc manuális beállítása

<authentication-managed-identity resource="AD_application_id"
   output-token-variable-name="msi-access-token" ignore-error="false" /> <!--Application (client) ID of your own Azure AD Application-->
<set-header name="Authorization" exists-action="override">
   <value>@("Bearer " + (string)context.Variables["msi-access-token"])</value>
</set-header>

Felügyelt identitás használata a küldési kérelem szabályzatában

<send-request mode="new" timeout="20" ignore-error="false">
    <set-url>https://example.com/</set-url>
    <set-method>GET</set-method>
    <authentication-managed-identity resource="ResourceID"/>
</send-request>

A szabályzatok használatával kapcsolatos további információkért lásd: