API Management の認証ポリシーAPI Management authentication policies

このトピックでは、次の API Management ポリシーについて説明します。This topic provides a reference for the following API Management policies. ポリシーを追加および構成する方法については、「 Azure API Management のポリシー」をご覧ください。For information on adding and configuring policies, see Policies in API Management.

認証ポリシーAuthentication policies

基本認証Authenticate with Basic

authentication-basic ポリシーを使用し、基本認証を使用してバックエンド サービスで認証します。Use the authentication-basic policy to authenticate with a backend service using Basic authentication. このポリシーでは、HTTP 承認ヘッダーが、ポリシーに指定された資格情報に対応する値に効率よく設定されます。This policy effectively sets the HTTP Authorization header to the value corresponding to the credentials provided in the policy.

ポリシー ステートメントPolicy statement

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

Example

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

要素Elements

名前Name 説明Description 必須Required
authentication-basicauthentication-basic ルート要素。Root element. はいYes

属性Attributes

名前Name 説明Description 必須Required DefaultDefault
usernameusername 基本認証の資格情報のユーザー名を指定します。Specifies the username of the Basic credential. はいYes 該当なしN/A
passwordpassword 基本認証の資格情報のパスワードを指定します。Specifies the password of the Basic credential. はいYes 該当なしN/A

使用法Usage

このポリシーは、次のポリシー セクションスコープで使用できます。This policy can be used in the following policy sections and scopes.

  • ポリシー セクション: inboundPolicy sections: inbound

  • ポリシー スコープ: すべてのスコープPolicy scopes: all scopes

クライアント証明書による認証Authenticate with client certificate

authentication-certificate ポリシーを使用し、クライアント証明書を使用してバックエンド サービスで認証します。Use the authentication-certificate policy to authenticate with a backend service using client certificate. 証明書は最初に API Management にインストールする必要があります。サムプリントによって識別されます。The certificate needs to be installed into API Management first and is identified by its thumbprint.

ポリシー ステートメントPolicy statement

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

Examples

この例では、クライアントの証明書は拇印によって識別されます。In this example client certificate is identified by its thumbprint.

<authentication-certificate thumbprint="CA06F56B258B7A0D4F2B05470939478651151984" />

この例では、クライアントの証明書はリソース名によって識別されます。In this example client certificate is identified by resource name.

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

要素Elements

名前Name 説明Description 必須Required
authentication-certificateauthentication-certificate ルート要素。Root element. はいYes

属性Attributes

名前Name 説明Description 必須Required DefaultDefault
thumbprintthumbprint クライアント証明書のサムプリント。The thumbprint for the client certificate. thumbprint または certificate-id のいずれかが存在しなければなりません。Either thumbprint or certificate-id must be present. 該当なしN/A
証明書 IDcertificate-id 証明書リソースの名前。The certificate resource name. thumbprint または certificate-id のいずれかが存在しなければなりません。Either thumbprint or certificate-id must be present. 該当なしN/A

使用法Usage

このポリシーは、次のポリシー セクションスコープで使用できます。This policy can be used in the following policy sections and scopes.

  • ポリシー セクション: inboundPolicy sections: inbound

  • ポリシー スコープ: すべてのスコープPolicy scopes: all scopes

マネージド ID による認証Authenticate with managed identity

authentication-managed-identity ポリシーを使用して、API Management サービスのマネージド ID を利用したバックエンド サービスによる認証を行います。Use the authentication-managed-identity policy to authenticate with a backend service using the managed identity of the API Management service. このポリシーでは、指定されたリソースにアクセスするためのアクセス トークンを Azure Active Directory から取得するために、基本的にマネージド ID を利用します。This policy essentially uses the managed identity to obtain an access token from Azure Active Directory for accessing the specified resource. トークンが正常に取得されると、ポリシーは、Bearer スキームを使用してトークンの値を Authorization ヘッダーに設定します。After successfully obtaining the token, the policy will set the value of the token in the Authorization header using the Bearer scheme.

ポリシー ステートメントPolicy statement

<authentication-managed-identity resource="resource" output-token-variable-name="token-variable" ignore-error="true|false"/>  

Example

マネージド ID を使用してバックエンド サービスで認証するUse managed identity to authenticate with a backend service

<authentication-managed-identity resource="https://graph.windows.net"/> 
<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 Busr-->
<authentication-managed-identity resource="https://storage.azure.com/"/> <!--Azure Blob Storage-->
<authentication-managed-identity resource="https://database.windows.net/"/> <!--Azure SQL-->

send-request ポリシーでマネージド ID を使用するUse managed identity in send-request policy

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

要素Elements

名前Name 説明Description 必須Required
authentication-managed-identityauthentication-managed-identity ルート要素。Root element. はいYes

属性Attributes

名前Name 説明Description 必須Required DefaultDefault
resourceresource 文字列 をオンにします。String. Azure Active Directory におけるターゲット Web API のアプリ ID の URI (セキュリティで保護されたリソース)。The App ID URI of the target web API (secured resource) in Azure Active Directory. はいYes 該当なしN/A
output-token-variable-nameoutput-token-variable-name 文字列 をオンにします。String. オブジェクトの種類 string としてトークン値を受け取るコンテキスト変数の名前。Name of the context variable that will receive token value as an object type string. いいえNo 該当なしN/A
ignore-errorignore-error ブール値。Boolean. true に設定された場合、アクセス トークンが取得されなかったとしても、ポリシー パイプラインは引き続き実行されます。If set to true, the policy pipeline will continue to execute even if an access token is not obtained. いいえNo falsefalse

使用法Usage

このポリシーは、次のポリシー セクションスコープで使用できます。This policy can be used in the following policy sections and scopes.

  • ポリシー セクション: inboundPolicy sections: inbound

  • ポリシー スコープ: すべてのスコープPolicy scopes: all scopes

次の手順Next steps

ポリシーを使用する方法の詳細については、次のトピックを参照してください。For more information working with policies, see: