API キーを使用して認証する

このドキュメントでは、API キーを使用して Google Cloud APIs にアクセスするための認証を設定する方法について説明します。認証に API キーを使用する Google Cloud APIs はごく一部(Google Maps Platform など)のみです。使用するサービスまたは API の認証ドキュメントで、API キーに対応しているかどうかを確認してください。SAP システムがホストされている場所を問わず、使用する API が API キーをサポートしている限り、認証に API キーを使用できます。

API キーを使用して Google Cloud API に対する認証を行うには、次のいずれかの方法を使用します。

SAP SSF に保存されている API キーを使用して認証する

おおまかな構成手順は次のとおりです。

API キーを作成する

API キーを使用する認証の場合、API キーを作成する必要があります。API キー文字列は暗号化された文字列です(例: AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe)。ABAP SDK for Google Cloud は、HTTP リクエストで API キー文字列を使用し、Google Cloud API を呼び出す際に安全な認証を行います。

Google Cloud では、複数の方法で API キーを作成できます。

Google Cloud コンソールを使用して API キーを作成するには、次の操作を行います。

  1. Google Cloud コンソールで、[認証情報] ページに移動します。

    [認証情報] に移動

  2. [認証情報を作成] を選択し、プルダウン メニューから [API キー] を選択します。

    • [API キーを作成しました] ダイアログに API キーの文字列が表示されます。キー文字列をコピーして安全に保管します。この API キーは、Google Cloud への認証を構成するために必要です。

    • デフォルトでは、API キーは制限されません。この API キーを使用できる API を選択して、API キーを制限することをおすすめします。API の制限を追加する方法については、API 制限を追加するをご覧ください。

API キーを SSF に保存する

ABAP SDK for Google Cloud には、SAP の Secure Store and Forward(SSF)メカニズムを使用して API キーを安全に保存するオプションが用意されています。

SSF オプションを使用すると、暗号化された形式で API キーをテーブル /GOOG/APIKEY_BIN に保存できます。API が呼び出されると、API キーはテーブル /GOOG/APIKEY_BIN から取得されて復号され、API エンドポイント URI に追加されます。

セキュリティ上の理由から、標準ツール、トランザクション(SE16SE16NSE11 など)を使用して /GOOG/APIKEY_BIN の内容を表示することはできません。

前提条件

SAP SSF に保存されている API キーを使用して認証するには、SAP Cryptographic Library バージョン 8.5 以降が SAP システムにインストールされている必要があります。SAP Cryptographic Library の詳細については、1848999 - Central Note for CommonCryptoLib 8(SAPCRYPTOLIB)397175 - SAP Cryptographic software - export control をご覧ください。

SAP Cryptographic Library のバージョンを確認するには、次の操作を行います。

  1. SAP GUI で、トランザクション コード STRUST を入力します。
  2. [Environment] メニューに移動し、[Display SSF Version] をクリックします。

SSF アプリケーションを設定する

テーブル SSFAPPLIC で、API キーを暗号化する新しい SSF アプリケーション ZG_APK を作成します。ZG_APK は、デフォルトの SSF アプリケーション名です。

または、任意の名前で SSF アプリケーションを作成することも、別の名前の既存の SSF アプリケーションを使用することもできます。暗号化に別の SSF アプリケーションを使用する場合は、クライアント キー テーブルの Authorization Parameter 1 で SSF アプリケーション名を構成する必要があります。

テーブル SSFAPPLIC に新しいエントリを作成するには、次の操作を行います。

  1. SAP GUI で、トランザクション コード SE16 を入力します。
  2. [Table Name] フィールドに「SSFAPPLIC」と入力し、新しいエントリを作成します。
  3. [APPLIC] フィールドに「ZG_APK」と入力します。
  4. 次のフィールドで値を指定します。

    フィールド
    APPLIC ZG_APK
    B_TOOLKIT フラグを選択します。
    B_FORMAT フラグを選択します。
    B_PAB フラグを選択します。
    B_PROFID フラグを選択します。
    B_PROFILE フラグを選択します。
    B_HASHALG このフィールドは空白のままにしておきます。
    B_ENCRALG このフィールドは空白のままにしておきます。
    B_INCCERTS このフィールドは空白のままにしておきます。
    B_DETACHED このフィールドは空白のままにしておきます。
    B_ASKPWD このフィールドは空白のままにしておきます。
    B_DISTRIB フラグを選択します。
    DESCRIPT API Key Encryption for GCP
  5. 新しいエントリを保存します。

SSF パラメータを作成する
  1. SAP GUI で、トランザクション コード SM30 を入力します。

  2. VSSFARGS ビューを開きます。

  3. アプリケーション ZG_APKAPI Key Encryption for GCP)に新しいエントリを作成します。アプリケーション固有の SSF パラメータが自動的に入力されます。

  4. 新しいエントリを保存します。

