클라이언트 인증서 유효성 검사
적용 대상: 모든 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>
관련 정책
관련 콘텐츠
정책 작업에 대한 자세한 내용은 다음을 참조하세요.
- 자습서: API 변환 및 보호
- 정책 문 및 해당 설정에 대한 전체 목록에 대한 정책 참조
- 정책 식
- 정책 설정 또는 편집
- 정책 구성 재사용
- 정책 코드 조각 리포지토리
- Azure API Management 정책 도구 키트
- Azure의 Microsoft Copilot을 사용하는 작성자 정책