3.4. 暗黙的なロールの作成
Identity サービス (keystone) は、ユーザーが特定のロールに割り当てられていることを確認してアクセス制御を適用します。Identity サービスは暗黙的なロール割り当てを使用します。ユーザーをロールに明示的に割り当てると、ユーザーは追加のロールにも暗黙的に割り当てられます。Red Hat OpenStack Platform での、デフォルトの暗黙的なロールを表示することができます。
$ openstack implied role list
+----------------------------------+-----------------+----------------------------------+-------------------+
| Prior Role ID | Prior Role Name | Implied Role ID | Implied Role Name |
+----------------------------------+-----------------+----------------------------------+-------------------+
| 54454217f38247e5a2131c8a47138d32 | admin | b59703369e194123b5c77dad60d11a25 | member |
| b59703369e194123b5c77dad60d11a25 | member | 382761de4a9c4414b6f8950f8580897c | reader |
+----------------------------------+-----------------+----------------------------------+-------------------+
Identity サービス (keystone) には、ロールリストに表示される reader ロールも追加されています。reader ロールは他の OpenStack サービスに統合されておらず、サービス間で一貫性のない権限が提供されるため、使用しないでください。
より高い権限を持つロールには、より低い権限を持つロールに関連付けられた権限が含まれます。上記のデフォルトの暗黙的なロールでは、admin には member が、member には reader が含まれます。暗黙的なロールを使用すると、ユーザーのロール割り当てが累積的に処理されるため、ユーザーは下位ロールを継承します。
カスタムロールを使用する場合は、暗黙的な関連付けを作成できます。
新たなロールを作成する場合、デフォルトではこのロールには member ロールと同じアクセスポリシーが設定されます。カスタムロールの一意のポリシーの作成については、アクセス制御にポリシーファイルを使用する を参照してください。
手順
次のコマンドを使用して、別のロールに含まれるロールを指定します。
$ openstack implied role create manager --implied-role poweruser +------------+----------------------------------+ | Field | Value | +------------+----------------------------------+ | implies | ab0b966e0e5e411f8d8b0cc6c26fefd1 | | prior_role | 880761f64bff4e4a8923efda73923b7a | +------------+----------------------------------+
検証
すべての暗黙的なロールをリスト表示します。
$ openstack implied role list +----------------------------------+-----------------+----------------------------------+-------------------+ | Prior Role ID | Prior Role Name | Implied Role ID | Implied Role Name | +----------------------------------+-----------------+----------------------------------+-------------------+ | 54454217f38247e5a2131c8a47138d32 | admin | b59703369e194123b5c77dad60d11a25 | member | | 880761f64bff4e4a8923efda73923b7a | manager | ab0b966e0e5e411f8d8b0cc6c26fefd1 | poweruser | | b59703369e194123b5c77dad60d11a25 | member | 382761de4a9c4414b6f8950f8580897c | reader | +----------------------------------+-----------------+----------------------------------+-------------------+
暗黙的な関連付けに誤りがある場合は、変更を元に戻すことができます。
openstack implied role delete manager --implied-role poweruser