5.6. OpenAPI 인증
3scale toolbox를 사용하여 OpenAPI 인증을 구현하면 인증된 사용자만 API에 액세스하고 민감한 데이터를 보호하며 API 사용량을 효율적으로 관리할 수 있습니다. 이 접근 방식은 API 인프라를 강화하고 개발자와 소비자 간의 신뢰를 촉진합니다.
참고
하나의 최상위 보안 요구 사항만 지원됩니다. 작업 수준 보안 요구 사항은 지원되지 않습니다.
지원되는 보안 체계: apiKey
및 oauth2
모든 flow 유형이 있습니다.
apiKey 보안 스키마 유형의 경우:
- 인증 정보 위치는 보안 스키마 오브젝트의 OpenAPI에서 읽습니다.
- 인증 사용자 키는 보안 스키마 오브젝트의 OpenAPI 이름 필드에서 읽습니다.
apiKey
보안 요구 사항이 있는 OpenAPI 3.0.2의 부분적인 예:
openapi: "3.0.2" security: - petstore_api_key: [] components: securitySchemes: petstore_api_key: type: apiKey name: api_key in: header ...
oauth2
보안 스키마 유형의 경우:
-
인증 정보 위치는 헤더에 하드 코딩됩니다.
-
OpenID Connect 문제 유형 기본값은
rest
입니다.--oidc-issuer-type=<value> 명령 옵션을 사용하여 이 값을
재정의할 수 있습니다. -
OpenID Connect 발급자는 OpenAPI에서 읽지 않습니다. 3scale에서는 발행자 URL에 클라이언트 시크릿을 포함해야 하므로 이
--oidc-issuer-endpoint=<value
> 명령 옵션을 사용하여 문제를 설정해야 합니다. - OIDC AUTHORIZATION FLOW는 보안 체계 오브젝트의 flows 필드에서 읽습니다.
oauth2
보안 요구 사항이 있는 OpenAPI 3.0.2의 부분적인 예:
openapi: "3.0.2" security: - petstore_oauth: - write:pets - read:pets components: securitySchemes: petstore_oauth: type: oauth2 flows: clientCredentials: tokenUrl: http://example.org/api/oauth/dialog scopes: write:pets: modify pets in your account read:pets: read your pets ...
OpenAPI가 보안 요구 사항을 지정하지 않는 경우:
- 제품은 Open API 로 간주됩니다.
-
default_credentials
3scale 정책이 추가되었습니다. 참고: 이 값은anonymous_policy
라고도 합니다. -
--default-credentials-userkey
명령이 필요합니다. 참고: 이 제공되지 않는 경우 명령이 실패합니다.
추가 리소스