Melakukan autentikasi menggunakan kunci API

Dokumen ini menunjukkan cara menyiapkan autentikasi untuk mengakses Google Cloud API menggunakan kunci API. Hanya beberapa Google Cloud API yang menggunakan kunci API untuk autentikasi, misalnya, Google Maps Platform. Tinjau dokumentasi autentikasi untuk layanan atau API yang ingin Anda gunakan untuk mengetahui apakah layanan atau API tersebut mendukung kunci API atau tidak. Di mana pun sistem SAP Anda dihosting, Anda dapat menggunakan kunci API untuk autentikasi selama API yang ingin Anda gunakan mendukung kunci API.

Untuk melakukan autentikasi ke Google Cloud API menggunakan kunci API, gunakan salah satu metode berikut:

Mengautentikasi dengan menggunakan kunci API yang disimpan di SAP SSF

Langkah-langkah konfigurasi tingkat tinggi adalah sebagai berikut:

Membuat kunci API

Untuk autentikasi menggunakan kunci API, Anda perlu membuat kunci API. String kunci API adalah string terenkripsi, misalnya, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. ABAP SDK untuk Google Cloud menggunakan string kunci API dalam permintaan HTTP untuk melakukan autentikasi dengan aman saat memanggil Google Cloud API.

Google Cloud menyediakan beberapa cara untuk membuat kunci API.

Untuk membuat kunci API menggunakan konsol Google Cloud, lakukan langkah-langkah berikut:

  1. Di Konsol Google Cloud, buka halaman Langganan.

    Buka Kredensial

  2. Klik Create Credentials dan pilih API key dari menu.

    • Dialog API key created akan menampilkan string kunci API. Salin string kunci Anda dan amankan. Anda memerlukan kunci API ini untuk mengonfigurasi autentikasi ke Google Cloud.

    • Secara default, kunci API tidak dibatasi. Sebaiknya batasi kunci API dengan memilih API yang dapat menggunakan kunci API ini. Untuk mengetahui informasi selengkapnya tentang cara menambahkan pembatasan API, lihat artikel Menambahkan pembatasan API.

Menyimpan kunci API di SSF

ABAP SDK untuk Google Cloud menyediakan opsi untuk menyimpan kunci API dengan aman menggunakan mekanisme SAP Secure Store and Forward (SSF).

Dengan menggunakan opsi SSF, Anda dapat menyimpan Kunci API dalam format terenkripsi di tabel /GOOG/APIKEY_BIN. Saat API dipanggil, kunci API akan diambil dari tabel /GOOG/APIKEY_BIN, didekripsi, dan ditambahkan ke URI endpoint API.

Untuk tujuan keamanan, Anda tidak boleh melihat konten /GOOG/APIKEY_BIN menggunakan alat standar, transaksi seperti SE16, SE16N, atau SE11.

Prasyarat

Untuk autentikasi menggunakan kunci API yang disimpan di SAP SSF, Anda harus menginstal SAP Cryptographic Library versi 8.5 dan yang lebih baru di sistem SAP. Untuk informasi selengkapnya tentang Library Kriptografi SAP, lihat 1848999 - Catatan Pusat untuk CommonCryptoLib 8 (SAPCRYPTOLIB) dan 397175 - software Kriptografi SAP - kontrol ekspor.

Untuk memverifikasi versi SAP Cryptographic Library, lakukan langkah-langkah berikut:

  1. Di SAP GUI, masukkan kode transaksi STRUST.
  2. Buka menu Environment, lalu klik Display SSF Version.

Menyiapkan aplikasi SSF

Pada tabel SSFAPPLIC, buat aplikasi SSF baru ZG_APK yang mengenkripsi kunci API. ZG_APK adalah nama aplikasi SSF default.

Atau, Anda dapat membuat aplikasi SSF dengan nama pilihan Anda atau menggunakan aplikasi SSF yang sudah ada dengan nama berbeda. Jika ingin menggunakan aplikasi SSF yang berbeda untuk enkripsi, Anda harus mengonfigurasi nama aplikasi SSF di Authorization Parameter 1 tabel kunci klien.

