機械翻訳について

7 認証

ここでは、認証トークンの作成と更新に使用できるCLIコマンドCompute Classicについて説明します。

認証されたユーザーだけがCompute Classic CLIコマンドを実行できます。

ユーザーを認証するにはさまざまな方法があります。 「環境変数とファイルの設定」を参照してください。 認証キーを作成し、それを環境変数に保存することは、ユーザーを認証する単なる方法の1つです。

この節で説明するCLIコマンドを実行する前に、CLIクライアントをインストールして、「CLIを使用するための準備」で説明されているように必要な環境変数を設定していることを確認してください。

認証の追加

認証Cookieを作成します。 キーの値は、OPC_COMPUTE_COOKIEなどの環境変数に格納できます。 認証キーは30分しか持続しないため、キーが期限切れになる前にリフレッシュする必要があります。

このコマンドを使用して、認証トークンを生成して第三者に提供することができます。特に、Compute Classicパスワードをサードパーティのツールと共有したくない場合は、

優先順位は次のとおりです(最初のオプションが最も優先順位が高い):

  1. OPC_COMPUTE_COOKIE変数に指定する値。

  2. -pfおよび-uなど、コマンドライン・オプションに指定する値。

  3. コマンドライン引数を指定しない場合、OPC_COMPUTE_USEROPC_COMPUTE_PASSWORD_FILEなどの環境変数で指定された値が、プロファイル・ファイルで指定された値よりも優先されます。

  4. コマンドライン引数と環境変数の値を指定しない場合、プロファイル・ファイルで指定された値が考慮されます。

構文

opc compute authentication add password user 

このコマンドのパラメータとオプションのヘルプについては、-hオプションを指定してコマンドを実行してください。

このコマンドを実行する前に、アカウントの資格証明を収集してください。

  1. 使用しているクラウド・アカウントのタイプを特定: 「従来のクラウド・アカウント」(Cloud Serviceアカウントとも呼ばれます)またはIdentity Cloud Service(IDCS)を使用したクラウド・アカウント。 「Oracle Cloudスタート・ガイド」「Oracle Cloudアカウントのタイプ」を参照してください。

    注意:

    Oracle Cloud MachineはIdentity Cloud Service(IDCS)でクラウド・アカウントのみをサポートしています。

  2. Compute Classicインスタンスのアカウント資格証明を書き留めておいてください。

    • Oracle Cloud Machineについて: Oracleからのアカウント作成メールには、Compute Classicインスタンスのユーザー名とパスワードが含まれています。

    • Oracle Cloudについて : Oracleからのアカウント作成電子メールには、次の例に示すように、Compute Classicインスタンスのアイデンティティ・ドメイン名、ユーザー名、およびパスワードが含まれます。

      Oracleからのアカウント作成電子メールには、アイデンティティ・ドメインの名前、ユーザー名およびパスワードが含まれています。

    この情報がない場合は、サービス管理者に連絡してください。

  3. Compute ClassicサイトのREST APIエンドポイントURLに注意してください。 サイトのREST APIエンドポイントURLを確認するには、Oracle Cloud Infrastructure Compute ClassicのREST API」「リクエストの送信」の指示に従ってください。

  4. CLIコマンドの実行中は、2つの部分からなるユーザー名を渡す必要があります。 次のいずれかの方法で、2つの部分からなるユーザー名を指定します。

    • Oracle Cloudについて : 従来のクラウド・アカウントを使用している場合、またはアカウント作成電子メールにアイデンティティ・ドメインに関する情報が含まれている場合は、2部構成のユーザー名に次の形式を使用する必要があります。

      /Compute-identity_domain/user

      たとえば、アイデンティティ・ドメインがacmeで、アカウント作成電子メールのusernamejack.jones@example.comの場合、CLIコマンドを実行するために使用する必要がある2部構成のユーザー名は、次のようになります:

      /Compute-acme/jack.jones@example.com

    • Oracle Cloud Machineについて : Identity Cloud Service (IDCS)でクラウド・アカウントを使用している場合、またはアカウント作成電子メールにアイデンティティ・ドメインに関する情報が含まれていない場合は、2部構成のユーザー名に次の形式を使用する必要があります。

      /Compute-serviceInstanceID/username

      Compute Classicインスタンスのサービス・インスタンスIDを取得するには:

      1. Oracle Cloud 「Infrastructure Classicコンソール」アプリケーションにサインインします。 「Oracle Cloudスタート・ガイド」「あなたのクラウド・アカウントにサインイン」を参照してください。

        Oracle Cloud 「Infrastructure Classicコンソール」ページが表示されます。 あなたのアカウントに割り当てられているサービスを一覧表示します。

      2. Computeサービスのタイルで、「コンピュート」をクリックします。 Compute Classicの「サービスの詳細」ページが表示されます。

      3. 追加情報の下に、「サービス・インスタンスID」を書き留めます。

        たとえば、サービス・インスタンスIDが575260584で、アカウント作成メールのユーザー名がjack.jones@example.comの場合、REST API呼び出しには次の2つの部分からなるユーザー名を使用します。

        /Compute-575260584/jack.jones@example.com

    注意:

    このドキュメントのすべての例では、2つの部分からなるユーザー名として/Compute-acme/jack.jones@example.comを使用しています。 IDCSのクラウド・アカウントを使用している場合は、2部構成のユーザー名のacmeをサービス・インスタンスIDに置き換えます。

  5. あなたの選択したプレーンテキスト・ファイル(例えば、/home/userディレクトリ内)にパスワードを格納します。

    権限を600に変更して、パスワードを含むファイルが全ユーザーから読取り可能にならないようにしてください。

    chmod 600 /full/path/to/password/file
    
