ユーザーおよびアイデンティティー管理ガイド


Red Hat OpenStack Platform 8

ユーザーおよび認証メカニズムの管理

OpenStack Documentation Team

概要

ユーザーおよびアイデンティティー管理ガイドでは、Red Hat OpenStack Platform 環境のユーザーロール、クォータ、プロジェクト、プロジェクトセキュリティー、Identity サービスの管理手順を説明します。

前書き

クラウドの管理者は、プロジェクト、ユーザー、ロールを管理することができます。プロジェクトとは、ユーザーの割り当てが可能な、クラウド内の組織単位のことです。プロジェクトは、テナントまたはアカウントとしても知られています。ユーザーは、1 つまたは複数のプロジェクトに所属することができます。ロールは、ユーザーが実行することのできるアクションを定義します。

各 OpenStack デプロイメントには、最低でもプロジェクト、ユーザー、ロールが 1 つずつあり、それらが連携している必要があります。クラウド管理者は、プロジェクトとユーザーの追加、更新、削除、1 つまたは複数のプロジェクトへのユーザーの割り当てを行うことができます。プロジェクトとユーザーは、個別に管理することが可能です。

Keystone Identity サービスでユーザー認証を設定して、サービスおよびエンドポイントへのアクセスを制御することも可能です。Keystone では、トークンベースの認証が提供され、LDAP と Active Directory と統合することができるため、ユーザーとアイデンティティーを外部で管理し、Keystone とユーザーデータを同期できます。

第1章 ユーザー管理

1.1. ユーザー管理

クラウド管理者は、Dashboard でユーザーの追加、変更、削除ができます。ユーザーは、1 つまたは複数のプロジェクトに所属することができます。プロジェクトとユーザーは、個別に管理することが可能です。

1.1.1. ユーザーの作成

Dashboard でユーザーを作成するには、以下の手順に従ってください。主プロジェクトおよびロールをユーザーに割り当てることができます。Dashboard で作成したユーザーは、デフォルトでは Keystone のユーザーとなっています。Active Directory ユーザーを統合するには、Red Hat OpenStack Platform の Identity サービスに含まれる LDAP プロバイダーを設定してください。

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
  2. ユーザーの作成 をクリックします。
  3. ユーザーのユーザー名、メールアドレス、仮のパスワードを入力します。
  4. 主プロジェクト のリストからプロジェクトを選択します。
  5. ロール のリストからユーザーのロールを選択します (デフォルトは _member_ です)。
  6. ユーザーの作成 をクリックします。

1.1.2. ユーザーの編集

主プロジェクトなど、ユーザーの詳細を更新するには、以下の手順に従います。

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
  2. ユーザーの アクション コラムで、編集 をクリックします。
  3. ユーザーの更新 ウィンドウで、ユーザー名メール主プロジェクト を更新できます。
  4. ユーザーの更新 をクリックします。

1.1.3. ユーザーの有効化/無効化

ユーザーを有効化または無効化するには、以下の手順に従います。1 度に 1 ユーザーしか無効化または有効化できません。無効化されたユーザーは Dashboard にはログインできず、OpenStack サービスへのアクセスもできません。また、無効化されたユーザーの主プロジェクトもアクティブに設定できません。アクションを元に戻せないユーザーの削除とは異なり、無効化されたユーザーをもう 1 度有効化することができます。また、ユーザーが無効な場合には、Dashboard のユーザーとプロジェクトのアクションを実行するには、ユーザーを有効化する必要があります。

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
  2. Actions コラムでドロップダウンリストをクリックし、Enable User または Disable User を選択します。これにより、有効 コラムの値が True または False に更新されます。

1.1.4. ユーザーの削除

管理ユーザーが Dashboard を使用してユーザーを削除するには、以下の手順を実行します。このアクションは、ユーザーの無効化とは異なり、元に戻すことはできません。ユーザーを無効にした場合には、所属するプロジェクトのメンバーリストから削除されます。ユーザーとプロジェクトのペアに関連付けられたロールはすべて失われます。

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > ユーザー を選択します。
  2. 削除するユーザーを選択します。
  3. Delete Users をクリックします。Confirm Delete Users ウィンドウが表示されます。
  4. ユーザーの削除 をクリックしてアクションを確認します。

