NSX Advanced Load Balancer は、NSX Advanced Load Balancer 内のアプリケーションを制御、管理、およびモニターするためのきめ細かいアクセスを実現する RBAC を提供します。

RBAC はフィールド レベルで実装できます。このセクションでは、サブリソースを使用してフィールドごとに RBAC を実装する方法について説明します。

フィールドごとのきめ細かい RBAC

フィールドごとのきめ細かい RBAC を使用すると、ユーザーは、特定のフィールド セットに制限してオブジェクトを更新できます。

たとえば、ユーザーは次のことが可能になります。

  • GSLB オブジェクト内の他のフィールドの更新を制限しつつ、GSLB サービス グループを有効または無効にする

  • 他の仮想サービス構成の更新を制限しつつ、仮想サービスを有効または無効にする

  • 他のプール構成の更新は制限しつつ、プール サーバを追加、削除、または更新する

サブリソース

フィールドごとの RBAC を実装するために、既存のリソースのサブリソースが導入されています。これらのサブリソースは、オブジェクト内の特定のフィールド、機能、またはフィールドのセットに関連付けられています。書き込みアクセス権のあるリソースにサブリソースが構成されている場合、それらのサブリソースが、更新される唯一のフィールドである場合にのみ、オブジェクトの更新が許可されます。読み取りアクセスはオブジェクト全体に許可されていますが、その権限からの削除および作成は許可されていません。サブリソースを組み合わせて、ユーザーが、オブジェクト内の複数のフィールドまたは機能を構成できるようにすることもできます。

サブリソースへのアクセスを定義するために、フラグ allow edit to only [subresource(s)]allow edit of entire object except for [subresource(s)] が導入されています。

たとえば、次に示すように、サブリソースを使用してロールを構成するとします。

[admin:10]: > configure role Pool-Enabled-Role
[admin:10]: role> privileges 
New object being created
[admin:10]: role:privileges> type write_access 
[admin:10]: role:privileges> resource permission_pool
[admin:10]: role:privileges> subresource 
[admin:10]: role:privileges:subresource> subresources subresource_pool_enabled 
[admin:10]: role:privileges:subresource> save
[admin:10]: role:privileges> save
[admin:10]: role> save

プールは次のように構成されます。

+--------------------------+-------------------------------------------+
| Field                    | Value                                     |
+--------------------------+-------------------------------------------+
| uuid                     | role-c5d28445-995c-44b8-9677-610bb20cb2e7 |
| name                     | Pool-Enabled-Role                         |
| privileges[1]            |                                           |
|   type                   | WRITE_ACCESS                              |
|   resource               | PERMISSION_POOL                           |
|   subresource            |                                           |
|     exclude_subresources | False                                     |
|     subresources[1]      | SUBRESOURCE_POOL_ENABLED                  |
| tenant_ref               | admin                                     |
+--------------------------+-------------------------------------------+

サブリソースにより、ユーザーはオブジェクト内で特定の機能を実行できます。

使用可能なすべてのサブリソースを以下に示します。

サブリソース

機能

SUBRESOURCE_POOL_ENABLED

プール サーバの追加、更新、および無効化

SUBRESOURCE_POOL_SERVERS

プール サーバの追加、更新、および削除

SUBRESOURCE_POOL_SERVER_ENABLED

プール サーバの有効化および無効化

SUBRESOURCE_VIRTUALSERVICE_ENABLED

仮想サーバの有効化および無効化

SUBRESOURCE_GSLBSERVICE_ENABLED

GSLB サービス オブジェクトの有効化および無効化

SUBRESOURCE_GSLBSERVICE_GROUPS

GSLBservice グループの更新

SUBRESOURCE_GSLBSERVICE_GROUPS_ENABLED

GSLBservice グループの有効化および無効化

SUBRESOURCE_GSLBSERVICE_GROUP_MEMBERS

GSLBservice グループ メンバーの更新

SUBRESOURCE_GSLBSERVICE_GROUP_MEMBER_ENABLED

GSLBservice グループ メンバーの有効化および無効化

SUBRESOURCE_VIRTUALSERVICE_AUTO_ALLOCATE_FLOATING_IP

フローティング IP アドレスの自動割り当ての有効化および無効化

注:

NSX Advanced Load Balancer バージョン 22.1.1 より前のバージョンでは、どのリソース フィールドでも更新 (PUT) アクションを制御することのみが可能でした。NSX Advanced Load Balancer バージョン 22.1.1 以降では、どのフィールドにもアクセスが許可されていない場合、オブジェクトの作成も許可されません。