第1章 ユーザーとロール管理
1.1. ユーザー管理 リンクのコピーリンクがクリップボードにコピーされました!
1.1.1. ユーザーの作成 リンクのコピーリンクがクリップボードにコピーされました!
- Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
- ユーザーの作成 をクリックします。
- ユーザーのユーザー名、メールアドレス、仮のパスワードを入力します。
- 主プロジェクト のリストからプロジェクトを選択します。
-
ロール のリストからロールを選択します (デフォルトは
_member_です)。 - ユーザーの作成 をクリックします。
1.1.2. ユーザーの有効化/無効化 リンクのコピーリンクがクリップボードにコピーされました!
一度に無効化/有効化することができるのは 1 ユーザーのみです。
- Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
-
アクション コラムでドロップダウンリストをクリックし、ユーザーの有効化 または ユーザーの無効化 を選択すると、有効 コラムの値が
TrueまたはFalseに更新されます。
1.1.3. ユーザーの削除 リンクのコピーリンクがクリップボードにコピーされました!
- Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
- 削除するユーザーを選択します。
- ユーザーの削除 をクリックします。
- 再度、ユーザーの削除 をクリックします。
削除の操作は元に戻すことはできません。
1.2. ロールの管理 リンクのコピーリンクがクリップボードにコピーされました!
1.2.1. ロールの表示 リンクのコピーリンクがクリップボードにコピーされました!
利用可能なロールを一覧表示するには、以下のコマンドを実行します。
指定のロールの詳細を取得するには、以下のコマンドを実行します。
keystone role-get [ROLE]
$ keystone role-get [ROLE]
例
1.2.2. ロールの作成および割り当て リンクのコピーリンクがクリップボードにコピーされました!
ユーザーは複数のプロジェクトのメンバーにすることができます。複数のプロジェクトにユーザーを割り当てるには、ロールを作成してそのロールをユーザーとプロジェクトのペアに割り当てます。
ユーザー、ロール、プロジェクトの指定には名前または ID を使用することができます。
new-roleロールを作成します。keystone role-create --name [ROLE_NAME]
$ keystone role-create --name [ROLE_NAME]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーをプロジェクトに割り当てるには、ロールをユーザーとプロジェクトのペアに割り当てる必要があります。これには、ユーザー、ロール、プロジェクト名/ID が必要です。
ユーザーを一覧表示します。
keystone user-list
$ keystone user-listCopy to Clipboard Copied! Toggle word wrap Toggle overflow ロールを一覧表示します。
keystone role-list
$ keystone role-listCopy to Clipboard Copied! Toggle word wrap Toggle overflow プロジェクトを一覧表示します。
keystone tenant-list
$ keystone tenant-listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ユーザーとプロジェクトのペアにロールを割り当てます。
keystone user-role-add --user [USER_NAME] --role [ROLE_NAME] --tenant [TENANT_NAME]
$ keystone user-role-add --user [USER_NAME] --role [ROLE_NAME] --tenant [TENANT_NAME]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
以下の例では、
new-roleロールがdemoとdemoのペアに割り当てられます。keystone user-role-add --user demo --role new-role --tenant demo
$ keystone user-role-add --user demo --role new-role --tenant demoCopy to Clipboard Copied! Toggle word wrap Toggle overflow demoのロール割り当てを確認するには、以下のコマンドを実行します。keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]
$ keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
keystone user-role-list --user demo --tenant demo
$ keystone user-role-list --user demo --tenant demoCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.3. ロールの削除 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーとプロジェクトのペアからロールを削除します。
keystone user-role-remove --user [USER_NAME] --role [ROLE] --tenant [TENANT_NAME]
$ keystone user-role-remove --user [USER_NAME] --role [ROLE] --tenant [TENANT_NAME]Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロールが削除されていることを確認します。
keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]
$ keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]Copy to Clipboard Copied! Toggle word wrap Toggle overflow ロールが削除された場合、そのロールはコマンドの出力から省略されます。
1.2.4. プロジェクトユーザーの Compute クォータの表示 リンクのコピーリンクがクリップボードにコピーされました!
現在設定されているプロジェクトユーザー (テナントユーザー) のクォータ値を表示するには、以下を実行します。
nova quota-show --user [USER] --tenant [TENANT]
$ nova quota-show --user [USER] --tenant [TENANT]
例
1.2.5. プロジェクトユーザーの Compute クォータの更新 リンクのコピーリンクがクリップボードにコピーされました!
特定のクォータ値を更新するには、以下を実行します。
nova quota-update --user [USER] --[QUOTA_NAME] [QUOTA_VALUE] [TENANT] nova quota-show --user [USER] --tenant [TENANT]
$ nova quota-update --user [USER] --[QUOTA_NAME] [QUOTA_VALUE] [TENANT]
$ nova quota-show --user [USER] --tenant [TENANT]
例
quota-update コマンドのオプション一覧を表示するには、以下を実行します。
nova help quota-update
$ nova help quota-update
1.2.6. ロールアクセス制御の設定 リンクのコピーリンクがクリップボードにコピーされました!
異なるテナントで異なるロールをユーザーに割り当てることができます。また、同じテナントでユーザーに複数のロールを割り当てることも可能です。
/etc/[SERVICE-CODENAME]/policy.json ファイルは、特定のサービスでユーザーが実行できるタスクを制御します。以下に例を示します。
-
/etc/nova/policy.jsonは Compute Service のアクセスポリシーを指定します。 -
/etc/glance/policy.jsonは Imager Service のアクセスポリシーを指定します。 -
/etc/keystone/policy.jsonは Identity Service のアクセスポリシーを指定します。
Compute Service、Identity Service、Image Service 用のデフォルトの policy.json ファイルは、admin ロールのみを認識します。admin ロールが必要ない操作はすべて、テナント内のどのロールが割り当てられたユーザーでもアクセスすることができます。
たとえば、Compute Service でユーザーが操作を実行できないようにするには、Identity Service でロールを作成し、そのロールをユーザーに割り当ててから Compute の操作にはそのロールが必要となるように /etc/nova/policy.json を編集します。
例
/etc/nova/policy.json の以下の行は、ボリュームの作成が可能なユーザーに対する制限がないことを指定します。テナント内で何らかのロールが割り当てられていれば、そのテナントでボリュームを作成することができます。
"volume:create": [],
"volume:create": [],
例
特定のテナントで compute-user ロールが割り当てられたユーザーに対してボリュームの作成を制限するには、Compute ポリシーに「role:compute-user」と追記してください。
"volume:create": ["role:compute-user"],
"volume:create": ["role:compute-user"],
例
このロールがすべての Compute Service 要求に必要となるように制限すると、ファイルの値は以下のようになります (このサンプルは省略されています)。