1.5. API 키 인증 예
다음 예제에서는 apiKey 인증 체계를 사용하여 OpenAPI 서비스 작업을 보호하는 방법을 보여줍니다. security-example.json 파일은 api-key-example 보안 체계를 사용하는 sayHelloApiKey 작업을 정의합니다. 애플리케이션 속성, 워크플로우 ConfigMap 또는 환경 변수를 사용하여 API 키를 구성할 수 있습니다.
API 키 인증을 사용하는 OpenAPI 사양의 예
{
"openapi": "3.1.0",
"info": {
"title": "Api Key Scheme Example",
"version": "1.0"
},
"paths": {
"/hello-with-api-key": {
"get": {
"operationId": "sayHelloApiKey",
"responses": {
"200": {
"description": "OK",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
}
},
"security": [{"api-key-example" : []}]
}
}
},
"components": {
"securitySchemes": {
"api-key-example": {
"type": "apiKey",
"name": "api-key-name",
"in": "header"
}
}
}
}
이 예에서 sayHelloApiKey 작업은 HTTP 요청 헤더에 전달된 API 키를 사용하는 api-key-example 보안 스키마로 보호됩니다.
1.5.1. API 키 인증에 지원되는 구성 속성 링크 복사링크가 클립보드에 복사되었습니다!
다음 구성 속성을 사용하여 API 키를 구성할 수 있습니다.
| 설명 | 속성 키 | 예 |
|---|---|---|
| API 키 |
|
|
[filename] 을 sanitized OpenAPI 파일 이름 security_example_json 및 [security_scheme_name] 으로 교체할 수 있습니다.
apiKey 스키마 유형에는 Open API 서비스가 호출될 때 사용할 키 이름을 구성하는 추가 name 속성이 포함되어 있습니다. 또한 키를 전달하는 형식은 in 속성 값에 따라 다릅니다.
-
값이
header이면 키가 HTTP 헤더로 전달됩니다. -
값이
쿠키이면 키가 HTTP 쿠키로 전달됩니다. -
값이
쿼리이면 키가 HTTP 쿼리 매개변수로 전달됩니다.
이 예제에서는 HTTP 헤더에 api-key-name: MY_KEY 로 키가 전달됩니다.
서버리스 논리는 내부적으로 이를 관리하므로 속성 값을 설정하는 것 외에는 추가 구성이 필요하지 않습니다.