Untuk membuat entri baru dalam tabel SSFAPPLIC, lakukan langkah-langkah berikut:

  1. Di SAP GUI, masukkan kode transaksi SE16.
  2. Di kolom Table Name, masukkan SSFAPPLIC, lalu buat entri baru.
  3. Di kolom APPLIC, masukkan ZG_APK.
  4. Tentukan nilai di kolom berikut.

    Kolom Nilai
    APPLIC ZG_APK
    B_TOOLKIT Pilih flag.
    B_FORMAT Pilih flag.
    B_PAB Pilih flag.
    B_PROFID Pilih flag.
    B_PROFILE Pilih flag.
    B_HASHALG Kosongkan kolom ini.
    B_ENCRALG Kosongkan kolom ini.
    B_INCCERTS Kosongkan kolom ini.
    B_DETACHED Kosongkan kolom ini.
    B_ASKPWD Kosongkan kolom ini.
    B_DISTRIB Pilih flag.
    DESCRIPT API Key Encryption for GCP
  5. Simpan entri baru.

Membuat parameter SSF
  1. Di SAP GUI, masukkan kode transaksi SM30.

  2. Buka tampilan VSSFARGS.

  3. Untuk aplikasi ZG_APK (API Key Encryption for GCP), buat entri baru. Parameter SSF khusus aplikasi diisi secara otomatis.

  4. Simpan entri baru.

Membuat Lingkungan Keamanan Pribadi (Personal Security Environment/PSE)

  1. Di SAP GUI, masukkan kode transaksi STRUST.

  2. Di bagian node SSF API Key Encryption for GCP, klik kanan dan pilih Create.

  3. Di kolom Algorithm, pilih RSA. Biarkan kolom lain dengan nilai default yang diisi sistem.

  4. Simpan entri baru.

Menyimpan kunci API

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK for Google Cloud > Setelan Dasar > Konfigurasi Kunci API (Menggunakan SSF).

  3. Di Nama Kunci Google, masukkan nama konfigurasi kunci klien.

  4. Pada kolom Kunci API, masukkan kunci API yang Anda buat sebelumnya di bagian Membuat kunci API.

  5. Pilih Simpan.

  6. Klik Execute untuk menyimpan kunci API.

Mengonfigurasi kunci klien

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK for Google Cloud > Setelan Dasar > Konfigurasi Kunci Klien.

  3. Klik New Entries.

  4. Masukkan nilai untuk kolom berikut:

    Kolom Deskripsi
    Nama Kunci Google Cloud Tetapkan nama konfigurasi kunci klien. Misalnya, DEMO_API_KEY.
    Nama Akun Layanan Google Cloud Kosongkan kolom ini.
    Cakupan Google Cloud Tentukan cakupan akses API, https://www.googleapis.com/auth/cloud-platform.
    ID Project Tentukan ID project Google Cloud yang berisi API target Anda.
    Nama perintah Kosongkan kolom ini.
    Class Otorisasi Tentukan class otorisasi, /GOOG/CL_AUTH_API_KEY_SSF.
    Pembuatan Cache Token

    Tanda yang menentukan apakah token akses yang diambil dari Google Cloud akan disimpan dalam cache atau tidak.

    Sebaiknya aktifkan cache token setelah Anda selesai mengonfigurasi dan menguji koneksi ke Google Cloud. Untuk mengetahui informasi selengkapnya tentang penyimpanan token ke dalam cache, lihat Mengaktifkan penyimpanan token ke dalam cache.

    detik Refresh Token Tentukan jumlah waktu, dalam detik, sebelum masa berlaku token akses berakhir dan harus dimuat ulang. Nilai defaultnya adalah 3500.
    Parameter Otorisasi 1 Jika nama aplikasi SSF berbeda dengan ZG_APK, tentukan nama aplikasi SSF Anda.
    Parameter Otorisasi 2 Kosongkan kolom ini.
  5. Simpan entri baru.

Membuat tujuan RFC baru

Untuk API yang ingin Anda gunakan dengan ABAP SDK untuk Google Cloud, buat tujuan RFC baru.

Untuk informasi tentang cara membuat tujuan RFC, lihat Tujuan RFC.