第2章 ロールの管理

2.1. ロールの管理

OpenStack はロールベースアクセス制御 (RBAC) のメカニズムを使用して、リソースへのアクセスを管理します。ロールは、ユーザーが実行可能なアクションを定義します。デフォルトでは、テナントにアタッチされるメンバーロールと、管理者以外のユーザーが環境を管理できるようにする管理者ロールという事前定義済みのロールが 2 つあります。パーミッションには抽象レベルがあり、管理者が必要なロールを作成して適切にサービスを設定することができる点に注意してください。

2.1.1. ロールの表示

利用可能な事前定義済みのロールをリスト表示するには、以下のコマンドを使用します。

$ keystone role-list
+----------------------------------+---------------+
|                id                |      name     |
+----------------------------------+---------------+
| 71ccc37d41c8491c975ae72676db687f |     Member    |
| 149f50a1fe684bfa88dae76a48d26ef7 | ResellerAdmin |
| 9fe2ff9ee4384b1894a90878d3e92bab |    _member_   |
| 6ecf391421604da985db2f141e46a7c8 |     admin     |
+----------------------------------+---------------+
Copy to Clipboard Toggle word wrap

指定したロールの詳細を取得するには、以下のコマンドを実行します。

$ keystone role-get [ROLE]
Copy to Clipboard Toggle word wrap

$ keystone role-get admin
+----------+----------------------------------+
| Property |              Value               |
+----------+----------------------------------+
|    id    | 6ecf391421604da985db2f141e46a7c8 |
|   name   |             admin                |
+----------+----------------------------------+
Copy to Clipboard Toggle word wrap

2.1.2. ロールの作成および割り当て

クラウド管理者は、以下のコマンド一式を使用して Keystone クライアントでロールを作成、管理できます。各 OpenStack デプロイメントには、最低でもプロジェクト、ユーザー、ロールが 1 つずつあり、それらが連携している必要があります。ただし、ユーザーは複数のプロジェクトのメンバーになることができます。複数のプロジェクトにユーザーを割り当てるには、ロールを作成して、ユーザーとプロジェクトのペアにそのロールを割り当てます。Dashboard でユーザーを作成して、主プロジェクトとデフォルトのロールを割り当てることができる点に注意してください。

注記

ユーザー、ロール、プロジェクトの指定には名前または ID を使用することができます。

  1. new-role という名前のロールを作成します。

    $ keystone role-create --name [ROLE_NAME]
    Copy to Clipboard Toggle word wrap

    $ keystone role-create --name new-role
    +----------+----------------------------------+
    | Property |              Value               |
    +----------+----------------------------------+
    |    id    | 61013e7aa4ba4e00a0a1ab4b14bc6b2a |
    |   name   |             new-role             |
    +----------+----------------------------------+
    Copy to Clipboard Toggle word wrap

  2. ユーザーをプロジェクトに割り当てるには、ロールをユーザーとプロジェクトのペアに割り当てる必要があります。これには、ユーザー、ロール、プロジェクト名/ID を取得してください。

    1. ユーザーをリスト表示します。

      $ keystone user-list
      Copy to Clipboard Toggle word wrap
    2. ロールをリスト表示します。

      $ keystone role-list
      Copy to Clipboard Toggle word wrap
    3. プロジェクトをリスト表示します。

      $ keystone tenant-list
      Copy to Clipboard Toggle word wrap
  3. ユーザーとプロジェクトのペアにロールを割り当てます。

    $ keystone user-role-add --user [USER_NAME] --role [ROLE_NAME] --tenant [TENANT_NAME]
    Copy to Clipboard Toggle word wrap

    以下の例では、new-role ロールを demo-demo ペアに割り当てます。

    $ keystone user-role-add --user demo --role new-role --tenant demo
    Copy to Clipboard Toggle word wrap
  4. ユーザー demo のロール割り当てを確認します。

    $ keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]
    Copy to Clipboard Toggle word wrap

    $ keystone user-role-list --user demo --tenant demo
    Copy to Clipboard Toggle word wrap

