다중 인증은 오픈 API 서비스를 하는 경우 사용자 유형(개발자, 트라이얼 사용자, 유료 사용자등)에 따라서 IDP를 다중/동적으로 구성해야 하는 경우에도 사용할 수 있습니다.
일반적으로는 API 게이트웨이로 전송된 요청에 대해 각 API 경로별로 매핑된 단일 백엔드로 라우팅합니다. 만일 하나의 API 경로를 활용하여 서로 다른 백엔드로 라우팅해야 할 필요가 있을때 이 기능을 사용할 수 있습니다. 이제 하나의 API 경로는 여러개의 백엔드를 가질 수 있으며, 클라이언트 요청에 따라서 적절한 백엔드를 선택할 수 있습니다.
다중 라우팅 실행의 경우 1~3 단계 까지는 다중 인증에서의 단계와 동일합니다. 4단계에서 게이트웨이는 “/pet”와 같은 클라이언트가 요청한 경로를 기반으로 실행되지만, 백엔드가 여러개이므로 여러개의 백엔드에서 적절한 백엔드를 선택하기 위한 선택기를 통해 요청을 추가로 확인하게 됩니다. 선택기는 header, query parameter, host, subdomain, path parameter, authorization claim, 또는 usage plan을 기반으로 정의할 수 있습니다.
이 기능을 활용하면 API 개발자는 헤더 기반 라우팅, 사용량 계획 기반 라우팅, 테넌트 기반 라우팅등을 정의할 수있습니다.
API 게이트웨이는 모든 OAuth 2.0 호환 토큰에 대한 JWT 유효성 검사를 지원하고 있습니다. 여기에 권한 부여 기능을 더 확장할 수 있도록 OCI Functions를 활용하여 권한 부여자 함수(Authorizer functions)를 지원합니다. 권한 부여자 함수를 사용하면 path, headers, query parameters, host, body, 심지어 mTLS를 사용하는 클라이언트 인증서도 권한 부여자 함수에 포함될 수 있습니다.
OCI DevOps 서비스는 외부 코드 저장소로 GitHub, GitLab, Bitbucket Cloud, Bitbucket Server, GitLab Server를 지원하였으며, 이번에 Visual Studio Builder Studio를 추가로 지원하게 되었습니다.
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Donghu Kim RELEASE-NOTES-2022-CLOUDNATIVE-SECURITY
oci-release-notes-2022 sep-2022 cloudnative