서비스 제공자는 VMware Cloud Director API를 사용하여 테넌트에 추가 VMware Cloud Director 기능을 제공하는 확장을 만들 수 있습니다. 서비스 제공자가 액세스 권한을 부여한 경우 정의된 엔티티를 관리하고 이를 다른 테넌트와 공유할 수 있습니다.

서비스 제공자는 확장을 사용하도록 설정하는 런타임 정의 엔티티 유형을 만들어 VMware Cloud Director에 확장 관련 정보를 저장하고 조작할 수 있습니다. 예를 들어 Kubernetes 확장은 런타임 정의 엔티티에서 해당 확장이 관리하는 Kubernetes 클러스터에 대한 정보를 저장할 수 있습니다. 그런 다음 확장은 런타임 정의 엔티티의 정보를 사용하여 이러한 클러스터를 관리하기 위한 확장 API를 제공할 수 있습니다. 서비스 제공자가 런타임 정의 엔티티 유형에 대한 권한 번들을 공유하는 경우 해당 유형의 인스턴스를 만들 수 있습니다.

한 테넌트 조직에서 정의된 엔티티를 만드는 경우 이 정의된 엔티티를 다른 조직의 테넌트와 공유할 수 없습니다. 정의된 엔티티의 소유자를 다른 조직의 사용자로 변경할 수 없습니다.

정의된 엔티티에 액세스

두 가지 보조 메커니즘이 런타임 정의 엔티티에 대한 액세스를 제어합니다.

  • 권한 - 서비스 제공자가 런타임 정의 엔티티 유형을 만들 때 해당 유형에 대한 권한 번들을 만듭니다. 서비스 제공자는 5가지 유형별 권한(보기: TYPE, 편집: TYPE, 모든 권한: TYPE, 관리자 보기: TYPE관리자 모든 권한: TYPE) 중 하나 이상을 할당해야 합니다.

    보기: TYPE, 편집: TYPE모든 권한: TYPE 권한은 ACL 항목과 함께만 작동합니다.

  • ACL(Access Control List) - ACL 테이블에는 시스템의 특정 엔티티에 대한 사용자 액세스를 정의하는 항목이 포함됩니다. 이는 엔티티에 대한 추가 제어 수준을 제공합니다. 예를 들어 편집: TYPE 권한은 사용자가 액세스 권한이 있는 엔티티를 수정할 수 있도록 지정합니다. ACL 테이블은 사용자가 액세스할 수 있는 엔티티를 정의합니다.
표 1. RDE 작업에 대한 권한 및 ACL 항목
엔티티 작업 옵션 설명
읽기 관리자 보기: TYPE 권한 이 권한을 가진 사용자는 조직 내에서 이 유형의 모든 런타임 정의 엔티티를 볼 수 있습니다.
보기: TYPE 권한 및 ACL 항목 >= 보기 이 권한 및 읽기 수준 ACL이 있는 사용자는 이 유형의 런타임 정의 엔티티를 볼 수 있습니다.
수정 관리자 모든 권한: TYPE 권한 이 권한을 가진 사용자는 모든 조직에서 이 유형의 런타임 정의 엔티티를 만들고, 보고, 수정하고, 삭제할 수 있습니다.
편집: TYPE 권한 및 ACL 항목 >= 변경 이 권한 및 수정 수준 ACL이 있는 사용자는 이 유형의 런타임 정의 엔티티를 만들고, 보고, 수정할 수 있습니다.
삭제 관리자 모든 권한: TYPE 권한 이 권한을 가진 사용자는 모든 조직에서 이 유형의 런타임 정의 엔티티를 만들고, 보고, 수정하고, 삭제할 수 있습니다.
모든 권한: TYPE 권한 및 ACL 항목 = 모든 권한 이 권한 및 모든 권한 수준 ACL이 있는 사용자는 이 유형의 런타임 정의 엔티티를 만들고, 보고, 수정하고, 삭제할 수 있습니다.

정의된 엔티티를 다른 사용자와 공유

시스템 관리자가 정의된 엔티티 유형에 대한 권한 번들을 게시하고 사용자에게 ReadWrite 또는 FullControl 액세스 권한을 부여했거나 사용자가 정의된 엔티티 소유자인 경우 해당 엔티티에 대한 액세스 권한을 다른 사용자와 공유할 수 있습니다.

  1. 번들에서 보기: TYPE, 편집: TYPE 또는 모든 권한: TYPE 권한을 정의된 엔티티에 대해 특정 수준의 액세스 권한을 가지려는 사용자 역할에 할당합니다.

    참고: 권한을 할당하려면 시스템 관리자 또는 조직 관리자로 로그인해야 합니다.

    예를 들어 tkg_viewer 역할을 가진 사용자가 조직 내에서 Tanzu Kubernetes 클러스터를 볼 수 있게 하려면 역할에 보기: Tanzu Kubernetes 게스트 클러스터 권한을 추가해야 합니다. tkg_author 역할을 가진 사용자가 이 조직 내에서 Tanzu Kubernetes 클러스터를 만들고, 보고, 수정할 수 있게 하려면 해당 역할에 편집: Tanzu Kubernetes 게스트 클러스터를 추가합니다. tkg_admin 역할을 가진 사용자가 이 조직 내에서 Tanzu Kubernetes 클러스터를 만들고, 보고, 수정하고, 삭제할 수 있게 하려면 역할에 모든 권한: Tanzu Kubernetes 게스트 클러스터 권한을 추가합니다.

  2. 다음과 같은 REST API호출을 수행하여 특정 사용자에게 ACL(Access Control List)을 부여합니다.

    POST https://[address]/cloudapi/1.0.0/entities/urn:vcloud:entity:[vendor]:[type name]:[version]:[UUID]/accessControls
     {
       "grantType" : "MembershipAccessControlGrant",
       "accessLevelId" : "urn:vcloud:accessLevel:[Access_level]",
       "memberId" : "urn:vcloud:user:[User_ID]"
     }

    Access_levelReadOnly, ReadWrite 또는 FullControl이어야 합니다. User_ID는 정의된 엔티티에 대한 액세스 권한을 부여하려는 사용자의 ID여야 합니다.

    엔티티에 대한 ACL 액세스 권한을 부여하려면 해당 엔티티에 대해 ReadWrite 또는 FullControl 액세스 권한이 있어야 합니다.

    예에 설명된 tkg_viewer 역할을 가진 사용자는 ACL 액세스 권한을 부여할 수 없습니다. tkg_author 또는 tkg_admin 역할을 가진 사용자는 API 요청을 통해 ACL 액세스 권한을 부여하여 tkg_viewer, tkg_author 또는 tkg_admin 역할을 가진 사용자와 VMWARE:TKGCLUSTER 엔티티에 대한 액세스를 공유할 수 있습니다.

    관리자 모든 권한: Tanzu Kubernetes 게스트 클러스터 권한을 가진 사용자는 모든 VMWARE:TKGCLUSTER 엔티티에 대한 ACL 액세스 권한을 부여할 수 있습니다.

    또한 REST API 호출을 사용하여 액세스를 해지하거나 엔티티에 대해 액세스 권한이 있는 사용자를 볼 수 있습니다. https://developer.vmware.com/에서 VMware Cloud Director REST API 설명서를 참조하십시오.

정의된 엔티티의 소유자 변경

정의된 엔티티의 소유자 또는 관리자 모든 권한: TYPE권한을 가진 사용자는 정의된 엔티티 모델을 업데이트하고 소유자 필드를 새 소유자의 ID로 변경하여 소유권을 다른 사용자에게 이전할 수 있습니다.