2.1.3. ロールの削除

  1. 以下のコマンドを使用して、ユーザーとプロジェクトのペアからロールを削除します。ロールを削除すると、関連するユーザーとプロジェクトのペアリングが失われます。

    $ keystone user-role-remove --user [USER_NAME] --role [ROLE] --tenant [TENANT_NAME]
    Copy to Clipboard Toggle word wrap
  2. ロールの削除を確認します。

    $ keystone user-role-list --user [USER_NAME] --tenant [TENANT_NAME]
    Copy to Clipboard Toggle word wrap

    ロールが削除されると、コマンドの出力により、削除されたロールが省略されます。

第3章 グループの管理

3.1. keystone グループの管理

3.1.1. コマンドラインの使用

Identity サービス (keystone) グループを使用すると、一定のパーミッションを複数のユーザーアカウントに割り当てることができます。以下の例では、グループを作成して、そのグループにパーミッションを割り当てます。その結果、そのグループに割り当てられているのと同じパーミッションがグループのメンバーに継承されます。

注記

openstack group サブコマンドには keystone v3 が必要です。

  1. grp-Auditors というグループを作成します。

    $ openstack group create grp-Auditors
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description |                                  |
    | domain_id   | default                          |
    | id          | 2a4856fc242142a4aa7c02d28edfdfff |
    | name        | grp-Auditors                     |
    +-------------+----------------------------------+
    Copy to Clipboard Toggle word wrap
  2. keystone グループのリストを表示します。

    $ openstack group list --long
    +----------------------------------+--------------+-----------+-------------+
    | ID                               | Name         | Domain ID | Description |
    +----------------------------------+--------------+-----------+-------------+
    | 2a4856fc242142a4aa7c02d28edfdfff | grp-Auditors | default   |             |
    +----------------------------------+--------------+-----------+-------------+
    Copy to Clipboard Toggle word wrap
  3. _member_ ロールを使用して demo プロジェクトにアクセスするための grp-Auditors グループパーミッションを付与します。

    $ openstack role add _member_ --group grp-Auditors --project demo
    Copy to Clipboard Toggle word wrap
  4. 既存のユーザー user1grp-Auditors グループに追加します。

    $ openstack group add user grp-Auditors user1
    user1 added to group grp-Auditors
    Copy to Clipboard Toggle word wrap
  5. user1grp-Auditors のメンバーであることを確認します。

    $ openstack group contains user grp-Auditors user1
    user1 in group grp-Auditors
    Copy to Clipboard Toggle word wrap
  6. user1 に割り当てられている有効なパーミッションを確認します。

    $ openstack role assignment list --effective --user user1
    +----------------------------------+----------------------------------+-------+----------------------------------+--------+-----------+
    | Role                             | User                             | Group | Project                          | Domain | Inherited |
    +----------------------------------+----------------------------------+-------+----------------------------------+--------+-----------+
    | 9fe2ff9ee4384b1894a90878d3e92bab | 3fefe5b4f6c948e6959d1feaef4822f2 |       | 0ce36252e2fb4ea8983bed2a568fa832 |        | False     |
    +----------------------------------+----------------------------------+-------+----------------------------------+--------+-----------+
    Copy to Clipboard Toggle word wrap

3.1.2. Dashboard の使用

Dashboard を使用して keystone グループのメンバーシップを管理することができます。グループへのロールパーミッションの割り当てには、上記の例で説明したようにコマンドラインを使用する必要があります。

3.1.2.1. グループの作成
  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > グループ を選択します。
  2. +グループの作成 をクリックします。
  3. グループの名前と説明を入力します。
  4. グループの作成 をクリックします。
3.1.2.2. グループメンバーシップの管理

Dashboard を使用して keystone グループのメンバーシップを管理することができます。

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > グループ を選択します。
  2. 編集する必要のあるグループの メンバーの管理 をクリックします。
  3. ユーザーの追加 を使用して、グループにユーザーを追加します。ユーザーを削除する必要がある場合には、そのユーザーのチェックボックスを選択して、ユーザーの削除 をクリックします。

第4章 クォータ管理

4.1. クォータ管理