Jika tujuan RFC tidak dibuat dan dikonfigurasi, fungsi ABAP SDK untuk Google Cloud yang menggunakan endpoint API default akan dipertahankan dalam setiap stub klien API.

Mengonfigurasi pemetaan layanan

Konfigurasikan tabel pemetaan layanan untuk API yang ingin Anda gunakan menggunakan ABAP SDK untuk Google Cloud.

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK for Google Cloud > Basic Settings > Configure Service Mapping.

  3. Klik New Entries.

  4. Tentukan tujuan RFC untuk API yang akan Anda gunakan, misalnya, addressvalidation v1. Jika Anda akan menggunakan API lain, tentukan tujuan RFC untuk API tersebut.

    Nama Nama Layanan RFC Destination
    Nama Kunci Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Simpan entri baru.

Menghapus kunci API

Jika kunci API tidak lagi digunakan, Anda dapat menghapus kunci API tersebut dari sistem SAP.

Untuk menghapus kunci API, formulir dengan mengikuti langkah-langkah berikut:

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK for Google Cloud > Setelan Dasar > Konfigurasi Kunci API (Menggunakan SSF).

  3. Di kolom Google Key Name, masukkan nama konfigurasi kunci klien.

  4. Pilih Hapus.

  5. Klik Execute untuk menghapus kunci API.

Mengautentikasi dengan menggunakan kunci API yang disimpan di Secret Manager

Langkah-langkah konfigurasi tingkat tinggi adalah sebagai berikut:

Membuat kunci API

Untuk autentikasi menggunakan kunci API, Anda perlu membuat kunci API. String kunci API adalah string terenkripsi, misalnya, AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe. ABAP SDK untuk Google Cloud menggunakan string kunci API dalam permintaan HTTP untuk melakukan autentikasi dengan aman saat memanggil Google Cloud API.

Google Cloud menyediakan beberapa cara untuk membuat kunci API.

Untuk membuat kunci API menggunakan konsol Google Cloud, lakukan langkah-langkah berikut:

  1. Di Konsol Google Cloud, buka halaman Langganan.

    Buka Kredensial

  2. Klik Create Credentials dan pilih API key dari menu.

    • Dialog API key created akan menampilkan string kunci API. Salin string kunci Anda dan amankan. Anda memerlukan kunci API ini untuk mengonfigurasi autentikasi ke Google Cloud.

    • Secara default, kunci API tidak dibatasi. Sebaiknya batasi kunci API dengan memilih API yang dapat menggunakan kunci API ini. Untuk mengetahui informasi selengkapnya tentang cara menambahkan pembatasan API, lihat artikel Menambahkan pembatasan API.

Membuat secret dan menyimpan kunci API

ABAP SDK untuk Google Cloud menyediakan opsi untuk menyimpan kunci API dengan aman menggunakan layanan Secret Manager Google Cloud. Untuk menyimpan string kunci API dengan aman, Secret Manager memungkinkan Anda mengikuti praktik terbaik untuk menggunakan kunci API dengan aman.

Untuk membuat secret dan menyimpan kunci API, lakukan langkah-langkah berikut:

  1. Mengaktifkan Secret Manager API.

    Buka library API

  2. Di konsol Google Cloud, buat secret, dan simpan kunci API sebagai versi terbaru.

    Buka Secret manager

Untuk mengetahui informasi tentang cara membuat secret, lihat Membuat rahasia.

ABAP SDK untuk Google Cloud secara default hanya mengambil versi terbaru secret.

Mengonfigurasi kunci klien untuk akses Secret Manager

Secret Manager API menggunakan token untuk autentikasi. Oleh karena itu, Anda perlu menyiapkan autentikasi berbasis token untuk mengakses Secret Manager API, bergantung pada deployment SAP Anda.

Gunakan salah satu metode berikut untuk menyiapkan autentikasi berbasis token untuk mengakses Secret Manager API:

Catat nama kunci klien yang Anda buat untuk akses Secret Manager.

