認証サービス( Keystone )は、各OpenStackサービスに対して認証機能を提供します。このセクションでは、認証サービスで使用するドメイン、プロジェクト、ユーザー、および役割を作成します。作業は、コントローラーノードで実施します。

既に default のドメインは存在しますが、ここでは新しいドメイン example を作成します。

[root@controller ~]# openstack domain create --description "An Example Domain" example
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | An Example Domain                |
| enabled     | True                             |
| id          | 8cb97e70020048cb8b27d6689b182e51 |
| name        | example                          |
| tags        | []                               |
+-------------+----------------------------------+
[root@controller ~]# 

サービスプロジェクトを作成します。

[root@controller ~]# openstack project create --domain default \
>   --description "Service Project" service
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Service Project                  |
| domain_id   | default                          |
| enabled     | True                             |
| id          | cfe83bbcacb94f2ebde2ab55e998dff2 |
| is_domain   | False                            |
| name        | service                          |
| parent_id   | default                          |
| tags        | []                               |
+-------------+----------------------------------+
[root@controller ~]# 

管理者ではないタスクが使用する特権のないプロジェクトとユーザーを作成します。まずは、特権のないプロジェクトを作成します。ここでは、特権のないプロジェクトは myproject としているので、適宜変更して下さい。

[root@controller ~]# openstack project create --domain default \
>   --description "Demo Project" myproject
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | Demo Project                     |
| domain_id   | default                          |
| enabled     | True                             |
| id          | b9644b0689c4469baa45f9acb009d860 |
| is_domain   | False                            |
| name        | myproject                        |
| parent_id   | default                          |
| tags        | []                               |
+-------------+----------------------------------+
[root@controller ~]# 

次に、特権のないユーザーを作成します。ここでは、特権のないユーザーは myuser 、myuser 用のパスワードは MYUSER_PASS としているので、適宜変更して下さい。

[root@controller ~]# openstack user create --domain default \
>   --password-prompt myuser

User Password: MYUSER_PASS
Repeat User Password: MYUSER_PASS
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 64b377d70bc4457faa169912b02a24d1 |
| name                | myuser                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
[root@controller ~]# 

特権のないユーザーの役割を作成します。

[root@controller ~]# openstack role create myrole
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | None                             |
| id        | a766452813974f97b5ccd5cb306cdb55 |
| name      | myrole                           |
+-----------+----------------------------------+
[root@controller ~]# 

役割( myrole )をプロジェクト( myproject )とユーザー( myuser )に追加します。

[root@controller ~]# openstack role add --project myproject --user myuser myrole
[root@controller ~]#