個人用セキュリティ環境(PSE)を作成する

  1. SAP GUI で、トランザクション コード STRUST を入力します。

  2. [SSF API Key Encryption for GCP] ノードを右クリックして、[Create] を選択します。

  3. [Algorithm] フィールドで RSA を選択します。他のフィールドは、システムにより入力されたデフォルト値のままにします。

  4. 新しいエントリを保存します。

API キーを保存する

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Basic Settings] > [Configure API Key (Using SSF)] をクリックします。

  3. [Google Key Name] に、クライアント キー構成の名前を入力します。

  4. [API Key] フィールドに、API キーを作成するで作成した API キーを入力します。

  5. [Save] を選択します。

  6. [Execute] をクリックして API キーを保存します。

クライアント キーを構成する

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Basic Settings] > [Configure Client Key] をクリックします。

  3. [New Entries] をクリックします。

  4. 次のフィールドに値を入力します。

    項目 説明
    Google Cloud キー名 クライアント キー構成の名前を指定します。例: DEMO_API_KEY
    Google Cloud サービス アカウント名 このフィールドは空白のままにしておきます。
    Google Cloud のスコープ API アクセス スコープ https://www.googleapis.com/auth/cloud-platform を指定します。
    プロジェクト ID ターゲット API を含む Google Cloud プロジェクトの ID を指定します。
    コマンド名 このフィールドは空白のままにしておきます。
    認可クラス 認可クラス /GOOG/CL_AUTH_API_KEY_SSF を指定します。
    トークンのキャッシュ保存

    Google Cloud から取得したアクセス トークンをキャッシュに保存するかどうかを決めるフラグ。

    Google Cloud への接続を構成してテストしたら、トークンのキャッシュ保存を有効にすることをおすすめします。トークンのキャッシュ保存の詳細については、トークンのキャッシュ保存を有効にするをご覧ください。

    トークンの更新期限(秒) アクセス トークンの有効期限が切れ、更新が必要になるまでの時間を秒単位で指定します。デフォルト値は 3500 です。
    認可パラメータ 1 SSF アプリケーション名が ZG_APK と異なる場合は、SSF アプリケーション名を指定します。
    認可パラメータ 2 このフィールドは空白のままにしておきます。
  5. 新しいエントリを保存します。

新しい RFC 宛先を作成する

ABAP SDK for Google Cloud で使用する API に新しい RFC 宛先を作成します。

RFC 宛先の作成方法については、RFC 宛先をご覧ください。

RFC 宛先が作成または構成されていない場合、ABAP SDK for Google Cloud は、個々の API クライアント スタブで維持されるデフォルトの API エンドポイントを使用して機能します。

サービス マッピングを構成する

ABAP SDK for Google Cloud で使用予定の API のサービス マッピング テーブルを構成します。

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Basic Settings] > [Configure Service Mapping] をクリックします。

  3. [New Entries] をクリックします。

  4. 使用する予定の API の RFC 宛先を指定します(例: addressvalidation v1)。他の API を使用する場合は、それらの API の RFC 宛先を指定します。

    名前 サービス名 RFC 宛先
    Google Cloud キー名 addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. 新しいエントリを保存します。

API キーを削除する

不要になった API キーは SAP システムから削除できます。

API キーを削除するには、次の操作を行います。

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Basic Settings] > [Configure API Key (Using SSF)] をクリックします。

  3. [Google Key Name] フィールドに、クライアント キー構成の名前を入力します。

  4. [Delete] を選択します。

  5. [Execute] をクリックして API キーを削除します。

Secret Manager に保存されている API キーを使用して認証する

おおまかな構成手順は次のとおりです。

API キーを作成する

API キーを使用する認証の場合、API キーを作成する必要があります。API キー文字列は暗号化された文字列です(例: AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe)。ABAP SDK for Google Cloud は、HTTP リクエストで API キー文字列を使用し、Google Cloud API を呼び出す際に安全な認証を行います。

Google Cloud では、複数の方法で API キーを作成できます。

Google Cloud コンソールを使用して API キーを作成するには、次の操作を行います。

  1. Google Cloud コンソールで、[認証情報] ページに移動します。

    [認証情報] に移動

  2. [認証情報を作成] を選択し、プルダウン メニューから [API キー] を選択します。

    • [API キーを作成しました] ダイアログに API キーの文字列が表示されます。キー文字列をコピーして安全に保管します。この API キーは、Google Cloud への認証を構成するために必要です。

    • デフォルトでは、API キーは制限されません。この API キーを使用できる API を選択して、API キーを制限することをおすすめします。API の制限を追加する方法については、API 制限を追加するをご覧ください。

