9.5. ロールの作成および管理
Satellite には、標準的なタスクを実行できるパーミッションを持つ定義済みのロールセットが用意されています (「Satellite で利用可能な事前定義済みロール」 を参照)。また、カスタムロールを設定し、このカスタムロールに 1 つ以上のパーミッションフィルターを割り当てることもできます。パーミッションフィルターでは、特定のリソースタイプに許可されるアクションを定義します。Satellite プラグインの中には、ロールを自動的に作成するものもあります。
9.5.1. ロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用してロールを作成します。
手順
- Satellite Web UI で、Administer > Roles に移動します。
- Create Role をクリックします。
- ロールの 名前 を記入します。
- 送信 をクリックして、新しいロールを保存します。
CLI 手順
以下のコマンドを実行してロールを作成します。
# hammer role create --name My_Role_Name
ロールにはパーミッションを含める必要があります。ロールの作成後は、「ロールへのパーミッションの追加」 に進んでください。
9.5.2. ロールのクローン作成 リンクのコピーリンクがクリップボードにコピーされました!
Satellite Web UI を使用してロールのクローンを作成します。
手順
- Satellite web UI で、Administer > Roles に移動し、必要なロールの右側にあるドロップダウンメニューから Clone を選択します。
- ロールの 名前 を記入します。
- 送信 をクリックしてロールのクローンを作成します。
- クローンされたロールの名前をクリックし、フィルター に移動します。
- 必要に応じて、パーミッションを編集します。
- 送信 をクリックして、新しいロールを保存します。
9.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 コマンドを入力します。
9.5.4. ロールのパーミッションの表示 リンクのコピーリンクがクリップボードにコピーされました!
Satellite Web UI を使用してロールのパーミッションを表示します。
手順
- Satellite Web UI で、Administer > Roles に移動します。
- 必要なロールの右側にある フィルター をクリックして、フィルター ページを開きます。
フィルター ページでは、リソースタイプ別にグループ化されたロールに割り当てられたパーミッションの表が示されます。また、このページでは、Satellite システムで使用できるパーミッションとアクションの完全な表を生成できます。詳細は、「完全なパーミッションテーブルの作成」 を参照してください。
9.5.5. 完全なパーミッションテーブルの作成 リンクのコピーリンクがクリップボードにコピーされました!
Satellite CLI を使用してパーミッションテーブルを作成します。
手順
以下のコマンドで 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を開いて、表を確認します。
9.5.6. ロールの削除 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、Satellite からロールを削除します。
手順
- Satellite Web UI で、Administer > Roles に移動します。
- 削除するロールの右側にあるドロップダウンリストから Delete を選択します。
- Confirm をクリックしてロールを削除します。