Orchestrator가 vCenter Single Sign-On Server와 함께 구성되고 기본 인증을 사용하지 않는 경우 Orchestrator REST API를 통해 Orchestrator의 시스템 개체에 액세스하려면 주체 holder-of-key 토큰이 필요합니다. Orchestrator 서버를 통해 vCenter Single Sign-On Server를 사용하는 vCenter Server 또는 타사 시스템에 액세스하려면 Orchestrator용 대리자 holder-of-key 토큰과 사용자의 주체 토큰이 필요합니다.

Orchestrator가 vCenter Single Sign-On Server와 함께 구성되고 기본 인증을 사용하는 경우 유효한 자격 증명을 사용하여 인증해야 하며, Orchestrator에서 holder-of-key 토큰을 관리합니다.

Orchestrator의 시스템 개체 액세스

REST API Inventory 및 Catalog Service의 URL에서 Orchestrator의 시스템 개체에 액세스할 수 있습니다.

  • https://orchestrator_host:port/vco/api/inventory/System/

  • https://orchestrator_host:port/vco/api/catalog/System/

Orchestrator의 시스템 개체에 액세스하는 경우 HTTP 요청의 Authorization 헤더에서 Inventory 또는 Catalog Service로 주체 holder-of-key 토큰을 전달합니다.

예를 들어 Workflow 유형의 모든 시스템 개체를 검색하려면 https://orchestrator_host:port/vco/api/catalog/System/Workflow/에서 GET 요청을 만듭니다. Orchestrator에 대해 인증하려면 요청의 Authorization 헤더에서 주체 holder-of-key 토큰을 전달해야 합니다.

타사 시스템의 개체 액세스

Orchestrator REST API를 통해 vCenter Single Sign-On Server에 등록된 타사 시스템에서 작업을 수행하려면 Orchestrator 및 타사 시스템에 대해 인증해야 합니다. Orchestrator REST API를 통해 만든 HTTP 호출에 두 개의 헤더를 포함합니다.

  • Authorization. 이 헤더에서 주체 holder-of-key token 토큰을 전달해야 합니다.

  • VCOAuthorization. 이 헤더에서 Orchestrator용 대리자 holder-of-key 토큰을 전달해야 합니다. vCenter Single Sign-On Server에서 Orchestrator에 대한 대리자 토큰을 가져와야 합니다. Orchestrator에서는 이 대리자 토큰을 사용하여 사용자를 대신해 타사 시스템에 인증합니다.

예를 들어 Orchestrator REST API를 통해 가상 시스템을 사용하는 워크플로를 실행하려면 Orchestrator와 vCenter Server 양쪽 모두의 리소스에 액세스합니다. Orchestrator 및 vCenter Server에 대해 인증하려면 요청의 Authorization 헤더에서 주체 holder-of-key 토큰을 전달하고 VCOAuthorization 헤더에서 대리자 토큰을 전달해야 합니다. 그러면 사용자는 주체 토큰으로 Orchestrator에 인증하고, Orchestrator는 사용자를 대신해 대리자 토큰으로 vCenter Server에 인증합니다.

vCenter Single Sign-On Server는 Orchestrator를 솔루션으로 처리하며, 모든 솔루션은 고유한 사용자 이름으로 vCenter Single Sign-On Server에 등록됩니다. Orchestrator의 솔루션 사용자 이름과 주체 holder-of-key 토큰을 vCenter Single Sign-On Server에 전달하여 Orchestrator에 대한 대리자 토큰을 요청합니다. vCenter Single Sign-On Server에서 발급한 토큰이 사용자를 대신해 타사 시스템에 인증할 Orchestrator용 대리자 holder-of-key 토큰입니다.

vCenter Single Sign-On 모드에서 세션 가져오기

다음 예제 코드는 vCenter Single Sign-On 모드에서 세션을 가져옵니다.

URI uri = URI.create("https://orchestrator-server:8281/vco/api");
VcoSessionFactory sessionFactory = new DefaultVcoSessionFactory(uri);

//provide the address of the vCenter Single Sign-On server
URI ssoUri = URI.create("https://sso-server:7444/ims/STSService?wsdl");

//set the tokens to be valid for an hour
long lifeTimeSeconds = 60 * 60;

//create a factory for vCenter Single Sign-On tokens
SsoAuthenticator sso = new SsoAuthenticator(ssoUri, sessionFactory, lifeTimeSeconds);

//provide vCenter Single Sign-On credentials
SsoAuthentication authentication = sso.createSsoAuthentication("username", "password");

VcoSession session = sessionFactory.newSession(authentication);
//use session here