クラウド管理者は、プロジェクトのクォータを設定、管理できます。各プロジェクトには、リソースが割り当てられており、プロジェクトユーザーには、これらのリソースを使用するパーミッションが付与されます。これにより、相互のパーミッションやリソースを干渉することなく、複数のプロジェクトが単一のクラウドを使用できます。リソースクォータのセットは、新規テナントの作成時に事前設定されます。クォータには、テナントに割り当て可能な仮想 CPU、インスタンス、RAM、Floating IP の数量が含まれます。クォータは、テナント (またはプロジェクト) と、テナントのユーザーレベルの両方で強制できます。Dashboard を使用して新規/既存のテナントの Compute または Block Storage のクォータを設定または変更できる点に注意してください。Dashboard でのプロジェクトクォータの設定および更新の手順については、5章プロジェクト管理を参照してください。

4.1.1. ユーザーのコンピュートクォータの表示

ユーザーに現在設定されているクォータの値をリスト表示するには、以下のコマンドを実行します。

$ nova quota-show --user [USER] --tenant [TENANT]
Copy to Clipboard Toggle word wrap

$ 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    |
+-----------------------------+-------+
Copy to Clipboard Toggle word wrap

4.1.2. ユーザーのコンピュートクォータの更新

特定のクォータ値を更新するには、以下のコマンドを実行します。

$ nova quota-update --user [USER] --[QUOTA_NAME] [QUOTA_VALUE] [TENANT]
$ nova quota-show --user [USER] --tenant [TENANT]
Copy to Clipboard Toggle word wrap

$ 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    |
| ...                         |       |
+-----------------------------+-------+
Copy to Clipboard Toggle word wrap

注記

quota-update コマンドのオプションリストを表示するには、以下を実行します。

$ nova help quota-update
Copy to Clipboard Toggle word wrap

4.1.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
Copy to Clipboard Toggle word wrap

オブジェクトストレージクォータの表示および更新には、以下のコマンドを使用します。プロジェクトに含まれるすべてのユーザーには、そのプロジェクトに指定されているクォータが表示されます。プロジェクトに設定されているオブジェクトストレージのクォータを更新するには、そのプロジェクトの 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
Copy to Clipboard Toggle word wrap

クォータを更新するには、以下を実行します。

# swift post -m quota-bytes:<BYTES>
Copy to Clipboard Toggle word wrap

たとえば、アカウントに 5 GB のクォータを指定します。

# swift post -m quota-bytes:5368709120
Copy to Clipboard Toggle word wrap

クォータの確認をするには 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
Copy to Clipboard Toggle word wrap

第5章 プロジェクト管理

5.1. プロジェクト管理

クラウド管理者は、プロジェクト (テナント) を作成、管理することができます。テナントは、OpenStack ユーザーとリソースの数が割り当てられたプロジェクトです。テナントごとにクォータを設定することができます。これにより、相互のパーミッションやリソースを干渉することなく、複数のプロジェクトが単一のクラウドを使用できます。プロジェクトとテナントという用語はいずれも同じ意味で使用されます。ユーザーは、複数のプロジェクトに割り当てることができます。ユーザーとプロジェクトのペアごとに、ロールを 1 つ割り当てる必要があります。

5.1.1. プロジェクトの作成

プロジェクトの作成、プロジェクトへのメンバーの追加、プロジェクトのリソース制限の設定は、以下の手順を実行します。

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > プロジェクト を選択します。
  2. プロジェクトの作成 をクリックします。
  3. プロジェクト情報 タブでプロジェクトの名前と説明を入力します (有効 のチェックボックスはデフォルトで選択されます)。
  4. プロジェクトへのメンバーの追加は、プロジェクトメンバー タブの すべてのユーザー リストから行います。
  5. Quotas タブで、プロジェクトのリソースの上限を指定します。
  6. プロジェクトの作成 をクリックします。

5.1.2. プロジェクトの編集

プロジェクトを編集して名前や説明を変更したり、プロジェクトを有効化または一時的に無効化したり、メンバーを更新したりすることができます。

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > プロジェクト を選択します。
  2. プロジェクトの アクション コラムで、下向きの三角をクリックして プロジェクトの編集 をクリックします。
  3. プロジェクトの編集 ウィンドウでプロジェクトを更新して名前や説明を変更したり、プロジェクトを有効化または一時的に無効化したりすることができます。
  4. Project Members タブで、必要に応じてメンバーをプロジェクトに追加または削除します。
  5. Save をクリックします。
