API Management 개발자 포털에 대한 보안 액세스
적용 대상: 개발자 | 기본 | 기본 v2 | 표준 | 표준 v2 | 프리미엄 | 프리미엄 v2
API Management에 외부(또는 내부)에서 사용하여 개발자 사용자가 API Management를 통해 게시된 API를 검색하고 상호 작용할 수 있도록 완전히 사용자 지정 가능한 독립형 관리 개발자 포털이 있습니다. 개발자 포털에는 보안 사용자 등록 및 로그인을 용이하게 하는 몇 가지 옵션이 있습니다.
참고 항목
기본적으로 개발자 포털에는 익명 액세스가 가능합니다. 즉, 테스트 콘솔 사용과 같은 기능은 제한되지만 로그인하지 않고도 누구나 포털 및 API 등의 콘텐츠를 볼 수 있습니다. 사용자가 로그인해야 개발자 포털을 볼 수 있도록 하는 설정을 활성화할 수 있습니다. Azure Portal에서 API Management 인스턴스의 왼쪽 메뉴에 있는 개발자 포털에서 ID>설정을 선택합니다. 익명 사용자 아래에서 익명 사용자를 로그인 페이지로 리디렉션을 선택(활성화)합니다.
인증 옵션
외부 사용자 - 개발자 포털이 외부에서 사용될 때 기본 설정되는 옵션은 Azure AD B2C(Azure Active Directory B2C)를 통해 기업 간 액세스 제어를 사용하도록 설정하는 것입니다.
- Azure AD B2C는 Azure AD B2C 네이티브 계정을 사용하는 옵션을 제공합니다. 사용자는 Azure AD B2C에 등록하고 해당 ID를 사용하여 개발자 포털에 액세스합니다.
- Azure AD B2C는 사용자가 기존 소셜 미디어 또는 페더레이션된 조직 계정을 사용하여 개발자 포털에 액세스하도록 하려는 경우에도 유용합니다.
- Azure AD B2C는 조건부 액세스 및 MFA를 포함하여 최종 사용자 등록 및 로그인 환경을 개선하는 많은 기능을 제공합니다.
개발자 포털에서 Azure AD B2C 인증을 사용하도록 설정하는 단계는 Azure API Management에서 Azure Active Directory B2C를 사용하여 개발자 계정을 인증하는 방법을 참조하세요.
내부 사용자 - 개발자 포털이 내부적으로 사용될 때 기본 설정되는 옵션은 회사 Microsoft Entra ID를 활용하는 것입니다. Microsoft Entra ID는 개발자 포털을 통해 API에 액세스하고 검색해야 하는 기업 사용자에게 원활한 SSO(Single Sign-On) 환경을 제공합니다.
개발자 포털에서 Microsoft Entra 인증을 사용하도록 설정하는 단계는 Azure API Management에서 Microsoft Entra ID를 사용하여 개발자 계정을 인증하는 방법을 참조하세요.
기본 인증 - 기본 옵션은 개발자가 API Management에 직접 등록하고 API Management 사용자 계정을 사용하여 로그인할 수 있도록 하는 기본 제공 개발자 포털 사용자 이름 및 암호 공급자를 사용하는 것입니다. 이 옵션을 통한 사용자 등록은 CAPTCHA 서비스에 의해 보호됩니다.
개발자 포털 테스트 콘솔
개발자 사용자가 액세스 및 로그인을 위해 등록할 수 있는 구성을 제공하는 것 외에도 개발자 포털에는 개발자가 API Management를 통해 백 엔드 API에 테스트 요청을 보낼 수 있는 테스트 콘솔이 포함되어 있습니다. 이 테스트 기능은 또한 Azure Portal을 사용하여 서비스를 관리하는 API Management 기여 사용자를 위해 존재합니다.
Azure API Management를 통해 노출된 API가 OAuth 2.0으로 보호되는 경우, 즉 호출 애플리케이션(전달자)이 유효한 액세스 토큰을 가져와 전달해야 하는 경우 Azure Portal 또는 개발자 포털 테스트 콘솔 사용자를 대신하여 유효한 토큰을 생성하도록 API Management를 구성할 수 있습니다. 자세한 내용은 OAuth 2.0 사용자 권한 부여를 구성하여 개발자 포털의 테스트 콘솔을 권한 부여하는 방법을 참조하세요.
API 테스트를 위해 유효한 OAuth 2.0 토큰을 획득하기 위해 테스트 콘솔을 사용하도록 설정하려면 다음 안내를 따릅니다.
인스턴스에 OAuth 2.0 사용자 권한 부여 서버를 추가합니다. Microsoft Entra ID, Azure AD B2C 또는 타사 ID 공급자를 포함한 모든 OAuth 2.0 공급자를 사용할 수 있습니다.
그런 다음 해당 권한 부여 서버에 대한 설정으로 API를 구성합니다. 포털의 API 설정 페이지 >보안>사용자 권한 부여에서 OAuth 2.0 권한 부여를 구성합니다.
API 테스트를 위한 이 OAuth 2.0 구성은 개발자 포털에 대한 사용자 액세스에 필요한 구성과 무관합니다. 그러나 ID 공급자와 사용자는 동일할 수 있습니다. 예를 들어, 인트라넷 애플리케이션에서는 회사 ID와 함께 SSO를 사용하여 개발자 포털에 대한 사용자 액세스가 필요할 수 있습니다. 동일한 회사 ID는 테스트 콘솔을 통해 동일한 사용자 컨텍스트로 호출되는 백 엔드 서비스에 대한 토큰을 가져올 수 있습니다.
시나리오
다양한 인증 및 권한 부여 옵션이 시나리오마다 적용됩니다. 다음 섹션에서는 세 가지 시나리오 예에 대한 상위 수준 구성을 살펴봅니다. API Management를 통해 노출된 API를 완전히 보호하고 구성하려면 더 많은 단계가 필요합니다. 그러나 시나리오는 필요한 인증 및 권한 부여를 제공하기 위해 각 경우에 권장되는 최소 구성에 의도적으로 초점을 맞춥니다.
시나리오 1 - 인트라넷 API 및 애플리케이션
- API Management 기여자 및 백 엔드 API 개발자는 OAuth 2.0으로 보호되는 API를 게시하려고 합니다.
- API는 사용자가 Microsoft Entra ID를 통해 SSO를 사용하여 로그인하는 데스크톱 애플리케이션에서 사용됩니다.
- 데스크톱 애플리케이션 개발자는 API Management 개발자 포털을 통해 API를 검색하고 테스트해야 합니다.
핵심 구성:
구성 | 참조 |
---|---|
회사 ID 및 Microsoft Entra ID를 사용하여 API Management 개발자 포털의 개발자 사용자에게 권한을 부여합니다. | Azure API Management에서 Microsoft Entra ID를 사용하여 개발자 계정에 권한 부여 |
개발자 포털에서 테스트 콘솔을 설정하여 데스크톱 앱 개발자가 백 엔드 API를 실행할 수 있는 유효한 OAuth 2.0 토큰을 가져옵니다. API Management 기여자 및 백 엔드 개발자가 액세스할 수 있는 Azure Portal의 테스트 콘솔에 동일한 구성을 사용할 수 있습니다. 토큰은 API Management 구독 키와 함께 사용할 수 있습니다. |
OAuth 2.0 사용자 권한 부여를 구성하여 개발자 포털의 테스트 콘솔에 권한을 부여하는 방법 Azure API Management의 구독 |
액세스 토큰을 사용하여 API Management를 통해 API를 호출할 때 OAuth 2.0 토큰 및 클레임의 유효성을 검사합니다. | JWT 정책 유효성 검사 |
API Management를 네트워크 경계로 이동하고 역방향 프록시를 통해 수신을 제어하여 이 시나리오에서 한 단계 더 나아가세요. 참조 아키텍처는 Application Gateway 및 API Management로 API 보호를 참조하세요.
시나리오 2 - 외부 API, 파트너 애플리케이션
- API Management 기여자 및 백 엔드 API 개발자는 Azure API Management를 통해 레거시 API를 노출하는 신속한 개념 증명을 수행하려고 합니다. API Management를 통한 API는 외부(인터넷)에 연결됩니다.
- API는 클라이언트 인증서 인증을 사용하며 파트너가 해외에서 개발 중인 새로운 공용 SPA(단일 페이지 앱)에서 사용됩니다.
- SPA는 OIDC(OpenID Connect)와 함께 OAuth 2.0을 사용합니다.
- 애플리케이션 개발자는 테스트 백 엔드 엔드포인트를 사용하여 프런트 엔드 개발을 가속화하는 개발자 포털을 통해 테스트 환경의 API에 액세스합니다.
핵심 구성:
구성 | 참조 |
---|---|
기본 사용자 이름 및 암호 인증을 사용하여 개발자 포털에 대한 프런트 엔드 개발자 액세스를 구성합니다. 개발자를 개발자 포털에 초대할 수도 있습니다. |
사용자 이름 및 암호를 사용하여 인증하도록 개발자 포털의 사용자 구성 Azure API Management에서 사용자 계정을 관리하는 방법 |
SPA가 액세스 토큰을 사용하여 API Management를 호출할 때 OAuth 2.0 토큰 및 클레임의 유효성을 검사합니다. 이 경우 대상 그룹은 API Management입니다. | JWT 정책 유효성 검사 |
백 엔드에 대한 클라이언트 인증서 인증을 사용하도록 API Management를 설정합니다. | Azure API Management에서 클라이언트 인증서 인증을 사용한 백 엔드 서비스 보호 |
Microsoft Entra 권한 부여가 있는 개발자 포털 및 Microsoft Entra B2B 협업을 사용하여 이 시나리오에서 한 단계 더 나아가 제공 파트너가 더 긴밀하게 협업할 수 있습니다. 개발 또는 테스트 환경에서 RBAC를 통해 API Management에 대한 액세스 권한을 위임하고 자체 회사 자격 증명을 사용하여 개발자 포털에 대한 SSO를 사용하도록 설정하는 것이 좋습니다.
시나리오 3 - 외부 API, SaaS, 공용
API Management 기여자 및 백 엔드 API 개발자는 커뮤니티 개발자가 사용할 수 있는 몇 가지 새로운 API를 작성하고 있습니다.
API는 유료로 보호되고 OAuth 2.0을 사용하여 보호되는 전체 기능과 함께 공개적으로 사용 가능합니다. 라이선스를 구매한 개발자에게 프로덕션 사용에 유효한 고유한 클라이언트 자격 증명과 구독 키가 제공됩니다.
외부 커뮤니티 개발자는 개발자 포털을 사용하여 API를 검색합니다. 개발자는 소셜 미디어 계정을 사용하여 개발자 포털에 등록하고 로그인합니다.
테스트 구독 키가 있는 관심 있는 개발자 포털 사용자는 라이선스를 구매할 필요 없이 테스트 컨텍스트에서 API 기능을 탐색할 수 있습니다. 개발자 포털 테스트 콘솔은 호출 애플리케이션을 나타내고 백 엔드 API에 대한 기본 액세스 토큰을 생성합니다.
주의
개발자 포털 테스트 콘솔에서 클라이언트 자격 증명 흐름을 사용할 때는 각별한 주의가 필요합니다. 보안 고려사항을 참조하세요.
핵심 구성:
구성 | 참조 |
---|---|
커뮤니티 개발자에게 노출되는 API 조합을 나타내도록 Azure API Management에서 제품을 설정합니다. 개발자가 API를 사용할 수 있도록 구독을 설정합니다. |
자습서: 제품 만들기 및 게시 Azure API Management의 구독 |
Azure AD B2C를 사용하여 개발자 포털에 대한 커뮤니티 개발자 액세스를 구성합니다. 그런 다음 하나 이상의 다운스트림 소셜 미디어 ID 공급자와 함께 작동하도록 Azure AD B2C를 구성할 수 있습니다. | Azure API Management에서 Azure Active Directory B2C를 사용하여 개발자 계정에 권한을 부여하는 방법 |
클라이언트 자격 증명 흐름을 사용하여 백 엔드 API에 대한 유효한 OAuth 2.0 토큰을 가져올 수 있도록 개발자 포털에서 테스트 콘솔을 설정합니다. | OAuth 2.0 사용자 권한 부여를 구성하여 개발자 포털의 테스트 콘솔에 권한을 부여하는 방법 이 문서에 표시된 구성 단계를 조정하여 인증 코드 부여 흐름 대신 클라이언트 자격 증명 부여 흐름을 사용합니다. |
사용자 등록 또는 제품 구독을 위임하여 한 단계 더 나아가 고유한 논리로 프로세스를 확장합니다.
다음 단계
- Microsoft ID 플랫폼의 인증 및 권한 부여에 대해 자세히 알아봅니다.
- API Management를 사용하여 OWASP API 보안 위협을 완화하는 방법을 알아봅니다.