API Management kimlik doğrulaması ilkeleri

Bu makalede, API arka uçlarıyla kimlik doğrulaması için kullanılan API Management ilkelerine yönelik bir başvuru sağlanır.

İlkeler hakkında daha fazla bilgi:

Kimlik doğrulama ilkeleri

Temel kimlik doğrulaması

Temel kimlik doğrulamasını kullanarak bir arka uç hizmetiyle kimlik doğrulaması yapmak için ilkeyi authentication-basic kullanın. Bu ilke, HTTP Yetkilendirme üst bilgisini ilkede sağlanan kimlik bilgilerine karşılık gelen değere etkili bir şekilde ayarlar.

İlke bildirimi

<authentication-basic username="username" password="password" />

Örnek

<authentication-basic username="testuser" password="testpassword" />

Öğeler

Ad Açıklama Gerekli
kimlik doğrulaması-temel Kök öğesi. Yes

Öznitelikler

Adı Açıklama Gerekli Varsayılan
username Temel kimlik bilgilerinin kullanıcı adını belirtir. Yes Yok
password Temel kimlik bilgilerinin parolasını belirtir. Yes Yok

Kullanım

Bu ilke aşağıdaki ilke bölümlerinde ve kapsamlarında kullanılabilir.

  • İlke bölümleri: gelen

  • İlke kapsamları: tüm kapsamlar

İstemci sertifikasıyla kimlik doğrulaması

authentication-certificate İstemci sertifikası kullanarak bir arka uç hizmetiyle kimlik doğrulaması yapmak için ilkeyi kullanın. Sertifikanın önce API Management yüklenmesi gerekir ve parmak izi veya sertifika kimliği (kaynak adı) ile tanımlanır.

Dikkat

Sertifika Azure Key Vault depolanan bir sertifikaya başvuruyorsa sertifika kimliğini kullanarak sertifikayı tanımlayın. Bir anahtar kasası sertifikası döndürüldüğünde, API Management içindeki parmak izi değişir ve ilke, parmak iziyle tanımlanırsa yeni sertifikayı çözümlemez.

İlke bildirimi

<authentication-certificate thumbprint="thumbprint" certificate-id="resource name"/>

Örnekler

Bu örnekte, istemci sertifikası sertifika kimliğiyle tanımlanır:

<authentication-certificate certificate-id="544fe9ddf3b8f30fb490d90f" />  

Bu örnekte, istemci sertifikası parmak iziyle tanımlanır:

<authentication-certificate thumbprint="CA06F56B258B7A0D4F2B05470939478651151984" />

Bu örnekte, istemci sertifikası yerleşik sertifika deposundan alınmak yerine ilkede ayarlanır:

<authentication-certificate body="@(context.Variables.GetValueOrDefault<byte[]>("byteCertificate"))" password="optional-certificate-password" />

Öğeler

Ad Açıklama Gerekli
kimlik doğrulama sertifikası Kök öğesi. Yes

Öznitelikler

Adı Açıklama Gerekli Varsayılan
Parmak izi İstemci sertifikasının parmak izi. Ya da thumbprintcertificate-id mevcut olmalıdır. Yok
sertifika kimliği Sertifika kaynak adı. Ya da thumbprintcertificate-id mevcut olmalıdır. Yok
body Bayt dizisi olarak istemci sertifikası. No Yok
password İstemci sertifikasının parolası. içinde body belirtilen sertifika parola korumalıysa kullanılır. Yok

Kullanım

Bu ilke aşağıdaki ilke bölümlerinde ve kapsamlarında kullanılabilir.

  • İlke bölümleri: gelen

  • İlke kapsamları: tüm kapsamlar

Yönetilen kimlikle kimlik doğrulaması

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 Azure Active Directory'den erişim belirteci alır. Belirteci başarıyla aldıktan sonra ilke, şemayı kullanarak Bearer üst bilgideki Authorization belirtecin değerini ayarlar.

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, Azure Active Directory kullanıcı tarafından atanan kimlik için belirteç istenir.

İlke bildirimi

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

Örnek

Arka uç hizmetiyle kimlik doğrulaması yapmak için yönetilen kimliği 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://storage.azure.com/"/> <!--Azure Blob Storage-->
<authentication-managed-identity resource="https://database.windows.net/"/> <!--Azure SQL-->
<authentication-managed-identity resource="Client_id_of_Backend"/> <!--Your own Azure AD Application-->

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

<authentication-managed-identity resource="Client_id_of_Backend"
   output-token-variable-name="msi-access-token" ignore-error="false" /> <!--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>

Öğeler

Ad Açıklama Gerekli
authentication-managed-identity Kök öğesi. Yes

Öznitelikler

Adı Açıklama Gerekli Varsayılan
kaynak Dize. Azure Active Directory'de hedef web API'sinin (güvenli kaynak) Uygulama Kimliği. Yes Yok
istemci kimliği Dize. Azure Active Directory kullanıcı tarafından atanan kimliğin Uygulama Kimliği. No sistem tarafından atanan kimlik
output-token-variable-name Dize. Belirteç değerini nesne türü stringolarak alacak bağlam değişkeninin adı. No Yok
ignore-error Boolean. olarak ayarlanırsa true, bir erişim belirteci alınmasa bile ilke işlem hattı yürütülmeye devam eder. No yanlış

Kullanım

Bu ilke aşağıdaki ilke bölümlerinde ve kapsamlarında kullanılabilir.

  • İlke bölümleri: gelen

  • İlke kapsamları: tüm kapsamlar

Sonraki adımlar

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