[ SAP - BASIS ] - Authorization Group Table Warning (&NC&)

Disini saya mau share mengenai hal yang pernah saya pecahkan bersama tim. Jika kalian seorang BASIS tentu tidak asing dengan role dan table di SAP. Namun jika kalian baru di BASIS pada perusahaan yang sudah mengimplementasikan SAP, saya sarankan Anda membaca artikel yang saya buat. Ini adalah mengenai keamanan data antar Modul di SAP.
Case ini terjadi sekitar satu tahun lalu, 2015 awal.

Ada seorang user A yang bertanya kepada SAP Analyst, apakah user B mempunyai akses ke table X? Karena dia bukan dari departemen / modul user A. Kemudian setelah berkonsultasi, Analyst ini bertanya ke BASIS mengenai role yang ada, apakah ada yang salah. Karena menurut Analyst ini biasanya juga begitu, sama dengan yang lain. Setelah meneliti ke S_TABU_DIS-DICBERCLS diketahui bahwa akses user B tersebut memang tidak ada tulisan secara gamblang untuk akses ke modul A, tetapi ada value Auth Group &NC&.


&NC& adalah “Not Classified” Authorization Group for Table di SAP, secara default untuk Z table (costum) jika Auth Group tidak dimaintain akan otomatis ambil Auth Group &NC&, hal inilah yang berbahaya. Authorization Group ini adalah group untuk setiap custom table yang dibuat. Bayangkan jika hampir semua authorization Group ini &NC&. Tentunya hal itu menjadi pintu gerbang untuk dapat membuka semua table yang authorization group nya &NC& bukan?
Berikut cara untuk mengetahui sebuah table mempunyai Auhorization Group apa. (BASIS role only)

Authorization Group Table Warning

(Gunakan client QA untuk percobaan ini karena akan langsung berdampak pada user SAP)

  1. Buka SAP - tcode SE11 - Database table and display

    Authorization Group Table Warning
  2. Ketik nama table dan klik display

    Authorization Group Table Warning
  3. Klik Utilities kemudian Assign Authorization Group

    Authorization Group Table Warning
  4. You can see kolom Authorization masuk ke authorization group mana. Jika value nya &NC& maka catat table apa saja yang Auth Group &NC&. Kalian bisa juga menggunakan se16 atau DD02L atau TDDAT untuk mendapatkan list all table di SAP.
Jika &NC& tadi digunakan untuk report data atau melihat raw data, maka jika user tau nama table, dia akan bisa membuka table yang seharusnya tidak bisa dia buka.

Jadi, selama Auth Group di table (yang bisa dilihat dari SE11 atau table TDDAT) tetap &NC& tapi tidak di deklarasi di role (field DICBERCLS) sebenarnya tidak menjadi masalah, sebab jika ada deklarasi di role tersebut maka table-table custom yang masih standard &NC& akan ikut terbuka akses nya), yang akan menjadi masalah linking open to many table.

Langkah yang bisa diambil untuk menyelesaikan masalah ini adalah dengan cara membuat custom authorization group per modul, yang nantinya akan di gunakan pada role S_TABU_DIS-DICBERCLS. Anda perlu mempunyai daftar list table yang ber Authorization Group &NC& dan daftar list role yang memiliki S_TABU_DIS terutama DICBERCLS yang memanggil Auth Group &NC&.

Langkah Kerja:
  1. Load semua data custom table ke dalam excel, filter hanya yang Auth Group nya &NC&
  2. Load semua role yang mengandung &NC&
  3. Buat custom Authorization Group, misalnya permodul ( ZHR1 untuk umum, ZHR2 untuk confidential, ZFI1 untuk umum, ZFI2 unuk confidential, begitu seterusnya)
  4. Setelah mempunyai standard Auth Group kemudian masukkan dan pisah per modul untuk memudahkan administrasi.

    Authorization Group Table Warning
    List of table and Authorization
  5. Beritahukan ke ABAPER untuk mengubah Auth Group ke semua table yang sudah Anda buat, dan informasikan juga bahwa selanjutnya jika membuat table bisa di Assign Auth Group sesuai standard.
  6. Setelah Di transport ke QA kemudian lihat melalui SE11 lagi apakah sudah sesuai atau belum.
  7. Ubah semua role yang mempunyai value &NC& menjadi Auth Group sesuai yang sudah kalian buat tadi.
  8. Beberapa role kemungkinan memerlukan langsung nama table.
  9. Perhatikan juga untuk table jangan sampai ada * atau wildcard, karena itu juga berbahaya, tanyakan kepada Analyst yang bersangkutan untuk mengubah * menjadi spesifik table yang diperlukan.
  10. Informasikan perubahan dan lakukan test di QA server.
  11. Setelah berjalan mulus, transport hasil perubahan yang telah kamu lakukan
  12. Pastikan tidak ada error di PROD dan konsultasikan kembali ke Analyst team jika ada user mengalami gangguan setelah perubahan.
Beberapa perusahaan mempunyai policy masing masing. 
Jadi jika Anda akan melakukan perubahan ini maka pastikan sudah dikonsultasikan dengan senior atau atasan Anda.



Terima Kasih

Popular posts from this blog

SmartObject property ID is a required property for selected method Create. Value must be set.

Cara inject USB 3.0 Driver pada instalasi Windows - How to Inject USB 3.0 Driver in Windows 7

Python Font Color in Console