シークレットを作成して API キーを保存する

ABAP SDK for Google Cloud には、Google Cloud の Secret Manager サービスを使用して API キーを安全に保存するオプションが用意されています。Secret Manager を使用すると API キーを安全に使用するためのベスト プラクティスを従い、API キーの文字列を安全に保存できます。

シークレットを作成して API キーを保存するには、次の操作を行います。

  1. Secret Manager API を有効にします。

    API ライブラリに移動

  2. Google Cloud コンソールでシークレットを作成し、API キーを最新バージョンとして保存します。

    Secret Manager に移動

シークレットの作成方法については、シークレットを作成するをご覧ください。

デフォルトでは、ABAP SDK for Google Cloud は最新バージョンのシークレットのみを取得します。

Secret Manager アクセス用のクライアント キーを構成する

Secret Manager API は認証にトークンを使用します。ご使用の SAP 環境に応じてトークンベースの認証を設定し、Secret Manager API にアクセスする必要があります。

Secret Manager API にアクセスするためのトークンベースの認証を設定するには、次のいずれかの方法を使用します。

Secret Manager アクセス用に作成したクライアント キーの名前をメモします。

シークレットのクライアント キーを構成する

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Basic Settings] > [Configure Client Key] をクリックします。

  3. [New Entries] をクリックします。

  4. 次のフィールドに値を入力します。

    項目 説明
    Google Cloud キー名 クライアント キー構成の名前を指定します。例: DEMO_API_KEY
    Google Cloud サービス アカウント名 このフィールドは空白のままにしておきます。
    Google Cloud のスコープ API アクセス スコープ https://www.googleapis.com/auth/cloud-platform を指定します。
    プロジェクト ID ターゲット API を含む Google Cloud プロジェクトの ID を指定します。
    コマンド名 このフィールドは空白のままにしておきます。
    認可クラス /GOOG/CL_AUTH_API_KEY_SM を指定します。
    トークンのキャッシュ保存

    Google Cloud から取得したアクセス トークンをキャッシュに保存するかどうかを決めるフラグ。

    Google Cloud への接続を構成してテストしたら、トークンのキャッシュ保存を有効にすることをおすすめします。トークンのキャッシュ保存の詳細については、トークンのキャッシュ保存を有効にするをご覧ください。

    トークンの更新期限(秒) アクセス トークンの有効期限が切れ、更新が必要になるまでの時間を秒単位で指定します。デフォルト値は 3500 です。
    認可パラメータ 1 Secret Manager アクセス用に作成したクライアント キーの名前を指定します。例: CLIENT_KEY_SM
    認可パラメータ 2 API キーが格納されているシークレットの名前を指定します。例: TEST_SECRET
  5. 新しいエントリを保存します。

新しい RFC 宛先を作成する

ABAP SDK for Google Cloud で使用する API に新しい RFC 宛先を作成します。

RFC 宛先の作成方法については、RFC 宛先をご覧ください。

RFC 宛先が作成または構成されていない場合、ABAP SDK for Google Cloud は、個々の API クライアント スタブで維持されるデフォルトの API エンドポイントを使用して機能します。

サービス マッピングを構成する

ABAP SDK for Google Cloud で使用予定の API のサービス マッピング テーブルを構成します。

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Basic Settings] > [Configure Service Mapping] をクリックします。

  3. [New Entries] をクリックします。

  4. 使用する予定の API の RFC 宛先を指定します(例: addressvalidation v1)。他の API を使用する場合は、それらの API の RFC 宛先を指定します。

    名前 サービス名 RFC 宛先
    Google Cloud キー名 addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. 新しいエントリを保存します。

Secret Manager からの API キーの取得を検証する

Secret Manager からの API キーの取得を検証するには、次の操作を行います。

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Utilities] > [Validate API key retrieval (Using Secret Manager)] をクリックします。
  3. クライアント キー名を指定します。
  4. [Execute] をクリックして、Secret Manager から API キーが正常に取得されたかどうかを確認します。

認証構成を検証する

認証構成を検証するには、次の操作を行います。

  1. SAP GUI で、トランザクション コード /GOOG/SDK_IMG を実行します。

    または、トランザクション コード SPRO を実行して、[SAP Reference IMG] をクリックします。

  2. [ABAP SDK for Google Cloud] > [Utilities] > [Validate Authentication Configuration] をクリックします。

  3. クライアント キー名を入力します。

  4. [Execute] をクリックして、フロー全体が正しく構成されているかどうかを確認します。

    [Result] 列に緑色のチェックマークが表示されていれば、すべての構成ステップが正常に完了しています。

サポートを利用する

ABAP SDK for Google Cloud の問題を解決するには、次の操作を行います。