必要なキーとOCID
Oracleクライアントを使用しているか(ソフトウェア開発キットとコマンドライン・インタフェースを参照)、または自ら構築したクライアントを使用しているかにかかわらず、次の手順を実行する必要があります:
- APIをコールする個人またはシステムのためにIAMにユーザーを作成し、必要な権限を含む少なくとも1つのIAMグループに配置します。ユーザーの追加を参照してください。ユーザーがすでに存在する場合は、これをスキップできます。
-
次の項目を取得します:
- PEMフォーマットのRSAキー・ペア(最小2048ビット)。API署名キーの生成方法を参照してください。
- 公開キーのフィンガープリント。キーのフィンガープリントの取得方法を参照してください。
- テナンシのOCIDおよびユーザーのOCID。テナンシのOCIDとユーザーのOCIDを取得する場所を参照してください。
- コンソールでキー・ペアから公開キーをアップロードします。公開キーのアップロード方法を参照してください。 ノート
各秘密キーにタグを追加することをお薦めします。 - OracleのSDKまたはツールのいずれかを使用している場合は、前述した必須資格証明を構成ファイルまたはコードの構成オブジェクトに指定します。SDKおよびCLIの構成ファイルを参照してください。かわりに独自のクライアントを構築している場合は、署名の要求を参照してください。
このキー・ペアは、コンピュート・インスタンスへのアクセスに使用するSSHキーではありません。セキュリティ資格証明を参照してください。
秘密キーと公開キーはどちらもPEMフォーマットである必要があります(SSH-RSAフォーマットではありません)。PEMフォーマットの公開キーは次のようになります:
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQE... ... -----END PUBLIC KEY-----APIキーのセキュリティを強化するために、秘密キーの最後にOCI_API_KEYを含む行を追加することをお薦めします。自分または組織内のユーザーが誤って公開GitHubリポジトリに秘密キーをコミットした場合、OCIによって修正アクションの実行が通知されます。ラベル付きの PEM形式の非公開鍵は次のようになります。
-----BEGIN PRIVATE KEY----- MIIBIjANBgkqhkiG9w0BAQE... ... -----END PRIVATE KEY----- OCI_API_KEY
API署名キーの生成方法
Linux、Mac OSまたはWindowsで使用可能なコンソールまたはコマンドライン・ツールを使用して、API署名キーを生成できます。
API署名キーの生成(コンソール)
コンソールを使用して秘密キーと公開キーのペアを生成できます。すでにキー・ペアがある場合は、公開キーのアップロードを選択できます。コンソールを使用してキー・ペアを追加すると、コンソールによって構成ファイルのプレビュー・スニペットも生成されます。
次の手順は、通常のユーザーまたは管理者に対して有効です。管理者は、別のユーザーまたは自分自身のAPIキーを管理できます。
構成ファイル・スニペットについて
コンソールを使用してAPI署名キー・ペアを追加すると、次の情報を含む構成ファイルのプレビュー・スニペットが生成されます:
user
- キー・ペアが追加されるユーザーのOCID。fingerprint
- 追加されたキーのフィンガープリント。tenancy
- テナンシのOCID。region
- コンソールで現在選択されているリージョン。key_file
- ダウンロードした秘密キー・ファイルへのパス。この値は、秘密キー・ファイルを保存したファイル・システム上のパスに更新する必要があります。
構成ファイルにすでにDEFAULTプロファイルがある場合は、次のいずれかを実行する必要があります:
- 既存のプロファイルおよびその内容を置換します。
- 既存のプロファイルの名前を変更します。
- 構成ファイルに貼り付けた後、このプロファイルの名前を別の名前に変更します。
このスニペットを構成ファイルにコピーして、作業を開始できます。構成ファイルがまだない場合、その作成方法の詳細は、SDKおよびCLIの構成ファイルを参照してください。API署名キーの構成ファイル・スニペットは、必要に応じて後で取得することもできます。参照: API署名キーの構成ファイル・スニペットを取得するには。
API署名キー・ペアを生成するには
前提条件: キー・ペアを生成する前に、資格証明を格納する.oci
ディレクトリをホーム・ディレクトリに作成します。詳細は、SDKおよびCLIの構成ファイルを参照してください。
- ユーザーの詳細を表示します:
- 自分のAPIキーを追加する場合:
「プロファイル」メニューを開き、「マイ・プロファイル」をクリックします。
- 別のユーザーのAPIキーを追加する管理者である場合: ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。リストでユーザーを見つけてから、ユーザーの名前をクリックして詳細を表示します。
- 自分のAPIキーを追加する場合:
- 左下にある「リソース」セクションで、「APIキー」をクリックします
- 「APIキー」リストの左上にある「APIキーの追加」をクリックします。「APIキーの追加」ダイアログが表示されます。
-
「秘密キーのダウンロード」をクリックし、キーを
.oci
ディレクトリに保存します。ほとんどの場合、公開キーをダウンロードする必要はありません。ノート: ブラウザによって秘密キーが別のディレクトリにダウンロードされた場合、必ず
.oci
ディレクトリに移動してください。 - 「追加」をクリックします。
キーが追加され、構成ファイルのプレビューが表示されます。ファイル・スニペットには、構成ファイルの作成に必要な必須パラメータおよび値が含まれています。構成ファイル・スニペットをテキスト・ボックスから
~/.oci/config file
にコピーして貼り付けます。(このファイルをまだ作成していない場合、その作成方法の詳細は、SDKおよびCLIの構成ファイルを参照してください。)ファイルの内容を貼り付けた後、秘密キー・ファイルを保存した場所に
key_file
パラメータを更新する必要があります。構成ファイルにすでにDEFAULTプロファイルがある場合は、次のいずれかを実行する必要があります:- 既存のプロファイルおよびその内容を置換します。
- 既存のプロファイルの名前を変更します。
- 構成ファイルに貼り付けた後、このプロファイルの名前を別の名前に変更します。
- ダウンロードした秘密キー・ファイルに対する権限を更新して、自分のみが表示できるようにします:
- 秘密キー・ファイルを配置した
.oci
ディレクトリに移動します。 - コマンド
chmod go-rwx ~/.oci/<oci_api_keyfile>.pem
を使用して、ファイルに対する権限を設定します。
- 秘密キー・ファイルを配置した
APIキーをアップロードまたは貼り付けるには
前提条件: PEMフォーマットの公開RSAキー(最小2048ビット)を生成済です。PEMフォーマットは次のとおりです。
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoTFqF...
...
-----END PUBLIC KEY——
- ユーザーの詳細を表示します:
- 自分のAPIキーを追加する場合:
「プロファイル」メニューを開き、「マイ・プロファイル」をクリックします。
- 別のユーザーのAPIキーを追加する管理者である場合: ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。リストでユーザーを見つけてから、ユーザーの名前をクリックして詳細を表示します。
- 自分のAPIキーを追加する場合:
- 左下にある「リソース」セクションで、「APIキー」をクリックします
- 「APIキー」リストの左上にある「APIキーの追加」をクリックします。「APIキーの追加」ダイアログが表示されます。
- ダイアログで、「公開キー・ファイルの選択」を選択してファイルをアップロードするか、テキスト・ボックスに貼り付ける場合は「公開キーの貼付け」を選択します
- 「追加」をクリックします。
キーが追加され、構成ファイルのプレビューが表示されます。ファイル・スニペットには、構成ファイルの作成に必要な必須パラメータおよび値が含まれています。構成ファイル・スニペットをテキスト・ボックスから
~/.oci/config file
にコピーして貼り付けます。(このファイルをまだ作成していない場合、その作成方法の詳細は、SDKおよびCLIの構成ファイルを参照してください。)ファイルの内容を貼り付けた後、秘密キー・ファイルを保存した場所に
key_file
パラメータを更新する必要があります。構成ファイルにすでにDEFAULTプロファイルがある場合は、次のいずれかを実行する必要があります:
- 既存のプロファイルおよびその内容を置換します。
- 既存のプロファイルの名前を変更します。
- 構成ファイルに貼り付けた後、このプロファイルの名前を別の名前に変更します。
- ユーザーの詳細を表示します:
- 自分のAPIキー構成ファイル・スニペットを取得する場合:
「プロファイル」メニューを開き、「マイ・プロファイル」をクリックします。
- 別のユーザーのAPIキー構成ファイル・スニペットを取得する管理者である場合: ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。リストでユーザーを見つけてから、ユーザーの名前をクリックして詳細を表示します。
- 自分のAPIキー構成ファイル・スニペットを取得する場合:
- 左下にある「リソース」セクションで、「APIキー」をクリックします
- ページの左側の「APIキー」をクリックします。APIキー・フィンガープリントのリストが表示されます。
- 指紋の
構成ファイルのプレビューが表示されます。ファイル・スニペットには、構成ファイルの作成に必要な必須パラメータおよび値が含まれています。構成ファイル・スニペットをテキスト・ボックスから
~/.oci/config file
にコピーして貼り付けます。(このファイルをまだ作成していない場合、その作成方法の詳細は、SDKおよびCLIの構成ファイルを参照してください。)ファイルの内容を貼り付けた後、秘密キー・ファイルを保存した場所にkey_file
パラメータを更新する必要があります。構成ファイルにすでにDEFAULTプロファイルがある場合は、次のいずれかを実行する必要があります:- 既存のプロファイルおよびその内容を置換します。
- 既存のプロファイルの名前を変更します。
- 構成ファイルに貼り付けた後、このプロファイルの名前を別の名前に変更します。
をクリックし、「View configuration file」を選択します。
API署名キーの生成(LinuxおよびMac OS X)
次のOpenSSLコマンドを使用して、必須のPEMフォーマットでキー・ペアを生成します。
-
資格証明を格納する
.oci
ディレクトリをまだ作成していない場合は作成します:mkdir ~/.oci
-
次のいずれかのコマンドを使用して、秘密キーを生成します。
-
プロンプトが表示されたときに指定するパスフレーズで暗号化されたキーを生成するには:ノート
キーにはパスフレーズを使用することをお薦めします。openssl genrsa -out ~/.oci/oci_api_key.pem -aes128 2048
-
パスフレーズなしでキーを生成するには:
openssl genrsa -out ~/.oci/oci_api_key.pem 2048
-
-
ファイル権限を変更して、自分のみが秘密キー・ファイルを読み取れるようにします:
chmod go-rwx ~/.oci/oci_api_key.pem
-
新しい秘密キーから公開キーを生成します:
openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem
-
pbcopy、xclipまたは類似ツールを使用して、公開キーの内容をクリップボードにコピーします(後からこの値をコンソールに貼り付ける必要があります)。例:
cat ~/.oci/oci_api_key_public.pem | pbcopy
APIリクエストは秘密キーで署名され、Oracleは公開キーを使用してリクエストの信頼性を検証します。公開キーをIAMにアップロードする必要があります(次の手順)。
API署名キーの生成(Windows)
Windowsパスに
openssl
バイナリを必ず含めてください。デフォルトのインストールでは、openssl.exeファイルはC:\Program Files\Git\mingw64\bin
にあります。次のOpenSSLコマンドを使用して、必須のPEMフォーマットでキー・ペアを生成します。
-
資格証明を格納する
.oci
ディレクトリをまだ作成していない場合は作成します例:mkdir %HOMEDRIVE%%HOMEPATH%\.oci
-
次のいずれかのコマンドを使用して、秘密キーを生成します:
-
プロンプトが表示されたときに指定するパスフレーズで暗号化されたキーを生成するには:ノート
キーにはパスフレーズを使用することをお薦めします。openssl genrsa -out %HOMEDRIVE%%HOMEPATH%\.oci\oci_api_key.pem -aes128 -passout stdin 2048
-
パスフレーズなしでキーを生成するには:
openssl genrsa -out %HOMEDRIVE%%HOMEPATH%\.oci\oci_api_key.pem 2048
-
-
新しい秘密キーから公開キーを生成します:
openssl rsa -pubout -in %HOMEDRIVE%%HOMEPATH%\.oci\oci_api_key.pem -out %HOMEDRIVE%%HOMEPATH%\.oci\oci_api_key_public.pem
-
公開キーの内容をクリップボードにコピーします(後でコンソールに値を貼り付ける必要があります)。例:
type \.oci\oci_api_key_public.pem
APIリクエストは秘密キーで署名され、Oracleは公開キーを使用してリクエストの信頼性を検証します。公開キーをIAMにアップロードする必要があります(次の手順)。
キーのフィンガープリントの取得方法
次のOpenSSLコマンドを使用して、キーのフィンガープリントを取得できます。
LinuxおよびMac OS Xの場合:
openssl rsa -pubout -outform DER -in ~/.oci/oci_api_key.pem | openssl md5 -c
openssl rsa -pubout -outform DER -in \.oci\oci_api_key.pem | openssl md5 -c
コンソールに公開キーをアップロードすると、フィンガープリントも自動的にそこに表示されます。このように表示されます: 12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef
テナンシのOCIDとユーザーのOCIDを取得する場所
どちらのOCIDもコンソールにあります。コンソールにアクセスするには、https://cloud.oracle.comにサインインします。コンソールのログインおよびパスワードがない場合は、管理者に連絡してください。OCIDをよく知らない場合は、リソース識別子を参照してください。
テナンシのOCID
テナンシOCIDは、Oracle Cloud InfrastructureConsoleの「テナンシ詳細」ページで確認します:
- ページ上部のナビゲーション・バーの右上にある「プロファイル」メニュー()を選択し、「テナンシ: <your_tenancy_name>」をクリックします。
-
テナンシOCIDが「テナンシ情報」の下に表示されます。「コピー」をクリックすると、クリップボードにコピーできます。
ユーザーのOCID
ユーザーのOCIDをコンソールのユーザー詳細を表示するページで取得します。そのページに移動するには:
- ユーザーとしてサインインしている場合:
「プロファイル」メニューを開き、「マイ・プロファイル」をクリックします。
- 別のユーザーのかわりに実行している管理者である場合: ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。リストからユーザーを選択します。
- ユーザーOCIDが「ユーザー情報」の下に表示されます。「コピー」をクリックすると、クリップボードにコピーできます。
公開キーのアップロード方法
コンソールのログインおよびパスワードがない場合、または「プロファイル」メニューが表示されない場合は、管理者に連絡してください。
- コンソールを開いてサインインします。
-
キー・ペアを使用してAPIをコールするユーザーの詳細を表示します:
- ユーザーとしてサインインしている場合:
「プロファイル」メニューを開き、「マイ・プロファイル」をクリックします。
- 別のユーザーのかわりに実行している管理者である場合: ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ユーザー」をクリックします。リストからユーザーを選択します。
- ユーザーとしてサインインしている場合:
- 左下にある「リソース」セクションで、「APIキー」をクリックします
- 「APIキー」リストの左上にある「APIキーの追加」をクリックします。「APIキーの追加」ダイアログが表示されます。
- 「公開キーの貼付け」ラジオ・ボタンを選択します。
- ダイアログ・ボックスにPEM公開キーの内容を貼り付けて、「追加」をクリックします。
キーのフィンガープリントが表示されます(たとえば、12:34:56:78:90:ab:cd:ef:12:34:56:78:90:ab:cd:ef)。
最初の公開キーをアップロードした後、UploadApiKey API操作を使用して追加のキーをアップロードすることもできます。ユーザーごとに最大3つのAPIキー・ペアを設定できます。APIリクエストでは、キーのフィンガープリントを指定して、リクエストの署名に使用するキーを示します。