Dokumen ini menunjukkan cara menyiapkan autentikasi untuk mengakses Google Cloud API saat sistem SAP Anda berjalan di host yang berada di infrastruktur lokal, di penyedia cloud lain, di lingkungan lain di luar Google Cloud, atau dikelola oleh SAP melalui program SAP RISE. Untuk autentikasi ke Google Cloud, Anda menggunakan Token Web JSON (JWT) yang ditandatangani Google Cloud untuk mendapatkan token akses dari Google Cloud.
Langkah-langkah konfigurasi tingkat tinggi adalah sebagai berikut:
- Membuat akun layanan untuk pengambilan token berbasis JWT.
- Mengonfigurasi setelan keamanan untuk Google Cloud di host SAP.
- Mengaktifkan Google Cloud API.
- Membuat akun layanan lain untuk otorisasi agar dapat mengakses Google Cloud API.
- Membuat konfigurasi SAP.
- Memvalidasi konfigurasi autentikasi.
Membuat akun layanan untuk pengambilan token berbasis JWT
Untuk autentikasi berbasis JWT ke Google Cloud, ABAP SDK untuk Google Cloud memerlukan akun layanan IAM.
Membuat akun layanan
Buat akun layanan dan berikan peran IAM Service Account Token Creator
ke akun layanan.
Untuk membuat akun layanan, lakukan langkah-langkah berikut:
Di konsol Google Cloud, buat akun layanan IAM untuk pengambilan token berbasis JWT.
Untuk mengetahui informasi tentang cara membuat akun layanan, lihat Membuat akun layanan.
Berikan peran
Service Account Token Creator
ke akun layanan. Untuk mengetahui petunjuknya, lihat Memberikan satu peran.
Membuat kunci akun layanan
Anda harus membuat kunci akun layanan P12 untuk akun layanan yang digunakan untuk pengambilan token berbasis JWT.
Untuk membuat kunci akun layanan, lakukan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman Service accounts IAM & Admin.
Pilih project Google Cloud Anda.
Klik alamat email akun layanan yang Anda buat untuk pengambilan token berbasis JWT di bagian sebelumnya, Membuat akun layanan.
Di bawah nama akun layanan, klik tab Keys.
Klik menu drop-down Add Key, lalu pilih Create new key untuk membuat kunci akun layanan.
Terima P12 sebagai jenis kunci dan klik Create.
Kunci pribadi didownload ke komputer Anda.
Catat sandi untuk file kunci pribadi,
notasecret
.Berikan kunci pribadi dan sandi kepada administrator SAP Anda untuk mengimpor kunci pribadi ke
STRUST
, seperti yang dijelaskan dalam Mengimpor kunci akun layanan ke STRUST.
Menentukan akun layanan untuk penandatanganan JWT
Jika Anda membuat akun layanan untuk penandatanganan JWT dalam project yang berbeda dengan project yang berisi Google Cloud API, Anda harus menentukan akun layanan di sistem host SAP.
Jika membuat akun layanan dalam project yang sama yang berisi Google Cloud API, maka Anda dapat melewati langkah ini.
Untuk menentukan akun layanan untuk penandatanganan JWT, lakukan langkah-langkah berikut:
Di SAP GUI, jalankan kode transaksi
/GOOG/SDK_IMG
.Atau, jalankan kode transaksi
SPRO
, lalu klik IMG Referensi SAP.Klik ABAP SDK for Google Cloud > Basic Settings > Configure Parameters.
Klik New Entries.
Di kolom Parameter Name, masukkan
JWT_SERVC_ACCT
. Deskripsi parameter diisi secara otomatis.Di kolom Parameter Value, masukkan nama akun layanan.
Simpan entri baru.
Mengonfigurasi setelan keamanan untuk Google Cloud di sistem host SAP
Jika ingin mengaktifkan penandatanganan JWT untuk akun layanan yang dibuat untuk pengambilan token berbasis JWT, Anda harus mengonfigurasi setelan keamanan untuk Google Cloud pada sistem host SAP.
Membuat Aplikasi Secure Store and Forward (SSF) baru
Setiap entri SSFAPPLIC
memungkinkan Anda menyimpan satu kunci akun layanan.
Untuk menyimpan kunci akun layanan untuk beberapa project, Anda perlu membuat beberapa entri SSFAPPLIC
dengan mengikuti langkah-langkah yang sama.
Untuk membuat entri baru di tabel SSFAPPLIC
, lakukan langkah-langkah berikut:
- Di SAP GUI, masukkan kode transaksi
SE16
. - Di kolom Table Name, masukkan
SSFAPPLIC
, dan buat entri baru. - Di kolom APPLIC, masukkan nama untuk aplikasi SSF Anda, seperti
ZG_JWT
. - Kecuali kolom B_INCCERTS, B_DETACHED, B_ASKPWD, dan B_DISTRIB, pilih semua kolom lainnya.
- Di kolom DESCRIPT, masukkan
JWT Signature for GCP
. Simpan entri baru.
Entri ini menjadi node baru dalam transaksi
STRUST
, tempat Anda mengimpor kunci akun layanan.
Aktifkan node STRUST
Gunakan transaksi SSFA
untuk mengaktifkan node STRUST
untuk JWT Signature for GCP
.
Untuk mengaktifkan node STRUST
, lakukan langkah-langkah berikut:
- Di SAP GUI, masukkan kode transaksi
SSFA
. - Klik New Entries.
Di menu drop-down SSF Application, pilih
JWT Signature for GCP
. Ini adalah entri baru yang Anda buat di tabelSSFAPPLIC
.Parameter SSF khusus aplikasi diisi secara otomatis.
Simpan entri baru.
Node baru
SSF JWT Signature for GCP
diaktifkan dalam transaksiSTRUST
.
Impor kunci akun layanan ke STRUST
Untuk mengimpor kunci akun layanan ke STRUST
, lakukan langkah-langkah berikut:
Di SAP GUI, masukkan kode transaksi
STRUST
.Verifikasi node baru dalam transaksi
STRUST
adalahSSF JWT Signature for GCP
.Impor file kunci pribadi:
- Pilih PSE > Import dari panel menu.
- Bergantung pada sistem SAP Anda, pilih kunci pribadi yang sesuai:
- SAP S/4HANA
- Pilih kunci pribadi P12.
- Masukkan sandi file
notasecret
, lalu klik OK.
- SAP ECC
- Pilih kunci pribadi PSE. Anda harus mengonversi kunci pribadi P12 yang telah Anda download sebelumnya menjadi kunci pribadi PSE. Untuk mengetahui informasi selengkapnya tentang cara mengonversi kunci P12 menjadi kunci PSE, lihat Mengonversi kunci P12 menjadi kunci PSE.
- Masukkan PIN file yang Anda buat selama konversi kunci pribadi dari kunci P12 ke kunci PSE, lalu klik OK.
- SAP S/4HANA
Pilih PSE > Save as.
Pilih Aplikasi SSF, dan di kolom input yang sesuai, pilih node Aplikasi SSF baru yang Anda buat di Create a new Secure Store and Forward (SSF) Application.
Simpan entri baru.
Kunci layanan dilampirkan ke
SSF JWT Signature for GCP
node aplikasi SSF.
Mengonversi kunci pribadi P12 menjadi kunci PSE
Jika sistem SAP Anda adalah SAP NetWeaver 7.0x (SAP ECC), maka Anda harus mengonversi kunci P12 menjadi kunci PSE.
Untuk mengonversi kunci P12 menjadi kunci PSE, lakukan langkah-langkah berikut:
Buka jalur:
/usr/sap/SID/SYS/exe/run/
Ganti SID dengan ID sistem SAP.
Jalankan perintah berikut setelah mengganti placeholder:
sapgenpse import_p12 -p PSE_PATH_AND_FILE_NAME P12_PATH_AND_FILE_NAME.p12
Ganti kode berikut:
PSE_PATH_AND_FILE_NAME
: menentukan jalur dan nama file untuk file PSEP12_PATH_AND_FILE_NAME
: menentukan jalur dan nama file untuk file kunci P12
Masukkan sandi file kunci pribadi P12,
notasecret
.Buat PIN baru untuk kunci pribadi PSE dan masukkan kembali PIN Anda.
Catat PIN ini, Anda harus memberikan PIN ini saat mengimpor file kunci pribadi PSE ke
STRUST
.
Untuk mengetahui informasi dari SAP terkait cara mengonversi kunci P12 menjadi kunci PSE, lihat:
Mengaktifkan Google Cloud API
Di Konsol Google Cloud, aktifkan IAM Service Account Credentials API untuk project Google Cloud yang memerlukan autentikasi. Bersama dengan IAM Service Account Credentials API, Anda perlu mengaktifkan API yang didukung lainnya yang ingin diakses menggunakan SDK.
Untuk mengetahui informasi tentang cara mengaktifkan Google Cloud API, lihat Mengaktifkan API.
Membuat akun layanan untuk otorisasi agar dapat mengakses Google Cloud API
Untuk autentikasi dan otorisasi agar dapat mengakses Google Cloud API, ABAP SDK untuk Google Cloud memerlukan akun layanan IAM.
Membuat akun layanan
Di konsol Google Cloud, buat akun layanan IAM. Akun layanan ini harus merupakan akun utama dalam project Google Cloud yang berisi Google Cloud API yang akan Anda gunakan dengan menggunakan SDK. Jika membuat akun layanan di project yang sama yang berisi Google Cloud API, maka akun layanan akan ditambahkan sebagai akun utama ke project secara otomatis.
Jika membuat akun layanan dalam project selain project tempat Google Cloud API diaktifkan, Anda perlu menambahkan akun layanan ke project tersebut dengan langkah tambahan.
Di Konsol Google Cloud, buat akun layanan IAM untuk autentikasi dan otorisasi untuk mengakses Google Cloud API.
Untuk mengetahui informasi tentang cara membuat akun layanan, lihat Membuat akun layanan.
Di konsol Google Cloud, berikan peran IAM yang diperlukan kepada akun layanan untuk mengakses fungsi API. Agar memahami persyaratan peran untuk Google Cloud API, lihat dokumentasi API individual dan ikuti prinsip hak istimewa terendah. Untuk mengetahui informasi selengkapnya tentang peran bawaan khusus API, lihat Menemukan peran IAM untuk Google Cloud API.
Jika membuat akun layanan dalam project selain project yang berisi Google Cloud API yang akan digunakan dengan menggunakan SDK, catat nama akun layanan tersebut. Anda dapat menentukan nama project saat menambahkan akun layanan ke project tersebut. Untuk informasi selengkapnya, lihat Menambahkan akun layanan ke project Google Cloud.
Menambahkan akun layanan ke project Google Cloud
Jika Anda membuat akun layanan untuk ABAP SDK untuk Google Cloud dalam project selain project yang berisi Google Cloud API yang ingin Anda gunakan dengan SDK, maka Anda perlu menambahkan layanan tersebut akun ke project Google Cloud yang berisi Google Cloud API.
Jika membuat akun layanan dalam project yang sama yang berisi Google Cloud API, maka Anda dapat melewati langkah ini.
Untuk menambahkan akun layanan yang ada ke project Google Cloud yang berisi Google Cloud API, lakukan langkah-langkah berikut:
Di konsol Google Cloud, buka halaman IAM Permissions:
Pastikan nama project yang berisi Google Cloud API target ditampilkan di dekat bagian atas halaman. Contoh:
Izin untuk project "
PROJECT_NAME
"Jika tidak, ganti project.
Di halaman IAM, klik
Grant access. Dialog Berikan akses ke "PROJECT_NAME
" akan terbuka.Di dialog Berikan akses ke "
PROJECT_NAME
", lakukan langkah-langkah berikut:- Di kolom New principals, tentukan nama akun layanan.
Di kolom Pilih peran, tentukan peran yang relevan. Misalnya, untuk Pub/Sub, jika ingin mengubah topik dan langganan, serta akses untuk memublikasikan dan menggunakan pesan, Anda dapat menentukan peran Pub/Sub Editor (
roles/pubsub.editor
).Untuk mengetahui detail selengkapnya tentang peran bawaan khusus API, lihat Referensi peran dasar dan bawaan IAM.
Tambahkan peran tambahan sesuai kebutuhan untuk penggunaan API Anda. Terapkan praktik terbaik yang direkomendasikan Google dengan menerapkan prinsip hak istimewa terendah.
Klik Simpan. Akun layanan akan muncul dalam daftar akun utama project di halaman IAM.
Akun layanan sekarang dapat digunakan untuk mengakses Google Cloud API dalam project ini.
Menyiapkan koneksi HTTPS
Server aplikasi SAP diperlukan untuk terhubung ke Google Cloud API melalui HTTPS.
Di host SAP, pastikan aturan atau proxy firewall dikonfigurasi untuk mengizinkan traffic keluar dari port HTTPS ke Google Cloud API yang diperlukan.
Secara khusus, sistem SAP Anda harus dapat mengakses endpoint API berikut:
https://iamcredentials.googleapis.com
- Endpoint API untuk API yang ingin Anda gunakan dengan SDK.
Membuat konfigurasi SAP
Untuk autentikasi berbasis JWT, buat konfigurasi SAP yang diperlukan.
Menentukan setelan akses di tabel kunci klien
Untuk menentukan setelan akses, lakukan langkah-langkah berikut:
Di SAP GUI, jalankan kode transaksi
/GOOG/SDK_IMG
.Atau, jalankan kode transaksi
SPRO
, lalu klik IMG Referensi SAP.Klik ABAP SDK for Google Cloud > Basic Settings > Configure Client Key.
Klik New Entries.
Masukkan nilai untuk kolom berikut:
Kolom Deskripsi Nama Kunci Google Cloud Tentukan nama konfigurasi kunci klien. Nama Akun Layanan Google Cloud Tentukan nama akun layanan dalam format alamat email yang dibuat untuk ABAP SDK untuk Google Cloud di langkah Create a service account. Contoh:
sap-example-svc-acct@example-project-123456.
Cakupan Google Cloud Tentukan cakupan akses, 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_JWT
.Kolom Otorisasi Kosongkan kolom ini. Detik Pembaruan Token Kosongkan kolom ini. Parameter Otorisasi 1 Tentukan nama aplikasi SSF yang Anda buat di bagian Membuat Aplikasi Secure Store and Forward (SSF) baru. Simpan entri baru.
Membuat tujuan RFC baru
Buat tujuan RFC untuk IAM API dan API lain yang ingin Anda gunakan dengan ABAP SDK untuk Google Cloud, misalnya, Pub/Sub API v1.
Nama tujuan RFC | Catatan |
---|---|
ZGOOG_IAMCREDENTIALS |
Tujuan RFC ini menargetkan IAM API . |
ZGOOG_OAUTH2_TOKEN |
Tujuan RFC ini menargetkan endpoint Google Cloud untuk autentikasi berbasis token. |
ZGOOG_PUBSUB_V1 |
Tujuan RFC ini menargetkan Pub/Sub API. |
Untuk informasi tentang cara membuat tujuan RFC, lihat Tujuan RFC.
Menentukan tujuan RFC dalam tabel pemetaan layanan
Dalam tabel pemetaan layanan, tentukan tujuan RFC untuk IAM API dan API lain yang ingin Anda gunakan menggunakan ABAP SDK untuk Google Cloud.
Untuk menentukan tujuan RFC, lakukan langkah-langkah berikut:
Di SAP GUI, jalankan kode transaksi
/GOOG/SDK_IMG
.Atau, jalankan kode transaksi
SPRO
, lalu klik IMG Referensi SAP.Klik ABAP SDK for Google Cloud > Basic Settings > Configure Service Mapping.
Klik New Entries.
Tentukan tujuan RFC untuk IAM API dan API lainnya. Contoh:
Nama Nama Layanan RFC Destination Nama Kunci Google Cloud iamcredentials:v1
ZGOOG_IAMCREDENTIALS
Nama Kunci Google Cloud googleapis.com/oauth2
ZGOOG_OAUTH2_TOKEN
Nama Kunci Google Cloud pubsub.googleapis.com
ZGOOG_PUBSUB_V1
Simpan entri baru.
Memvalidasi konfigurasi autentikasi
Untuk memvalidasi konfigurasi autentikasi, lakukan langkah-langkah berikut:
Di SAP GUI, jalankan kode transaksi
/GOOG/SDK_IMG
.Atau, jalankan kode transaksi
SPRO
, lalu klik IMG Referensi SAP.Klik ABAP SDK for Google Cloud > Utilities > Validate Authentication Configuration.
Masukkan nama kunci klien.
Klik Execute untuk memeriksa apakah keseluruhan alur berhasil dikonfigurasi.
Centang hijau di kolom Status menunjukkan bahwa semua langkah konfigurasi berhasil diselesaikan.
Mendapatkan dukungan
Jika Anda memerlukan bantuan untuk menyelesaikan masalah terkait ABAP SDK untuk Google Cloud, lakukan hal berikut:
Lihat panduan pemecahan masalah ABAP SDK untuk Google Cloud.
Ajukan pertanyaan dan diskusikan ABAP SDK untuk Google Cloud dengan komunitas di Cloud Forum.
Kumpulkan semua informasi diagnostik yang tersedia dan hubungi Cloud Customer Care. Untuk mengetahui informasi tentang cara menghubungi Customer Care, lihat Mendapatkan dukungan untuk SAP di Google Cloud.