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 以降では、どのフィールドにもアクセスが許可されていない場合、オブジェクトの作成も許可されません。