GNU/Linux >> Belajar Linux >  >> Linux

Pengantar token terotentikasi terenkripsi

Layanan Identitas mendukung token dari berbagai jenis dan format untuk memungkinkan pengguna mengautentikasi terhadap layanan Cloud Teknologi Rackspace tertentu.

  • Token ketik menentukan apakah pengguna ditetapkan atau digabungkan.
  • Token format menentukan komposisi token itu sendiri.

Identitas telah mengubah format token otentikasi dari UUID ke Authenticated Encryption (AE). Insinyur Rackspace telah menerapkan format token baru pada backend sistem Identitas, dan perubahan tersebut berdampak minimal pada pelanggan Rackspace. Perbedaan utamanya adalah nilai token otentikasi yang dikembalikan oleh layanan Identity memiliki pola dan panjang yang berbeda dari nilai token UUID yang dikeluarkan sebelumnya.

Catatan: Pastikan Anda mengikuti Praktik terbaik untuk menangani token otentikasi (terletak lebih jauh di artikel ini), terutama jika Anda menggunakan alat SDK atau CLI untuk berinteraksi dengan RackspaceCloud.

Artikel ini menjelaskan dua format token yang berbeda dan memberikan praktik terbaik untuk bekerja dengan token autentikasi secara umum.

Apa itu token AE?

Menggunakan Enkripsi yang Diotentikasi akan menghasilkan token AE. Enkripsi yang diautentikasi menentukan cara untuk mengamankan pesan sehingga orang lain tidak dapat memalsukannya, mengubahnya, atau membacanya.

Enkripsi yang diautentikasi menghasilkan non-persistent token untuk otentikasi pengguna. Token AE berisi semua data yang diperlukan untuk menentukan apakah token yang diberikan valid alih-alih menunjuk ke data ini. Token AE memiliki semua metadata terenkripsi di dalam token itu sendiri. Karena token AE berisi semua data yang relevan, tidak perlu menyimpan token dalam penyimpanan persisten. Saat server menerima token, server dapat mengurai metadata token untuk menentukan apakah token tersebut valid.

Karena enkripsi, ukuran token berformat AE bervariasi. Layanan Identitas membatasi ukuran token berformat AE hingga 250 byte.

Contoh berikut menunjukkan objek token dari respons otentikasi dengan ID token AE.

"token": {
      "id": "ABCDEF7RbnU-LLWJ1J8PeHRGMz2Cf3rPUG_a25hQRWTcL7tH231H7ubr6y1EkRi_curq6PqJV-pCiIADZrwFtCexcy9MVO3eckgGWqDqnxvXaUMF7XA_reFwwp3pNu_7p9uXofGmiueccwrA",
      "expires": "2015-08-20T23:51:19.055Z",
       "tenant": {
       "id": "123456",
       "name": "123456"
         }

Apa itu token UUID?

Token autentikasi yang menggunakan format token UUID persistent token. Ketika pengguna berhasil mengautentikasi, layanan Identitas menghasilkan nilai token UUID 32 karakter dan menyimpannya di unit penyimpanan persisten di bagian belakang. Layanan juga menyimpan metadata tentang token tersebut seperti stempel waktu kedaluwarsa, kepada siapa token dikeluarkan, dan seterusnya. Kemudian, layanan mengembalikan nilai token kepada pengguna, yang dapat menyertakannya dalam permintaan berikutnya ke Rackspace Cloudservices untuk mengonfirmasi identitas.

Ketika pengguna mengajukan permintaan dengan token, layanan Identitas memvalidasi nilai token terhadap data yang disimpan dalam penyimpanan persisten untuk mengonfirmasi bahwa pengguna berwenang untuk melakukan operasi. Saat token UUID kedaluwarsa, pengguna harus mengautentikasi ulang. Kemudian, layanan Identity mengeluarkan token baru dan juga menghapus token yang kedaluwarsa dari unit penyimpanan back-end persisten.

Contoh berikut menunjukkan objek token dari tanggapan otentikasi dengan id token UUID.

"token": {
      "id": "b726839ca0fd4d9ead8edbb73f123456",
      "expires": "2015-08-20T23:48:50.793Z",
      "tenant": {
      "id": "123456",
      "name": "123456"
         }

Apa perbedaan antara token UUID dan AE?

Token UUID dan AE berbeda dalam persistensi, panjang, dan penyimpanannya.

  • Token UUID persisten . Token AE tidak persisten . Dengan token aUUID, Anda menerima token saat melakukan autentikasi. Token itu bertahan di penyimpanan back-end selama 24 jam dan sistem mengembalikan nilai yang sama setiap kali Anda mengautentikasi hingga token kedaluwarsa. Dengan AEtokens, nilainya tidak persisten, yang berarti bahwa nilainya tidak disimpan di backend, dan layanan Identity menghasilkan dan mengembalikan nilai token baru setiap kali pengguna mengautentikasi.
  • Token UUID memiliki panjang 32 karakter. Token AE bervariasi dalam ukuran, tetapi untuk layanan Identity, mereka memiliki batas 250 byte.2Dengan penerapan token AE, Anda akan melihat bahwa nilai token yang dikembalikan saat Anda mengautentikasi secara signifikan lebih panjang daripada nilai yang dikembalikan saat layanan Identity mengeluarkan token UUID.
  • Sistem menyimpan token UUID di layanan Identity back-end dengan metadata untuk otentikasi. Token AE menyediakan metadata otentikasi yang diperlukan dalam nilai token terenkripsi. Layanan Identitas tidak menyimpan nilai token AE di sistem back-end.

Praktik terbaik untuk menangani token autentikasi

Berikut adalah beberapa praktik terbaik untuk menangani token autentikasi.

  • Saat Anda mengautentikasi ke layanan Identity, pastikan untuk menyimpan nilai token yang dikembalikan ke cache.

    Layanan Identity memvalidasi token otentikasi di setiap permintaan API sebelum mencoba menyelesaikan operasi. Untuk mengoptimalkan operasi API Anda dan mengurangi beban sistem, simpan token autentikasi dalam cache atau database yang aman sehingga aplikasi dapat menggunakan nilai yang disimpan alih-alih mengharuskan aplikasi mengeluarkan permintaan autentikasi sebelum setiap operasi API. Anda dapat menggunakan kembali nilai token yang di-cache selama masih valid.

    Catatan: Untuk contoh caching kredensial dengan SDK, lihat Caching kredensial di dokumentasi php-opencloud.

  • Rancang aplikasi untuk diautentikasi ulang setelah menerima 401 Unauthorized {.code} respons dari titik akhir layanan atau untuk memeriksa masa berlaku token dan mengautentikasi ulang sebelum token kedaluwarsa.

  • Untuk menyederhanakan otentikasi, kredensial, dan manajemen token, gunakan aplikasi klien baris perintah OpenStack.

Untuk informasi selengkapnya, baca bagian Kelola token autentikasi di Panduan Identity API 2.0.

Gunakan tab Umpan Balik untuk memberikan komentar atau mengajukan pertanyaan. Anda juga dapat memulai percakapan dengan kami.


Linux
  1. Pengantar GNU Autotools

  2. Pengantar perintah diff

  3. Pengantar Docker

  1. Pengantar Utilitas Inti GNU

  2. Pengenalan Nmap di Kali Linux

  3. Penghapusan darurat SSD

  1. Bahasa Pemrograman C - Pendahuluan

  2. Pengantar editor vi

  3. Pengenalan iptables