vecs-cli 명령 집합을 사용하면 VECS(VMware 인증서 저장소)의 인스턴스를 관리할 수 있습니다. 이러한 명령을 dir-clicertool과 함께 사용하여 인증서 인프라 및 기타 Platform Services Controller 서비스를 관리할 수 있습니다.

vecs-cli store create

인증서 저장소를 생성합니다.

옵션 설명
--name <name> 인증서 저장소의 이름입니다.

--server <server-name>

원격 VECS 인스턴스에 연결하는 경우 서버 이름을 지정하는 데 사용됩니다.

--upn <user-name>

--server <server-name> 에서 지정한 서버 인스턴스에 로그인하는 데 사용되는 사용자 계정 이름입니다. 저장소를 생성하는 경우 현재 사용자의 컨텍스트에서 생성됩니다. 따라서 저장소의 소유자가 현재 사용자 컨텍스트이며 항상 루트 사용자는 아닙니다.

예:
vecs-cli store create --name <store>

vecs-cli store delete

인증서 저장소를 삭제합니다. MACHINE_SSL_CERT, TRUSTED_ROOTS 및 TRUSTED_ROOT_CRLS 시스템 저장소는 삭제할 수 없습니다. 필수 권한을 가진 사용자는 솔루션 사용자 저장소를 삭제할 수 있습니다.

옵션 설명
--name <name> 삭제할 인증서 저장소의 이름입니다.

--server <server-name>

원격 VECS 인스턴스에 연결하는 경우 서버 이름을 지정하는 데 사용됩니다.

--upn <user-name>

--server <server-name> 에서 지정한 서버 인스턴스에 로그인하는 데 사용되는 사용자 계정 이름입니다. 저장소를 생성하는 경우 현재 사용자의 컨텍스트에서 생성됩니다. 따라서 저장소의 소유자가 현재 사용자 컨텍스트이며 항상 루트 사용자는 아닙니다.

예:
vecs-cli store delete --name <store>

vecs-cli store list

인증서 저장소를 나열합니다.

옵션 설명

--server <server-name>

원격 VECS 인스턴스에 연결하는 경우 서버 이름을 지정하는 데 사용됩니다.

--upn <user-name>

--server <server-name> 에서 지정한 서버 인스턴스에 로그인하는 데 사용되는 사용자 계정 이름입니다. 저장소를 생성하는 경우 현재 사용자의 컨텍스트에서 생성됩니다. 따라서 저장소의 소유자가 현재 사용자 컨텍스트이며 항상 루트 사용자는 아닙니다.

VECS에는 다음과 같은 저장소가 포함됩니다.
표 1. VECS의 저장소
저장소 설명
시스템 SSL 저장소(MACHINE_SSL_CERT)
  • 모든 vSphere 노드의 역방향 프록시 서비스에서 사용됩니다.
  • 내장된 배포 및 각 Platform Services Controller 노드의 VMware Directory Service(vmdir)에서 사용합니다.

vSphere 6.0 이상에서 모든 서비스는 시스템 SSL 인증서를 사용하는 역방향 프록시를 통해 통신합니다. 역방향 호환성을 위해 5.x 서비스는 여전히 특정 포트를 사용합니다. 그 결과 vpxd와 같은 일부 서비스는 여전히 자체 포트를 열어둡니다.

신뢰할 수 있는 루트 저장소(TRUSTED_ROOTS) 모든 신뢰할 수 있는 루트 인증서가 포함됩니다.
솔루션 사용자 저장소
  • machine
  • vpxd
  • vpxd-extension
  • vsphere-webclient
VECS에는 각 솔루션 사용자에 대한 하나의 저장소가 포함됩니다. 각 솔루션 사용자 인증서의 주체는 고유해야 합니다. 예를 들어 시스템 인증서는 vpxd 인증서와 동일한 주체를 가질 수 없습니다.

솔루션 사용자 인증서는 vCenter Single Sign-On을 사용한 인증에 사용됩니다. vCenter Single Sign-On은 인증서가 올바른지 확인하지만 다른 인증서 특성은 확인하지 않습니다. 포함된 배포에서 모든 솔루션 사용자 인증서는 같은 시스템에 있습니다.

