Azure AD B2C를 사용하여 외부 프로세스를 사용하는 인터페이스의 복원력 향상
이 문서에서는 RESTful API를 계획하고 구현하여 API 오류에 대한 애플리케이션 복원력을 높이는 방법에 대한 지침을 찾습니다.
올바른 API 배치 확인
IEF(ID 환경 프레임워크) 정책을 사용하여 RESTful API 기술 프로필을 사용하여 외부 시스템을 호출합니다. IEF 런타임 환경은 잠재적인 오류 지점인 외부 시스템을 제어하지 않습니다.
API를 사용하여 외부 시스템 관리
인터페이스를 호출하여 특정 데이터에 액세스하는 동안 데이터가 인증 결정을 내리는지 확인합니다. 정보가 애플리케이션의 기능에 필수적인지 여부를 평가합니다. 예를 들어 전자상거래와 보조 기능(예: 관리)을 비교할 수 있습니다. 인증에 정보가 필요하지 않은 경우 호출을 애플리케이션 논리로 이동하는 것이 좋습니다.
인증에 대한 데이터가 상대적으로 정적이고 작으며 외부화되지 않아야 하는 경우 디렉터리에 배치합니다.
가능하면 사전 인증된 경로에서 API 호출을 제거합니다. 그렇게 할 수 없는 경우 API에 대한 DoS(서비스 거부) 및 DDoS(분산 서비스 거부) 공격에 대한 보호를 사용하도록 설정합니다. 공격자는 로그인 페이지를 로드하고 DoS 공격으로 API를 플러딩하여 애플리케이션을 사용하지 않도록 설정할 수 있습니다. 예를 들어 완전히 자동화된 공용 튜링 테스트를 사용하여 로그인 및 등록 흐름에서 컴퓨터와 인간을 구분합니다(CAPTCHA).
등록 사용자 흐름의 API 커넥터를 사용하여 ID 공급자와 페더레이션한 후, 등록 중 또는 사용자를 만들기 전에 웹 API와 통합합니다. 사용자 흐름은 테스트되므로 사용자 흐름 수준 기능, 성능 또는 크기 조정 테스트를 수행할 필요가 없습니다. 기능, 성능 및 규모에 대한 애플리케이션을 테스트합니다.
Azure AD B2C RESTful API 기술 프로필은 캐싱 동작을 제공하지 않습니다. 대신 RESTful API 프로필은 정책에 기본 제공되는 재시도 논리 및 시간 제한을 구현합니다.
데이터를 작성해야 하는 API의 경우 백그라운드 작업자가 이러한 작업을 실행하도록 태스크를 사용합니다. Azure 큐와 같은 서비스를 사용합니다. 이렇게 하면 API가 효율적으로 반환되고 정책 실행 성능이 향상됩니다.
API 오류
API는 Azure AD B2C 시스템 외부에 있으므로 기술 프로필에서 오류 처리를 사용하도록 설정합니다. 사용자에게 정보를 제공하고 애플리케이션이 오류를 정상적으로 처리할 수 있는지 확인합니다.
API 오류 처리
여러 가지 이유로 API가 실패하므로 애플리케이션을 복원력 있게 만듭니다. API가 요청을 완료할 수 없는 경우 HTTP 4XX 오류 메시지를 반환합니다. Azure AD B2C 정책에서 API의 사용 불가를 처리하고 축소된 환경을 렌더링하려고 합니다.
일시적인 오류를 정상적으로 처리합니다. RESTful API 프로필을 사용하여 다양한 회로 차단기에 대한 오류 메시지를 구성합니다.
CICD(지속적인 통합 및 지속적인 업데이트)를 모니터링하고 사용합니다. 기술 프로필 엔진에서 사용하는 암호 및 인증서와 같은 API 액세스 자격 증명을 회전합니다.
API 관리 모범 사례
REST API를 배포하고 RESTful 기술 프로필을 구성하는 동안 다음 모범 사례를 사용하여 일반적인 오류를 방지합니다.
API Management
API Management(APIM)는 API를 게시, 관리 및 분석합니다. APIM은 백 엔드 서비스 및 마이크로 서비스에 대한 보안 액세스를 위한 인증을 처리합니다. API 게이트웨이를 사용하여 API 배포, 캐싱, 부하 분산을 스케일 아웃할 수 있습니다.
각 API에 대해 여러 번 호출하고 Azure APIM API를 보호하는 대신 올바른 토큰을 가져오는 것이 좋습니다.