5.5. ロールの作成および管理
Satellite では、標準的なタスクに十分なパーミッションとなる事前定義済みロール一式が提供されます (「Satellite で利用可能な事前定義済みロール」 を参照)。また、カスタムロールを設定し、このカスタムロールに 1 つ以上のパーミッションフィルターを割り当てることもできます。パーミッションフィルターでは、特定のリソースタイプに許可されるアクションを定義します。特定の Satellite プラグインによりロールが自動的に作成されます。
5.5.1. ロールの作成
以下の手順を使用してロールを作成します。
手順
- Satellite Web UI で、Administer > Roles に移動します。
- ロールの作成 をクリックします。
- ロールの 名前 を記入します。
- 送信 をクリックして、新しいロールを保存します。
CLI 手順
以下のコマンドを実行してロールを作成します。
# hammer role create --name My_Role_Name
ロールにはパーミッションを含める必要があります。ロールの作成後は、「ロールへのパーミッションの追加」 に進んでください。
5.5.2. ロールのクローン作成
Satellite Web UI を使用してロールのクローンを作成します。
手順
- Satellite web UI で、Administer > Roles に移動し、必要なロールの右側にあるドロップダウンメニューから Clone を選択します。
- ロールの 名前 を記入します。
- 送信 をクリックしてロールのクローンを作成します。
- クローンされたロールの名前をクリックし、フィルター に移動します。
- 必要に応じて、パーミッションを編集します。
- 送信 をクリックして、新しいロールを保存します。
5.5.3. ロールへのパーミッションの追加
以下の手順を使用して、ロールにパーミッションを追加します。Satellite Web UI の代わりに CLI を使用する場合は、CLI 手順 を参照してください。
手順
- Satellite Web UI で、Administer > Roles に移動します。
- 必要なロールの右側にあるドロップダウンリストから フィルターの追加 を選択します。
- ドロップダウンリストから リソースタイプ を選択します。(その他) グループには、どのリソースグループにも関連付けられていないパーミッションが含まれます。
- 選択するパーミションを パーミッション リストからクリックします。
- リソースタイプ での選択により、無制限 と 上書き のチェックボックスが表示されます。無制限 チェックボックスはデフォルトで選択され、選択されたタイプの全リソースにパーミッションが適用されます。無制限 チェックボックスを無効にすると、検索 フィールドが有効になります。このフィールドでは、Satellite 検索構文を使用してさらにフィルタリングを指定できます。詳細は、「詳細なパーミッションフィルタリング」 を参照してください。上書き チェックボックスを有効にすると、新たなロケーションと組織を追加して、それらのロケーションや組織のリソースタイプにこのロールがアクセスできるようになります。また、すでに関連付けられたロケーションや組織をリソースタイプから削除して、アクセスを制限することもできます。
- Next をクリックします。
- Submit をクリックして変更を保存します。
CLI 手順
利用可能な全パーミッションを表示します。
# hammer filter available-permissions
ロールにパーミッションを追加します。
# hammer filter create \ --permission-ids My_Permission_ID_1,My_Permission_ID_2 \ --role My_Role_Name
ロールとパーミッションパラメーターの詳細は、hammer role --help
および hammer filter --help
コマンドを入力します。
5.5.4. ロールのパーミションの表示
Satellite Web UI を使用してロールのパーミッションを表示します。
手順
- Satellite Web UI で、Administer > Roles に移動します。
- 必要なロールの右側にある フィルター をクリックして、フィルター ページを開きます。
フィルター ページでは、リソースタイプ別にグループ化されたロールに割り当てられたパーミッションの表が示されます。また、このページでは、Satellite システムで使用できるパーミッションとアクションの完全な表を生成できます。詳細は、「パーミッションの完全テーブルの作成」 を参照してください。
5.5.5. パーミッションの完全テーブルの作成
Satellite CLI を使用してパーミッションテーブルを作成します。
手順
必要なパッケージがインストールされていることを確認します。Satellite Server で以下のコマンドを実行します。
# satellite-maintain packages install foreman-console
以下のコマンドで Satellite コンソールを起動します。
# foreman-rake console
コンソールに以下のコードを挿入します。
f = File.open('/tmp/table.html', 'w') result = Foreman::AccessControl.permissions {|a,b| a.security_block <=> b.security_block}.collect do |p| actions = p.actions.collect { |a| "<li>#{a}</li>" } "<tr><td>#{p.name}</td><td><ul>#{actions.join('')}</ul></td><td>#{p.resource_type}</td></tr>" end.join("\n") f.write(result)
上記の構文により、パーミッションの表が作成され、
/tmp/table.html
ファイルに保存されます。Ctrl
+D
を押して、Satellite コンソールを終了します。/tmp/table.html
の最初の行に以下のテキストを挿入します。<table border="1"><tr><td>Permission name</td><td>Actions</td><td>Resource type</td></tr>
/tmp/table.html
の最後に以下のテキストを追加します。</table>
-
Web ブラウザーで
/tmp/table.html
を開いて、表を確認します。
5.5.6. ロールの削除
Satellite Web UI を使用してロールを削除します。
手順
- Satellite Web UI で、Administer > Roles に移動します。
- 削除するロールの右側にあるドロップダウンリストから Delete を選択します。
- 警告ボックスで、OK をクリックしてロールを削除します。