SaltStack Config のロール ベースのアクセス コントロール (RBAC) システムでは、ロールの権限設定がそのロールに含まれているすべてのユーザーに適用されるため、複数のユーザーの権限設定を一度に定義できます。これらの設定は、ユーザー インターフェイスのロール ワークスペースで定義できます。

SaltStack Config は初期状態で組み込みのロールを多数備えており、これらは削除できません。
  • ユーザー - すべての新しいローカル ユーザー、SSO、および LDAP ユーザーに割り当てられるデフォルトのロール。ユーザー ロールは、多くの基本的な機能を実行するために必要な読み取りアクセス権など、基本的な権限を持っています。このロールが割り当てられたユーザーは、ジョブを表示および実行できるだけでなく、ロールにリソース アクセス権が設定されている場合、特定のミニオンおよびジョブ タイプについてジョブの履歴、ジョブの戻り値、およびレポートを表示できます。
  • 管理者 - このロールはユーザー ロールよりも高度なツールにアクセスする必要があるため、システム管理にアクセスできます。管理者は、ユーザー設定やピラーに含まれる機密データを表示(および場合によっては編集)できます。このロールは、ファイル、ジョブ、ターゲットなどのリソースを作成、更新、および削除できます。管理者は、新しいノードを構成するとき、必要に応じてキーを管理することもできます。
  • スーパー ユーザー - スーパー ユーザーは、システム管理へのアクセスも含め、SaltStack Config 内のすべての操作を実行できます。スーパー ユーザー ロールには root が割り当てられます。このロールを削除またはクローン作成することはできません。このロールには任意のグループまたはユーザーを追加できますが、ロールの他の設定を変更することはできません。スーパー ユーザー ロールは実質的に権限の制限をバイパスするため、上級ユーザー以外は追加しないでください。

また、組織固有のニーズに合ったカスタム定義のロールを作成することもできます。

タスクを完了するためのロール権限を付与するには、許可されたタスクを定義したうえで、リソースまたは機能領域へのアクセスも割り当てる必要があります。権限は許可されたアクションの広範なカテゴリです。一方、リソース アクセスでは、アクションを実行できる特定のリソース(ジョブやターゲットなど)を定義できます。

特定のリソース タイプおよび機能領域のリソース アクセスは、ロール エディタではなく、API (RaaS) で定義する必要があります。

ロールを作成したら、ロールのクローン作成、許可されたタスクの設定、ジョブまたはターゲットへのアクセス権の割り当てを選択することができます。

SaltStack Config で、ロールを定義してロールベースのアクセス コントロール (RBAC) を行うには、許可されたタスクを定義するとともにリソース アクセスを割り当てる必要があります。ここで、タスクとは、ユーザー インターフェイスで実行できる特定の操作のことで、ジョブの作成、編集、実行などがあります。リソースとは、特定のマスター、ミニオン、ターゲット、ファイル データなど、環境の要素です。

許可されたタスクは、実行できるアクションが範囲の広いカテゴリで設定されるのに対し、リソース アクセスは、より狭いカテゴリで設定されるため、特定のリソース(ジョブやターゲットなど)を指定し、この特定のリソースに対してアクションを実行できます。


SaltStack Config 内のタスクとリソースの関係を示す図

この例では、ロールは次の権限設定を使用して、Linux ターゲット グループに test.ping を実行できます。

  • Linux ターゲットへの読み取りアクセス権
  • test.ping コマンドを含むジョブへの読み取り/実行アクセス

test.ping コマンドのタスクとリソース アクセスの関係を示す図。

[タスク]

[タスク] タブには次のオプションが含まれます。

タスク

説明

新しいターゲットの作成および削除

ロールは、新しいターゲットを作成できます。このロールに割り当てられたユーザーは、自らが作成したターゲット、または [リソース アクセス] で定義された他のターゲットの編集および削除を実行できます。

ターゲットは 1 つ以上の Salt マスター上に構成されるミニオンのグループで、これに対してジョブの Salt コマンドが適用されます。Salt マスターもミニオンのように管理でき、ミニオン サービスを実行している場合はターゲットにすることができます。「ターゲットの作成方法」を参照してください。

ピラー データの変更

ロールは、ピラーに保存されている機密情報を表示、編集、削除できます。ロールに属するユーザーは、自らが作成したピラーを編集、削除できます。リソース アクセスが許可されている場合には、他のピラーの編集、削除もできます(API (RaaS) を介してのみ可能)。

