【vSphere7】vSphereの権限・ロール周りの知識をまとめてみる

どうも、Tです。

今までなんとく使っていたvSphereの権限・ロールでしたが、ちょっと本格的に振り返ってみました。

スポンサーリンク
アドセンス1

やりたいこと

権限・ロールの仕様をまとめてみる。

環境

バージョン

下記の環境で確認しました。

  • vCenterServer:7.0.2 17958471
  • vSphere ESXi: 7.0.2 17867351

ソースID側

また、権限を付与するユーザーとして、外部ADのドメインアカウントを使用しました。

下記の設定で、ADをソースとして追加しています。

【vSphere7】Active Directory over LDAPSでvCenter Single Sign-On ID ソースを構成する
どうも、Tです。 vSphere7において、外部の認証情報を使ってvSphere Clientへのログイン認証などを行えるAD...

ロールと権限についておさらい

権限とロールとインベントリオブジェクトの関係

vSphereの権限制御のイメージとしては、下記のような流れになります。

  1. 権限グループを集めたロール(権限セット)を作成する
  2. ロールとユーザーもしくは、グループの組み合わせをオブジェクトに設定する

SSOユーザー・グループは、SSOドメイン(vsphere.localなど)に作成されるものです。複数の外部ソースのユーザー・グループをまとめたり、1つのユーザー・グループに複数ロール割り当てる際に利用します。(詳しくは後述)

権限とは

権限はどのような操作を細かく制御するための単位です。ホストや仮想マシンなどの単位で用意されています。下記では仮想マシンに関する権限です。パワーオンにチェックを入れると仮想マシンのパワーオンを許可するようになります。

ロールとは

ロールは権限の集合です。「システム管理者」ロールには、すべての権限が設定されています。その他、vSphereのサービスが内部的に使用しているロール(システムロール)もあります。

ロールは、必要な権限だけを細かく指定して専用のロールを新規作成(カスタムロール)したり、用途に合わせたサンプルロールを複製して新規作成することもが可能です。

オブジェクトとは

インベントリと呼ばれたり、オブジェクトと呼ばれたり現場でも呼び方が安定しないイメージですが、要はESXiホストや仮想マシンフォルダ、仮想スイッチなどがオブジェクトです。オブジェクトに対して、ロール(権限)を設定するようになります。

グローバル権限
グローバル権限は、複数のソリューションに対応するグローバル ルート オブジェクトに適用されます。オンプレミスの SDDC では、グローバル権限が vCenter Server と vRealize Orchestrator の両方におよぶ場合があります。ただし、vSphere SDDC の場合、グローバル権限は、タグや...

vSphere インベントリ階層での権限の継承を図に示します。矢印は、親オブジェクトから子オブジェクトへの権限の継承を表します。

また、オブジェクトは大別してグローバルルートオブジェクトとインベントリオブジェクトの2種類があります。(という私の認識です)

グローバルルートオブジェクト上記の図でいうとトップレベルオブジェクトですが、オブジェクトツリーの一番上に位置するものです。vSphere Clientではグローバル権限で設定するとグローバルルートオブジェクトにロール(権限)を設定していることになります。

ここは、グローバルルートオブジェクト以下すべてのオブジェクトに影響するため、慎重に使う必要があります。(本来与えない権限を与えないオブジェクトに権限を与えるなどするため)

重要:
グローバル権限は慎重に使用してくだい。すべてのインベントリ階層にあるすべてのオブジェクトに対して権限を割り当てる必要が本当にあるかどうか確認してください。

インベントオブジェクトは、グローバルルートオブジェクト以外です。vSphere Clientから見える。vCenter Server、データセンター、仮想マシンフォルダ、仮想マシンなどになります。

継承とは

ロールを設定するときに「子へ伝達」にチェックボックスのことです。デフォルトチェックなしですが、チェックをすることで、ロールを設定したオブジェクトより下のオブジェクトに同じ権限を伝達(継承)していきます。

なお、自身のオブジェクトより上のオブジェクトを親とも言いますが、子に設定されたロールが優先されるようになります。

権限の階層的な継承
オブジェクトに権限を割り当てるときに、オブジェクト階層の下に向かって権限を伝達するかどうかを選択できます。伝達は、権限ごとに設定します。伝達は、全体的には適用されません。子オブジェクトに定義された権限は、親オブジェクトから伝達された権限を常にオーバーライドします。