opc -f json compute -e api-z999.compute.us0.oraclecloud.com authentications add file://./password.txt /Compute-acme/jack.jones@example.com

サンプル出力

読みやすくするため、一部の行は省略記号(...)を使用して省略されています。 実際の環境でコマンドを実行すると、完全な出力が表示されます。

{  "SetCookie": "nimbula=eyJpZGVudGl0eSI6ICJ7XCJyZWFsbVwiOi..." }

リフレッシュ・トークン取得

認証トークンの有効期限が、コマンドを実行した時間から30分延長されます。 認証トークンは30分後に失効します。 このコマンドにより、現在の認証トークンの有効期限が延長されますが、セッションの有効期限の3時間を超えることはありません。

前提条件

このコマンドを実行する前に、「認証の追加」コマンドを実行したときに受け取ったレスポンスでOPC_COMPUTE_COOKIE環境変数の値を設定してください。

たとえば、authentication addコマンドの実行中に受け取ったレスポンスが次のようなものであるとします。

{
 "SetCookie": "nimbula=eyJpZGVudGl0eSI6ICJ7XCJyZWFsbVwiOiBcImNvbXB1dGUtZW0yLXoxN1wiLCBcInZhbHVlXCI6IFwie1xcXCJjdXN0b21lclxcXCI6IFxcXCJDb21wdXRlLWRvY2V4YW1wbGVcXFwiLCBcXFwicmVhbG1cXFwiOiBcXFwiY29tcHV0ZS1lbTItejE3XFxcIiwgXFxcImVudGl0eV90eXBlXFxcIjogXFxcInVzZXJcXFwiLCBcXFwic2Vzc2lvbl9leHBpcmVzXFxcIjogMTQ4Mjg0MTQzOS45MjUwMDksIFxcXCJleHBpcmVzXFxcIjogMTQ4MjgzMjQzOS45MjUwMzY5LCBcXFwidXNlclxcXCI6IFxcXCIvQ29tcHV0ZS1kb2NleGFtcGxlL1N5bGFqYVxcXCIsIFxcXCJncm91cHNcXFwiOiBbXFxcIi9Db21wdXRlLWRvY2V4YW1wbGUvQ29tcHV0ZS5Db21wdXRlX09wZXJhdGlvbnNcXFwiXX1cIiwgXCJzaWduYXR1cmVcIjogXCJhdXZxeHRXM080Y0FSZ3psUVB4Q05JTCswMUZSeDNlY1ZjaDNIVHhETDViemZZY2kzVDkrejFSUSsvUlJBRFpZUm4zUE1kcVRGZGc1b01ZYVhEUWd6a2l3eXd0TU1KQzNTT1MxZHdhc2hXYXVFV3NERmVxN21tMkhFd21WMFk4RE1wVHY0UDZCLzR5ZUxVT0VrcnVoNGNHMkNvNlEvMnVHRjA4dGdITWVNMHM1Q1NFcnZqZERNcmJaT0l4M0ZtalA0QmgyTjNWYXVlK01GS0h4MmNKQ3d1UDFCTUc0NjVqT2F1eEV0djU4TitJanp6NWhmT0hkWW9kVTNZNk0wbUJzcDRaS1lndC9IVkZPclpOK05jN3JFQkhWSmZkSW44cWh3YW0yUFAra2JJMmo2RGozSUJNSkpDSVFYZXJzT2ZXYWVSWEdyWlN1MEV6WWd1dmJiSXJlMUE9PVwifSJ9; Path=/; Max-Age=1800"
}

