第1章 ユーザーとロール管理
1.1. ユーザー管理
クラウド管理者は、Dashboard でユーザーの追加、変更、削除ができます。ユーザーは、1 つまたは複数のプロジェクトに所属することができます。また、プロジェクトとユーザーは個別に管理することができます。
1.1.1. ユーザーの作成
Dashboard でユーザーを作成するには、以下の手順に従ってください。主要なプロジェクトとロールをユーザーに割り当てることができます。Dashboard で作成したユーザーは、デフォルトでは Keystone のユーザーとなっています。Active Directory ユーザーを統合するには、Red Hat OpenStack Platform の Identity サービスに含まれる LDAP プロバイダーを設定してください。
- Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
- ユーザーの作成 をクリックします。
- ユーザーのユーザー名、メールアドレス、仮のパスワードを入力します。
- 主プロジェクト のリストからプロジェクトを選択します。
-
ロール のリストからロールを選択します (デフォルトは
_member_です)。 - ユーザーの作成 をクリックします。
1.1.2. ユーザーの編集
以下の手順に従って、主プロジェクトなど、ユーザーの詳細を更新します。
- Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
- ユーザーの アクション コラムで、編集 をクリックします。
- ユーザーの更新 ウィンドウで、ユーザー名、メール、主プロジェクト を更新できます。
- ユーザーの更新 をクリックします。
1.1.3. ユーザーの有効化/無効化
以下の手順に従って、ユーザーを有効化または無効化します。1 度に 1 ユーザーしか無効化または有効化できません。無効化されたユーザーは Dashboard にはログインできず、OpenStack サービスへのアクセスもできません。また、無効化されたユーザーの主プロジェクトもアクティブに設定できません。アクションを元に戻せないユーザーの削除とは異なり、無効化されたユーザーをもう 1 度有効化することができます。また、ユーザーが無効な場合には、Dashboard のユーザーとプロジェクトのアクションを実行するには、ユーザーを有効化する必要があります。
- Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
-
アクション コラムでドロップダウンリストをクリックし、ユーザーの有効化 または ユーザーの無効化 を選択すると、有効 コラムの値が
TrueまたはFalseに更新されます。
1.1.4. ユーザーの削除
管理者ユーザーが Dashboard を使用してユーザーを削除するには、以下の手順を実行します。このアクションは、ユーザーの無効化とは異なり、元に戻すことはできません。ユーザーを無効にした場合には、所属するプロジェクトのメンバー一覧から削除されます。ユーザーとプロジェクトのペアに関連付けられたロールはすべて失われます。
- Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
- 削除するユーザーを選択します。
- ユーザーの削除 をクリックします。ユーザーの削除の確認 ウィンドウが表示されます。
- ユーザーの削除 をクリックしてアクションを確認します。
1.2. ロールの管理
OpenStack はロールベースアクセス制御 (RBAC) のメカニズムを使用して、リソースへのアクセスを管理します。ロールは、ユーザーが実行可能なアクションを定義します。デフォルトでは、テナントにアタッチされるメンバーロールと、管理者以外のユーザーが環境を管理できるようにする管理者ロールという事前定義済みのロールが 2 つあります。パーミッションには抽象レベルがあり、管理者が必要なロールを作成して適切にサービスを設定することができる点に注意してください。
1.2.1. ロールの表示
利用可能な事前定義済みのロールを一覧表示するには、以下のコマンドを使用します。
$ keystone role-list +----------------------------------+---------------+ | id | name | +----------------------------------+---------------+ | 71ccc37d41c8491c975ae72676db687f | Member | | 149f50a1fe684bfa88dae76a48d26ef7 | ResellerAdmin | | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | | 6ecf391421604da985db2f141e46a7c8 | admin | +----------------------------------+---------------+
指定したロールの詳細を取得するには、以下のコマンドを実行します。
$ keystone role-get [ROLE]
例
$ keystone role-get admin +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | 6ecf391421604da985db2f141e46a7c8 | | name | admin | +----------+----------------------------------+
1.2.2. ロールの作成および割り当て
クラウド管理者は、以下のコマンド一式を使用して Keystone クライアントでロールを作成、管理できます。各 OpenStack のデプロイメントには、最低でもプロジェクト、ユーザー、ロールが 1 つずつ必要で、それぞれ連携されている必要があります。ただし、ユーザーは複数のプロジェクトのメンバーになることができます。複数のプロジェクトにユーザーを割り当てるには、ロールを作成して、ユーザーとプロジェクトのペアにそのロールを割り当てます。Dashboard でユーザーを作成して、主プロジェクトとデフォルトのロールを割り当てることができる点に注意してください。
ユーザー、ロール、プロジェクトの指定には名前または ID を使用することができます。
new-roleという名前のロールを作成します。$ keystone role-create --name [ROLE_NAME]
例
$ keystone role-create --name new-role +----------+----------------------------------+ | Property | Value | +----------+----------------------------------+ | id | 61013e7aa4ba4e00a0a1ab4b14bc6b2a | | name | new-role | +----------+----------------------------------+
ユーザーをプロジェクトに割り当てるには、ロールをユーザーとプロジェクトのペアに割り当てる必要があります。これには、ユーザー、ロール、プロジェクト名/ID を取得してください。
ユーザーを一覧表示します。
$ keystone user-list
ロールを一覧表示します。
$ keystone role-list
プロジェクトを一覧表示します。
$ keystone tenant-list
ユーザーとプロジェクトのペアにロールを割り当てます。
$ keystone user-role-add --user [USER_NAME] --role [ROLE_NAME] --tenant [TENANT_NAME]
例
以下の例では、
new-roleロールがdemoとdemoのペアに割り当てられます。$ keystone user-role-add --user demo --role new-role --tenant demo
demoのロール割り当てを確認するには、以下のコマンドを実行します。$ keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]
例
$ keystone user-role-list --user demo --tenant demo
1.2.3. ロールの削除
ユーザーとプロジェクトのペアからロールを削除するには、以下のコマンドを使用します。ロールが削除されると、ユーザーとプロジェクトのペアの関連性も削除されます。
$ keystone user-role-remove --user [USER_NAME] --role [ROLE] --tenant [TENANT_NAME]
ロールが削除されていることを確認します。
$ keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]
ロールが削除された場合、そのロールはコマンドの出力から省略されます。
1.3. クォータ管理
クラウド管理者は、プロジェクトのクォータを設定、管理できます。各プロジェクトには、リソースが割り当てられており、プロジェクトユーザーには、これらのリソースを消費するアクセス権が授与されています。これにより、それぞれのパーミッションやリソースを干渉することなく、複数のプロジェクトが単一のクラウドを使用できるようにします。リソースクォータセットは、新規テナントの作成時に事前設定されます。クォータには、テナントに割り当て可能な仮想 CPU、インスタンス、Floating IP の数量が含まれます。クォータは、テナント (またはプロジェクト) およびテナントとユーザーレベルの両方で強制できます。Dashboard を使用して新規/既存のテナントのコンピュートまたは Block Storage クォータを設定または変更できる点に注意してください。Dashboard でのプロジェクトクォータの設定および更新の手順については、「2章プロジェクト管理」を参照してください。
1.3.1. ユーザーのコンピュートクォータの表示
ユーザーに現在設定されているクォータの値を一覧表示するには、以下のコマンドを実行します。
$ nova quota-show --user [USER] --tenant [TENANT]
例
$ nova quota-show --user demoUser --tenant demo +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 5 | | fixed_ips | -1 | | metadata_items | 128 | | injected_files | 5 | | injected_file_content_bytes | 10240 | | injected_file_path_bytes | 255 | | key_pairs | 100 | | security_groups | 10 | | security_group_rules | 20 | | server_groups | 10 | | server_group_members | 10 | +-----------------------------+-------+
1.3.2. ユーザーのコンピュートクォータの更新
特定のクォータ値を更新するには、以下のコマンドを実行します。
$ nova quota-update --user [USER] --[QUOTA_NAME] [QUOTA_VALUE] [TENANT] $ nova quota-show --user [USER] --tenant [TENANT]
例
$ nova quota-update --user demoUser --floating-ips 10 demo $ nova quota-show --user demoUser --tenant demo +-----------------------------+-------+ | Quota | Limit | +-----------------------------+-------+ | instances | 10 | | cores | 20 | | ram | 51200 | | floating_ips | 10 | | ... | | +-----------------------------+-------+
quota-update コマンドのオプション一覧を表示するには、以下を実行します。
$ nova help quota-update
1.3.3. ユーザーのオブジェクトストレージクォータの設定
オブジェクトストレージクォータは、以下のカテゴリーに分類できます。
- コンテナークォータ: 合計サイズ (バイト単位) または単一のコンテナーで保存可能なオブジェクト数を制限します。
- アカウントクォータ: Object Storage サービスでユーザーが利用可能な合計サイズ (バイト単位) を制限します。
コンテナークォータまたはアカウントクォータのいずれかを設定するには、Object Storage プロキシーサーバーにおいて、proxy-server.conf ファイルの [pipeline:main] セクションに container_quotas または account_quotas (または両方) のパラメーターを追加する必要があります。
[pipeline:main] pipeline = catch_errors [...] tempauth container-quotas \ account-quotas slo dlo proxy-logging proxy-server [filter:account_quotas] use = egg:swift#account_quotas [filter:container_quotas] use = egg:swift#container_quotas
オブジェクトストレージクォータの表示および更新には、以下のコマンドを使用します。プロジェクトに含まれるすべてのユーザーには、そのプロジェクトに指定されているクォータが表示されます。プロジェクトに設定されているオブジェクトストレージのクォータを更新するには、そのプロジェクトの ResellerAdmin のロールが必要です。
アカウントクォータを表示するには、以下のコマンドを実行します。
# swift stat Account: AUTH_b36ed2d326034beba0a9dd1fb19b70f9 Containers: 0 Objects: 0 Bytes: 0 Meta Quota-Bytes: 214748364800 X-Timestamp: 1351050521.29419 Content-Type: text/plain; charset=utf-8 Accept-Ranges: bytes
クォータを更新するには、以下を実行します。
# swift post -m quota-bytes:<BYTES>
たとえば、アカウントに 5 GB のクォータを指定します。
# swift post -m quota-bytes:5368709120
クォータの確認をするには swift stat コマンドをもう 1 度実行します。
# swift stat Account: AUTH_b36ed2d326034beba0a9dd1fb19b70f9 Containers: 0 Objects: 0 Bytes: 0 Meta Quota-Bytes: 5368709120 X-Timestamp: 1351541410.38328 Content-Type: text/plain; charset=utf-8 Accept-Ranges: bytes

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.