Identitas instans, yang mencakup dokumen identitas instans dan tanda tangan identitas instans, mengidentifikasi Instance ECS secara aman. Anda dapat menggunakannya sebagai dasar kepercayaan untuk kontrol akses aplikasi dan aktivasi perangkat lunak. Topik ini menjelaskan apa itu identitas instans, kasus penggunaannya, serta cara mengambil dan menggunakannya.
Identitas instans
Identitas instans terdiri dari dokumen identitas instans (document) yang dihasilkan secara dinamis dan tanda tangan identitas instans (signature).
-
Instance Identity Document
Dokumen identitas instans menyediakan informasi identitas tentang instans, seperti ID instans dan alamat IP-nya. Tabel berikut menjelaskan properti dalam dokumen tersebut.
Parameter
Deskripsi
owner-account-id
ID Akun Alibaba Cloud yang memiliki instans tersebut.
instance-id
ID instans.
mac
Alamat MAC dari antarmuka jaringan primary instans.
region-id
ID wilayah tempat instans tersebut berada.
serial-number
Nomor seri instans.
zone-id
ID zona tempat instans tersebut berada.
instance-type
Tipe instans.
image-id
ID image yang digunakan oleh instans.
private-ipv4
Alamat IPv4 privat dari instans.
-
Instance Identity Signature
Tanda tangan identitas instans memverifikasi keaslian dan integritas dokumen identitas instans. Tanda tangan ini ditandatangani secara digital dalam format PKCS#7 untuk menjamin keamanan dan keandalannya.
Tanda tangan identitas instans mendukung parameter
audiencekustom, yang digunakan untuk autentikasi guna mencegah penyalahgunaan tanda tangan. Parameteraudiencedapat berupa string acak, timestamp, informasi yang berubah secara berkala, atau data yang dihasilkan oleh algoritma. Jika Anda meneruskan parameteraudience, pihak lain akan kesulitan menebak nilai parameteraudiencetersebut, bahkan jika mereka memperoleh sebagian dokumen identitas instans dan tanda tangan identitas instans. Parameteraudiencedigunakan untuk autentikasi. Untuk informasi lebih lanjut, lihat Menggunakan identitas instans.
Kasus penggunaan
Anda dapat menggunakan identitas instans untuk autentikasi, otorisasi, atau verifikasi lingkungan dalam skenario berikut:
-
Lisensi perangkat lunak tradisional dengan kode aktivasi sekali pakai terlalu kaku untuk lingkungan cloud yang dinamis. Saat Anda mencantumkan aplikasi Anda di Alibaba Cloud Marketplace, Anda dapat menggunakan identitas instans untuk menerapkan otorisasi pengguna yang fleksibel dan dinamis.
-
Saat Anda menulis data sensitif ke Instance ECS, Anda dapat menggunakan identitas instans untuk memverifikasi bahwa data tersebut ditulis ke Instance ECS yang benar dan bukan ke lingkungan lain.
-
Skema lain yang memerlukan konfirmasi origin server target.
Mendapatkan identitas instans
(Direkomendasikan) Mode Penguatan Keamanan
-
Instans Linux
# Dapatkan kredensial akses server. Anda harus menetapkan waktu kedaluwarsa. Jangan sertakan header X-Forwarded-For. TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:<credential-expiration-in-seconds>"` # Dapatkan identitas instans. curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/<dynamic data> -
Instans Windows
# Dapatkan kredensial akses server. Anda harus menetapkan waktu kedaluwarsa. Jangan sertakan header X-Forwarded-For. $token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "<credential-expiration-in-seconds>"} -Method PUT -Uri http://100.100.100.200/latest/api/token # Dapatkan identitas instans. Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/<dynamic data>-
<credential-expiration-in-seconds>: Kredensial akses server menyediakan autentikasi untuk meningkatkan keamanan data. Nilai ini menetapkan periode validitas kredensial dalam satuan detik. Nilai yang valid: 1 hingga 21600.-
Anda dapat menggunakan kembali kredensial tersebut hingga masa berlakunya habis. Setelah kedaluwarsa, Anda harus mengambil kredensial baru.
-
Kredensial hanya berlaku untuk instans tempat kredensial tersebut diambil. Jika Anda mencoba menggunakan kredensial tersebut pada instans lain, akses akan ditolak.
-
-
<dynamic data>: Ganti ini dengan path ke dokumen identitas instans atau tanda tangan yang diinginkan.-
dokumen identitas instans: dynamic/instance-identity/document
-
tanda tangan identitas instans: dynamic/instance-identity/pkcs7?audience=XXXX
PentingParameter
?audience=XXXXbersifat opsional. Untuk informasi lebih lanjut, lihat Tanda tangan identitas instans.
-
-
Mode Normal
-
Instans Linux
curl http://100.100.100.200/latest/<dynamic data> -
Instans Windows (PowerShell)
Invoke-RestMethod http://100.100.100.200/latest/<dynamic data><dynamic data>: Ganti ini dengan path ke dokumen identitas instans atau tanda tangan yang diinginkan.-
dokumen identitas instans: dynamic/instance-identity/document
-
tanda tangan identitas instans: dynamic/instance-identity/pkcs7?audience=XXXX
PentingParameter
?audience=XXXXbersifat opsional. Untuk informasi lebih lanjut, lihat Tanda tangan identitas instans.
-
Menggunakan identitas instans
Langkah-langkah berikut menunjukkan cara menggunakan identitas instans dalam mode Penguatan Keamanan pada Instance ECS yang menjalankan Alibaba Cloud Linux 3.
Verifikasi dan penggunaan identitas instans memerlukan OpenSSL. Jika OpenSSL belum diinstal pada instans Anda, kunjungi website resmi OpenSSL untuk mengunduh dan menginstalnya.
-
Lakukan koneksi jarak jauh ke instans Linux.
Untuk informasi lebih lanjut, lihat Masuk ke instans Linux menggunakan Workbench.
-
(Opsional) Jalankan perintah berikut untuk melihat dokumen identitas instans dan tanda tangan identitas instans.
# Dapatkan kredensial akses server dan atur masa kedaluwarsanya menjadi 3600 detik. TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:3600"` # Dapatkan dokumen identitas instans. curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/document # Dapatkan tanda tangan identitas instans. curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/pkcs7TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:3600"` % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 29 100 29 0 0 805 0 --:--:-- --:--:-- --:--:-- 805 curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/document {"zone-id":"cn-hangzhou-h","serial-number":"es4xxx","instance-id":"i-bp1xxx","region-id":"cn-hangzhou","private-ipv4":"xxx","owner-account-id":"xxx","mac":"xxx","image-id":"aliyun_3_x64_20G_alibase_20240528.vhd","instance-type":"ecs.e-c1m1.large"} curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/pkcs7 MIIDHwYJKo7ThvcNAOcrCoTfDCCAwwCAQExCzAJBgUrDpMCGgUAMTTRWOYJKo7ThvcNAOcrBoTfBSpSCAU77TnpvhmUltaWOiOiJhIoaYW5nbmVhdmS1dToidw2VvalEsl W51bWJ1ciI6TGtIMlINDk4MiNi TO2YmOtNDpzNv1hMTJhI wWyQAMmRhMi3k3OTAQNvTsTmur3RhbmNl1wlkTioia5i3ciDE1dn BqdGo aWJho UEAxM v45mv -
Simpan dokumen identitas instans, tanda tangan identitas instans, dan sertifikat publik Alibaba Cloud ke dalam file.
-
Jalankan perintah berikut untuk menyimpan dokumen identitas instans ke file bernama
document.curl 100.100.100.200/latest/dynamic/instance-identity/document > document -
Jalankan perintah berikut untuk menyimpan tanda tangan identitas instans ke file bernama
signature.echo "-----BEGIN CERTIFICATE-----" > signature curl 100.100.100.200/latest/dynamic/instance-identity/pkcs7 >> signature echo "" >> signature echo "-----END CERTIFICATE-----" >> signature -
Jalankan perintah berikut untuk menyimpan sertifikat publik Alibaba Cloud ke file bernama
cert.cer.cat <<EOF > cert.cer -----BEGIN CERTIFICATE----- MIIDdzCCAl+gAwIBAgIEZmbRhzANBgkqhkiG9w0BAQsFADBsMRAwDgYDVQQGEwdV bmtub3duMRAwDgYDVQQIEwdVbmtub3duMRAwDgYDVQQHEwdVbmtub3duMRAwDgYD VQQKEwdVbmtub3duMRAwDgYDVQQLEwdVbmtub3duMRAwDgYDVQQDEwdVbmtub3du MB4XDTE4MDIyMzAxMjkzOFoXDTM4MDIxODAxMjkzOFowbDEQMA4GA1UEBhMHVW5r bm93bjEQMA4GA1UECBMHVW5rbm93bjEQMA4GA1UEBxMHVW5rbm93bjEQMA4GA1UE ChMHVW5rbm93bjEQMA4GA1UECxMHVW5rbm93bjEQMA4GA1UEAxMHVW5rbm93bjCC ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIJwy5sbZDiNyX4mvdP32pqM YMK4k7+5lRnVR2Fky/5uwyGSPbddNXaXzwEm+u4wIsJiaAN3OZgJpYIoCGik+9lG 5gVAIr0+/3rZ61IbeVE+vDenDd8g/m/YIdYBfC2IbzgS9EVGAf/gJdtDODXrDfQj Fk2rQsvpftVOUs3Vpl9O+jeCQLoRbZYm0c5v7jP/L2lK0MjhiywPF2kpDeisMtnD /ArkSPIlg1qVYm3F19v3pa6ZioM2hnwXg5DibYlgVvsIBGhvYqdQ1KosNVcVGGQa HCUuVGdS7vHJYp3byH0vQYYygzxUJT2TqvK7pD57eYMN5drc7e19oyRQvbPQ3kkC AwEAAaMhMB8wHQYDVR0OBBYEFAwwrnHlRgFvPGo+UD5zS1xAkC91MA0GCSqGSIb3 DQEBCwUAA4IBAQBBLhDRgezd/OOppuYEVNB9+XiJ9dNmcuHUhjNTnjiKQWVk/YDA v+T2V3t9yl8L8o61tRIVKQ++lDhjlVmur/mbBN25/UNRpJllfpUH6oOaqvQAze4a nRgyTnBwVBZkdJ0d1sivL9NZ4pKelJF3Ylw6rp0YMqV+cwkt/vRtzRJ31ZEeBhs7 vKh7F6BiGCHL5ZAwEUYe8O3akQwjgrMUcfuiFs4/sAeDMnmgN6Uq8DFEBXDpAxVN sV/6Hockdfinx85RV2AUwJGfClcVcu4hMhOvKROpcH27xu9bBIeMuY0vvzP2VyOm DoJeqU7qZjyCaUBkPimsz/1eRod6d4P5qxTj -----END CERTIFICATE----- EOF
-
-
Jalankan perintah berikut untuk memverifikasi identitas instans dengan OpenSSL.
openssl smime -verify -in signature -inform PEM -content document -certfile cert.cer -noverify > /dev/nullJika responsnya adalah
Verification successful, instans berhasil diautentikasi.Parameter dalam perintah tersebut dijelaskan sebagai berikut:
-
document: File yang berisi dokumen identitas yang diambil. -
signature: File yang berisi tanda tangan identitas yang diambil.CatatanJika Anda menentukan parameter audience saat mengambil tanda tangan identitas instans, Anda harus menambahkan parameter tersebut secara manual ke akhir dokumen identitas instans. Formatnya adalah
,"audience":"your_audience_value". -
cert.cer: File yang berisi sertifikat publik Alibaba Cloud.
-
Referensi
-
Untuk mengambil informasi instans lain dari dalam instans, lihat Metadata instans.
-
Untuk menjalankan skrip secara otomatis saat startup instans menggunakan user data, lihat inisialisasi instans kustom.