jwt-validate
JWT 유효성 검증 보안 정책을 사용하여 API에 대한 액세스를 허용하기 전에 요청에서 JWT (JSON Web Token) 의 유효성 검증을 사용으로 설정하십시오.
게이트웨이 지원
게이트웨이 | 정책 버전 |
---|---|
DataPower® Gateway (v5 compatible) | 1.0.0 |
DataPower API Gateway | 2.0.0 |
이 주제에서는 OpenAPI 소스에서 정책을 구성하는 방법을 설명합니다. 어셈블리 사용자 인터페이스에서 정책을 구성하는 방법에 대한 세부사항은 JWT 유효성 검증을 참조하십시오.
참고:
- 원래 메시지가 공유되는 비밀 키로 서명된 경우 지정된 암호 오브젝트도 공유되는 비밀 키여야 합니다.
- 원래 메시지가 개인 키로 서명된 경우 지정된 암호 오브젝트는 암호 인증서(공용 인증서)여야 합니다.
- 암호 자료는 JWK(JSON Web Key)를 통해 제공할 수 있습니다.
- JWK 헤더 매개변수가 JWT의 헤더에 포함된 경우 매개변수는 정책에 지정된 JWK 또는 암호 오브젝트와 일치해야 합니다. 그렇지 않으면 JWT 유효성 검증에 실패합니다.
- 암호 오브젝트 및 JWK 모두 지정하면 JWT의 암호화 및 확인에 암호 오브젝트를 사용합니다.
- DataPower API Gateway 의 JWT 유효성 검증 조치는 단일 JWK 또는 JWK 세트를 사용하여 JWT를 확인할 수 있습니다.
정보
jwt-validate 정책의 구조는 다음과 같습니다.
- jwt-validate:
version: version
title: title
description: description
jwt: json_web_token
output-claims: output_full_set_of_jwt_claims
iss-claim: issuer_claim
aud-claim: audience_claim
jwe-crypto: decrypt_crypto_object
jwe-jwk: decrypt_crypto_jwk_variable_name
jws-crypto: verify_crypto_object
jws-jwk: verify_crypto_jwk_variable_name
특성
다음 표에서는 정책 특성에 대해 설명합니다.특성 | 필수 | 설명 | 데이터 유형 |
---|---|---|---|
version | 예 | 정책 버전 번호입니다. | 문자열 |
title | 예 | 해당 정책의 제목입니다. | 문자열 |
description | 아니오 | 정책의 설명입니다. | 문자열 |
jwt | 예 | 유효성 검증할 JWT가 포함된 컨텍스트 또는 런타임 변수입니다. 기본값은 주: 권한 부여 헤더의 형식은 다음과 같아야 합니다.
여기서
jwt-token은 인코딩된 JWT입니다. |
문자열 |
output-claims | 예 | JWT에 포함된 전체 청구 세트가 지정된 런타임 변수입니다. 기본값은 |
문자열 |
iss-claim | 아니오 | 발행자 (iss) 청구의 유효성을 검증하는 데 사용할 Perl Compatible Regular Expressions (PCRE) . | 문자열 |
aud-claim | 아니오 | 대상(aud) 청구를 유효성 검증하는 데 사용할 PCRE입니다. | 문자열 |
jwe-crypto | 아니오 | 청구를 디코딩하는 데 사용할 암호 오브젝트(공유 키 또는 인증서)입니다. JWK 및 암호 오브젝트는 둘 다 JWT를 복호화하는 데 필요한 암호 데이터를 제공하는 올바른 방법입니다. 그러나 두 데이터 유형을 지정하면 암호 오브젝트만 사용됩니다. | 문자열 |
jwe-jwk | 아니오 | JWT 복호화에 사용할 JWK가 포함된 런타임 변수입니다. JWK 및 암호 오브젝트는 둘 다 JWT를 복호화하는 데 필요한 암호 데이터를 제공하는 올바른 방법입니다. 그러나 두 데이터 유형을 지정하면 암호 오브젝트만 사용됩니다. | 문자열 |
jws-crypto | 아니오 | 서명을 확인하는 데 사용할 암호 오브젝트(공유 키 또는 인증서)입니다. JWK 또는 JWK 세트 및 암호 오브젝트는 모두 JWT를 확인하는 데 필요한 암호화 데이터를 제공하는 올바른 방법입니다. 그러나 두 데이터 유형을 지정하면 암호 오브젝트만 사용됩니다. | 문자열 |
jws-jwk | 아니오 | 서명을 확인하는 데 사용할 JWK 또는 JWK 세트가 포함된 런타임 변수입니다. JWK 또는 JWK 세트 및 암호 오브젝트는 모두 JWT를 확인하는 데 필요한 암호화 데이터를 제공하는 올바른 방법입니다. 그러나 두 데이터 유형을 지정하면 암호 오브젝트만 사용됩니다. | 문자열 |
예
다음은 jwt-validate 정책의 예제입니다.
- jwt-validate:
version: 1.0.0
title: jwt-validate
jwt: request.headers.authorization
output-claims: decoded.claims
iss-claim: "'^data.*'"
aud-claim: "'^id.*'"
jwe-crypto: jweCryptoObjectName
jwe-jwk: jwe.jwk
jws-crypto: jwsCryptoObjectName
jws-jwk: jws.jwk
jwt-validate 보안 정책 사용 방법에 대한 자세한 정보는 기본 제공 정책 섹션에서 JWT 유효성 검증 을 참조하십시오.