# API 보안 설계

API 설계 프로세스의 일환으로, 어떤 컨슈머가 API에 액세스할 수 있는지(인증)와 어떤 작업을 수행할 수 있도록 허용되는지(권한 부여) 지정해야 합니다.

전체 API에 대한 공통 보안을 간단히 정의하거나, 중요한 리소스에 대한 특정 보안이 적용된 더 세분화된 정책을 선택할 수 있습니다.

또한 특정 작업을 인증 없이 자유롭게 액세스할 수 있도록 지정할 수도 있습니다.

API 계약은 주요 보안 유형을 통해 이러한 모든 사례를 처리할 수 있습니다:

* 기본 인증
* Bearer 인증
* 다이제스트 인증
* OAuth 1.0
* OAuth 2.0
* OpenID 연결
* 사용자 지정 / API 키
* 패스스루

쿠키 인증은 지원되지 않습니다.

## 보안 스키마 생성

API 버전에서 전역적으로 사용하거나 개별 요소에서 사용할 보안 스키마를 생성합니다.

1. API의 일반 정보 페이지로 이동합니다.
2. 보안 체계 섹션으로 스크롤한 다음 추가를 클릭하여 새 체계를 생성합니다.
3. 이름을 입력하고 드롭다운 목록에서 유형을 선택합니다.
4. 선택 사항: 설명을 입력합니다.
5. 선택한 유형에 해당하는 기타 매개변수를 입력하십시오.

   ![보안 스키마 정의 예제.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/shows_OAuth2_security_scheme.png)

이제 보안 스키마가 생성되었으므로 API의 전역 설정 또는 특정 리소스 및 작업에서 사용할 수 있습니다.

## API 보안 정의하기

API, 리소스 및 작업에 대한 보안 체계를 정의합니다.

1. API의 일반 정보 페이지로 이동합니다.
2. 전역 보안 섹션에서 보안 스키마를 추가하고 API 버전에 전역으로 적용할 항목을 선택합니다.

   ![이 예제에서 Petstore API는 write:pets 스코프를 사용하는 petstore_auth로 보호됩니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/designer_security.png)
3. 리소스를 선택하고 해당 리소스의 모든 작업에 적용할 보안 스키마를 선택하십시오.

   또는 작업을 선택하여 해당 작업의 특정 보안을 정의할 수 있습니다.![이 예제에서는 Find Pets by tags 메서드가 petstore_auth를 사용하여 보호됩니다.](https://help.qlik.com/ko-KR/cloud-services/Subsystems/Hub/Content/Resources/Images/ApiDesigner/designer_security_2.png)