Oracle Cloud Infrastructureドキュメント

1. Oracle Functionsで使用するOracle Cloud Infrastructure API署名キーの設定

Oracle Functionsを使用する前に、Oracle Cloud Infrastructure API署名キーを設定する必要があります。

このトピックの手順は、次のことを前提としています:

  • Linuxを使用している
  • 秘密キーを暗号化するためのパスフレーズを提供するようOracle推奨をフォローしています

詳細およびその他のオプションは、「必要なキーとOCID」を参照してください。

次の手順では、新しい~/.ociディレクトリの作成方法、その~/.ociディレクトリで新しい秘密キー・ファイルと公開キー・ファイルを生成する方法、新しいAPI署名キーを作成するための公開キーをOracle Cloud Infrastructureにアップロードする方法、および公開APIキーのフィンガープリントを取得する方法について説明します。 このドキュメントの他の場所にある手順と例では、~/.ociディレクトリが存在し、秘密キーと公開キー・ファイルが含まれていることを前提としています。

ユーザー・アカウントにすでにAPI署名キーがある場合、~/.ociディレクトリが存在しない場合はそれを作成し、「2. Oracle Cloud Infrastructure CLI構成ファイルでプロファイルを作成」に直接移動します。

ユーザー・アカウントにAPI署名キーがない場合は、次のステップを実行してください:

  • ~/.ociディレクトリが存在しない場合は作成します。
  • ~/.ociディレクトリがすでに存在する場合、秘密キー・ファイルの生成を指示する下のステップに進みます。
  • ~/.ociディレクトリがすでに存在し、すでに秘密キー・ファイルと公開キー・ファイルが含まれている場合に、既存の秘密キー・ファイルの暗号化に使用されたパスフレーズがわかっていれば、新しい秘密キー・ファイルと公開キー・ファイルを作成する必要はありません。 かわりに、次のステップに進んで、フィンガープリントを取得するために新規API署名キーを作成し、公開キー値をOracle Cloud Infrastructureにアップロードするよう指示します。
  • 秘密キー・ファイルと公開キー・ファイルはすでにあるが、~/.ociディレクトリにはない場合に、既存の秘密キー・ファイルの暗号化に使用されたパスフレーズがわかっていれば、新しい秘密キー・ファイルと公開キー・ファイルを作成する必要はありません。 ~/.ociディレクトリが存在しない場合は、次のステップに進みます。このステップでは、フィンガープリントを取得するために、新しいAPI署名キーを作成し、公開キー値をOracle Cloud Infrastructureにアップロードするよう指示します。

API署名キーを設定するには:

  1. ファンクション開発者として開発環境にログインします。

  2. ターミナル・ウィンドウで、~/.ociディレクトリが存在していないことを確認します。 たとえば、次のように入力します:

    ls  ~/.oci
  3. ~/.ociディレクトリが存在しないと想定して、作成します。 たとえば、次のように入力します:

    mkdir ~/.oci
  4. 次を入力して指定したパスフレーズで暗号化された秘密キーを生成します:

    $ openssl genrsa -out ~/.oci/<private-key-file-name>.pem -aes128 2048

    <private-key-file-name>は、秘密キー・ファイル(たとえば、 john_api_key_private.pem)に使用する任意の名前です。

    例えば:

    $ openssl genrsa -out ~/.oci/john_api_key_private.pem -aes128 2048
    					
    Generating RSA private key, 2048 bit long modulus
    ....+++
    ....................................................................+++
    e is 65537 (0x10001)
    
    Enter pass phrase for /Users/johndoe/.oci/john_api_key_private.pem:
  5. プロンプトが表示されたら、秘密キー・ファイルを暗号化するためのパスフレーズを入力します。 後で必要になるため、入力したパスフレーズを書き留めておいてください。
  6. プロンプトが表示されたら、パスフレーズを再入力して確認します。
  7. 秘密キー・ファイルが指定したディレクトリに作成されていることを確認します。 たとえば、次のように入力します:

    $ ls -l ~/.oci/john_api_key_private.pem
    					
    -rw-r--r-- 1 johndoe staff 1766 Jul 14 00:24 /Users/johndoe/.oci/john_api_key_private.pem
  8. 読取り専用になるようにファイルの権限を変更してください。 たとえば、次のように入力します:

    $ chmod go-rwx ~/.oci/john_api_key_private.pem
  9. 公開キーを(秘密キー・ファイルと同じロケーションに)生成するには、次のように入力します:

    $ openssl rsa -pubout -in ~/.oci/<private-key-file-name>.pem -out ~/.oci/<public-key-file-name>.pem

    説明:

    • <private-key-file-name>は、秘密キー・ファイル(john_api_key_private.pemなど)の名前の前に指定したものです
    • <public-key-file-name>は、公開キー・ファイル( john_api_key_public.pemなど)の選択に使用する名前です。

    例えば:

    $ openssl rsa -pubout -in ~/.oci/john_api_key_private.pem -out ~/.oci/john_api_key_public.pem
    
    Enter pass phrase for /Users/johndoe/.oci/john_api_key_private.pem:
  10. プロンプトが表示されたら、秘密キー・ファイルを暗号化するために以前入力したものと同じパスフレーズを入力します。
  11. 指定したディレクトリに公開キー・ファイルが作成されたことを確認します。 たとえば、次のように入力します:

    $ ls -l ~/.oci/
    
    -rw------- 1 johndoe staff 1766 Jul 14 00:24 john_api_key_private.pem
    -rw-r--r-- 1 johndoe staff 451 Jul 14 00:55 john_api_key_public.pem
  12. 作成した公開キー・ファイルの内容をコピーします。 たとえば、次のように入力します:

    $ cat ~/.oci/john_api_key_public.pem | pbcopy
  13. APIキー・ペアを作成した後、Oracle Cloud Infrastructureに公開キー値をアップロードします:

    1. Oracle Functionsを使用するOracle Cloud Infrastructureユーザーとしてコンソールにログインし、ファンクションを作成およびデプロイします。
    2. コンソールの右上隅で、「プロファイル」メニュー(ユーザー・メニュー・アイコン)を開き、「ユーザー設定」をクリックして詳細を表示します。
    3. 「APIキー」ページで、「公開キーの追加」をクリックします。

    4. パブリック・キーの値をウィンドウに貼り付け、「追加」をクリックします。

      キーがアップロードされ、フィンガープリントが表示されます(たとえば、d1:b2:32:53:d3:5f:cf:68:2d:6f:8b:5f:77:8f:07:13)。

    5. (オプション)フィンガープリント値をノートします。 後続の構成タスクでフィンガープリントを使用するため、このフィンガープリントを便利でセキュアなロケーションにコピーできます。

このトピックのステップを完了したら、「2. Oracle Cloud Infrastructure CLI構成ファイルでプロファイルを作成」に移動します。