10.3. OAuth 2 토큰 인증
OAuth(Open Authorization)는 토큰 기반 인증 및 권한 부여를 위한 오픈 표준입니다. OAuth 2 인증은 일반적으로 자동화 컨트롤러 API와 프로그래밍 방식으로 상호 작용할 때 사용됩니다.
기본 인증과 유사하게 인증 헤더를 통해 각 API 요청과 함께 OAuth 2 토큰이 제공됩니다. 기본 인증과 달리 OAuth 2 토큰에는 구성 가능한 타임아웃이 있으며 범위를 지정할 수 있습니다. 토큰은 구성 가능한 만료 시간이 있으며 한 사용자 또는 필요한 경우 관리자가 전체 자동화 컨트롤러 시스템에 대해 쉽게 취소할 수 있습니다. cancel _oauth2_tokens 관리 명령을 사용하거나 액세스 토큰 Revoke 에 설명된 대로 API를 사용하여 이 작업을 수행할 수 있습니다.
자동화 컨트롤러에서 OAuth2 액세스 토큰을 가져오는 다양한 방법은 다음과 같습니다.
- 개인 액세스 토큰 (PAT)
- 애플리케이션 토큰: 암호 부여 유형
- 애플리케이션 토큰: Implicit 권한 부여 유형
- 애플리케이션 토큰: 인증 코드 권한 부여 유형
사용자는 API 또는 플랫폼 게이트웨이 UI의
이 예제의 목적을 위해 PAT 방법을 사용하여 API에서 토큰을 생성합니다. 생성한 후 범위를 설정할 수 있습니다.
토큰 시스템 전체의 만료 시간을 구성할 수 있습니다. 자세한 내용은 토큰 기반 인증을 사용하여 외부 애플리케이션에 대한 액세스 구성 을 참조하십시오.
토큰 인증은 Python 스크립트 또는 curl과 같은 자동화 컨트롤러 API의 프로그래밍 방식으로 사용하는 데 가장 적합합니다.
curl 예
curl -u user:password -k -X POST https://<platform-host>/api/gateway/v1/tokens/
curl -u user:password -k -X POST https://<platform-host>/api/gateway/v1/tokens/
이 호출은 다음을 사용하여 JSON 데이터를 반환합니다.
token 속성 값을 사용하여 Hosts와 같은 자동화 컨트롤러 리소스에 대한 GET 요청을 수행할 수 있습니다.
curl -k -X GET \ -H “Content-Type: application/json” -H “Authorization: Bearer <oauth2-token-value>” \ https://<platform-host>/api/controller/v2/hosts/
curl -k -X GET \
-H “Content-Type: application/json”
-H “Authorization: Bearer <oauth2-token-value>” \
https://<platform-host>/api/controller/v2/hosts/
시작하려는 작업 템플릿에 대한 POST 를 수행하여 작업을 실행할 수도 있습니다.
curl -k -X POST \
-H "Authorization: Bearer <oauth2-token-value>" \
-H "Content-Type: application/json" \
--data '{"limit" : "ansible"}' \
https://<platform-host>/api/controller/v2/job_templates/14/launch/
curl -k -X POST \
-H "Authorization: Bearer <oauth2-token-value>" \
-H "Content-Type: application/json" \
--data '{"limit" : "ansible"}' \
https://<platform-host>/api/controller/v2/job_templates/14/launch/
10.3.1. 외부 사용자가 OAuth 2 토큰을 생성할 수 있도록 허용 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Single Sign-On으로 생성된 외부 사용자와 같은 외부 사용자는 보안을 위해 OAuth 토큰을 생성할 수 없습니다.
프로세스
-
탐색 패널에서
. - 선택합니다.
- 외부 사용자가 OAuth2 토큰을 생성할 수 있도록 하려면 옵션을 활성화합니다.