Keystone - OpenStack Identity Service
Keystone merupakan layanan OpenStack yang berfungsi sebagai pengelola user dan autentikasi user tersebut. Selain itu keystone juga menyediakan katalog service OpenStack yang tersedia sehingga setiap service bisa saling mengetahui keberadaan service lain.
Ketika menginstal setiap service OpenStack maka service tersebut harus didaftarkan ke identity service. Keystone dapat mengetahui setiap layanan OpenStack serta lokasi dimana service tersebut berada dalam jaringan.
Ada beberapa istilah dan konsep yang harus dipahami pada cara kerja OpenStack identity service yaitu :
User
User merupakan representasi dari orang, sistem, atau service yang menggunakan OpenStack service. Identity service memfalidasi bahwa request yang masuk berasal dari user yang telah terdaftar. User harus sudah login dan mendapatkan token untuk mengakses resource. User dapat secara langsung masuk ke salah satu tenant dan melakukan aktifitas sebagai penyewa tenant tersebut.
Credetntials
Data yang mengkonfirmasi identitas user. Sebagai contoh pasangan antara username dan password, pasangan antara username dan key API, serta autentikasi token yan disediakan oleh user.
Authentications
Merupakan proses mengkonfirmasi identitas sebuah user. Keystone akan mengkonfirmasi setiap request yang datang dengan memfalidasi satu set credentials yang dimiliki oleh user. Ketika credentials divalidasi maka keystone akan memberikan token autentikasi untuk menggunakan setiap OpenStack service yang tersedia.
Token
Sebuah teks alpha-numeric atau hexadecimal yang diguanakan untuk mengakses OpenStack API dan resource. Token yang diberikan saat autentikasi memiliki durasi penggunaan tertentu dan akan di cabut dan dihapus jika durasi penggunaan telah habis.
Saat ini OpenStack identity service mendukung token-based authentication, hal ini dimaksudkan untuk mendukung protkol baru yang ditambahkan di masa depan. Harapannya ini bis menjadi service yang terintegrasi dan menjadi penyimpanan dan manajemen identitas yang matang.
Tenant
Tenant merupakan kontainer yang digunakan untuk pengelompokan dan isolasi resource yang digunakan oleh user. Tenant juga merupakan pengelompokan dan isolasi identitas objek. Pengelolaan tenant dilakukan oleh operator service, sebuah tenant bisa dikelola oleh seorang pelanggan, akun, organisasi atau projek.
Service
Service merupakan layanan yang disediakan oleh OpenStack, ada beberapa layanan yang disediakan seperti compute service, image service, block storage service dan sebagainya bisa kamu baca di artikel tentang OpenStack.
Endpoint
Endpoint merupakan alamat jaringan yang bisa diakses untuk mendapatkan layanan tertentu. Dalam bahasa yang lebih sederhana bisa disebut alamat dimana sebuah service berada, biasanya alamat ini dalam bentuk URL.
Role
Role merupakan seperangkat hak dan tingkat ketersediaan aktifitas yang bisa dilakukan oleh user untuk melakukan aktifitas tertentu seperti menggunakan layanan yang disediakan OpenStack.
Dalam identity service, token yang diberikan kepada user disertakan daftar role yang dimiliki oleh user tersebut. Service yang dipanggil oleh user akan dicocokkan dengan role yang dimiliki oleh user tersebut.
Keystone Client
keystone client merupakan command line interface untuk menggunakan OpenStack identity API. Sebagai contoh user dapat membuat servcie baru dengan menggunakan command line keystone service-create.
Pehamana tentang konsep ini sangat penting anda pahami sebelum anda mulai melakukan instalasi dan konfigurasi OpenStack identity service - keystone.