このセクションでは、フォロワー サイトから GSLB 構成の変更を有効にする方法について説明します。

次の構成変更は、フォロワー サイトからも実行できます。

  • GSLB サービス グループの有効化/無効化

  • GSLB サービス グループ メンバーの有効化/無効化

これは、GSLB フォロワー サイトの一部のサーバへのトラフィックのみを回避する必要があり、リーダー サイトへのアクセス権がない場合に役立ちます。NSX Advanced Load Balancer リリース 20.1.6 より前のバージョンでは、構成の変更はリーダー サイトからのみ可能でした。この機能を使用すると、フォロワー サイトからも GSLB グループまたは GSLB グループ メンバーを有効または無効にできます。フォロワー サイトのユーザーが変更を実行できるようにするには、次の構成変更または前提条件が必要です。

  • フィールドごとの認証の構成

  • リーダー サイトでの JWT プロファイルの構成

  • フォロワー サイトからの構成の有効化

フィールドごとの認証の構成

  • GSLB_Group_Enabled および GSLB_Group_Member_Enabled のロールの構成

GSLB_Group_Enabled および GSLB_Group_Member_Enabled のロールの構成

フォロワー サイトから変更を実行するには、ユーザーに次のロールが関連付けられている必要があります。

  • Gslb_Group_Member_Enabled:このロールには、GSLB サービスへの書き込みアクセス権が必要です。

  • Gslb_Group_Enabled:このロールには、GSLB サービスへの書き込みアクセス権が必要です。

フィールドごとの認証の構成の詳細については、フィールドごとの RBACを参照してください。

[admin:10-10-10-2]: > configure role  Gslb_Group_Member_Enabled  
[admin:10.10.10.2]: role> privileges
New object being created
[admin:10.10.10.2]: role:privileges> type write_access
[admin:10.10.10.2]: role:privileges> resource PERMISSION_GSLBSERVICE 
[admin:10.10.10.2]: role:privileges> save

次の CLI スニペットでは、ユーザー gslbsitegroupmemberadmin が Gslb_Group_Member_Enabled のロールで構成されています。構成されたユーザーには、GSLB サービスへの書き込みアクセス権と、指定された GSLB サービス内の GSLB グループを有効または無効にする権限があります。

[admin:10-10-10-2]: > show user gslbsitegroupmemberadmin
+------------------+-------------------------------------------+
| Field            | Value                                     |
+------------------+-------------------------------------------+
| uuid             | user-52a6e643-d55d-45e9-8bca-0601b53d5b20 |
| username         | gslbsitegroupmemberadmin                  |
| password         | <sensitive>                         |
| name             | gslbsitegroupmemberadmin                  |
| email            |                                           |
| access[1]        |                                           |
|   role_ref       | Gslb_Group_Member_Enabled                 |
|   all_tenants    | True                                      |
| access[2]        |                                           |
|   role_ref       | Gslb_Health_Monitor                       |
|   all_tenants    | True                                      |
| is_superuser     | False                                     |
| local            | True                                      |
| user_profile_ref | Default-User-Account-Profile              |
+------------------+-------------------------------------------+
[admin:10-10-10-2]: > show role Gslb_Group_Member_Enabled
+--------------------------+----------------------------------------------+
| Field                    | Value                                        |
+--------------------------+----------------------------------------------+
| uuid                     | role-95e82558-1883-47af-8802-a6834c5feb76    |
| name                     | Gslb_Group_Member_Enabled                    |
| privileges[1]            |                                              |
|   type                   | WRITE_ACCESS                                 |
|   resource               | PERMISSION_GSLBSERVICE                       |
|   subresource            |                                              |
|     exclude_subresources | False                                        |
|     subresources[1]      | SUBRESOURCE_GSLBSERVICE_GROUP_MEMBER_ENABLED |
| allow_unlabelled_access  | True                                         |
| tenant_ref               | admin                                        |
+--------------------------+----------------------------------------------+

同様に、次の CLI スニペットでは、ユーザー gslbsitegroupadmin が Gslb_Group_Enabled のロールで構成されています。構成されたユーザーには、GSLB サービスへの書き込みアクセス権と、指定された GSLB サービス内の GSLB グループを有効または無効にする権限があります。

