Alibaba Cloud CLI menyediakan lima metode kredensial tingkat lanjut untuk skenario integrasi tertentu: OIDC, CloudSSO, External, CredentialsURI, dan BearerToken. Metode-metode ini menghilangkan kebutuhan untuk menyimpan AccessKey jangka panjang secara lokal. Topik ini menjelaskan skenario, konfigurasi, dan masalah umum untuk setiap metode guna membantu Anda menggunakan CLI secara aman dalam skenario yang melibatkan Pod RRSA, manajemen multi-akun enterprise, sistem rahasia eksternal, layanan kredensial HTTP, atau autentikasi Bearer Token.
Persyaratan versi
Diperlukan Alibaba Cloud CLI versi 3.3.0 atau lebih baru. Jalankan perintah aliyun version untuk memeriksa versi saat ini. Jika versi Anda lebih lama dari 3.3.0, lihat Instal atau perbarui CLI untuk melakukan peningkatan.
Metode BearerToken memerlukan Alibaba Cloud CLI versi 3.3.16 atau lebih baru.
OIDC
Metode OIDC menggunakan ID Token dari penyedia identitas eksternal yang kompatibel dengan OIDC untuk melakukan autentikasi dan asumsi peran. Gunakan metode ini pada pod di dalam kluster ACK atau ACS yang telah mengaktifkan fitur RRSA (RAM Roles for Service Accounts). CLI membaca file token OIDC yang secara otomatis dimount ke pod, memanggil API STS AssumeRoleWithOIDC untuk mendapatkan kredensial sementara, dan secara otomatis menyegarkannya sebelum kedaluwarsa.
Prasyarat
Anda telah membuat kluster ACK atau ACS dan mengaktifkan fitur RRSA untuk ACK atau ACS.
Anda telah membuat peran RAM untuk penyedia identitas OIDC, dan kebijakan kepercayaan mengizinkan peran tersebut diasumsikan oleh penyedia identitas OIDC yang dibuat secara otomatis oleh kluster dalam format
ack-rrsa-{cluster-id}.Anda telah mengaitkan akun layanan pod dengan peran RAM menggunakan RRSA.
Konfigurasikan kredensial
Konfigurasi non-interaktif (disarankan)
Setelah Anda mengaktifkan RRSA, instalasi komponen ack-pod-identity-webhook secara otomatis menyuntikkan variabel lingkungan berikut ke dalam pod. CLI secara otomatis mengenali variabel-variabel ini. Untuk langkah-langkah instalasi komponen, lihat Kelola komponen untuk kluster ACK yang dikelola.
ALIBABA_CLOUD_OIDC_PROVIDER_ARNALIBABA_CLOUD_OIDC_TOKEN_FILEALIBABA_CLOUD_ROLE_ARN
Jalankan perintah berikut untuk mengonfigurasi profil menggunakan variabel lingkungan:
aliyun configure set \
--mode OIDC \
--profile OIDCProfile \
--oidc-provider-arn $ALIBABA_CLOUD_OIDC_PROVIDER_ARN \
--oidc-token-file $ALIBABA_CLOUD_OIDC_TOKEN_FILE \
--ram-role-arn $ALIBABA_CLOUD_ROLE_ARN \
--role-session-name "rrsa-pod" \
--region cn-shanghaiKonfigurasi interaktif
Jalankan perintah berikut untuk memulai konfigurasi. Ganti
<ProfileName>dengan nama profil kustom, sepertiOIDCProfile.aliyun configure --mode OIDC --profile <ProfileName>Pada prompt, masukkan ARN Penyedia OIDC, jalur File Token OIDC, ARN Peran RAM, Nama Sesi Peran, wilayah default, dan bahasa.
Configuring profile 'OIDC_Profile' in 'OIDC' authenticate mode... OIDC Provider ARN []: acs:ram::012345678910****:oidc-provider/TestOidcIdp OIDC Token File []: /path/to/oidctoken RAM Role ARN []: acs:ram::012345678910****:role/Alice Role Session Name []: rrsa-pod-name Default Region Id []: cn-shanghai Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[OIDC_Profile] ...Done.Terminal menampilkan
Configure Donedan pesan selamat datang, yang menunjukkan bahwa konfigurasi berhasil.
Setelah konfigurasi selesai, jalankan perintah aliyun sts get-caller-identity di dalam pod untuk memverifikasi bahwa kredensial telah berlaku.
Penyegaran kredensial
Kluster ACK atau ACS secara otomatis memutar file token OIDC di dalam pod. Alibaba Cloud CLI secara otomatis memanggil API AssumeRoleWithOIDC dari STS dan meneruskan token OIDC terbaru untuk menyegarkan kredensial. Proses ini transparan bagi pengguna.
CloudSSO
Metode CloudSSO ditujukan untuk perusahaan yang menggunakan layanan direktori CloudSSO Alibaba Cloud. Metode ini memungkinkan Anda menggunakan identitas terpadu untuk login ke CLI dan beralih antar akun direktori sumber daya serta konfigurasi akses yang berbeda.
Prasyarat
Perusahaan Anda telah menerapkan CloudSSO dan mengonfigurasi direktori pengguna serta konfigurasi akses.
Pengguna CloudSSO telah ditetapkan setidaknya satu konfigurasi akses.
Anda telah memperoleh URL login CloudSSO dari administrator Anda. URL biasanya dalam format
https://signin-<region>.alibabacloudsso.com/<directory-name>/login. Untuk informasi tentang cara memperoleh URL login pengguna CloudSSO, lihat Dapatkan URL portal pengguna.
Konfigurasikan kredensial
Jalankan perintah berikut untuk memulai konfigurasi. Ganti
<ProfileName>dengan nama profil kustom, sepertiSSOProfile.aliyun configure --mode CloudSSO --profile <ProfileName>Saat diminta, masukkan
SignIn Url.Configuring profile 'SSOProfile' in 'CloudSSO' authenticate mode... CloudSSO Sign In Url []: https://signin-<region>.alibabacloudsso.com/<directory-name>/loginPada jendela browser yang terbuka, ikuti petunjuk di layar untuk menyelesaikan login pengguna CloudSSO. Setelah login, tutup jendela browser.
CatatanJika jendela browser tidak terbuka atau Anda berada di lingkungan terminal saja, salin
SignIn urldanUser codedari prompt CLI dan tempelkan ke browser untuk menyelesaikan login.Berikut adalah contoh prompt:
If the browser does not open automatically, use the following URL to complete the login process: SignIn url: https://signin-****.alibabacloudsso.com/device/code User code: CGKM-LIXZCLI menunjukkan login berhasil dan mencantumkan akun manajemen direktori sumber daya atau akun anggota yang dapat Anda akses. Masukkan angka yang sesuai dengan akun yang ingin Anda akses.
Now you can login to your account with SSO configuration in the browser. You have successfully logged in. Please choose an account: 1. <RD Management Account> 2. <other-account-name> Please input the account number: 1CLI mencantumkan konfigurasi akses (konfigurasi izin pengguna) yang dapat Anda gunakan. Masukkan angka yang sesuai dengan konfigurasi akses yang ingin Anda gunakan.
Please choose an access configuration: 1. <access-configuration1> 2. <access-configuration2> Please input the access configuration number: 2Tetapkan wilayah default dan bahasa. Misalnya:
Default Region Id []: cn-shanghai Default Language [zh|en] en: enUntuk daftar wilayah, lihat Wilayah dan zona ketersediaan. Beberapa produk cloud bersifat spesifik wilayah. Kami menyarankan Anda menetapkan wilayah default ke lokasi tempat sumber daya Anda berada.
Terminal menampilkan
Configure Donedan pesan selamat datang, yang menunjukkan bahwa konfigurasi berhasil.
Setelah konfigurasi selesai, jalankan perintah aliyun sts get-caller-identity untuk memverifikasi bahwa kredensial valid.
Setelah konfigurasi berhasil dibuat, konfigurasi tersebut secara otomatis diatur sebagai konfigurasi aktif. Untuk beralih ke konfigurasi lain, jalankan perintah aliyun configure switch --profile <ProfileName>.
Penyegaran kredensial
Kredensial CloudSSO tidak disegarkan secara otomatis. Setelah kedaluwarsa, Anda perlu menjalankan kembali perintah aliyun configure --mode CloudSSO --profile <ProfileName> untuk mengonfigurasinya ulang.
External
Metode kredensial External menggunakan program eksternal untuk mengambil data kredensial. Saat kredensial diperlukan, Alibaba Cloud CLI mengeksekusi program yang ditentukan dan menggunakan output standarnya sebagai kredensial. Metode ini cocok untuk skenario yang memerlukan logika pengambilan kredensial kustom.
Prasyarat
Anda memiliki program atau skrip yang dapat dieksekusi yang mampu mengeluarkan kredensial dalam format JSON yang ditentukan ke output standar (stdout). Format yang diperlukan adalah sebagai berikut:
AccessKey
{ "mode": "AK", "access_key_id": "<yourAccessKeyID>", "access_key_secret": "<yourAccessKeySecret>" }Token STS
{ "mode": "StsToken", "access_key_id": "<yourAccessKeyID>", "access_key_secret": "<yourAccessKeySecret>", "sts_token": "<yourSecurityToken>" }Program harus keluar dengan kode status 0. Kode keluar bukan nol menunjukkan kegagalan.
Konfigurasikan kredensial
Konfigurasi non-interaktif (disarankan)
Bash
aliyun configure set \
--mode External \
--profile ExternalProfile \
--process-command "/path/to/credential-helper" \
--region cn-shanghaiPowerShell
aliyun configure set `
--mode External `
--profile ExternalProfile `
--process-command "/path/to/credential-helper" `
--region cn-shanghaiKonfigurasi interaktif
aliyun configure --mode External --profile <ProfileName>Pada prompt, masukkan Process Command, wilayah default, dan bahasa untuk menyelesaikan konfigurasi.
Setelah konfigurasi selesai, jalankan perintah aliyun sts get-caller-identity untuk memverifikasi bahwa kredensial valid.
Penyegaran kredensial
Saat menggunakan metode kredensial External, CLI tidak menyimpan cache kredensial atau menyegarkannya secara otomatis. CLI mengeksekusi ulang program eksternal setiap kali kredensial diperlukan. Program eksternal bertanggung jawab untuk mengimplementasikan logika penyegaran.
CredentialsURI
Metode CredentialsURI mengambil kredensial keamanan sementara (token STS) dari titik akhir HTTP yang disediakan pengguna. Metode ini cocok untuk skenario di mana Anda memiliki layanan distribusi kredensial yang dikelola sendiri.
Prasyarat
Anda memiliki titik akhir HTTP atau HTTPS yang dapat mengembalikan respons kredensial dalam format JSON yang ditentukan dengan kode status HTTP 200. Badan respons harus dalam format JSON berikut:
{
"Code": "Success",
"AccessKeyId": "<yourAccessKeyID>",
"AccessKeySecret": "<yourAccessKeySecret>",
"SecurityToken": "<yourSecurityToken>"
}Jika URL yang ditentukan gagal mengembalikan kode status HTTP 200, atau jika konten respons tidak sesuai dengan format yang diharapkan, Alibaba Cloud CLI menganggap permintaan tersebut gagal.
Bidang
Codedalam JSON respons harus bernilai"Success"(case-sensitive).
Konfigurasikan kredensial
Jalankan perintah berikut untuk memulai konfigurasi. Ganti
<ProfileName>dengan nama profil kustom, sepertiURIProfile.aliyun configure --mode CredentialsURI --profile <ProfileName>Pada prompt, masukkan URI Kredensial, wilayah default, dan bahasa.
Configuring profile 'URIProfile' in 'CredentialsURI' authenticate mode... Credentials URI []: http://credentials.uri/ Default Region Id []: cn-shanghai Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[URIProfile] ...Done.Untuk daftar wilayah, lihat Wilayah dan zona ketersediaan. Beberapa produk cloud bersifat spesifik wilayah. Kami menyarankan Anda menetapkan wilayah default ke lokasi tempat sumber daya Anda berada.
Terminal menampilkan
Configure Donedan pesan selamat datang, yang menunjukkan bahwa konfigurasi berhasil.
Setelah profil berhasil dikonfigurasi, profil tersebut secara otomatis menjadi profil aktif. Untuk beralih ke profil lain, jalankan perintah aliyun configure switch --profile <ProfileName>.
Setelah konfigurasi selesai, jalankan perintah aliyun sts get-caller-identity untuk memverifikasi bahwa kredensial telah berlaku.
Penyegaran kredensial
Setelah kredensial kedaluwarsa, CLI secara otomatis mengirim permintaan HTTP GET baru ke titik akhir untuk memperoleh kredensial baru. Proses ini transparan bagi pengguna. Titik akhir HTTP Anda harus mengembalikan token STS yang valid untuk setiap permintaan.
BearerToken
Metode BearerToken menggunakan Bearer Token untuk melakukan autentikasi dengan layanan API Alibaba Cloud. Metode ini memanggil API melalui plugin produk dan cocok untuk skenario di mana layanan target mendukung dan menerbitkan Bearer Token.
Prasyarat
Anda telah memperoleh Bearer Token yang diterbitkan oleh layanan target.
Anda telah menginstal plugin CLI untuk produk target:
aliyun plugin install --name <plugin-name>.
Mode BearerToken hanya mendukung pemanggilan API melalui plugin produk. Untuk memanggil API suatu produk, Anda harus terlebih dahulu menginstal plugin yang sesuai:
aliyun plugin install --name <plugin-name>.Versi CLI harus ≥
3.3.16.
Konfigurasikan kredensial
Konfigurasi non-interaktif (disarankan)
aliyun configure set \
--mode BearerToken \
--profile BearerProfile \
--bearer-token <your-bearer-token> \
--region cn-shanghaiUntuk menyesuaikan nama Header autentikasi, tambahkan parameter --bearer-token-header-key:
aliyun configure set \
--mode BearerToken \
--profile BearerProfile \
--bearer-token <your-bearer-token> \
--bearer-token-header-key <custom-header-name> \
--region cn-shanghaiKonfigurasi interaktif
Jalankan perintah berikut untuk memulai konfigurasi. Ganti
<ProfileName>dengan nama profil kustom, sepertiBearerProfile.aliyun configure --mode BearerToken --profile <ProfileName>Pada prompt, masukkan Bearer Token, Bearer Token Header Key opsional (biarkan kosong untuk menggunakan default), wilayah default, dan bahasa.
Configuring profile 'BearerProfile' in 'BearerToken' authenticate mode... Bearer Token []: eyJhbGciOiJSUzI1**** Bearer Token Header Key [] (optional, e.g. x-custom-token; leave empty for x-acs-bearer-token): Default Region Id []: cn-shanghai Default Output Format [json]: json (Only support json) Default Language [zh|en] en: en Saving profile[BearerProfile] ...Done.Terminal menampilkan
Configure Donedan pesan selamat datang, yang menunjukkan bahwa konfigurasi berhasil.
Setelah konfigurasi selesai, jalankan perintah berikut untuk memanggil API produk target melalui plugin-nya guna memverifikasi bahwa kredensial valid:
aliyun <command> <sub-command> --profile BearerProfilePerintah configure hello dalam mode BearerToken tidak melakukan pemeriksaan konektivitas dan langsung mengembalikan pesan sukses. Anda harus memverifikasi validitas kredensial dengan melakukan pemanggilan API aktual.
Variabel lingkungan
Metode BearerToken mendukung variabel lingkungan berikut untuk mengonfigurasi parameter kredensial:
Variabel lingkungan | Deskripsi |
| Nilai Bearer Token. |
| Nama header autentikasi kustom. Jika Anda tidak menentukan nilai, default-nya adalah |
Hapus kredensial
Untuk menghapus profil kredensial dari konfigurasi CLI lokal, jalankan perintah berikut:
aliyun configure delete --profile <ProfileName>Jika Anda menghapus profil aktif, CLI secara otomatis beralih ke profil pertama dalam daftar konfigurasi.