OPC_COMPUTE_COOKIE環境変数の値は、nimbulaを除外し、最初のセミコロンまでの値のみを含めるように設定します。

export OPC_COMPUTE_COOKIE='eyJpZGVudGl0eSI6ICJ7XCJyZWFsbVwiOiBcImNvbXB1dGUtZW0yLXoxN1wiLCBcInZhbHVlXCI6IFwie1xcXCJjdXN0b21lclxcXCI6IFxcXCJDb21wdXRlLWRvY2V4YW1wbGVcXFwiLCBcXFwicmVhbG1cXFwiOiBcXFwiY29tcHV0ZS1lbTItejE3XFxcIiwgXFxcImVudGl0eV90eXBlXFxcIjogXFxcInVzZXJcXFwiLCBcXFwic2Vzc2lvbl9leHBpcmVzXFxcIjogMTQ4Mjg0MTQzOS45MjUwMDksIFxcXCJleHBpcmVzXFxcIjogMTQ4MjgzMjQzOS45MjUwMzY5LCBcXFwidXNlclxcXCI6IFxcXCIvQ29tcHV0ZS1kb2NleGFtcGxlL1N5bGFqYVxcXCIsIFxcXCJncm91cHNcXFwiOiBbXFxcIi9Db21wdXRlLWRvY2V4YW1wbGUvQ29tcHV0ZS5Db21wdXRlX09wZXJhdGlvbnNcXFwiXX1cIiwgXCJzaWduYXR1cmVcIjogXCJhdXZxeHRXM080Y0FSZ3psUVB4Q05JTCswMUZSeDNlY1ZjaDNIVHhETDViemZZY2kzVDkrejFSUSsvUlJBRFpZUm4zUE1kcVRGZGc1b01ZYVhEUWd6a2l3eXd0TU1KQzNTT1MxZHdhc2hXYXVFV3NERmVxN21tMkhFd21WMFk4RE1wVHY0UDZCLzR5ZUxVT0VrcnVoNGNHMkNvNlEvMnVHRjA4dGdITWVNMHM1Q1NFcnZqZERNcmJaT0l4M0ZtalA0QmgyTjNWYXVlK01GS0h4MmNKQ3d1UDFCTUc0NjVqT2F1eEV0djU4TitJanp6NWhmT0hkWW9kVTNZNk0wbUJzcDRaS1lndC9IVkZPclpOK05jN3JFQkhWSmZkSW44cWh3YW0yUFAra2JJMmo2RGozSUJNSkpDSVFYZXJzT2ZXYWVSWEdyWlN1MEV6WWd1dmJiSXJlMUE9PVwifSJ9'

構文

opc compute refresh-token get

このコマンドのパラメータとオプションのヘルプについては、-hオプションを指定してコマンドを実行してください。

opc compute -e api-z999.compute.us0.oraclecloud.com -u /Compute-acme/jack.jones@example.com refresh-token get

サンプル出力

{}