VMware Cloud Services 콘솔에서는 애플리케이션에 조직의 보호된 리소스에 대한 위임된 보안 액세스를 제공할 수 있도록 OAuth 2.0을 사용합니다. VMware Cloud Services는 애플리케이션 사용자가 액세스 권한을 부여하는 웹 애플리케이션 액세스 및 액세스 토큰이 애플리케이션에 직접 발행되는 서버 간 상호 작용을 지원합니다.
OAuth 2.0이란?
OAuth 2.0은 애플리케이션에 리소스에 대한 보안 액세스 권한 부여할 수 있는 권한 부여 프로토콜입니다. 클라이언트는 액세스 토큰을 통해 권한이 부여됩니다. 액세스 토큰에는 토큰이 액세스할 수 있는 리소스를 정의하는 범위가 있습니다. OAuth 2.0에 대한 자세한 내용은 https://tools.ietf.org/html/rfc6749#page-8에서 OAuth 규격을 참조하거나 https://aaronparecki.com/oauth-2-simplified/에서 OAuth 2.0 Simplified라는 블로그를 살펴보십시오.
VMware Cloud Services에서 OAuth 2.0의 작동 방식
VMware Cloud services는 다양한 권한 부여 유형(예: client credentials, authorization code 및 authorization code가 있는 public client)을 사용하는 애플리케이션 권한 부여에 대한 여러 사용 사례를 다루고 있습니다. 목표에 따라 각 권한 부여 유형에 해당하는 세 가지 유형의 OAuth 애플리케이션(서버 간 애플리케이션, 웹 애플리케이션 및 네이티브/모바일 애플리케이션) 중 하나를 생성하도록 선택할 수 있습니다.
VMware Cloud on AWS에 액세스할 수 있는 조직 소유자라고 가정해보겠습니다. 주식 거래에 도움이 되는 애플리케이션을 개발했습니다. 애플리케이션을 Trading 1.0이라고 하겠습니다. vCenter Server를 통해 관리되는 가상 시스템에서 애플리케이션을 실행하려고 하지만 우선 VMware Cloud on AWS API를 통해 애플리케이션에 권한을 부여해야 합니다.
- Cloud Services 콘솔에서 OAuth 2.0 애플리케이션을 생성합니다. 이것은 Trading 1.0 애플리케이션을 등록하는 방법으로 생각할 수 있습니다. 조직 > OAuth 애플리케이션 메뉴에서 애플리케이션 생성을 클릭하고 일련의 단계를 진행하여 애플리케이션 생성을 시작합니다. 이 과정의 끝 부분에서, API를 사용하여 클라이언트를 식별하는 데 사용되는 애플리케이션 ID 및 애플리케이션 암호의 형태로 클라이언트 자격 증명을 발행합니다. 이러한 자격 증명을 스크립트에 붙여넣습니다.
- 애플리케이션이 조직에서 생성되었지만 액세스 권한이 아직 부여되지 않았습니다. 애플리케이션을 조직에 추가하여 액세스 권한을 부여합니다. 그러면 애플리케이션을 생성할 때 정의한 조직의 서비스와 리소스에 애플리케이션이 액세스할 수 있습니다. 이 단계는 서버 간 애플리케이션 유형의 애플리케이션에만 필요하며 웹 및 네이티브/모바일 애플리케이션에는 적용되지 않습니다.
- Trading 1.0 클라이언트 애플리케이션을 실행하면 권한 부여 서버에 액세스 토큰을 요청합니다. 권한이 부여된 경우, 권한 부여 서버가 API에 액세스 토큰을 보내고 클라이언트에 액세스 권한이 부여됩니다.
OAuth 애플리케이션을 생성 및 관리할 수 있는 사람
조직 소유자인 사용자 또는 개발자 역할을 가진 조직 멤버인 사용자는 OAuth 애플리케이션을 생성하고 관리합니다.
조직에 있는 다른 조직 소유자가 생성하거나 추가한 OAuth 애플리케이션을 관리할 수도 있습니다.
애플리케이션 암호를 다시 생성할 수 있습니까?
예, 조직 소유자는 조직에 있는 OAuth 애플리케이션의 애플리케이션 암호를 다시 생성할 수 있습니다. 이 기능은 OAuth 애플리케이션을 생성한 조직 소유자가 더 이상 비즈니스 엔터프라이즈에 근무하지 않는 경우 애플리케이션을 계속 실행하려고 할 때 유용합니다.
OAuth 애플리케이션 대신 API 토큰 인증을 사용할 수 있습니까?
예, API가 인증 프로세스에서 사용자가 인증된 엔티티일 것을 요구하는 경우 API 토큰을 대신 사용해야 합니다. OAuth 애플리케이션과 API 토큰의 사용 시기를 확인하려면 OAuth 애플리케이션과 API 토큰의 차이점을 참조하십시오.