ピラーは、Salt マスターで定義されるデータの構造であり、ターゲットを使用して 1 台以上のミニオンに渡されます。これにより、機密のターゲット データを関連するミニオンにのみ安全に送信できます。状態ファイルとピラー データの作成方法を参照してください。

ファイル サーバの変更

ロールは、ファイル サーバを表示できます。また、ファイルを作成、編集、削除できます。ロールに属するユーザーは、自らが作成したファイルを編集、削除できます。リソース アクセスが許可されている場合には、他のファイルの編集、削除もできます(API (RaaS) を介してのみ可能)。

ファイル サーバは、上位のファイルや状態ファイルなどの Salt 固有のファイルと、システム構成ファイルなどのミニオンに配布できるファイルの両方を格納するための場所です。状態ファイルとピラー データの作成方法を参照してください。

ミニオンで任意のコマンドを実行

ロールは、ジョブの外部でコマンドをトリガして Salt マスターに検出させることができます。ロールは、特定のジョブの定義に含まれるコマンドのみを実行するよう制限されているわけではありません。

ミニオンは minion サービスが実行されるノードであり、Salt マスターからのコマンドをリッスンして、要求されたタスクを実行できます。

キーの受け入れ、削除、拒否

ロールは、初期構成に必要なミニオン キーの受け入れ、削除、拒否ができます。

ミニオン キーを使用すると、Salt マスターと Salt ミニオンの間で暗号化された通信が可能になります。

ユーザー、ロール、権限の読み取りおよび変更

ロールは、ユーザーおよび関連データを表示できます。また、ロールおよび権限の設定の編集もできます。

[注]:このタスクは、組み込みの管理者ロールと スーパー ユーザー ロールにのみ適用されます。

ロールは、共通のニーズのセットを共有する複数のユーザーの権限を定義するために使用されます。

Salt マスター上でのコマンドの実行

ロールは、オーケストレーションの実行など、Salt マスターに対してコマンドを実行できます。

Salt マスターに対して実行されるコマンドは、Salt ランナーとも呼ばれます。Salt ランナーは、Salt マスターで便利な関数を実行するために使用されるモジュールです。ジョブの作成方法を参照してください。この権限を追加することによって、ロールは、[ミニオン] タブの [コマンドを実行] 機能から salt-run オプションを使用できます。

コンプライアンス - 作成、編集、削除、評価

ロールは、SaltStack SecOps Compliance のポリシーを作成、編集、削除、評価できます。このタスクの権限を付与するだけでなく、ロールがアクションを実行するターゲットのリソース アクセスも定義する必要があります。たとえば、OracleLinuxAdmin ロールに OracleLinux ターゲットのポリシーを定義させる場合には、このタスクを完了する権限と OracleLinux ターゲットへの読み取りアクセス権の両方をロールに割り当てます。

このタスクは、ロールに SaltStack SecOps Compliance のポリシーを修正させることはできません。

SaltStack SecOps Compliance は、環境内のすべてのシステムのセキュリティ コンプライアンス体制を管理するための SaltStack Config のアドオンです。詳細については、SaltStack SecOps の使用と管理を参照してください。

注:

SaltStack SecOps のライセンスが必要です。

コンプライアンス - 修正

SaltStack SecOps Compliance の評価によって要件に準拠していないミニオンが検出された場合、ロールはこのミニオンを修正できます。

SaltStack SecOps Compliance は、環境内のすべてのシステムのセキュリティ コンプライアンス体制を管理するための SaltStack Config のアドオンです。詳細については、SaltStack SecOps の使用と管理を参照してください。

注:

SaltStack SecOps のライセンスが必要です。

コンプライアンス - SaltStack コンテンツの更新

ロールは、SaltStack SecOps Compliance のセキュリティ ライブラリの更新をダウンロードできます。

脆弱性 - 作成、編集、削除、評価

ロールは、SaltStack SecOps Vulnerability のポリシーを作成、編集、削除、評価できます。このタスクの権限を付与するだけでなく、ロールが評価を実行するターゲットのリソース アクセスも定義する必要があります。

このタスクは、ロールに SaltStack SecOps Vulnerability のポリシーを修正させることはできません。

