デベロッパーは、HTTP エンドポイントを提供する Cloud Run 関数を作成できます。HTTP エンドポイントを使用して、ABAP SDK クラス /GOOG/CL_CLOUDFUNC_INVOKER
から Cloud Run functions を呼び出します。
このプロセスでは、名前と場所を使用して Cloud Run 関数を呼び出し、関数の HTTP エンドポイントを取得します。このエンドポイントは、関数の呼び出しに使用されます。Cloud Run functions の認証では、HTTP エンドポイントを呼び出すために ID トークンが必要です。
おおまかな構成手順は次のとおりです。
- Google Cloud で Google Cloud APIs を有効にします。
- サービス アカウントを作成し、Cloud Run 関数の詳細を取得するロールを付与します。
- 別のサービス アカウントを作成し、Cloud Run 関数を呼び出すロールを付与します。
- Cloud Run 関数への認証を設定します。
- Cloud Run 関数を呼び出すクライアント キーを構成します。
Google Cloud APIs を有効にする
Google Cloud コンソールで、次の Google Cloud API を有効にします。
Google Cloud APIs を有効にする方法については、API を有効にするをご覧ください。
Cloud Run 関数の詳細を取得するサービス アカウントを作成する
Google Cloud コンソールで IAM サービス アカウントを作成し、Cloud Run 関数の詳細を取得します。
サービス アカウントの作成方法については、サービス アカウントを作成するをご覧ください。
サービス アカウントに次のロールを付与します。
手順については、単一のロールを付与するをご覧ください。
Cloud Run functions を呼び出す別のサービス アカウントを作成する
Google Cloud コンソールで、Cloud Run functions を呼び出す専用のサービス アカウントを作成します。
サービス アカウントの作成方法については、サービス アカウントを作成するをご覧ください。
呼び出す Cloud Run functions の世代に応じて、サービス アカウントに適切なロールを付与します。
- 第 1 世代の関数の場合: サービス アカウントに
Cloud Functions Invoker
ロールを付与します。 - 第 2 世代の関数の場合: サービス アカウントに
Cloud Run Invoker
ロールを付与します。
関数を呼び出すための権限の詳細については、呼び出しを認証するをご覧ください。
- 第 1 世代の関数の場合: サービス アカウントに
Cloud Run functions への認証を設定する
SAP システムがホストされている環境に応じて、次のいずれかの方法でトークンベースの認証を設定して Cloud Run functions API にアクセスできます。
Compute Engine VM でホストされている SAP システム
SAP システムが Compute Engine VM インスタンスでホストされている場合に Cloud Run functions API にアクセスするための認証を設定する手順については、アクセス トークンを使用して認証するをご覧ください。作成したサービス アカウントを使用してクライアント キーを構成し、Cloud Run 関数の詳細を取得します。
Google Cloud の外部でホストされている SAP RISE システムまたは SAP システム
次のいずれかの認証方法を使用して、Cloud Run functions API にアクセスするための認証を設定します。
作成したサービス アカウントを使用してクライアント キーを構成し、Cloud Run 関数の詳細を取得します。
Cloud Run functions を呼び出すクライアント キーを構成する
SAP システムがホストされている環境に応じて、クライアント キーの構成に異なる値を使用します。
Compute Engine VM でホストされている SAP システム
SAP GUI で、トランザクション コード
/GOOG/SDK_IMG
を実行します。または、トランザクション コード
SPRO
を実行して、[SAP Reference IMG] をクリックします。[ABAP SDK for Google Cloud] > [Basic Settings] > [Configure Client Key] をクリックします。
[New Entries] をクリックします。
次のフィールドに値を入力します。
項目 説明 Google Cloud キー名 クライアント キー構成の名前を指定します。 Google Cloud サービス アカウント名 Cloud Run functions を呼び出す権限を付与したサービス アカウントの名前を指定します。例:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
。Google Cloud のスコープ アクセス スコープ https://www.googleapis.com/auth/cloud-platform
を指定します。プロジェクト ID Cloud Run functions API が有効になっている Google Cloud プロジェクトの ID を指定します。 コマンド名 このフィールドは空白のままにしておきます。 認可クラス 認可クラス /GOOG/CL_AUTH_ID_TOKEN
を指定します。認可フィールド このフィールドは空白のままにしておきます。 トークンのキャッシュ保存 このフィールドは空白のままにしておきます。 トークンの更新期限(秒) このフィールドは空白のままにしておきます。 認可パラメータ 1 このフィールドは空白のままにしておきます。 認可パラメータ 2 このフィールドは空白のままにしておきます。 新しいエントリを保存します。
Google Cloud の外部でホストされている SAP RISE システムまたは SAP システム
SAP GUI で、トランザクション コード
/GOOG/SDK_IMG
を実行します。または、トランザクション コード
SPRO
を実行して、[SAP Reference IMG] をクリックします。[ABAP SDK for Google Cloud] > [Basic Settings] > [Configure Client Key] をクリックします。
[New Entries] をクリックします。
次のフィールドに値を入力します。
項目 説明 Google Cloud キー名 クライアント キー構成の名前を指定します。 Google Cloud サービス アカウント名 Cloud Run functions を呼び出す権限を付与したサービス アカウントの名前を指定します。例:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
。Google Cloud のスコープ アクセス スコープ https://www.googleapis.com/auth/cloud-platform
を指定します。プロジェクト ID Cloud Run functions API が有効になっている Google Cloud プロジェクトの ID を指定します。 コマンド名 このフィールドは空白のままにしておきます。 認可クラス 認可クラスを次のように指定します。 - JWT を使用した認証の場合は、
/GOOG/CL_AUTH_JWT_ID_TOKEN
を指定します。 - Workload Identity 連携を使用した認証の場合は、子クラスを指定します。このクラスには、クラス
/GOOG/CL_AUTH_WIF_ID_TOKEN
の実装が含まれています。詳しくは、IdP からセキュリティ トークンを取得する ABAP コードを実装するをご覧ください。
認可フィールド このフィールドは空白のままにしておきます。 トークンのキャッシュ保存 このフィールドは空白のままにしておきます。 トークンの更新期限(秒) このフィールドは空白のままにしておきます。 認可パラメータ 1 - JWT を使用した認証で、SSF アプリケーションにカスタム名を使用している場合は、新しい Secure Store and Forward(SSF)アプリケーションを作成するセクションで作成した SSF アプリケーションの名前を指定します。
- Workload Identity 連携を使用した認証の場合は、Workload Identity プール ID を指定します。
認可パラメータ 2 - JWT を使用した認証の場合は、このフィールドを空のままにします。
- Workload Identity 連携を使用した認証の場合は、Workload Identity プロバイダ ID を指定します。
- JWT を使用した認証の場合は、
新しいエントリを保存します。
サポートを受ける
ABAP SDK for Google Cloud の問題を解決するには、次の操作を行います。
Cloud フォーラムのコミュニティで ABAP SDK for Google Cloud について質問し、ディスカッションに参加します。
入手可能なすべての診断情報を収集し、Cloud カスタマーケアにお問い合わせください。カスタマーケアへのお問い合わせについては、Google Cloud での SAP に関するサポートを受けるをご覧ください。