Mengonfigurasi kunci klien untuk secret

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK for Google Cloud > Setelan Dasar > Konfigurasi Kunci Klien.

  3. Klik New Entries.

  4. Masukkan nilai untuk kolom berikut:

    Kolom Deskripsi
    Nama Kunci Google Cloud Tetapkan nama konfigurasi kunci klien. Misalnya, DEMO_API_KEY.
    Nama Akun Layanan Google Cloud Kosongkan kolom ini.
    Cakupan Google Cloud Tentukan cakupan akses API, https://www.googleapis.com/auth/cloud-platform.
    ID Project Tentukan ID project Google Cloud yang berisi API target Anda.
    Nama perintah Kosongkan kolom ini.
    Class Otorisasi Tentukan /GOOG/CL_AUTH_API_KEY_SM
    Pembuatan Cache Token

    Tanda yang menentukan apakah token akses yang diambil dari Google Cloud akan disimpan dalam cache atau tidak.

    Sebaiknya aktifkan cache token setelah Anda selesai mengonfigurasi dan menguji koneksi ke Google Cloud. Untuk mengetahui informasi selengkapnya tentang penyimpanan token ke dalam cache, lihat Mengaktifkan penyimpanan token ke dalam cache.

    detik Refresh Token Tentukan jumlah waktu, dalam detik, sebelum masa berlaku token akses berakhir dan harus dimuat ulang. Nilai defaultnya adalah 3500.
    Parameter Otorisasi 1 Tentukan nama kunci klien yang Anda buat untuk akses Secret Manager. Misalnya, CLIENT_KEY_SM.
    Parameter Otorisasi 2 Tentukan nama secret, yang menyimpan kunci API-nya. Misalnya, TEST_SECRET.
  5. Simpan entri baru.

Membuat tujuan RFC baru

Untuk API yang ingin Anda gunakan dengan ABAP SDK untuk Google Cloud, buat tujuan RFC baru.

Untuk informasi tentang cara membuat tujuan RFC, lihat Tujuan RFC.

Jika tujuan RFC tidak dibuat dan dikonfigurasi, fungsi ABAP SDK untuk Google Cloud yang menggunakan endpoint API default akan dipertahankan dalam setiap stub klien API.

Mengonfigurasi pemetaan layanan

Konfigurasikan tabel pemetaan layanan untuk API yang ingin Anda gunakan menggunakan ABAP SDK untuk Google Cloud.

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK untuk Google Cloud > Setelan Dasar > Konfigurasi Pemetaan Layanan.

  3. Klik New Entries.

  4. Tentukan tujuan RFC untuk API yang akan Anda gunakan, misalnya, addressvalidation v1. Jika Anda akan menggunakan API lain, tentukan tujuan RFC untuk API tersebut.

    Nama Nama Layanan RFC Destination
    Nama Kunci Google Cloud addressvalidation:v1 ZGOOG_ADDRVALDN_V1
  5. Simpan entri baru.

Memvalidasi pengambilan kunci API dari Secret Manager

Untuk memvalidasi pengambilan kunci API dari Secret Manager, lakukan langkah-langkah berikut:

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK for Google Cloud > Utilitas > Validate API key retrieval (Using Secret Manager).
  3. Tentukan nama kunci klien.
  4. Klik Execute untuk memeriksa apakah kunci API berhasil diambil dari Secret Manager.

Memvalidasi konfigurasi autentikasi

Untuk memvalidasi konfigurasi autentikasi, lakukan langkah-langkah berikut:

  1. Di GUI SAP, jalankan kode transaksi /GOOG/SDK_IMG.

    Atau, jalankan kode transaksi SPRO, lalu klik SAP Reference IMG.

  2. Klik ABAP SDK for Google Cloud > Utilitas > Validate Authentication Configuration.

  3. Masukkan nama kunci klien.

  4. Klik Execute untuk memeriksa apakah keseluruhan alur berhasil dikonfigurasi.

    Centang hijau di kolom Result menunjukkan bahwa semua langkah konfigurasi berhasil diselesaikan.

Dapatkan dukungan

Jika Anda memerlukan bantuan untuk menyelesaikan masalah terkait ABAP SDK untuk Google Cloud, lakukan hal berikut: