Sematkan halaman konsol Managed Service for OpenTelemetry ke dalam aplikasi web Anda agar tim dapat melihat data tracing—aplikasi, detail aplikasi, dan jejak—tanpa harus beralih ke Konsol Alibaba Cloud.
Alur penyematan menggunakan Resource Access Management (RAM) dan Security Token Service (STS) untuk menghasilkan URL tanpa perlu login. Kebijakan RAM mengontrol tata letak halaman (misalnya, menyembunyikan bilah navigasi) serta tingkat akses (penuh atau read-only).
Cara kerja
Alur penyematan memanfaatkan login federasi berbasis STS untuk memberikan akses sementara dan terbatas ke halaman konsol:
Phase | Steps | Frequency |
One-time setup | Create a RAM user and a RAM role with the required policies | Once |
Per-session flow | Get temporary credentials, exchange them for a logon token, and build a logon-free URL | Every session (tokens expire after 3 hours) |
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Akun Alibaba Cloud dengan hak istimewa administratif RAM (atau kebijakan
AliyunRAMFullAccess)Aplikasi web yang dikelola sendiri dengan backend yang mampu melakukan permintaan HTTP
Langkah 1: Buat RAM user dan berikan izin STS AssumeRole
Buat RAM user yang digunakan oleh backend aplikasi Anda untuk memanggil operasi STS AssumeRole.
Login ke Konsol RAM.
Di panel navigasi sebelah kiri, pilih Identity > Users.
Pada halaman Users, klik Create User.
Pada halaman Create User, konfigurasikan pengaturan berikut:
Pada bagian User Account Information, atur Logon Name dan Display Name.
Pada bagian Access Mode, pilih Using permanent AccessKey to access.
Klik OK.
PentingRAM secara otomatis menghasilkan pasangan AccessKey untuk RAM user tersebut. Pasangan AccessKey hanya ditampilkan sekali. Salin dan simpan ID AccessKey dan Rahasia AccessKey sebelum menutup halaman. Untuk informasi lebih lanjut, lihat Create an AccessKey pair.
Pada halaman Users, temukan RAM user tersebut dan klik Add Permissions di kolom Actions.
Untuk memberikan izin ke beberapa RAM user sekaligus, pilih user tersebut lalu klik Add Permissions di bagian bawah halaman.
Pada panel Grant Permission, konfigurasikan pengaturan berikut:
Atur Resource Scope:
Account: Izin berlaku untuk Akun Alibaba Cloud saat ini.
ResourceGroup: Izin berlaku untuk kelompok sumber daya tertentu. Lihat Use a resource group to grant a RAM user the permissions to manage a specific ECS instance.
PentingSebelum mengatur Resource Scope ke ResourceGroup, pastikan layanan cloud tersebut mendukung kelompok sumber daya. Lihat Services that work with Resource Group.
Konfirmasi Principal (RAM user yang Anda beri izin). Sistem secara otomatis memilih RAM user saat ini sebagai principal.
Pada bagian Policy, pilih AliyunSTSAssumeRoleAccess.
Klik Grant permissions.
Klik Close.
Langkah 2: Buat RAM role dan berikan izin Managed Service for OpenTelemetry
Buat RAM role yang menentukan data dan operasi apa saja yang dapat diakses melalui sesi konsol yang disematkan.
Grant permissions to the RAM role. Pilih salah satu kebijakan berikut berdasarkan tingkat akses yang Anda butuhkan:
Policy
Access level
AliyunTracingAnalysisFullAccessFull read and write access to Managed Service for OpenTelemetry
AliyunTracingAnalysisReadOnlyAccessRead-only access to Managed Service for OpenTelemetry
PentingIzin RAM role menentukan data dan operasi yang tersedia di konsol yang disematkan.
Langkah 3: Dapatkan pasangan AccessKey sementara dan token STS
Dari backend aplikasi Anda, panggil operasi STS AssumeRole untuk mendapatkan kredensial sementara. Gunakan salah satu metode berikut:
Ganti placeholder dalam kode contoh dengan nilai aktual Anda:
String akId = "<your-access-key-id>";
String ak = "<your-access-key-secret>";
String roleArn = "<your-role-arn>";Placeholder | Description | Where to find it |
| AccessKey ID dari RAM user yang dibuat pada Langkah 1 | Konsol RAM > Users > Detail user |
| Rahasia AccessKey dari RAM user yang dibuat pada Langkah 1 | Disimpan selama Langkah 1 (hanya ditampilkan sekali) |
| Nama Sumber Daya Alibaba Cloud (ARN) dari RAM role yang dibuat pada Langkah 2 | Konsol RAM > Peran > Detail Peran |
Langkah 4: Dapatkan token login
Panggil operasi GetSigninToken untuk menukar kredensial sementara dari Langkah 3 menjadi token login.
Token STS mungkin berisi karakter khusus. Encode token tersebut dalam format URL sebelum memasukkannya ke dalam permintaan.
http://signin4service.alibabacloud.com/federation?Action=GetSigninToken
&AccessKeyId=<temporary-access-key-id>
&AccessKeySecret=<temporary-access-key-secret>
&SecurityToken=<sts-token>
&TicketType=miniTambahkan parameter &TicketType=mini hanya jika aplikasi web Anda diterapkan di platform cloud mitra.
Langkah 5: Bangun URL tanpa login
Gabungkan token login dari Langkah 4 dengan URL halaman konsol untuk membuat URL tanpa login.
Dapatkan URL halaman konsol target. Misalnya, halaman Applications untuk wilayah China (Hangzhou):
https://trace4servims.console.alibabacloud.com/#/overview/cn-hangzhou(Opsional) Tambahkan parameter tata letak ke URL halaman konsol untuk menyembunyikan elemen navigasi:
Parameter
Effect
Example
hideTopbar=trueHides the top navigation bar
https://trace4servims.console.alibabacloud.com/#/overview/cn-hangzhou?hideTopbar=truehideSidebar=trueHides the left-side navigation pane
https://trace4servims.console.alibabacloud.com/#/overview/cn-hangzhou?hideSidebar=trueUntuk menyembunyikan keduanya, gabungkan parameter:
?hideTopbar=true&hideSidebar=trueBangun URL tanpa login:
http://signin.alibabacloud.com/federation?Action=Login &LoginUrl=<your-login-failure-redirect-url> &SigninToken=<logon-token> &Destination=<console-page-url>Parameter
Description
LoginUrlURL tempat pengguna dialihkan jika login gagal (mengembalikan HTTP 302)
SigninTokenToken login dari Langkah 4
DestinationURL halaman konsol Managed Service for OpenTelemetry (dengan parameter tata letak opsional)
Penanganan kedaluwarsa token
Token STS sementara kedaluwarsa setelah 3 jam. Untuk menjaga akses tanpa gangguan:
Hasilkan token login baru pada setiap permintaan halaman dari backend aplikasi Anda.
Lakukan pengalihan 302 ke URL tanpa login yang telah diperbarui.
Hasil
Halaman konsol Managed Service for OpenTelemetry muncul di dalam aplikasi web Anda.
Kode contoh
Unduh kode contoh lengkap (Java). Contoh ini menyematkan halaman Applications dari konsol Managed Service for OpenTelemetry ke dalam aplikasi web yang dikelola sendiri.