API 키를 사용하여 API 인증

시작하기 전에

  • API 관리 또는 API 활성화/비활성화 기능 권한이 있는지 확인하세요. 관리자인 경우 이 권한이 있어야 합니다.
  • 시스템에 Postman이 설치되어 있거나 웹 버전의 Postman을 사용할 수 있습니다

이 태스크에 대한 정보

API를 노출하면 애플리케이션 로직과 민감한 데이터가 표시되어 조직에 보안 위험을 초래할 수 있습니다. 인증이 없는 API는 무단 액세스, 오용 및 남용에 취약합니다. 인증되지 않은 사용자나 애플리케이션은 민감한 데이터나 리소스에 액세스하거나, 권한이 없는 작업을 수행하거나, 과도한 요청으로 API에 과부하를 일으킬 수 있습니다. 이러한 조치로 인해 API 보안이 중요한 측면이 되었습니다. API를 보호하는 방법 중 하나는 사용자 자격 증명과 암호화된 액세스 코드를 통해 노출을 제어하는 인증 메커니즘을 구현하는 것입니다. 인증 메커니즘은 인증된 사용자에게만 액세스 권한을 부여하는 게이트키퍼 역할을 합니다.

HTTP 기본 인증, API 키 인증, OAuth 2.0 인증, JWT 인증 등 다양한 API 인증 방법을 사용할 수 있습니다. 특정 API에 적합한 인증 방법을 선택하는 것은 구현의 용이성 대비 클라이언트의 유효성을 검사하는 데 필요한 보안 수준에 따라 달라집니다.

예를 들어 HTTP 기본 인증은 위험도가 낮은 데이터 및 리소스에 대한 공개 액세스를 제한하는 데 효과적이지만 최소 수준의 보안 제어가 필요합니다. API 키 인증은 API 제공자가 개별 클라이언트를 식별하고 해당 클라이언트의 권한을 n으로 규제하려는 시나리오에서 잘 작동합니다. API 키는 높은 수준의 보안이 필요하지 않은 간단한 API 요청에 적합하지만, OAuth 2.0 또는 JWT 인증 방법은 토큰 해지 및 토큰 새로 고침의 형태로 더 높은 수준의 보안을 제공합니다.

webMethods API Gateway 는 기본 인증, API 키, OAuth 2.0, OAuth를 사용한 OpenID, 및 JWT와 같은 다양한 인증 방법을 제공합니다. 다음 예는 API 키 기반 인증을 사용하여 API에 안전하게 액세스하는 방법에 대한 시나리오를 보여줍니다. API 키 인증 방법은 긴 일련의 문자 또는 숫자로 구성된 시스템 생성 문자열을 사용하여 식별 자격 증명과 API 액세스 토큰의 고유한 쌍을 생성합니다. 이 숫자 코드는 다른 애플리케이션에서 프로그램을 호출하며, 키는 코드, 개발자, 사용자, API 호출이 이루어진 애플리케이션을 인식합니다. 클라이언트가 API 키를 인증하면 서버가 신원을 인식하고 데이터에 쉽게 액세스할 수 있도록 합니다.

그림은 API 키 기반 인증 메커니즘을 보여줍니다.

authenticate_api

다음 예에서는 API 키를 사용하여 REST API인 Petstore를 보호하는 단계와 이 API 키를 사용하여 API에 액세스하는 방법을 설명합니다.

프로시저

  1. REST API 만들기 Petstore.
    1. 메뉴 옵션을 열고 API를 선택합니다.
    2. API 생성을 클릭합니다.
    3. URL 에서 API 가져오기를 선택합니다.
    4. 다음 정보를 제공하십시오.
      • URL- https://petstore.swagger.io/v2/swagger.json
      • 이름- 펫스토어
      • 버전- 1.0
      • 팀-관리자
    5. 만들기를 클릭합니다. 펫스토어 API가 생성되고 펫스토어 API의 세부 정보 페이지가 나타납니다.
    6. 활성화를 클릭하여 API를 활성화합니다.
  2. 식별 및 액세스 정책으로 API를 적용하여 식별 유형을 API 키로 구성합니다.
    1. 편집을 클릭합니다.
    2. 정책 탭을 클릭합니다.
    3. 정책 카탈로그 섹션에서 식별 및 액세스를 클릭합니다.
    4. 정책을 추가하려면 정책 식별 및 권한 부여를 위해 +를 클릭합니다.
    5. 정책 속성 섹션에 다음 정보를 입력합니다.
      • 조건 유형- 또는
      • 식별 유형 - API 키
      • 애플리케이션 조회 조건- 등록된 애플리케이션
    6. 저장을 클릭하십시오. 이제 API에 필요한 정책이 적용되었습니다.
  3. 애플리케이션 펫스토어 앱을 만들고 펫스토어 API를 애플리케이션에 연결합니다.
    애플리케이션에 API를 추가하면 애플리케이션이 API에 액세스할 수 있습니다. API 개발자는 런타임에 API를 호출할 때 애플리케이션을 식별할 수 있도록 webMethods API Gateway 에 대한 API 키를 제공해야 합니다.
    1. 제목 탐색 모음에서 애플리케이션을 클릭합니다.
    2. 애플리케이션 생성을 클릭합니다.
    3. 다음 정보를 제공하십시오. aspetstore 앱 이름 및 버전은 1.0 으로 지정합니다.
    4. 식별자로 계속을 클릭합니다.
    5. API로 계속을 클릭합니다.
    6. 검색창에 펫이라는 키워드를 입력하여 API 펫스토어를 찾은 다음 +를 클릭하여 API를 추가합니다.
    7. 저장을 클릭하십시오. 이제 애플리케이션이 저장되고 애플리케이션 세부 정보 페이지가 나타납니다.
  4. API에 액세스하는 데 사용할 API 키를 메모해 두세요.
  5. API 키를 사용하여 펫스토어 API를 인증하고 액세스합니다. Postman 애플리케이션을 사용하여 API를 호출하고 액세스합니다.
    1. Postman을 여십시오.
    2. 우편배달부 UI에서 HTTP 메서드를 GET으로 선택하여 상태별로 반려동물의 세부 정보를 검색합니다.
    3. 엔드포인트를 호출합니다, http://<host>:<port>/gateway/Petstore/1.0/pet/findByStatus
    4. 권한 부여 탭에서 유형을 API 키로 선택하고 다음 정보를 입력합니다.
      • Key- x-Gateway-APIKey
      • 값 - API 키
      • 헤더에 추가
    5. 보내기를 클릭합니다. REST API가 성공적으로 호출되고 상태 코드가 200으로 반환됩니다. 응답에는 요청된 검색 데이터가 포함되어 있습니다.
      API 키가 유효하지 않은 경우 API에 액세스하면 상태 코드 401과 함께 다음과 같은 오류가 표시됩니다.

다음에 수행할 작업

이제 API에 안전하게 액세스했으니 API를 사용하여 시작할 수 있습니다.