Otentikasi dan Otorisasi Rest API pada SAP Cloud Integration Suite

Pada  bagian awal ini kita perlu mengetahui terlebih dahulu apa itu REST API. Dikutip dari laman geeksforgeeks.org, REST (Representational State Transfer) merupakan sebuah arsitektur yang mendefinisikan suatu aturan yang biasa digunakan untuk membuat sebuah web service. Sebuah web service yang menggunakan arsitektur dari REST ini biasa disebut RESTful Web Service atau biasa lebih dikenal dengan RESTfull API atau REST API. 

Arsitektur REST API menggunakan internet atau http sebagai protokolnya dapat dikombinasikan dengan arsitektur SAP Integration Suite berikut:

Menghubungkan sebuah sistem dengan SAP Integration Suite dapat dicapai dengan berbagai connector yang ada di Integration seperti API Management, Open Connector atau Cloud Integration. Connector-connector tersebut dapat digunakan dengan berbagai arsitektur style seperti REST API, SOAP, Odata, ataupun arsitektur style lainnya.

Dalam membangun integrasi berbasis REST juga sangat penting untuk memperhatikan keamanan transfer data antara source dan tujuan. Dari segi keamanan terdapat beberapa metode keamanan yang biasanya diterapkan dalam integrasi REST API, adapun metode tersebut seperti otentikasi, otorisasi, secure tunnel, enkripsi dan masih banyak lainnya. Pada praktiknya metode-metode ini biasanya dipilih berdasarkan standar keamanan yang ingin dibuat oleh pihak-pihak yang menyediakan dan menggunakan service ini.

Dalam article ini akan dibahas otentikasi dan otorisasi yang ada di SAP Integration Suite khususnya “Oauth 2.0” dan “IP Whitelisting”. Secara sederhana otentikasi merupakan proses mengetahui identitas dari pengirim request. Otentikasi atau Authentikasi biasanya digunakan untuk membatasi siapa saja identitas atau entitas service yang dimiliki oleh penerima untuk dapat berkomunikasi dengan penerima. Sedangkan otorisasi merupakan pemberian kepada suatu identitas untuk kebebasan dalam akses sumber daya yang dimiliki oleh pemberi otorisasi. Jadi Otentikasi dan otorisasi ini merupakan suatu kombinasi yang untuk mengamankan suatu service yang dimiliki. 

SAP integration Suite sendiri merupakan suatu platform yang menyediakan kebutuhan untuk mengintegrasikan suatu sistem SAP dengan sistem lainnya. Pada SAP Integration Suite terdapat beberapa metode yang digunakan untuk proses otentikasi salah satunya dengan metode Oauth 2.0. Berikut contoh penggunaan Oauth 2.0 pada SAP Integration Suite: 

Pada gambar di atas merupakan request untuk mengautentikasi dan mendapatkan token yang akan digunakan untuk melakukan request terhadap resources yang ada di SAP Integration Suite. Token tersebut merepresentasikan entitas yang sudah tervalidasi untuk berkomunikasi. Biasanya token memiliki waktu expire.  Jika komunikasi dilakukan tanpa token tersebut, permintaan akan langsung ditolak seperti gambar berikut:

Selain autentikasi Oauth 2.0, Otorisasi digunakan untuk mengatur dan memberikan control kepada request yang masuk. Salah satunya adalah dengan whitelisting IP yang untuk mengakses Resources API yang dimiliki. Pada SAP Integration Suite hal ini dapat dilakukan dengan menambahkan Access Control pada API Policies. Berikut contoh penggunaan whitelisting IP pada SAP Integration Suite:

Pada gambar di atas diberikan otorisasi untuk IP yang didaftarkan pada API Management. Jika resources API tersebut diakses dengan IP yang tidak sesuai dengan IP Address yang sudah didaftarkan, request tidak akan dijalankan dan akan memberikan balikan error seperti gambar berikut :

Kesimpulan

Terdapat banyak metode untuk mengamankan API beberapa diantaranya yaitu Otentikasi dan Otorisasi yang dapat dikombinasikan untuk mengontrol akses terhadap resources API yang dimiliki. Contoh penggunaan otentikasi dan otorisasi yaitu dengan menggunakan metode Oauth 2.0 dan Whitelisting IP yang telah dibahas pada artikel ini.


Penulis : Panglima Ibnu – SAP Consultant


Reference

https://help.sap.com/docs/integration-suite/sap-integration-suite

https://www.geeksforgeeks.org/rest-api-architectural-constraints



Open chat
Hello! Can we help you? :)

Please fill in your full name and office email address so we can answer your queries accordingly.