각 관리 노드 및 각 내장된 배포의 VECS에 다음의 솔루션 사용자 인증서 저장소가 포함되어 있습니다.

  • machine: 구성 요소 관리자, 라이센스 서버 및 로깅 서비스에서 사용됩니다.
    참고: 이 시스템 솔루션 사용자 인증서는 시스템 SSL 인증서와 아무 관련이 없습니다. 이 시스템 솔루션 사용자 인증서는 SAML 토큰 교환에 사용되며 시스템 SSL 인증서는 시스템에 대한 보안 SSL 연결에 사용됩니다.
  • vpxd: 관리 노드 및 내장된 배포의 vCenter 서비스 데몬(vpxd) 저장소입니다. vpxd는 이 저장소에 저장된 솔루션 사용자 인증서를 사용하여 vCenter Single Sign-On에 인증합니다.
  • vpxd-extension: vCenter 확장 저장소입니다. Auto Deploy 서비스, Inventory Service를 비롯해 다른 솔루션 사용자의 일부가 아닌 기타 서비스가 포함됩니다.
  • vsphere-webclient: vSphere Web Client 저장소입니다. 성능 차트 서비스와 같은 일부 추가 서비스도 포함됩니다.

Platform Services Controller 노드에는 machine 인증서가 포함되어 있습니다.

vSphere Certificate Manager 유틸리티 백업 저장소(BACKUP_STORE) VMCA(VMware Certificate Manager)에서 인증서 복구를 지원하기 위해 사용합니다. 최근 상태만 백업으로 저장되며 한 단계까지만 되돌아갈 수 있습니다.
기타 저장소 솔루션을 통해 기타 저장소가 추가될 수 있습니다. 예를 들어 Virtual Volumes 솔루션은 SMS 저장소를 추가합니다. VMware 설명서 또는 VMware 기술 자료 문서에서 그렇게 하라고 지시하지 않는 이상 이러한 저장소의 인증서를 수정하지 마십시오.
참고: TRUSTED_ROOTS_CRLS 저장소를 삭제하면 인증서 인프라가 손상될 수 있습니다. TRUSTED_ROOTS_CRLS 저장소를 삭제하거나 수정하지 마십시오.
예:
vecs-cli store list

vecs-cli store permissions

저장소에 사용 권한을 부여하거나 취소합니다. --grant 또는 --revoke 옵션을 사용합니다.

저장소 소유자는 사용 권한의 부여 및 해지를 포함하여 모든 작업을 수행할 수 있습니다. 기본적으로 로컬 vCenter Single Sign-On 도메인의 관리자인 [email protected]은 사용 권한의 부여 및 해지를 포함하여 모든 저장소에 대해 모든 권한을 갖습니다.

vecs-cli get-permissions --name <store-name>을 사용하여 저장소에 대한 현재 설정을 검색할 수 있습니다.

옵션 설명
--name <name> 인증서 저장소의 이름입니다.
--user <username> 사용 권한이 부여된 사용자의 고유한 이름입니다.
--grant [read|write] 부여할 사용 권한(읽기 또는 쓰기)입니다.
--revoke [read|write] 읽기 또는 쓰기 사용 권한을 취소합니다. 현재는 지원되지 않습니다.

vecs-cli store get-permissions

저장소에 대한 현재 사용 권한 설정을 검색합니다.

옵션 설명
--name <name> 인증서 저장소의 이름입니다.

--server <server-name>

원격 VECS 인스턴스에 연결하는 경우 서버 이름을 지정하는 데 사용됩니다.

--upn <user-name>

--server <server-name> 에서 지정한 서버 인스턴스에 로그인하는 데 사용되는 사용자 계정 이름입니다. 저장소를 생성하는 경우 현재 사용자의 컨텍스트에서 생성됩니다. 따라서 저장소의 소유자가 현재 사용자 컨텍스트이며 항상 루트 사용자는 아닙니다.

vecs-cli entry create

VECS에 항목을 생성합니다. 저장소에 개인 키 또는 인증서를 추가하려면 이 명령을 사용합니다.

옵션 설명

--store <NameOfStore>

인증서 저장소의 이름입니다.

--alias <Alias> 인증서에 대한 선택적 별칭입니다. 이 옵션은 신뢰할 수 있는 루트 저장소에 대해 무시됩니다.
--cert <certificate_file_path> 인증서 파일의 전체 경로입니다.
--key <key-file-path>

인증서에 해당하는 키의 전체 경로입니다.

선택 사항입니다.
--password <password> 개인 키를 암호화하는 선택적 암호입니다.

--server <server-name>

원격 VECS 인스턴스에 연결하는 경우 서버 이름을 지정하는 데 사용됩니다.

