サービス プロバイダは VMware Cloud Director API を使用して、テナントに追加の VMware Cloud Director 機能を提供する拡張機能を作成できます。サービス プロバイダにアクセス権が付与されている場合は、定義済みのエンティティを管理して、他のテナントと共有することができます。
サービス プロバイダは、ランタイム定義エンティティ タイプを作成し、拡張機能を有効にして、VMware Cloud Director で拡張機能固有の情報を保存および操作することができます。たとえば、Kubernetes 拡張機能は、管理している Kubernetes クラスタに関する情報をランタイム定義エンティティに保存できます。この拡張機能は、ランタイム定義エンティティの情報を使用して、これらのクラスタを管理するための拡張 API を提供できます。サービス プロバイダがランタイム定義エンティティ タイプの権限バンドルをユーザーと共有する場合は、そのタイプのインスタンスを作成できます。
1 つのテナント組織に作成した定義済みエンティティを別の組織内のテナントと共有することはできません。定義済みエンティティの所有者を別の組織のユーザーに変更することはできません。
定義済みエンティティへのアクセス
ランタイム定義エンティティへのアクセスは 2 つの補完的なメカニズムで制御されます。
-
権限 - サービスプロバイダがランタイム定義エンティティ タイプを作成した場合は、そのタイプの権限バンドルを作成します。サービス プロバイダは、表示:TYPE、編集:TYPE、完全コントロール:TYPE、管理者の表示:TYPE、管理者の完全コントロール:TYPE の 5 つのタイプ固有の権限の中から 1 つ以上を割り当てる必要があります。
表示:TYPE、編集:TYPE、および 完全コントロール:TYPE 権限は、ACL エントリと組み合わせた場合のみ機能します。
- アクセス コントロール リスト (ACL) - ACL テーブルには、システム内の特定のエンティティに対してユーザーが保持しているアクセス権を定義するエントリが含まれています。これによりエンティティの制御レベルを強化することができます。たとえば、編集:TYPE 権限は、ユーザーがアクセス権を持つエンティティは、そのユーザーが変更できることを示します。一方、ACL テーブルは、そのユーザーがアクセスできるエンティティを定義します。
エンティティの操作 | オプション | 説明 | |
---|---|---|---|
読み取り | 管理者の表示:TYPE 権限 | この権限を持つユーザーは、組織内にあるこのタイプのすべてのランタイム定義エンティティを表示できます。 | |
表示:TYPE 権限および表示以上の ACL エントリ | この権限および読み取りレベルの ACL を持つユーザーは、このタイプのランタイム定義エンティティを表示できます。 | ||
変更 | 管理者の完全コントロール:TYPE 権限 | この権限を持つユーザーは、すべての組織内にあるこのタイプのランタイム定義エンティティを作成、表示、変更、および削除できます。 | |
編集:TYPE 権限および変更以上の ACL エントリ | この権限および変更レベルの ACL を持つユーザーは、このタイプのランタイム定義エンティティを作成、表示、および変更できます。 | ||
削除 | 管理者の完全コントロール:TYPE 権限 | この権限を持つユーザーは、すべての組織内にあるこのタイプのランタイム定義エンティティを作成、表示、変更、および削除できます。 | |
完全コントロール:TYPE 権限および完全コントロールの ACL エントリ | この権限および完全コントロール レベルの ACL を持つユーザーは、このタイプのランタイム定義エンティティを作成、表示、変更、および削除できます。 |
別のユーザーとの定義済みエンティティの共有
システム管理者が、定義済みエンティティ タイプの権限バンドルを公開して、ReadWrite
または FullControl
のアクセス権をユーザーに付与した場合、またはユーザーが定義済みエンティティの所有者である場合、そのユーザーはこれらのエンティティへのアクセスを他のユーザーと共有することができます。
-
バンドルから、定義したエンティティに対する特定のレベルのアクセス権を保持するユーザー ロールに、表示:TYPE、編集:TYPE、または 完全コントロール:TYPE 権限を割り当てます。
注: 権限を割り当てるには、 システム管理者または 組織管理者としてログインする必要があります。たとえば、tkg_viewer ロールを持つユーザーが組織内の Tanzu Kubernetes クラスタを表示できるようにする場合は、このロールに 表示:Tanzu Kubernetes ゲスト クラスタ権限を追加する必要があります。tkg_author ロールを持つユーザーが組織内の Tanzu Kubernetes クラスタを作成、表示、および変更できるようにする場合は、このロールに 編集:Tanzu Kubernetes ゲスト クラスタ権限を追加します。tkg_admin ロールを持つユーザーがこの組織内の Tanzu Kubernetes クラスタを作成、表示、変更、および削除できるようにする場合は、このロールに 完全コントロール:Tanzu Kubernetes ゲスト クラスタ権限を追加します。
-
次の REST API 呼び出しを行って、特定のユーザーにアクセス コントロール リスト (ACL) を付与します。
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_level には
ReadOnly
、ReadWrite
、またはFullControl
を指定する必要があります。User_ID には、定義されたエンティティへのアクセス権を付与するユーザーの ID を指定する必要があります。このエンティティに ACL アクセス権を付与するには、エンティティに対して
ReadWrite
またはFullControl
のアクセス権が必要になります。この例で示した、tkg_viewer ロールを持つユーザーには、ACL アクセス権を付与できません。tkg_author または tkg_admin ロールを持つユーザーは、API 要求を使用して、tkg_viewer、tkg_author、または tkg_admin ロールを持つユーザーに VMWARE:TKGCLUSTER エンティティへの ACL アクセスを付与することでアクセス権の共有が可能になります。
管理者の完全コントロール:Tanzu Kubernetes ゲスト クラスタ権限を持つユーザーは、任意の VMWARE:TKGCLUSTER エンティティに対する ACL アクセス権を付与することができます。
また、REST API 呼び出しを使用してアクセス権を取り消したり、エンティティへのアクセス権を持つユーザーを表示したりすることもできます。VMware Cloud Director の REST API のドキュメントを参照してください。
定義済みエンティティの所有者の変更
定義済みエンティティの所有者、または管理者の完全コントロール:TYPE 権限を持つユーザーは、定義済みエンティティ モデルを更新し、所有者フィールドを新しい所有者の ID で変更することによって、所有権を別のユーザーに転送できます。
カスタム エンティティ定義の操作
VMware Cloud Director のカスタム エンティティ定義は、VMware Aria Automation Orchestrator オブジェクト タイプにバインドされているオブジェクト タイプです。VMware Cloud Director 組織内のユーザーは、必要に応じてこれらのタイプを所有、管理、変更できます。組織のユーザーは、サービスを実行することでカスタム エンティティをインスタンス化し、オブジェクトのインスタンスにアクションを適用することができます。