Ganti autentikasi pasangan AccessKey dengan OAuth untuk Alibaba Cloud CLI. OAuth menggunakan alur login PKCE berbasis browser untuk memperoleh kredensial STS berumur pendek, sehingga menghilangkan kunci dalam bentuk teks biasa dari file konfigurasi lokal.
Ikhtisar
Alibaba Cloud CLI v3.0.299 dan versi yang lebih baru mendukung OAuth sebagai jenis kredensial. OAuth menggunakan proses login interaktif berbasis browser berdasarkan alur OAuth 2.0 PKCE untuk memperoleh token guna mengakses sumber daya Alibaba Cloud.
Keunggulan dibandingkan autentikasi pasangan AccessKey:
-
Keamanan lebih baik: Tidak ada pasangan AccessKey dalam bentuk teks biasa di file konfigurasi lokal, sehingga mengurangi risiko kebocoran kredensial.
-
Integrasi autentikasi yang sudah ada: Berfungsi dengan passkey, MFA, dan SSO (berbasis pengguna maupun berbasis peran).
Prasyarat
Pastikan persyaratan berikut terpenuhi:
-
Versi CLI: Alibaba Cloud CLI
v3.0.299atau versi yang lebih baru telah diinstal. -
Izin administrator: Administrator RAM yang melakukan penyiapan awal memiliki izin
AliyunRAMFullAccess. -
Lingkungan: CLI dan browser harus dijalankan pada perangkat yang sama. Lingkungan headless (seperti terminal Linux yang terhubung melalui SSH) tidak didukung.
Prosedur
-
Administrator membuat aplikasi CLI. Administrator RAM membuat aplikasi CLI di RAM menggunakan salah satu dari dua metode berikut:
-
Buat melalui persetujuan administrator. Administrator RAM memulai login OAuth pertama dari CLI dan memberikan persetujuan di browser. Sistem secara otomatis membuat aplikasi OAuth bernama
official-cli. -
Sediakan dari konsol. Administrator RAM menyediakan aplikasi
official-clidari konsol RAM, sehingga melewati langkah persetujuan.
-
-
Administrator menetapkan identitas. Administrator RAM (bukan akun root) menetapkan Pengguna RAM atau Peran RAM ke aplikasi tersebut. Hanya identitas yang ditetapkan yang dapat login melalui OAuth.
-
Pengguna memberikan otorisasi dan login ke CLI. Pengguna RAM yang ditetapkan menjalankan perintah konfigurasi, yang akan membuka browser. Setelah pengguna login dan memberikan otorisasi, CLI memperoleh token untuk menyelesaikan autentikasi.
Langkah 1: Buat aplikasi CLI
Administrator RAM dengan izin AliyunRAMFullAccess melakukan langkah ini.
Buat melalui persetujuan administrator
-
Pilih mode autentikasi OAuth. Jalankan perintah berikut untuk mulai mengonfigurasi login OAuth. Tentukan nama profil seperti
OAuthProfile.aliyun configure --profile OAuthProfile --mode OAuth -
Pilih situs login. Saat diminta, masukkan
OAuth Site Type.aliyun configure --profile OAuthProfile --mode OAuth Configuring profile 'OAuthProfile' in 'OAuth' authenticate mode... OAuth Site Type (CN: 0 or INTL: 1, default: CN):-
Masukkan
0atauCNuntuk Alibaba Cloud China. -
Masukkan
1atauINTLuntuk Alibaba Cloud International. -
Tekan Enter untuk menggunakan nilai default (CN).
-
-
Login sebagai administrator. CLI akan membuka browser secara otomatis. Jika browser tidak terbuka, salin SignIn url dari prompt CLI dan tempelkan ke browser Anda.
Contoh:
If the browser does not open automatically, use the following URL to complete the login process: SignIn url: https://signin.aliyun.com/oauth2/v1/auth?response_type=code&client_id=... -
Berikan persetujuan administrator. Pada halaman Official Application Authorization, klik Grants. Tindakan ini membuat aplikasi pihak ketiga OAuth bernama
official-clidi akun Anda. Persetujuan ini hanya dilakukan sekali dan diperlukan lagi hanya jika aplikasiofficial-clidihapus.
CLI meminta cakupan OAuth berikut selama otorisasi. Cakupan menentukan izin yang dapat digunakan aplikasi atas nama pengguna.
OAuth scope
Description
openidMemperoleh OpenID Pengguna RAM — pengenal unik yang tidak mengekspos informasi sensitif seperti UID Alibaba Cloud atau username.
/internal/ram/userstsMemperoleh kredensial STS untuk memanggil API layanan Alibaba Cloud.
CatatanCakupan ini saat ini hanya tersedia untuk aplikasi CLI resmi.
Sediakan dari konsol
-
Login ke RAM console.
-
Di panel navigasi sebelah kiri, pilih , lalu klik tab Third-party Applictions.
-
Pada tab Third-party Applictions, klik Provision Official Application.
-
Pada kotak dialog Provision Official Application, pilih Official CLI, lalu klik OK.

