Dokumen ini menjelaskan cara melakukan autentikasi ke Google Cloud dengan menggunakan token melalui Workload Identity Federation. Dengan Workload Identity Federation, Anda dapat memberikan akses workload SAP lokal atau multicloud ke Google Cloud resource tanpa menggunakan kunci akun layanan. Anda dapat menggunakan Workload Identity Federation dengan Amazon Web Services (AWS) atau dengan penyedia identitas (IdP) yang mendukung OpenID Connect (OIDC), seperti seperti Microsoft Azure atau SAML 2.0.
Workload Identity Federation mengikuti Pertukaran token OAuth 2.0 spesifikasi pendukung. Anda memberikan kredensial dari IdP ke Layanan Token Keamanan, yang memverifikasi identitas pada kredensial, lalu menampilkan token federasi sebagai gantinya. Anda dapat menggunakan token ini untuk meniru identitas akun layanan dan memperoleh token akses OAuth 2.0 yang berumur pendek. Token akses jangka pendek memungkinkan Anda memanggil semua Google Cloud API yang dapat diakses oleh akun layanan.
Untuk autentikasi menggunakan token melalui Workload Identity Federation, langkah-langkah konfigurasi tingkat tinggi adalah sebagai berikut:
- Siapkan IdP eksternal.
- Di Google Cloud, konfigurasikan Workload Identity Federation.
- Di Google Cloud, buat akun layanan.
- Di Google Cloud, izinkan workload eksternal untuk meniru identitas akun layanan.
- Di ABAP SDK for Google Cloud, terapkan kode ABAP untuk mengambil token keamanan dari IdP Anda.
- Di ABAP SDK untuk Google Cloud, konfigurasi kunci klien.
Tidak semua produk Google Cloud mendukung Workload Identity Federation. Sebelum menyiapkan autentikasi menggunakan Workload Identity Federation, tinjau daftar produk dan batasan yang didukung. Untuk mengetahui informasi selengkapnya, lihat Penggabungan identitas tenaga kerja: produk dan batasan yang didukung.
Menyiapkan IdP eksternal Anda
Anda harus menyiapkan IdP sehingga beban kerja SAP Anda dapat memperoleh kredensial yang dapat ditukar dengan token keamanan Google OAuth 2.0.
Untuk menyiapkan IdP eksternal, lakukan langkah-langkah bergantung pada IdP Anda:
- Jika Anda menggunakan AWS atau Azure sebagai IdP, ikuti petunjuk untuk menyiapkan IdP eksternal.
- Jika Anda menggunakan IdP lain, ikuti petunjuk untuk menyiapkan IdP eksternal.
Mengonfigurasi Workload Identity Federation
Di Google Cloud, konfigurasikan kumpulan dan penyedia workload identity.
Anda mengonfigurasi kumpulan identitas, yaitu entitas yang memungkinkan Anda mengelola identitas eksternal. Anda juga akan mengonfigurasi penyedia workload identity pool, yang merupakan entity yang menggambarkan hubungan antara Google Cloud dan IdP Anda.
Untuk mengonfigurasi Workload Identity Federation, lakukan langkah-langkah sesuai kebutuhan di IdP eksternal:
- Jika Anda menggunakan AWS atau Azure sebagai IdP, ikuti petunjuk untuk membuat kumpulan dan penyedia workload identity.
- Jika Anda menggunakan IdP lain, ikuti petunjuk untuk membuat kumpulan workload identity dan penyedia.
Catat hal-hal berikut:
- Project number: nomor project project Google Cloud dengan Anda membuat kumpulan workload identity.
- ID Kumpulan: ID unik yang mengidentifikasi kumpulan identitas workload.
- ID Penyedia: ID yang mengidentifikasi penyedia kumpulan workload identity.
Anda memerlukannya untuk konfigurasi kunci klien ABAP SDK.
Membuat akun layanan
Di konsol Google Cloud, buat IAM khusus akun layanan Anda untuk mengakses Google Cloud API. Akun layanan ini harus merupakan akun utama dalam project Google Cloud yang berisi Google Cloud API yang akan Anda gunakan dengan menggunakan SDK.
Di Konsol Google Cloud, aktifkan IAM Service Account Credentials API, Security Token Service API, dan semua API lain yang didukung yang akan Anda akses menggunakan SDK.
Untuk mengetahui informasi tentang cara mengaktifkan Google Cloud API, lihat Mengaktifkan API.
Buat akun layanan yang merepresentasikan workload.
Memberikan peran IAM yang diperlukan kepada akun layanan untuk mengakses fungsi API. Guna memahami persyaratan peran untuk Google Cloud API, melihat dokumentasi API individual dan ikuti prinsip hak istimewa terendah. Untuk selengkapnya mengetahui informasi tentang peran bawaan khusus API, lihat Menemukan peran IAM untuk Google Cloud API.
Mengizinkan workload eksternal untuk meniru identitas akun layanan
Agar beban kerja eksternal meniru akun layanan, lakukan tindakan langkah-langkah, bergantung pada IdP eksternal Anda:
- Jika Anda menggunakan AWS atau Azure sebagai IdP, ikuti petunjuk untuk mengizinkan workload eksternal meniru akun layanan.
- Jika Anda menggunakan IdP lain, ikuti petunjuk untuk mengizinkan beban kerja eksternal meniru akun layanan.
Menerapkan kode ABAP untuk mengambil token keamanan dari IdP Anda
ABAP SDK untuk Google Cloud menyediakan class abstrak /GOOG/CL_AUTH_WIF_BASE
,
yang memiliki logika untuk mengambil
token keamanan OAuth 2.0 dari
layanan Token Keamanan dan token akses OAuth 2.0 dari
IAM Service Account Credentials API. Sebagai pengembang, Anda perlu
buat class turunan di namespace Anda yang mewarisi
dari class abstrak /GOOG/CL_AUTH_WIF_BASE
.
Untuk memanggil fungsi Cloud Run dari ABAP SDK untuk Google Cloud menggunakan
Workload Identity Federation,
SDK menyediakan class abstrak lainnya
/GOOG/CL_AUTH_WIF_ID_TOKEN
. Jika Anda menyiapkan autentikasi menggunakan
Workload Identity Federation, lalu Anda perlu membuat satu lagi
di namespace Anda yang diwarisi dari class abstrak
/GOOG/CL_AUTH_WIF_ID_TOKEN
. Anda menentukan kelas turunan ini
kolom Authorization Class saat mengonfigurasi kunci klien untuk memanggil fungsi Cloud Run.
Pastikan untuk menerapkan
metode GET_EXT_IDP_TOKEN
di class turunan dan tulis logika untuk mendapatkan
token keamanan dari IdP Anda. Isi kolom berikut:
CV_TOKEN
: token yang diambil dari IdP Anda dalam formatstring
.CV_TOKEN_TYPE
: jenis token keamanan yang diambil dari IdP Anda. Jenis token yang didukung adalah:urn:ietf:params:oauth:token-type:jwt
urn:ietf:params:oauth:token-type:id_token
urn:ietf:params:aws:token-type:aws4_request
urn:ietf:params:oauth:token-type:access_token
urn:ietf:params:oauth:token-type:saml2
Nilai yang diisi dalam CV_TOKEN
dan CV_TOKEN_TYPE
kemudian digunakan oleh metode
class abstrak /GOOG/CL_AUTH_WIF_BASE
untuk bertukar dan mengambil
token OAuth 2.0 final, yang digunakan dalam panggilan API.
Contoh berikut menunjukkan contoh implementasi metode
GET_EXT_IDP_TOKEN
untuk
penyedia Cloud lain, seperti AWS dan Azure.
AWS
Azure
Mengonfigurasi kunci klien
-
Di GUI SAP, jalankan kode transaksi
/GOOG/SDK_IMG
.Atau, jalankan kode transaksi
SPRO
, lalu klik SAP Reference IMG. - Klik ABAP SDK for Google Cloud > Setelan Dasar > Konfigurasi Kunci Klien.
- 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 mengakses Google Cloud API dalam langkah Buat akun layanan. Contoh: sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
.Cakupan Google Cloud Kosongkan kolom ini. ID Project Google Cloud Tentukan ID project Google Cloud tempat Anda membuat workload identity pool. Nama perintah Kosongkan kolom ini. Kelas Otorisasi Menentukan class turunan yang berisi implementasi dari class /GOOG/CL_AUTH_WIF_BASE
. Untuk informasi selengkapnya, lihat Terapkan kode ABAP untuk mengambil token keamanan dari IdP Anda.Pembuatan Cache Token Kosongkan kolom ini. detik Token Refresh Kosongkan kolom ini. Parameter Otorisasi 1 Tentukan ID kumpulan workload identity. Parameter Otorisasi 2 Tentukan ID penyedia workload identity. Simpan entri.
Mendapatkan dukungan
Jika Anda memerlukan bantuan untuk menyelesaikan masalah dengan ABAP SDK untuk Google Cloud, lakukan hal berikut:
Ajukan pertanyaan dan diskusikan ABAP SDK untuk Google Cloud dengan komunitas aktif Forum Cloud.
Mengumpulkan semua informasi diagnostik yang tersedia dan menghubungi Cloud Customer Care. Untuk mengetahui informasi tentang cara menghubungi Customer Care, lihat Mendapatkan dukungan untuk SAP di Google Cloud.