2.2.3. 特定のロールが暗黙的となるのを防ぐ方法
特定のロールがユーザーに暗黙的に割り当てられるのを防ぐことが可能です。たとえば、/etc/keystone/keystone.conf でロールの ListOpt を追加することができます。
[assignment] prohibited_implied_role = admin
[assignment]
prohibited_implied_role = admin
この設定は、特定のロールがユーザーに暗黙的に割り当てられるのを常に防ぎます。そのロールに対するアクセス権は、暗黙的ではなく明示的に付与しなければならないようになります。
2.2.3.1. 暗黙的なロールの実例 リンクのコピーリンクがクリップボードにコピーされました!
本項では、ロールを暗黙的に割り当てるための推論規則の作成方法について説明します。このルールは、1 つのロールが別のロールのメンバーシップを暗黙的に継承できるようにする方法を制御します。以下の手順で使用するルールの例は、admin ロールのメンバーに _member_ のアクセスも付与されるようにします。
2.2.3.1.1. ユーザーへのロールの割り当て: リンクのコピーリンクがクリップボードにコピーされました!
_member_ロールを暗黙的に継承するユーザーの ID を取得します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow demoプロジェクトの ID を取得します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow adminロールの ID を取得します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow User1ユーザーに、demoプロジェクトに対するadmin権限を付与します。openstack role add --user User1 --project demo admin
$ openstack role add --user User1 --project demo adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow adminロールの割り当てを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.3.1.2. 推論規則の作成 リンクのコピーリンクがクリップボードにコピーされました!
admin ロールを User1 に付与するステップが完了したので、次に以下のステップに従って推論規則を作成します。
最初に User 1 の現在のロールメンバーシップを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロール ID の一覧を取得します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 推論規則を作成します。現在このロールは
curlで作成します。この例では、前のステップで返されたロールの ID を使用します。また、keystone.conf のadmin_tokenを使用してコマンドを実行します。source overcloudrc export OS_TOKEN=`grep ^admin_token /etc/keystone/keystone.conf | awk -F'=' '{print $2}'` curl -X PUT -H "X-Auth-Token: $OS_TOKEN" -H "Content-type: application/json" $OS_AUTH_URL/roles/9b821b2920544be7a4d8f71fa99fcd35/implies/9fe2ff9ee4384b1894a90878d3e92babsource overcloudrc export OS_TOKEN=`grep ^admin_token /etc/keystone/keystone.conf | awk -F'=' '{print $2}'` curl -X PUT -H "X-Auth-Token: $OS_TOKEN" -H "Content-type: application/json" $OS_AUTH_URL/roles/9b821b2920544be7a4d8f71fa99fcd35/implies/9fe2ff9ee4384b1894a90878d3e92babCopy to Clipboard Copied! Toggle word wrap Toggle overflow CLI を使用して結果を確認します。この例では、
9fe2ff9ee4384b1894a90878d3e92babの ID で示されている_member_ロールへの暗黙的なアクセスが User1 に付与されています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow curl を使用して推論規則を確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow