Aracılığıyla paylaş


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 üzere Microsoft Entra ID'dan erişim belirteci alır. Belirteci başarıyla aldıktan sonra ilke, düzeni kullanarak Authorization üst bilgideki Bearer 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şkeni sağlanırsa, Microsoft Entra ID 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.

Dikkat

Güvenlikle ilgili dikkat edilmesi gerekenler: API Management ilkelerini düzenleme izni olan tüm kullanıcılar (örneğin, API Management Hizmeti Katkıda Bulunanı rolüne atanan kullanıcılar) hizmetin yönetilen kimliği olarak kimlik doğrulaması yapmak için bu ilkeyi kullanabilir. Bu, kullanıcıya yönetilen kimliğin izinleri olan herhangi bir kaynağa etkili bir şekilde erişim verir. API Management kaynağına izin atarken en az ayrıcalık ilkesini izlediğinize emin olun. Daha fazla bilgi için bkz. İ/c0> Azure API Management< içinde yönetilen kimlikleri kullanma.

İ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 Dizgi. Microsoft Entra ID'deki hedef web API'sinin (güvenli kaynak) uygulama kimliği. İlke ifadelerine izin verilir. Evet Yok
istemci kimliği Dizgi. Microsoft Entra ID kullanıcı tarafından atanan kimliğin istemci kimliği. İlke ifadelerine izin verilmez. Hayır Yok. Öznitelik yoksa sistem tarafından atanan kimlik kullanılır.
output-token-variable-name Dizgi. 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://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-->

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: