3.9. Identity サービスのインストールの検証
Identity サービスのインストールが正しく機能していることを確認します。以下の手順で記載するすべてのステップは、Identity サーバーまたは環境内の他のサービスで実行する必要があります。ログインするユーザーは、管理ユーザーおよび一般ユーザーとして認証するために、それぞれの必要な環境変数が含まれている
keystonerc_admin と keystonerc_user のファイルへのアクセス権が必要です。また、システムには、httpd、mod_wsgi、mod_ssl (セキュリティー目的) をインストールしておく必要があります。
手順3.13 Identity サービスのインストールの検証
- 管理ユーザーとして、Keystone にアクセスするためのシェルを設定します。
source ~/keystonerc_admin
# source ~/keystonerc_adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムで定義されているユーザーの一覧を表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow システムで定義されているユーザーの一覧が表示されます。一覧が表示されない場合には、インストールに問題があります。- 返されたメッセージでパーミッションまたは認証に問題があることが示されている場合には、管理者ユーザーアカウント、テナント、ロールが正しく作成されていることを確認します。また、3 つのオブジェクトが正しくリンクされていることも確認します。
Unable to communicate with identity service: {"error": {"message": "You are not authorized to perform the requested action: admin_required", "code": 403, "title": "Not Authorized"}}. (HTTP 403)Unable to communicate with identity service: {"error": {"message": "You are not authorized to perform the requested action: admin_required", "code": 403, "title": "Not Authorized"}}. (HTTP 403)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 返されたメッセージで接続に問題があることが示されている場合には、
openstack-keystoneサービスが実行中であることと、ポート5000および35357での接続を許可するようにファイアウォールサービスが設定されていることを確認してください。Authorization Failed: [Errno 111] Connection refused
Authorization Failed: [Errno 111] Connection refusedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 一般の Identityサービスのユーザーとして、Keystone にアクセスするためのシェルを設定します。
source ~/keystonerc_user
# source ~/keystonerc_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow - システムで定義されているユーザーの一覧を表示してみます。
[(keystone_user)]# keystone user-list Unable to communicate with identity service: {"error": {"message": "You are not authorized to perform the requested action: admin_required", "code": 403, "title": "Not Authorized"}}. (HTTP 403)[(keystone_user)]# keystone user-list Unable to communicate with identity service: {"error": {"message": "You are not authorized to perform the requested action: admin_required", "code": 403, "title": "Not Authorized"}}. (HTTP 403)Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドを実行する権限がないこと (Not Authorized) を示すエラーメッセージが表示されます。このエラーメッセージが表示されず、代わりにユーザー一覧が表示された場合には、その一般ユーザーアカウントに誤ってadminロールが関連付けられていたことになります。 - 一般ユーザーアカウントがアクセス権限のあるコマンドを実行できることを検証します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.9.1. Identity クライアント (keystone) の接続性における問題のトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Identity クライアント (
keystone) が Identity サービスと通信できない場合には、次のようなエラーが返されます。
Unable to communicate with identity service: [Errno 113] No route to host. (HTTP 400)
Unable to communicate with identity service: [Errno 113] No route to host. (HTTP 400)
この問題をデバッグするには、以下にあげる一般的な原因を確認してください。
- Identity サービスが稼働していない場合
- Identity サービスをホストするシステムで、サービスのステータスを確認します。
openstack-status | grep keystone
# openstack-status | grep keystone openstack-keystone: activeCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスが実行されていない場合には、rootユーザーとしてログインして起動します。service openstack-keystone start
# service openstack-keystone startCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ファイアウォールが適切に設定されていない場合
- ファイアウォールがポート
5000と35357で TCP トラフィックを許可するように設定されていない可能性があります。「Identity サービスのトラフィックを許可するためのファイアウォール設定」で設定を正しく修正する方法を参照してください。 - サービスエンドポイントが正しく定義されていない場合
- Identity サービスをホストするサーバーで、エンドポイントが正しく定義されているかどうかを確認します。
手順3.14 Identity サービスのエンドポイントの確認
- 管理トークンを取得します。
grep admin_token /etc/keystone/keystone.conf
# grep admin_token /etc/keystone/keystone.conf admin_token = 0292d404a88c4f269383ff28a3839ab4Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 事前に定義されている Identity サービス関連の環境変数の設定を解除します。
unset OS_USERNAME OS_TENANT_NAME OS_PASSWORD OS_AUTH_URL
# unset OS_USERNAME OS_TENANT_NAME OS_PASSWORD OS_AUTH_URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 管理トークンとエンドポイントを使用して、Identity サービスとの認証を行います。Identity サービスのエンドポイントが正しいことを確認してください。
keystone --os-token TOKEN \ --os-endpoint ENDPOINT \ endpoint-list
# keystone --os-token TOKEN \ --os-endpoint ENDPOINT \ endpoint-listCopy to Clipboard Copied! Toggle word wrap Toggle overflow TOKEN は管理トークンの ID に、ENDPOINT は 管理エンドポイント (http://IP:35357/v2.0) のエンドポイントに置き換えます。一覧表示された Identity サービスのpublicurl、internalurl、およびadminurlが正しいことを確認してください。特に、各エンドポイント内にリストされている IP アドレスとポート番号が正しく、ネットワーク上で到達可能であるようにしてください。 - これらの値が正しくない場合には、正しいエンドポイントの追加方法について記載した「Identity サービスエンドポイントの作成」の説明を参照してください。正しいエンドポイントが追加されたら、誤ったエンドポイントを削除します。
keystone --os-token=TOKEN \ --os-endpoint=ENDPOINT \ endpoint-delete ID
# keystone --os-token=TOKEN \ --os-endpoint=ENDPOINT \ endpoint-delete IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow TOKEN および ENDPOINT は、上記のステップで特定した値に置き換えます。ID はendpoint-listアクションにより一覧表示される、削除対象のエンドポイントに置き換えます。