注記

デフォルトで、Enabled のチェックボックスが選択されています。プロジェクトを一時的に無効にするには、Enabled のチェックボックスのチェックマークを外します。無効なプロジェクトを有効にするには、有効 チェックボックスを選択します。

5.1.3. プロジェクトの削除

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > プロジェクト を選択します。
  2. 削除するプロジェクトを選択します。
  3. プロジェクトの削除 をクリックします。Confirm Delete Projects ウィンドウが表示されます。
  4. プロジェクトの削除 をクリックしてアクションを確認します。

プロジェクトが削除され、ユーザーとのペアリングの関連付けは解除されます。

5.1.4. プロジェクトクォータの更新

クォータとは、クラウドリソースを最適化するためにプロジェクトごとに設定可能な操作の制約のことです。クォータを設定して、通知なしにプロジェクトのリソースが使い果たされないようにします。クォータは、プロジェクトレベルとプロジェクトとユーザーレベルの両方で実行できます。

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > プロジェクト を選択します。
  2. プロジェクトの アクション コラムで、下向きの三角をクリックして クォータの変更 をクリックします。
  3. クォータ タブで、必要に応じてプロジェクトクォータを変更します。
  4. 保存 をクリックします。

5.1.5. 現在のプロジェクトの変更

ユーザーは、メンバーとなっているプロジェクトのみ、現在のプロジェクトとして設定することができます。また、現在のプロジェクトに設定 オプションを有効にするには、ユーザーが複数のプロジェクトのメンバーである必要があります。現在のプロジェクトとして設定すると、現在のプロジェクトとして指定されたプロジェクトのオブジェクトに、Dashboard からアクセスできるようになります。無効にしたプロジェクトは、有効化しない限り、現在のプロジェクトとして設定できません。

  1. Dashboard に管理ユーザーとしてログインして アイデンティティー > プロジェクト を選択します。
  2. プロジェクトの アクション コラムで、下向きの三角をクリックして 現在のプロジェクトに設定 をクリックします。
  3. または、管理者権限のないユーザーで、プロジェクトの アクション コラムの下向きの三角をクリックして 現在のプロジェクトに設定 をクリックすると、このコラムのデフォルトアクションになります。

5.2. プロジェクトのセキュリティー管理

セキュリティーグループとは、プロジェクトのインスタンスに割り当て可能な IP フィルターのルールセットで、インスタンスへのネットワークのアクセス権限を定義します。セキュリティーグループはプロジェクト別になっており、プロジェクトメンバーは自分のセキュリティーグループのデフォルトルールを編集して新規ルールセットを追加できます。

プロジェクトにはすべて default セキュリティーグループが存在し、他にセキュリティーグループが定義されていないインスタンスに対して適用されます。このセキュリティーグループは、デフォルト値を変更しない限り、インスタンスへの受信トラフィックをすべて拒否し、送信トラフィックのみを許可します。

5.2.1. セキュリティーグループの作成

  1. Dashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択します。
  2. セキュリティーグループ タブで、セキュリティーグループの作成 をクリックします。
  3. セキュリティーグループに名前と説明を指定して、セキュリティーグループの作成 をクリックします。

5.2.2. セキュリティーグループのルールの追加

デフォルトでは、新しいグループには、送信アクセスのルールのみが指定されます。他のアクセスを指定するには、新しいルールを追加する必要があります。

  1. Dashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択します。
  2. Security Groups タブで、編集するセキュリティーグループの Manage Rules をクリックします。
  3. Add Rule をクリックして、新規ルールを追加します。
  4. ルールの値を指定して、Add をクリックします。

    以下のルールのフィールドは必須です。

    ルール

    ルールタイプ。ルールテンプレート (例: SSH) を指定する場合には、そのフィールドは自動的に入力されます。

    • TCP: 一般的には、システム間のデータの交換や、エンドユーザーの通信に使用されます。
    • UDP: 一般的には、システム間のデータ交換に (特にアプリケーションレベルで) 使用されます。
    • ICMP: 一般的には、ルーターなどのネットワークデバイスがエラーや監視メッセージを送信するのに使用されます。
    方向
    受信 (インバウンド) または送信 (アウトバウンド)
    開放するポート

    TCP または UDP ルールでは、開放する Port または Port Range (単一のポートまたはポートの範囲) を入力します。

    • ポート範囲では、From PortTo Port フィールドにポートの値を入力します。
    • 単一のポートの場合は Port フィールドにポートの値を入力します。
    タイプ
    ICMP ルールのタイプ。-1:255 の範囲で指定する必要があります。
    コード
    ICMP ルールのコード。-1:255 の範囲で指定する必要があります。
    接続相手

    このルールが適用されるトラフィックの接続元

    • CIDR (Classless Inter-Domain Routing): 指定のブロック内の IP へのアクセスを制限する IP アドレスブロック。ソースフィールドに CIDR を入力します。
    • セキュリティーグループ: グループ内のインスタンスが他のグループインスタンスにアクセスできるようにするソースのセキュリティーグループ

5.2.3. セキュリティーグループルールの削除

  1. Dashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択します。
  2. Security Groups タブで、セキュリティーグループの Manage Rules をクリックします。
  3. セキュリティーグループルールを選択し、Delete Rule ボタンをクリックします。
  4. 再度、Delete Rule をクリックします。
注記

削除の操作は元に戻すことはできません。

5.2.4. セキュリティーグループの削除

  1. Dashboard で プロジェクト > コンピュート > アクセスとセキュリティー を選択します。
  2. Security Groups タブで、グループを選択して、Delete Security Groups をクリックします。
  3. Delete Security Groups をクリックします。
注記

削除の操作は元に戻せません。

5.3. Identity サービスにおける階層型マルチテナンシー

OpenStack Identity サービス(keystone)では、マルチテナンシーを使用してプロジェクトをネストできます。ドメインは、各ユーザー、グループ、およびプロジェクトのコレクションを表し、それぞれが 1 つのドメインによって所有されます。他のドメインが所有するプロジェクトを含め、ユーザーをプロジェクトのそれらに付与することで、ユーザーは複数のプロジェクトに関連付けることができます。プロジェクトはリソースのコンテナーであり、これは仮想マシンイメージへのクォータおよびアクセスを定義します。

注記

マルチテナンシーはテクノロジープレビューとして利用できます。テクノロジープレビューと記した機能のサポート範囲についての詳細は、https://access.redhat.com/support/offerings/techpreview/を参照してください。

第6章 ドメイン管理

Identity サービス (keystone) ドメインは、keystone で作成可能な追加の名前空間です。keystone ドメインは、ユーザー、グループ、プロジェクトの分割に使用できます。そのように分離されたドメインは、異なる LDAP または Active Directory 環境でユーザーを認証するために設定することも可能です。詳細は、Identity サービスとの統合 を 参照してください。

注記

Identity Service には、Default という名前のドメインが組み込まれています。このドメインは、サービスアカウント専用に確保し、ユーザーアカウント用には別のドメインを作成することを推奨します。

6.1. ドメインリストの表示

openstack domain list でドメインのリストを表示することができます。以下に例を示します。

$ openstack domain list
+----------------------------------+------------------+---------+--------------------+
| ID                               | Name             | Enabled | Description        |
+----------------------------------+------------------+---------+--------------------+
| 3abefa6f32c14db9a9703bf5ce6863e1 | TestDomain       | True    |                    |
| 69436408fdcb44ab9e111691f8e9216d | corp             | True    |                    |
| a4f61a8feb8d4253b260054c6aa41adb | federated_domain | True    |                    |
| default                          | Default          | True    | The default domain |
+----------------------------------+------------------+---------+--------------------+
Copy to Clipboard Toggle word wrap
注記

このコマンドが利用できない場合には、コマンドラインセッションで keystone v3 が有効化されているかどうかを確認してください。

6.2. 新規ドメインの作成

openstack domain create を使用して新規ドメインを作成することができます。以下に例を示します。

$ openstack domain create TestDomain
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description |                                  |
| enabled     | True                             |
| id          | 3abefa6f32c14db9a9703bf5ce6863e1 |
| name        | TestDomain                       |
+-------------+----------------------------------+
Copy to Clipboard Toggle word wrap

6.3. ドメインの詳細情報の表示

openstack domain show でドメインの詳細情報を表示することができます。以下に例を示します。

$ openstack domain show TestDomain
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description |                                  |
| enabled     | True                             |
| id          | 3abefa6f32c14db9a9703bf5ce6863e1 |
| name        | TestDomain                       |
+-------------+----------------------------------+
Copy to Clipboard Toggle word wrap

6.4. ドメインの無効化

  1. --disable でドメインを無効にすることができます。以下に例を示します。

    $ openstack domain set TestDomain --disable
    Copy to Clipboard Toggle word wrap
  2. ドメインが無効化されたことを確認します。

    $ openstack domain show TestDomain
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description |                                  |
    | enabled     | False                            |
    | id          | 3abefa6f32c14db9a9703bf5ce6863e1 |
    | name        | TestDomain                       |
    +-------------+----------------------------------+
    Copy to Clipboard Toggle word wrap
  3. 必要な場合には、ドメインを再度有効化することができます。

    $ openstack domain set TestDomain --enable
    Copy to Clipboard Toggle word wrap

第7章 アイデンティティー管理

7.1. セキュアな LDAP 通信

Identity サービス (Keystone) が LDAP サーバーに対して認証を行うか、LDAP サーバーから識別情報を取得するように設定した場合に、CA 証明書を使用して Identity サービスの LDAP 通信をセキュリティー保護することができます。

本項では、Active Directory からの CA 証明書の取得、CA 証明書ファイルの Privacy Enhanced Mail (PEM) ファイル形式への変換、Identity サービスのセキュアな LDAP 通信設定の 3 つの方法について説明します。それぞれの方法での手順は、CA 信頼が設定された場所および方法に応じて実行するようにしてください。

7.1.1. Active Directory からの CA 証明書の取得

以下のコードは、Active Directory に対してクエリーを実行して CA 証明書を取得する方法の例を示しています。CA_NAME は証明書の名前に置き換え (mmc.exe で確認可能)、その他のパラメーターは実際の設定に応じて変更することができます。

CA_NAME="WIN2012DOM-WIN2012-CA"
AD_SUFFIX="dc=win2012dom,dc=com" LDAPURL="ldap://win2012.win2012dom.com"
ADMIN_DN="cn=Administrator,cn=Users,$AD_SUFFIX"
ADMINPASSWORD="MyPassword"

CA_CERT_DN="cn=latexmath:[$CA_NAME,cn=certification authorities,cn=public key services,cn=services,cn=configuration,$]AD_SUFFIX"

TMP_CACERT=/tmp/cacert.`date +'%Y%m%d%H%M%S'`.$$.pem