ロールと権限のベストプラクティス

ロールのベストプラクティスも公開されています。

ロールと権限のベスト プラクティス
vCenter Server 環境のセキュリティと管理性を最大限に高めるため、ロールと権限のベスト プラクティスに準拠してください。

権限の注意事項

個人的に注意しておいた方がいいかなということをまとめました。

複数のインベントリにロール(権限設定)が必要な場合がある

一般的なタスクに必要な権限
多くのタスクには、インベントリ内の複数のオブジェクトに対する権限が必要です。1 つのオブジェクトに対するユーザー権限でタスクを実行しても、タスクは正常に完了できません。

多くのタスクには、インベントリ内の複数のオブジェクトに対する権限が必要です。1 つのオブジェクトに対するユーザー権限でタスクを実行しても、タスクは正常に完了できません。

権限は約400個程度あり、相互関係にあるものがあるので注意が必要です。

例えばホストに仮想マシン作成の権限を与えても、データストアに対して容量割当の権限を付与しないといけないなどになります。

どのような関係があるのかは、vSphere Web Services API リファレンスを見ればわかるそうです(見たことない)が、膨大なので実機で確認するのが一番早いと思います。

ロール(と権限)の変更は即時反映される

ロールを使用した権限の割り当て
ロールとは、事前に定義された権限セットです。権限は、操作の実行やプロパティの読み取りを行う権利を定義します。たとえば、仮想マシン管理者ロールを持つユーザーには、仮想マシン属性の読み取りや変更が許可されます。

注:
対象ユーザーがログインしていても、ロールや権限を変更するとすぐに反映されます。ただし、検索では、ユーザーが一度ログアウトして再度ログインしてから権限が有効になるため、すぐには反映されません。

オブジェクトに対して、ロールや権限を変更するとすぐに反映されるとありますが、下記のような事象を確認しているので、注意が必要です。基本的に利用ユーザーの少ないタイミングで実施するのがいいと思います。

  • ロール・権限の削除後に、中途半場にオブジェクトは見えるときがある(操作はきない)
  • ロール・権限の削除はすぐ反映されるが、ロール・権限の追加は反映されないときがあり、再ログインする必要がある

1つオブジェクトに対して、1セットのグループ・ユーザー+ロール設定のみ

説明がなかなかむつかしい・・・

1つのオブジェクトに対して、1つのユーザー・グループに複数ロールを付与できないということです。

下記は、AD側でtestadusera(ユーザー)がtestADGroupA(セキュリティグループ)に所属しています。このとき、オブジェクト(GroupA)に対して、testADGroupA(もしくはtestadusera)に、複数のロールを付与することはできません。(オブジェクトが異なれば大丈夫です)。

上記のようにしたいのであれば、SSOグループを複数作成し、testADGroupAを複数のSSOグループに所属させる必要があります。

操作はできないがメニューは見える

権限なしの「アクセスなし」ロールを付与したユーザーでログインしたところです。それぞれ操作は行えず、仮想マシンなども表示はされませんが、メニュー自体は見えます。アクセスすると権限がない旨表示されますが、権限のないメニューや項目がすべて消えるわけではありません。(消えるものと消えないものがありますが、こちらもマニュアルからは追えませんでした)

個人的なベストプラクティス

  • ユーザー単位ではなくグループ単位でロールを割り当てる
  • (既存環境にもよるが)ADグループ単位で制御できるようにする
  • 管理者アカウントは、グローバルルートオブジェクトで管理、利用ユーザーは仮想マシンフォルダで管理
  • 継承は積極的に利用する。継承したくない場合は、フォルダ分けで対応する
  • ロールは、可能な限りテンプレートロールを複製するか、少しのカスタマイズにとどめる
  • 過度な権限分けは行わない(管理できなくなるのが目に見えているので、管理者・利用ユーザー程度にとどめる)
  • ロールを分けるのか、共有して利用するか決めておく。事前に権限の変更が発生するような場合はロールを分ける設定にする。

まとめ

この辺りあんまり使い勝手いいイメージないので、極力使いたくないところ・・・。

スポンサーリンク
アドセンス1
アドセンス1
ブログランキング・にほんブログ村へ

シェアする

フォローする