--upn <user-name>

--server <server-name> 에서 지정한 서버 인스턴스에 로그인하는 데 사용되는 사용자 계정 이름입니다. 저장소를 생성하는 경우 현재 사용자의 컨텍스트에서 생성됩니다. 따라서 저장소의 소유자가 현재 사용자 컨텍스트이며 항상 루트 사용자는 아닙니다.

vecs-cli entry list

지정된 저장소의 모든 항목을 나열합니다.

옵션 설명
--store <NameOfStore>

인증서 저장소의 이름입니다.

vecs-cli entry getcert

VECS에서 인증서를 검색합니다. 출력 파일에 인증서를 보내거나 사람이 읽을 수 있는 텍스트로 표시할 수 있습니다.

옵션 설명
--store <NameOfStore>

인증서 저장소의 이름입니다.

--alias <Alias> 인증서의 별칭입니다.
--output <output_file_path> 인증서를 쓰는 파일입니다.
--text 사람이 읽을 수 있는 인증서 버전을 표시합니다.

--server <server-name>

원격 VECS 인스턴스에 연결하는 경우 서버 이름을 지정하는 데 사용됩니다.

--upn <user-name>

--server <server-name> 에서 지정한 서버 인스턴스에 로그인하는 데 사용되는 사용자 계정 이름입니다. 저장소를 생성하는 경우 현재 사용자의 컨텍스트에서 생성됩니다. 따라서 저장소의 소유자가 현재 사용자 컨텍스트이며 항상 루트 사용자는 아닙니다.

vecs-cli entry getkey

VECS에 저장된 키를 검색합니다. 이 키는 출력 파일에 보내거나 사람이 읽을 수 있는 텍스트로 표시할 수 있습니다.

옵션 설명
--store <NameOfStore>

인증서 저장소의 이름입니다.

--alias <Alias> 키의 별칭입니다.
--output <output_file_path> 키를 쓰는 출력 파일입니다.
--text 사람이 읽을 수 있는 키 버전을 표시합니다.

--server <server-name>

원격 VECS 인스턴스에 연결하는 경우 서버 이름을 지정하는 데 사용됩니다.

--upn <user-name>

--server <server-name> 에서 지정한 서버 인스턴스에 로그인하는 데 사용되는 사용자 계정 이름입니다. 저장소를 생성하는 경우 현재 사용자의 컨텍스트에서 생성됩니다. 따라서 저장소의 소유자가 현재 사용자 컨텍스트이며 항상 루트 사용자는 아닙니다.

vecs-cli entry delete

인증서 저장소에서 항목을 삭제합니다. VECS에서 항목을 삭제하는 경우 VECS에서 영구적으로 제거합니다. 유일한 예외는 현재 루트 인증서입니다. VECS는 vmdir을 폴링하여 루트 인증서를 검색합니다.

옵션 설명
--store <NameOfStore>

인증서 저장소의 이름입니다.

--alias <Alias> 삭제하려는 항목의 별칭입니다.

--server <server-name>

원격 VECS 인스턴스에 연결하는 경우 서버 이름을 지정하는 데 사용됩니다.

--upn <user-name>

--server <server-name> 에서 지정한 서버 인스턴스에 로그인하는 데 사용되는 사용자 계정 이름입니다. 저장소를 생성하는 경우 현재 사용자의 컨텍스트에서 생성됩니다. 따라서 저장소의 소유자가 현재 사용자 컨텍스트이며 항상 루트 사용자는 아닙니다.

-y 확인 프롬프트를 표시하지 않습니다. 고급 사용자 전용 옵션입니다.

vecs-cli force-refresh

VECS를 강제로 새로 고칩니다. 기본적으로 VECS는 5분 간격으로 vmdir을 폴링하여 새 루트 인증서 파일을 검색합니다. vmdir에서 VECS를 즉시 업데이트하려면 이 명령을 사용합니다.

옵션 설명

--server <server-name>

원격 VECS 인스턴스에 연결하는 경우 서버 이름을 지정하는 데 사용됩니다.

--upn <user-name>

--server <server-name> 에서 지정한 서버 인스턴스에 로그인하는 데 사용되는 사용자 계정 이름입니다. 저장소를 생성하는 경우 현재 사용자의 컨텍스트에서 생성됩니다. 따라서 저장소의 소유자가 현재 사용자 컨텍스트이며 항상 루트 사용자는 아닙니다.