Yönetilen kimlikle kimlik doğrulaması

UYGULANANLAR: Tüm API Management katmanları

authentication-managed-identity Yönetilen kimliği kullanarak bir arka uç hizmetiyle kimlik doğrulaması yapmak için ilkeyi kullanın. Bu ilke temelde yönetilen kimliği kullanarak belirtilen kaynağa erişmek için Microsoft Entra Id'den bir erişim belirteci alır. Belirteci başarıyla aldıktan sonra ilke, düzeni kullanarak Bearer üst bilgideki Authorization belirtecin değerini ayarlar. API Management, süresi dolana kadar belirteci önbelleğe alır.

Belirteç istemek için hem sistem tarafından atanan kimlik hem de kullanıcı tarafından atanan birden çok kimlik kullanılabilir. Sağlanmazsa client-id , sistem tarafından atanan kimlik varsayılır. client-id Değişken sağlanırsa, Microsoft Entra Id'den kullanıcı tarafından atanan kimlik için belirteç istenir.

Not

İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.

İlke bildirimi

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

Özellikler

Öznitelik Açıklama Zorunlu Varsayılan
kaynak Dize. Microsoft Entra Id'de hedef web API'sinin (güvenli kaynak) uygulama kimliği. İlke ifadelerine izin verilir. Yes Yok
istemci kimliği Dize. Microsoft Entra Id'de kullanıcı tarafından atanan kimliğin istemci kimliği. İlke ifadelerine izin verilmez. Hayır sistem tarafından atanan kimlik
output-token-variable-name Dize. Belirteç değerini türünde stringbir nesne olarak alacak bağlam değişkeninin adı. İlke ifadelerine izin verilmez. Hayır YOK
ignore-error Boole. olarak ayarlanırsa true, erişim belirteci alınmasa bile ilke işlem hattı yürütülmeye devam eder. Hayır false

Kullanım

Örnekler

Arka uç hizmetiyle kimlik doğrulaması yapmak için yönetilen kimlik kullanma

<authentication-managed-identity resource="https://graph.microsoft.com"/> 
<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="AD_application_id"/> <!--Application (client) ID of your own Azure AD Application-->

Yönetilen kimliği kullanma ve üst bilgiyi el ile ayarlama

<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>

İstek gönderme ilkesinde yönetilen kimliği kullanma

<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>

İlkelerle çalışma hakkında daha fazla bilgi için bkz: