다음을 통해 공유


클라이언트 인증서 유효성 검사

적용 대상: 모든 API Management 계층

validate-client-certificate 정책을 사용하여 클라이언트가 API Management 인스턴스에 제공한 인증서가 하나 이상의 인증서 ID에 대해 지정된 유효성 검사 규칙 및 클레임(예: 주체 또는 발급자)과 일치하도록 적용합니다.

유효한 것으로 간주하려면 클라이언트 인증서가 최상위 요소의 특성에 의해 정의된 모든 유효성 검사 규칙과 일치하고 정의된 ID 중 하나 이상에 대해 정의된 모든 클레임과 일치해야 합니다.

이 정책을 사용하여 원하는 속성에 대해 들어오는 인증서 속성을 확인합니다. 또한 이 정책을 사용하여 다음과 같은 경우 클라이언트 인증서의 기본 유효성 검사를 재정의합니다.

  • 관리형 게이트웨이에 대한 클라이언트 요청의 유효성을 검사하기 위해 사용자 지정 CA 인증서를 업로드한 경우
  • 자체 관리형 게이트웨이에 대한 클라이언트 요청의 유효성을 검사하도록 사용자 지정 인증 기관을 구성한 경우

사용자 지정 CA 인증서 및 인증 기관에 대한 자세한 내용은 Azure API Management 사용자 지정 CA 인증서를 추가하는 방법을 참조하세요.

참고 항목

정책 문에 제공된 순서대로 정책의 요소 및 자식 요소를 설정합니다. API Management 정책을 설정하거나 편집하는 방법에 대해 자세히 알아봅니다.

정책 문

<validate-client-certificate 
    validate-revocation="true | false"
    validate-trust="true | false" 
    validate-not-before="true | false" 
    validate-not-after="true | false" 
    ignore-error="true | false">
    <identities>
        <identity
            thumbprint="certificate thumbprint"
            serial-number="certificate serial number"
            common-name="certificate common name"
            subject="certificate subject string"
            dns-name="certificate DNS name"
            issuer-subject="certificate issuer"
            issuer-thumbprint="certificate issuer thumbprint"
            issuer-certificate-id="certificate identifier"/>
    </identities>
</validate-client-certificate> 

특성

이름 설명 필수 항목 기본값
validate-revocation 부울입니다. 온라인 해지 목록에 대해 인증서의 유효성을 검사할지 여부를 지정합니다. 정책 식은 허용되지 않습니다.  아니요 true
validate-trust 부울입니다. 신뢰할 수 있는 CA에 대해 체인을 성공적으로 빌드할 수 없는 경우 유효성 검사가 실패해야 하는지를 지정합니다. 정책 식은 허용되지 않습니다. 아니요 true
validate-not-before 부울입니다. 현재 시간에 대해 값의 유효성을 검사합니다. 정책 식은 허용되지 않습니다. 아님 true
validate-not-after 부울입니다. 현재 시간에 대해 값의 유효성을 검사합니다. 정책 식은 허용되지 않습니다. 아님 true
ignore-error 부울입니다. 정책이 다음 처리기로 진행하거나 유효성 검사 실패 시 오류 발생 시로 넘어갈지 여부를 지정합니다. 정책 식은 허용되지 않습니다. 아니요 false

Elements

요소 설명 필수
identities 클라이언트 인증서에 정의된 클레임을 사용하여 하나 이상의 identity 요소를 지정하려면 이 요소를 추가합니다. 아니요

ID 특성

이름 설명 필수 항목 기본값
thumbprint 인증서 지문입니다. 아니요 해당 없음
serial-number 인증서 일련 번호입니다. 아니요 해당 없음
common-name 인증서 일반 이름(주체 문자열의 일부)입니다. 아니요 해당 없음
주체 주체 문자열입니다. 고유 이름 형식을 따라야 합니다. 아니요 해당 없음
dns-name 주체 대체 이름 클레임 내 dnsName 항목의 값입니다. 아니요 해당 없음
issuer-subject 발급자의 주체입니다. 고유 이름 형식을 따라야 합니다. 아니요 해당 없음
issuer-thumbprint 발급자 지문입니다. 아니요 해당 없음
issuer-certificate-id 발급자의 퍼블릭 키를 나타내는 기존 인증서 엔터티의 식별자입니다. 다른 발급자 특성과 함께 사용할 수 없습니다. 아니요 해당 없음

사용

예시

다음 예제에서는 정책의 기본 유효성 검사 규칙과 일치하도록 클라이언트 인증서의 유효성을 검사하고 주체 및 발급자 이름이 지정된 값과 일치하는지 확인합니다.

<validate-client-certificate 
    validate-revocation="true" 
    validate-trust="true" 
    validate-not-before="true" 
    validate-not-after="true" 
    ignore-error="false">
    <identities>
        <identity
            subject="C=US, ST=Illinois, L=Chicago, O=Contoso Corp., CN=*.contoso.com"
            issuer-subject="C=BE, O=FabrikamSign nv-sa, OU=Root CA, CN=FabrikamSign Root CA" />
    </identities>
</validate-client-certificate> 

정책 작업에 대한 자세한 내용은 다음을 참조하세요.