SaltStack Config のロール ベースのアクセス コントロール (RBAC) システムでは、ロールの権限設定がそのロールに含まれているすべてのユーザーに適用されるため、複数のユーザーの権限設定を一度に定義できます。これらの設定は、ユーザー インターフェイスのロール ワークスペースで定義できます。
- ユーザー - すべての新しいローカル ユーザー、SSO、および LDAP ユーザーに割り当てられるデフォルトのロール。ユーザー ロールは、多くの基本的な機能を実行するために必要な読み取りアクセス権など、基本的な権限を持っています。このロールが割り当てられたユーザーは、ジョブを表示および実行できるだけでなく、ロールにリソース アクセス権が設定されている場合、特定のミニオンおよびジョブ タイプについてジョブの履歴、ジョブの戻り値、およびレポートを表示できます。
- 管理者 - このロールはユーザー ロールよりも高度なツールにアクセスする必要があるため、システム管理にアクセスできます。管理者は、ユーザー設定やピラーに含まれる機密データを表示(および場合によっては編集)できます。このロールは、ファイル、ジョブ、ターゲットなどのリソースを作成、更新、および削除できます。管理者は、新しいノードを構成するとき、必要に応じてキーを管理することもできます。
- スーパー ユーザー - スーパー ユーザーは、システム管理へのアクセスも含め、SaltStack Config 内のすべての操作を実行できます。スーパー ユーザー ロールには
root
が割り当てられます。このロールを削除またはクローン作成することはできません。このロールには任意のグループまたはユーザーを追加できますが、ロールの他の設定を変更することはできません。スーパー ユーザー ロールは実質的に権限の制限をバイパスするため、上級ユーザー以外は追加しないでください。
また、組織固有のニーズに合ったカスタム定義のロールを作成することもできます。
タスクを完了するためのロール権限を付与するには、許可されたタスクを定義したうえで、リソースまたは機能領域へのアクセスも割り当てる必要があります。権限は許可されたアクションの広範なカテゴリです。一方、リソース アクセスでは、アクションを実行できる特定のリソース(ジョブやターゲットなど)を定義できます。
特定のリソース タイプおよび機能領域のリソース アクセスは、ロール エディタではなく、API (RaaS) で定義する必要があります。
ロールを作成したら、ロールのクローン作成、許可されたタスクの設定、ジョブまたはターゲットへのアクセス権の割り当てを選択することができます。
SaltStack Config で、ロールを定義してロールベースのアクセス コントロール (RBAC) を行うには、許可されたタスクを定義するとともにリソース アクセスを割り当てる必要があります。ここで、タスクとは、ユーザー インターフェイスで実行できる特定の操作のことで、ジョブの作成、編集、実行などがあります。リソースとは、特定のマスター、ミニオン、ターゲット、ファイル データなど、環境の要素です。
許可されたタスクは、実行できるアクションが範囲の広いカテゴリで設定されるのに対し、リソース アクセスは、より狭いカテゴリで設定されるため、特定のリソース(ジョブやターゲットなど)を指定し、この特定のリソースに対してアクションを実行できます。
この例では、ロールは次の権限設定を使用して、Linux ターゲット グループに test.ping
を実行できます。
- Linux ターゲットへの読み取りアクセス権
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 のポリシーを作成、編集、削除、評価できます。このタスクの権限を付与するだけでなく、ロールがアクションを実行するターゲットのリソース アクセスも定義する必要があります。たとえば、 このタスクは、ロールに 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) で定義 |
[ロールを作成して定義するには:]
前提条件
ユーザー ロールを定義するには、管理者アクセス権が必要です。