OpenStack RC ファイルを用いた環境変数の設定

OpenStack RC ファイルを用いた環境変数の設定

OpenStack コマンドラインクライアントに必要な環境変数を設定するには、OpenStack rc ファイルと呼ばれる環境ファイルまたは openrc.sh ファイルを作成する必要があります。OpenStack のインストールでこのファイルが提供される場合は、管理ユーザーまたはその他のユーザーで OpenStack Dashboard からダウンロードしてください。このプロジェクト固有の環境ファイルには、OpenStack サービスが使用する認証情報が含まれます。

このファイルを読み込むと、環境変数が現在のシェルに対して設定されます。この変数により OpenStack クライアントコマンドがクラウドで実行中の OpenStack サービスとやりとりできるようになります。

注釈

環境変数ファイルを用いて環境変数を定義することは、Microsoft Windows では一般的な手法ではありません。環境変数は通常、 システム > 詳細設定 で定義されます。これらのスクリプトを Windows でそのまま使う方法の 1 つは、 Git for Windows をインストールして、 Git Bash を使って環境変数を読み込んでから、すべての CLI コマンドを実行する方法です。

OpenStack RC ファイルのダウンロードと読み込み

  1. ダッシュボードにログインし、 OpenStack RC ファイルをダウンロードしたいプロジェクトをドロップダウンリストから選択します。

  2. プロジェクト タブにおいて、コンピュート タブを開き、アクセスとセキュリティー をクリックします。

  3. API アクセス タブで、OpenStack RC ファイルのダウンロード をクリックしてファイルを保存します。ファイル名は PROJECT-openrc.sh の形式とし、PROJECT にはファイルをダウンロードするプロジェクト名を入力します。

  4. OpenStack コマンドを実行したいコンピューターに PROJECT-openrc.sh ファイルをコピーします。

    例えば、glance クライアントコマンドを用いてイメージをアップロードしたいコンピューターにファイルをコピーします。

  5. OpenStack コマンドを実行したいシェルで、それぞれのプロジェクト用の PROJECT-openrc.sh ファイルを読み込みます。

    以下の例では、demo-openrc.sh が demo プロジェクト用に読み込まれます。

    $ . demo-openrc.sh
    
  6. OpenStack パスワードの入力プロンプトが表示されたとき、PROJECT-openrc.sh ファイルをダウンロードしたユーザーのパスワードを入力します。

OpenStack RC ファイルの作成と読み込み

何らかの理由によりダッシュボードからファイルをダウンロードできない場合、代わりに最初から PROJECT-openrc.sh ファイルを作成できます。

  1. テキストエディターで PROJECT-openrc.sh という名前のファイルを作成し、以下の認証情報を追加します。

    export OS_USERNAME=username
    export OS_PASSWORD=password
    export OS_TENANT_NAME=projectName
    export OS_AUTH_URL=https://identityHost:portNumber/v2.0
    # The following lines can be omitted
    export OS_TENANT_ID=tenantIDString
    export OS_REGION_NAME=regionName
    export OS_CACERT=/path/to/cacertFile
    

    警告

    OS_PASSWORD を平文で保存することはセキュリティーリスクになります。本番環境では、ファイルを保護するか、ファイルに OS_PASSWORD を保存しないようにすべきです。

  2. OpenStack コマンドを実行したいシェルで、それぞれのプロジェクト用の PROJECT-openrc.sh ファイルを読み込みます。この例では、admin プロジェクト用の admin-openrc.sh ファイルを読み込みます。

    $ . admin-openrc.sh
    

注釈

この方法を用いると、パスワードを聞かれません。パスワードは PROJECT-openrc.sh ファイルに平文で記載されています。セキュリティー問題を避けるために、このファイルのパーミッションを制限します。このファイルから OS_PASSWORD 変数を削除し、OpenStack クライアントコマンドで --password パラメーターを使用することもできます。

注釈

OS_AUTH_URL 環境設定に HTTPS プロトコルを使用する場合、TLS (HTTPS) のサーバー証明書を検証するプロセスが、環境において指定されたものを使用するため、OS_CACERT 環境変数を使用する必要があります。TLS (HTTPS) サーバー証明書を検証するとき、この証明書が使用されます。

環境変数の値の上書き

OpenStack クライアントコマンドを実行するとき、さまざまなクライアントコマンドの help 出力の最後に一覧表示されるオプションを使用することにより、いくつかの環境変数を上書きできます。たとえば以下のように、openstack コマンドにパスワードを指定することにより、PROJECT-openrc.sh ファイルで設定した OS_PASSWORD 設定を上書きできます。

$ openstack --os-password PASSWORD server list

ここで PASSWORD は、お使いのパスワードです。

ユーザーは、何らかのクライアントコマンドを使用して、ユーザー名とパスワードを指定して、OpenStack を使用します。これらのクレデンシャルは、環境変数やコマンドライン引数など、さまざまな方法により指定できます。これらの方法を用いて、パスワードを指定することは安全ではありません。

例えば、コマンドラインクライアントの --os-password 引数を使用してパスワードを指定するとき、コンピューターにアクセスできるユーザーは、ps の項目に平文で表示できます。

OpenStack のパスワードを対話的に入力して、パスワードを平文で保存することを避けることもできます。

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.