ldapsearch -xLLL -H
latexmath:[$LDAPURL -D `echo \"$]ADMIN_DN"`-W -s base -b`echo
"$CA_CERT_DN"` objectclass=* cACertificate
Copy to Clipboard Toggle word wrap

7.1.2. CA 証明書の PEM ファイル形式への変換

/path/cacert.pem という名前のファイルを作成し、以下の例に示したように、Active Directory から CA 証明書を取得するための LDAP クエリーの内容をヘッダーとフッターの間に追加します。

-----BEGIN CERTIFICATE-----
MIIDbzCCAlegAwIBAgIQQD14hh1Yz7tPFLXCkKUOszANB... -----END
CERTIFICATE-----
Copy to Clipboard Toggle word wrap

トラブルシューティングを行う場合には、以下のクエリーを実行して LDAP が稼働しているかをチェックし、PEN 証明書ファイルが正しく作成されたことを確認してください。

LDAPTLS_CACERT=/path/cacert.pem ldapsearch -xLLL -ZZ -H $LDAPURL -s base -b "" "objectclass=*" currenttime
Copy to Clipboard Toggle word wrap

このクエリーによって、以下のような結果が返されるはずです。

dn: currentTime:
20141022050611.0Z
Copy to Clipboard Toggle word wrap

CA 証明書が Web サーバーでホストされていた場合には、以下のコマンドを実行して CA 証明書を取得することができます。

  • $HOST=redhat.com
  • $PORT=443
# echo Q | openssl s_client -connect $HOST:$PORT | sed -n -e '/BEGIN CERTIFICATE/,/END CERTIFICATE/ p'
Copy to Clipboard Toggle word wrap

7.1.3. Identity サービスのセキュアな LDAP 通信を設定する方法

7.1.3.1. 方法 1

CA 信頼が PEM ファイルを使用して LDAP レベルで設定されている場合は、この方法を使用してください。CA 証明書ファイルの場所は手動で指定します。以下の手順では、Identity サービスだけでなく、OpenLDAP ライブラリーを使用する全アプリケーションの LDAP 通信が保護されます。

  1. CA 証明書チェーンが含まれているファイルを PEM 形式で /etc/openldap/certs ディレクトリーにコピーします。
  2. /etc/openldap/ldap.conf を編集して以下のディレクティブを追加します。[CA_FILE] は CA 証明書ファイルの場所と名前に置き換えます。

    TLS_CACERT /etc/openldap/certs/[CA_FILE]
    Copy to Clipboard Toggle word wrap
  3. openstack-keystone サービスを再起動します。

    # systemctl restart openstack-keystone.service
    Copy to Clipboard Toggle word wrap
7.1.3.2. 方法 2

CA 信頼が Network Security Services (NSS) データベースを介して LDAP ライブラリーレベルで設定されている場合は、この方法を使用します。certutil コマンドを使用して、OpenLDAP ライブラリーが使用する NSS 証明書データベースに CA 証明書をインポートし、信頼します。以下の手順では、Identity サービスだけでなく、OpenLDAP ライブラリーを使用する全アプリケーションの LDAP 通信が保護されます。

  1. 証明書をインポートして信頼します。[CA_FILE] は CA 証明書ファイルの場所と名前に置き換えます。

    # certutil -d /etc/openldap/certs -A -n "My CA" -t CT,, -a -i [CA_FILE]
    Copy to Clipboard Toggle word wrap
  2. CA 証明書が正しくインポートされていることを確認します。

    # certutil -d /etc/openldap/certs -L
    Copy to Clipboard Toggle word wrap

    CA 証明書がリストされ、信頼の属性が CT,, に設定されます。

  3. openstack-keystone サービスを再起動します。

    # systemctl restart openstack-keystone.service
    Copy to Clipboard Toggle word wrap
7.1.3.3. 方法 3

CA 信頼が PEM ファイルを使用して Keystone レベルで設定されている場合は、この方法を使用します。Identity サービスと LDAP サーバー間の通信をセキュリティー保護する最後のメソッドは、Identity サービスに TLS を設定する方法です。

ただし、上記の 2 つのメソッドとは異なり、このメソッドでは、Identity サービスの LDAP 通信のみがセキュリティー保護され、OpenLDAP ライブラリーを使用する他のアプリケーションの LDAP 通信はセキュリティー保護されません。

以下の手順では、openstack-config コマンドを使用して /etc/keystone/keystone.conf ファイル内の値を編集します。

  1. TLS を有効化します。

    # openstack-config --set /etc/keystone/keystone.conf ldap use_tls True
    Copy to Clipboard Toggle word wrap
  2. 証明書の場所を指定します。[CA_FILE] は CA 証明書ファイルの名前に置き換えます。

    # openstack-config --set /etc/keystone/keystone.conf ldap tls_cacertfile [CA_FILE]
    Copy to Clipboard Toggle word wrap
  3. LDAP サーバーから受信した TLS セッションに対して実行するクライアント証明書チェックを指定します。[CERT_BEHAVIOR] は、以下にあげる動作のいずれか 1 つに置き換えてください。

    demand
    LDAP サーバーにより証明書が常に要求されます。証明書が提供されなかった場合、または提供された証明書が既存の認証局ファイルに対して検証できなかった場合には、セッションは終了します。
    allow
    LDAP サーバーにより証明書が常に要求されます。証明書が提供されなくてもセッションは通常どおり続行されます。証明書が提供されたにもかかわらず、既存の認証局ファイルに対して検証できなかった場合、その証明書は無視され、セッションは通常どおり続行されます。
    never
    証明書は一切要求されません。
    # openstack-config --set /etc/keystone/keystone.conf ldap tls_req_cert [CERT_BEHAVIOR]
    Copy to Clipboard Toggle word wrap
  4. openstack-keystone サービスを再起動します。

    # systemctl restart openstack-keystone.service
    Copy to Clipboard Toggle word wrap

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る