[admin:10-10-10-2]: > show user gslbsitegroupadmin
+------------------+-----------------------------------------------+
| Field            | Value                                         |
+------------------+-----------------------------------------------+
| uuid             | user-27a528f5-2e8e-42bb-b5b0-2229123215ec     |
| username         | gslbsitegroupadmin                            |
| password         | <sensitive>                             |
| name             | gslbsitegroupadmin                            |
| email            |                                               |  
| access[1]        |                                               |
|   role_ref       | Gslb_Group_Enabled                            |
|   all_tenants    | True                                          |
| access[2]        |                                               |
|   role_ref       | Gslb_Health_Monitor                           |
|   all_tenants    | True                                          |
| is_superuser     | False                                         |
| local            | True                                          |
| user_profile_ref | Default-User-Account-Profile                  |
+------------------+-----------------------------------------------+
[admin:10-10-10-2]: > show role Gslb_Group_Enabled
+--------------------------+-------------------------------------------+
| Field                    | Value                                     |
+--------------------------+-------------------------------------------+
| uuid                     | role-0facf895-c551-4cd0-b1f6-73b4c890c746 |
| name                     | Gslb_Group_Enabled                        |
| privileges[1]            |                                           |
|   type                   | WRITE_ACCESS                              |
|   resource               | PERMISSION_GSLBSERVICE                    |
|   subresource            |                                           |
|     exclude_subresources | False                                     |
|     subresources[1]      | SUBRESOURCE_GSLBSERVICE_GROUP_ENABLED     |
| allow_unlabelled_access  | True                                      |
| tenant_ref               | admin                                     |
+--------------------------+-------------------------------------------+
注:

上記のロールは、すべてのフォロワー サイトとリーダー サイトに追加する必要があります。

フェデレーション JWT プロファイルの構成

GSLB のフォロワー サイトは、JWT トークンを使用してリーダー サイトと通信し、構成 API 呼び出しを行います。そのため、すべてのサイトで、トークンを暗号化/復号化して、トークンから目的の情報を取得するための JWT サーバ プロファイルが必要です。JWT サーバ プロファイルは、JWT サーバ プロファイル構成で is_federated フラグを有効にするフェデレーション オブジェクトとして構成する必要があります。これはリーダー サイトで実行する必須の手順であり、GSLB サイトに依存しない構成はこの手順なしでは有効にできません。configure jwtserverprofile コマンドを使用して、リーダー サイトの JWT サーバ プロファイルを構成し、is_federated フラグの値を True に設定します。

JWS キーでサポートされるアルゴリズムは次のとおりです。

  • キー長が 32 バイトの HS256

  • キー長が 48 バイトの HS384

  • キー長が 64 バイトの HS512

JWT サーバ プロファイルで使用されるキーを生成するには、次の API を使用します。

https://10.79.169.140/api/symmetric-key?alg=HS512

上記の API を適用した後のサンプル出力を次に示します。

{
"kid": "5105e67b-85c0-4d27-aaf1-3bef8020d8ac",
"alg": "HS512",
"kty": "oct",
"key": "TTA2Zk5Kb2NWTWE4ZmZ2bnRrbHNDZ0xNbUV2Z211ZThHMnBTaFE1Nm1DM0tZMmFqWjlHcjRBcmI2NDdyNGhoQg"
}

アルゴリズム パラメータはオプションで、デフォルト値は HS256 です。

configure jwtserverprofile コマンドを使用してリーダー サイトの JWT サーバ プロファイルを構成し、is_federated フラグの値を True に設定し、jwt_profile_type を CONTROLLER_INTERNAL_AUTH に設定します。

次の CLI スニペットでは、JWT プロファイル gslb_jwt_server_profile が HS256 アルゴリズムで構成されています。

[admin:10-79-169-140]: > show jwtserverprofile gslb_jwt_server_profile
+--------------------------+-------------------------------------------------------+
| Field                    | Value                                                 |
+--------------------------+-------------------------------------------------------+
| uuid                     | jwtserverprofile-03201645-2556-4d13-9d0c-8415c80faa73 |
| name                     | gslb_jwt_server_profile                               |
| tenant_ref               | admin                                                 |
| jwt_profile_type         | CONTROLLER_INTERNAL_AUTH                              |
| controller_internal_auth |                                                       |
|   symmetric_jwks_keys[1] |                                                       |
|     alg                  | HS256                                                 |
|     kty                  | OEpZREZsTThXU2RxdjJVd0g5WG5pRHVoMkNQaHU2Mjc           |
|     kid                  | ef0ae791-2380-4447-bf79-d3d01575d3e2                  |
|     key                  | <sensitive>                                        |
| is_federated             | True                                                  |
+--------------------------+-------------------------------------------------------+
[admin:10-79-169-140]: >

フォロワーからの構成変更の有効化

リーダー サイトの GSLB グローバル構成で enable_config_by_members フラグの値を True に設定します。フェデレーション JWT プロファイルを構成し、この構成を有効にできる必要があります。

[admin:10-10-10-1]: > show gslb glb-1
+--------------------------+-----------------------------------------------------+
| Field                    | Value                                               |
+--------------------------+-----------------------------------------------------+
| uuid                     | gslb-c8ebc3e3-16e1-47f2-9f70-5ade3f1e1221           |
| name                     | glb-1                                               |
....
....
| tenant_scoped            | False                                               |
| enable_config_by_members | True                                                |
+--------------------------+-----------------------------------------------------+

上記の手順を実行すると、必要なロールを持つフォロワーのユーザーは、GSLB サービス グループ メンバーを有効または無効にできます。