Identitas instans terdiri dari dokumen identitas instans dan tanda tangan identitas instans. Anda dapat menggunakan identitas instans untuk mengidentifikasi dan membedakan antar Instance Elastic Compute Service (ECS), yang menyediakan dasar kepercayaan untuk kontrol akses aplikasi dan aktivasi perangkat lunak. Topik ini menjelaskan apa itu identitas instans, skenario penggunaannya yang umum, serta cara memperoleh dan menggunakannya.
Apa itu identitas instans
Identitas instans terdiri dari dokumen identitas instans (document) yang dihasilkan secara dinamis dan tanda tangan identitas instans (signature).
Dokumen identitas instans
Dokumen identitas instans berisi informasi identitas suatu instans, seperti ID instans dan alamat IP-nya. Tabel berikut menjelaskan properti yang terdapat dalam dokumen tersebut.
Properti
Deskripsi
owner-account-id
ID Akun Alibaba Cloud tempat instans tersebut berada.
instance-id
ID instans.
mac
Alamat MAC dari network interface card (NIC) primary instans.
region-id
ID wilayah tempat instans berada.
serial-number
Nomor seri instans.
zone-id
ID zona tempat instans berada.
instance-type
Tipe instans.
image-id
ID citra yang digunakan oleh instans.
private-ipv4
Alamat IPv4 privat instans.
Instance Identity Signature
Pihak ketiga dapat menggunakan tanda tangan identitas instans untuk memverifikasi keaslian dan isi dokumen identitas instans. Tanda tangan ini dienkripsi dalam format PKCS#7. Tanda tangan ini sepenuhnya digital, aman, dan andal.
Anda dapat menggunakan parameter
audiencedalam tanda tangan identitas instans untuk mencegah pemalsuan tanda tangan. Nilai parameteraudiencedapat berupa string acak, timestamp, informasi yang berubah secara berkala, atau data yang dihasilkan oleh algoritma. Setelah Anda mengonfigurasi parameteraudience, pihak yang tidak berwenang tidak dapat menebak nilai parameteraudiencemeskipun mereka memperoleh sebagian informasi tentang dokumen identitas dan tanda tangan tersebut. Anda juga dapat menggunakan parameteraudienceuntuk melakukan autentikasi. Untuk informasi selengkapnya, lihat Menggunakan identitas instans.
Kasus penggunaan
Anda dapat menggunakan identitas instans untuk autentikasi, otorisasi, atau identifikasi lingkungan dalam skenario berikut:
Perangkat lunak offline biasanya diaktifkan dengan kode lisensi sekali pakai. Model ini tidak cocok untuk perangkat lunak cloud dengan pola penggunaan yang bervariasi. Saat Anda mencantumkan aplikasi di Alibaba Cloud Marketplace, Anda dapat menggunakan identitas instans untuk otorisasi pengguna yang fleksibel.
Saat menulis data sensitif ke Instance ECS, Anda dapat menggunakan identitas instans untuk memastikan bahwa data tersebut ditulis ke Instance ECS Anda dan bukan ke lingkungan lain.
Dalam skenario lain yang memerlukan konfirmasi sumber server target.
Memperoleh dokumen atau tanda tangan identitas instans
(Direkomendasikan) Peroleh dalam mode Penguatan Keamanan
Instans Linux
# Peroleh kredensial akses server. Tetapkan periode validitas. 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:<Validity period of the server access credential>"` # Peroleh identitas instans. curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/<dynamic data>Windows Instance
# Peroleh kredensial akses server. Tetapkan periode validitas. Jangan sertakan header X-Forwarded-For. $token = Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token-ttl-seconds" = "<Validity period of the server access credential>"} -Method PUT -Uri http://100.100.100.200/latest/api/token # Peroleh identitas instans. Invoke-RestMethod -Headers @{"X-aliyun-ecs-metadata-token" = $token} -Method GET -Uri http://100.100.100.200/latest/<dynamic data><Validity period of the server access credential>: Kredensial akses digunakan untuk autentikasi guna meningkatkan keamanan data. Periode validitas dapat berkisar antara 1 hingga 21.600 detik.Anda dapat menggunakan kembali perintah tersebut untuk memperoleh data selama periode validitas masih berlaku. Setelah kredensial kedaluwarsa, Anda harus memperoleh yang baru.
Kredensial akses hanya berlaku untuk satu instans. Jika Anda menyalin kredensial tersebut ke instans lain, akses akan ditolak.
<dynamic data>: Ganti placeholder ini dengan dokumen atau tanda tangan identitas instans tertentu.Dokumen identitas instans: dynamic/instance-identity/document
Tanda tangan identitas instans: dynamic/instance-identity/pkcs7?audience=XXXX
Penting?audience=XXXXbersifat opsional. Untuk informasi selengkapnya, lihat Tanda tangan identitas instans.
Peroleh dalam 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 placeholder ini dengan dokumen atau tanda tangan identitas instans tertentu.Dokumen identitas instans: dynamic/instance-identity/document
Tanda tangan identitas instans: dynamic/instance-identity/pkcs7?audience=XXXX
Penting?audience=XXXXbersifat opsional. Untuk informasi selengkapnya, lihat Tanda tangan identitas instans.
Menggunakan identitas instans
Langkah-langkah berikut menunjukkan cara menggunakan identitas instans dalam mode Penguatan Keamanan. Sistem Alibaba Cloud Linux 3 digunakan sebagai contoh.
Autentikasi dan penggunaan identitas instans memerlukan OpenSSL untuk memastikan keamanan. Jika OpenSSL belum diinstal pada instans Anda, kunjungi website resmi OpenSSL untuk mengunduh dan menginstalnya.
Hubungkan ke instans Linux secara remote.
Untuk informasi selengkapnya, lihat Gunakan Workbench untuk login ke instans Linux.
(Opsional) Anda dapat menjalankan perintah berikut untuk melihat dokumen dan tanda tangan identitas instans.
# Peroleh kredensial akses server dan tetapkan periode validitas menjadi 3600 detik. TOKEN=`curl -X PUT "http://100.100.100.200/latest/api/token" -H "X-aliyun-ecs-metadata-token-ttl-seconds:3600"` # Peroleh dokumen identitas instans. curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/document # Peroleh tanda tangan identitas instans. curl -H "X-aliyun-ecs-metadata-token: $TOKEN" http://100.100.100.200/latest/dynamic/instance-identity/pkcs7
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 `document`.
curl 100.100.100.200/latest/dynamic/instance-identity/document > documentJalankan perintah berikut untuk menyimpan tanda tangan identitas instans ke file `signature`.
echo "-----BEGIN CERTIFICATE-----" > signature curl 100.100.100.200/latest/dynamic/instance-identity/pkcs7 >> signature echo "" >> signature echo "-----END CERTIFICATE-----" >> signatureJalankan perintah berikut untuk menyimpan sertifikat publik Alibaba Cloud ke file `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 menggunakan OpenSSL guna memverifikasi identitas instans.
openssl smime -verify -in signature -inform PEM -content document -certfile cert.cer -noverify > /dev/nullJika respons
Verification successfuldikembalikan, berarti identitas instans telah berhasil diverifikasi.Parameter dalam perintah tersebut dijelaskan sebagai berikut:
document: File yang berisi konten dokumen identitas instans yang telah Anda peroleh.
signature: File yang berisi konten tanda tangan identitas instans yang telah Anda peroleh.
CatatanJika Anda menentukan parameter `audience` saat memperoleh tanda tangan identitas instans, Anda harus menambahkan parameter tersebut secara manual ke akhir dokumen identitas instans. Formatnya adalah `"audience":""`. Gunakan koma (,) untuk memisahkan parameter `audience` dari parameter lainnya.
cert.cer: File yang berisi sertifikat publik Alibaba Cloud.
Referensi
Untuk informasi selengkapnya tentang cara memperoleh informasi instans lainnya dari dalam instans menggunakan metadata instans, lihat Metadata instans.
Untuk informasi selengkapnya tentang cara menggunakan data pengguna instans untuk menjalankan perintah atau skrip secara otomatis saat instans dimulai, lihat Konfigurasi inisialisasi instans kustom.