API 인증 및 액세스 구성

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

API 보안의 중요성

HTTP 보안

  • API 엔드포인트는 종종 공개되어 있습니다
  • API 뒤의 데이터는 보호가 필요합니다
  • 특히 민감한 데이터에 적용됩니다
Azure API Management

인증 개요

  • 인증과 권한 부여는 다릅니다
  • 인증은 호출자의 신원을 증명합니다
  • 사용자명과 비밀번호로 로그인은 인증의 한 유형입니다

로그인 양식

Azure API Management

권한 부여 개요

보안 미적용 vs 적용 요청

  • 권한 부여는 권한을 제어합니다
  • 인증된 사용자도 미인가일 수 있습니다
  • 예: 관리자 영역은 관리자만 접근
Azure API Management

날씨 앱 예시

날씨 앱 권한 부여

Azure API Management

OAuth 소개

  • OAuth는 인증에 사용됩니다
  • 권한 부여에도 사용됩니다
  • 복잡한 보안 프로토콜입니다
  • 보안 등급이 매우 높습니다

액세스 토큰 발급

Azure API Management

Google OAuth 예시

Google OAuth 예시

Azure API Management

Azure Functions의 API 키 권한 부여

  • 권한 부여에 인증이 항상 필요한 것은 아닙니다
  • HTTP 엔드포인트는 API 키로 보호할 수 있습니다
  • 길고 복잡한 문자열
  • Azure Functions는 기본 키를 생성합니다
  • 요청에 키를 포함해야 합니다
  • 클라이언트는 키를 알아야 합니다
  • 클라이언트는 신원 증명이 필요 없습니다

Azure에서 API 키 설정

Azure API Management

API 키의 범위

Azure Function의 API 키 범위

  • 키 유형별로 범위가 다릅니다
  • 함수 수준 키는 특정 함수에만 접근을 허용
    • 특정 문만 여는 물리적 열쇠와 유사
  • 호스트 수준 키
    • 앱의 모든 함수에 접근 허용
    • 건물의 모든 문을 여는 마스터 키와 유사
Azure API Management

API Management 인증

  • APIM은 인증 제공자와 연결할 수 있습니다
  • 그중 하나는 Entra ID입니다
    • 이전 명칭은 Active Directory
  • OAuth 통합이 API 키보다 더 안전합니다
    • 훨씬 더 복잡합니다

APIM에서 Entra ID 통합 활성화

Azure API Management

API Management 권한 부여 정책

 

APIM에서 JWT 검증

API Management에서는 정책으로 권한 부여를 구현합니다

  • 정책이 접근 규칙을 정의합니다

  • 역할에 따라 엔드포인트를 제한합니다

  • 인가된 클라이언트만 API 호출을 보장합니다

Azure API Management

연습해 봅시다!

Azure API Management

Preparing Video For Download...