SaltStack SecOps Compliance は、環境内のすべてのシステムのセキュリティ コンプライアンス体制を管理するための SaltStack Config のアドオンです。詳細については、SaltStack SecOps の使用と管理を参照してください。

注:

SaltStack SecOps のライセンスが必要です。

脆弱性 - 修正

ロールは、SaltStack SecOps Vulnerability の評価で検出された脆弱性を修正できます。

SaltStack SecOps Vulnerability は、環境内のすべてのシステムの脆弱性を管理するための SaltStack Config のアドオンです。詳細については、SaltStack SecOps の使用と管理を参照してください。

注:

SaltStack SecOps のライセンスが必要です。

[リソース アクセス]

[リソース アクセス] タブでは、ターゲットおよびジョブのリソース アクセスを定義できます。ターゲットは 1 つ以上の Salt マスター上に構成されるミニオンのグループで、これに対してジョブの Salt コマンドが適用されます。Salt マスターもミニオンのように管理でき、ミニオン サービスを実行している場合はターゲットにすることができます。ジョブは、リモート実行タスクの実行、状態の適用、Salt ランナーの起動に使用されます。

注: テーブルで定義されていないリソース タイプには、特定のリソース アクセス設定は必要ありません。
リソース タイプ アクセス レベル
ターゲット
  • [読み取り専用] - ロールは、指定されたターゲットとその詳細を表示できますが、編集および削除はできません。
  • [読み取り/書き込み] - ロールは、指定されたターゲットの表示および編集ができます。
  • [読み取り/書き込み/削除] - ロールは、指定されたターゲットの表示、編集、削除ができます。
ジョブ
  • [読み取り専用] - ロールは、指定されたジョブおよびジョブの詳細を表示できます。ジョブの編集、削除、実行はできません。
  • [読み取り/実行] - ロールは、指定されたジョブの表示および実行ができます。
  • [読み取り/実行/書き込み] - ロールは、指定されたジョブの表示、編集に加え、実行が可能です。
  • [読み取り/実行/書き込み/削除]- ロールは、表示されたジョブの表示、編集、削除に加え、実行ができます。
その他のリソース タイプ - 次のリソース タイプへのアクセスは、API (RaaS) を使用して定義する必要があります。
  • ファイル サーバ内のファイル
  • ピラー データ
  • 認証構成
API (RaaS) で定義

[ロールを作成して定義するには:]

前提条件

ユーザー ロールを定義するには、管理者アクセス権が必要です。

手順

  1. サイド メニューで、[管理] > [ロール] の順にクリックします。
  2. [作成] をクリックして、ロールの名前を入力します。
  3. [タスク] で、ロールに付与する許可されたアクションを選択します。
  4. [保存] をクリックします。
  5. ジョブまたはターゲットへのアクセス権を割り当てるには、[ロール] ワークスペースからロールを選択し、[リソース アクセス] で必要なジョブまたはターゲットを検索して、必要なアクセス レベルを選択します。たとえば、ロールがジョブを実行できるようにするには、[読み取り/実行] を選択し、[保存] をクリックします。
  6. (オプション)グループを含めるには、[ロール] ワークスペースからロールを選択し、[グループ] で含めるグループを選択し、[保存] をクリックします。
    注: ロールの権限は加算式です。複数のロールに割り当てられているグループ内のユーザーは、各ロールから付与されたすべてのアイテムの組み合わせにアクセスできます。選択したグループ(これらのグループ内のすべてのユーザーを含む)には、ロール設定で定義されている許可されたタスクとリソース アクセスがすべて付与されます。
  7. (オプション)ロールのクローンを作成するには、[ロール] ワークスペースからロールを選択し、[クローン作成] をクリックし、ロールの新しい名前を入力して [保存] をクリックします。
    注: クローン作成されたロールは、デフォルトで元のロールから許可されたタスクを継承します。クローン作成されたロールはリソース アクセスを継承しません。リソース アクセスは別途定義する必要があります。
  8. (オプション)状況によっては、よりきめ細かい権限の構成が必要になる場合があります。高度な権限を付与するには、[管理] > [ロール] > [詳細] の順にクリックし、ロールを選択して追加の権限を選択または選択解除します。[保存] をクリックします。高度な権限とアイテム タイプの詳細については、高度な権限とアイテムのタイプを参照してください。
    注: 一般的なユーザー操作に推奨される最小限の権限は、青で強調表示されています。
    SaltStack Config で一般的なユーザーに対して選択された権限