Cloud Functions を呼び出すための認証

デベロッパーは、HTTP エンドポイントを提供する Cloud Functions を作成できます。HTTP エンドポイントを使用して、ABAP SDK クラス /GOOG/CL_CLOUDFUNC_INVOKER から Cloud Functions を呼び出します。

このプロセスでは、名前と場所を使用して Cloud Functions の関数を呼び出し、関数の HTTP エンドポイントを取得します。このエンドポイントは、関数の呼び出しに使用されます。Cloud Functions の認証では、HTTP エンドポイントを呼び出すために ID トークンが必要です。

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

Google Cloud APIs を有効にする

Google Cloud コンソールで、次の Google Cloud API を有効にします。

Google Cloud APIs を有効にする方法については、API を有効にするをご覧ください。

Cloud Functions の詳細を取得するサービス アカウントを作成する

  1. Google Cloud コンソールで IAM サービス アカウントを作成し、Cloud Functions の詳細を取得します。

    [サービス アカウント] に移動

    サービス アカウントの作成方法については、サービス アカウントを作成するをご覧ください。

  2. サービス アカウントに次のロールを付与します。

    手順については、単一のロールを付与するをご覧ください。

Cloud Functions を呼び出す別のサービス アカウントを作成する

  1. Google Cloud コンソールで、Cloud Functions の関数を呼び出す専用のサービス アカウントを作成します。

    [サービス アカウント] に移動

    サービス アカウントの作成方法については、サービス アカウントを作成するをご覧ください。

  2. 呼び出す Cloud Functions の関数の世代に応じて、サービス アカウントに適切なロールを付与します。

    • 第 1 世代の関数の場合: サービス アカウントに Cloud Functions Invoker ロールを付与します。
    • 第 2 世代の関数の場合: サービス アカウントに Cloud Run Invoker ロールを付与します。

    関数を呼び出すための権限の詳細については、呼び出しを認証するをご覧ください。

Cloud Functions への認証を設定する

SAP システムがホストされている環境に応じて、次のいずれかの方法でトークンベースの認証を設定して Cloud Functions API にアクセスできます。

Compute Engine VM でホストされている SAP システム

SAP システムが Compute Engine VM インスタンスでホストされている場合に Cloud Functions API にアクセスするための認証を設定する手順については、アクセス トークンを使用して認証するをご覧ください。作成したサービス アカウントを使用してクライアント キーを構成し、Cloud Functions の関数の詳細を取得します。

Google Cloud の外部でホストされている SAP RISE システムまたは SAP システム

次のいずれかの認証方法を使用して、Cloud Functions API にアクセスするための認証を設定します。

作成したサービス アカウントを使用してクライアント キーを構成し、Cloud Functions の関数の詳細を取得します。

Cloud Functions を呼び出すクライアント キーを構成する

SAP システムがホストされている環境に応じて、クライアント キーの構成に異なる値を使用します。

Compute Engine VM でホストされている SAP システム

  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 キー名 クライアント キー構成の名前を指定します。
    Google Cloud サービス アカウント名

    Cloud Functions の関数を呼び出す権限を付与したサービス アカウントの名前を指定します。例: sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com

    Google Cloud のスコープ アクセス スコープ https://www.googleapis.com/auth/cloud-platform を指定します。
    プロジェクト ID Cloud Functions API が有効になっている Google Cloud プロジェクトの ID を指定します。
    コマンド名 このフィールドは空白のままにしておきます。
    認可クラス 認可クラス /GOOG/CL_AUTH_ID_TOKEN を指定します。
    認可フィールド このフィールドは空白のままにしておきます。
    トークンのキャッシュ保存 このフィールドは空白のままにしておきます。
    トークンの更新期限(秒) このフィールドは空白のままにしておきます。
    認可パラメータ 1 このフィールドは空白のままにしておきます。
    認可パラメータ 2 このフィールドは空白のままにしておきます。
  5. 新しいエントリを保存します。

Google Cloud の外部でホストされている SAP RISE システムまたは SAP システム

  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 キー名 クライアント キー構成の名前を指定します。
    Google Cloud サービス アカウント名

    Cloud Functions の関数を呼び出す権限を付与したサービス アカウントの名前を指定します。例: sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com

    Google Cloud のスコープ アクセス スコープ https://www.googleapis.com/auth/cloud-platform を指定します。
    プロジェクト ID Cloud Functions API が有効になっている Google Cloud プロジェクトの ID を指定します。
    コマンド名 このフィールドは空白のままにしておきます。
    認可クラス 認可クラスを次のように指定します。
    認可フィールド このフィールドは空白のままにしておきます。
    トークンのキャッシュ保存 このフィールドは空白のままにしておきます。
    トークンの更新期限(秒) このフィールドは空白のままにしておきます。
    認可パラメータ 1
    認可パラメータ 2
    • JWT を使用した認証の場合は、このフィールドを空のままにします。
    • Workload Identity 連携を使用した認証の場合は、Workload Identity プロバイダ ID を指定します。
  5. 新しいエントリを保存します。

サポートを受ける

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