-
Pada tab Third-party Applictions, verifikasi bahwa aplikasi
official-clitelah dibuat.
Langkah 2: Tetapkan identitas
Jika Anda membuat aplikasi CLI melalui persetujuan administrator, Anda akan diminta untuk menetapkan pengguna setelah otorisasi. Jika Anda menyediakan aplikasi dari konsol, lewati langkah 1.
-
Klik Go now. Halaman akan dialihkan ke detail aplikasi OAuth di konsol RAM.

Atau, login ke konsol RAM, buka , klik tab Third-party Applictions, lalu di daftar Third-party Applictions, temukan dan klik aplikasi
official-cli. -
Pada halaman detail aplikasi
official-cli, klik tab Assignments, lalu klik Create Assignment. -
Pada panel Create Assignment, pilih Pengguna RAM atau Peran RAM yang ingin diberi otorisasi, lalu klik OK.

Langkah 3: Berikan otorisasi dan login ke CLI
Pengguna RAM yang ditetapkan — yaitu orang yang ditetapkan ke aplikasi official-cli — melakukan langkah ini di perangkatnya sendiri.
-
Pilih mode autentikasi OAuth. Jalankan perintah berikut untuk memulai konfigurasi login OAuth.
aliyun configure --profile OAuthProfile --mode OAuth -
Pilih situs login. Saat diminta, pilih
CNatauINTL. -
Login sebagai pengguna. Di jendela browser yang terbuka, login menggunakan identitas Pengguna RAM Anda.
-
Berikan otorisasi pengguna. Pada halaman User Authorization, klik Grants. Otorisasi pengguna hanya diperlukan saat login pertama kali. Login berikutnya melewati langkah ini kecuali aplikasi
official-clidihapus.
Login dengan peran. Anda juga dapat login dengan Peran RAM. Gunakan SSO berbasis peran dari IdP Anda, atau login ke konsol dan switch role. Setelah sesi peran terbentuk, jalankan perintah konfigurasi. CLI menggunakan sesi aktif ini untuk menyelesaikan autentikasi.
CatatanPersetujuan administrator dan otorisasi pengguna memiliki tujuan yang berbeda. Otorisasi pengguna tetap diperlukan meskipun persetujuan administrator telah diberikan.
-
Persetujuan administrator: Mendaftarkan aplikasi
official-clidi akun Alibaba Cloud Anda dan memungkinkan identitas yang ditetapkan untuk mengaksesnya. -
Otorisasi pengguna: Memberikan izin kepada CLI untuk mengakses sumber daya Alibaba Cloud atau melakukan tindakan tertentu atas nama pengguna.
-
-
Tetapkan wilayah default. Setelah otorisasi berhasil, kembali ke terminal dan masukkan wilayah default.
Default Region Id []: ap-southeast-1CatatanBeberapa produk cloud tidak mendukung akses lintas-region. Tetapkan wilayah default sesuai lokasi sumber daya Anda.
-
Saat terminal menampilkan
Configure Donedan pesan selamat datang, konfigurasi telah selesai. -
(Opsional) Verifikasi identitas yang sedang login. Jalankan perintah berikut untuk memeriksa identitas CLI saat ini:
aliyun sts GetCallerIdentity --profile OAuthProfile
Batasan
-
Aplikasi
official-clitidak dapat ditetapkan ke kelompok pengguna. Tetapkan langsung ke Pengguna RAM atau Peran RAM tertentu. -
CLI dan browser harus dijalankan pada perangkat yang sama. Lingkungan headless (seperti server Linux yang terhubung melalui SSH) tidak didukung.
Pemecahan Masalah
Galat "Unauthorized call" saat persetujuan admin
Penyebab: Akun yang login di browser tidak memiliki izin AliyunRAMFullAccess dan bukan akun administrator RAM.
Solusi: Logout, login kembali dengan akun administrator RAM yang memiliki izin AliyunRAMFullAccess, lalu coba lagi. Hubungi administrator Anda jika Anda tidak memiliki izin yang diperlukan.