Alat diagnosis error API memerlukan izin tertentu untuk menganalisis error lintas akun. Berikan izin lintas akun agar pengguna yang berwenang dapat melakukan kueri informasi diagnosis API untuk akun lain.
Dalam satu akun Alibaba Cloud
Berikan izin kepada RAM user agar mereka dapat melihat informasi diagnosis API untuk RAM user dan RAM role lain dalam akun yang sama.
Langkah 1: Buat kebijakan kustom
-
Login ke RAM console menggunakan Akun Alibaba Cloud Anda atau RAM user dengan izin manajemen RAM.
-
Di panel navigasi sebelah kiri, pilih Permissions, lalu klik Policies.
-
Pada halaman Policies, klik Create Policy.
-
Pada halaman Create Policy, klik tab JSON.
Editor menampilkan templat kebijakan default dengan
Versionbernilai"1"dan arrayStatementyang berisi satu objek. Objek tersebut memilikiEffectbernilai"Allow"serta elemenAction,Resource, danConditionyang kosong. -
Ganti konten di editor dengan kebijakan berikut, lalu klik OK.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "openapiexplorer:GetRequestLog", "ram:DecodeDiagnosticMessage" ], "Resource": "*" } ] }CatatanKebijakan ini mengizinkan pengguna untuk melihat semua log panggilan API dan informasi detail mengenai izin yang tidak mencukupi dalam Akun Alibaba Cloud.
-
Masukkan Policy Name dan Description, lalu klik OK.
Langkah 2: Berikan izin kepada RAM user
Berikan izin kepada RAM user menggunakan salah satu metode berikut:
-
Untuk memberikan izin kepada RAM user, lihat Manage RAM user permissions.
-
Untuk memberikan izin kepada RAM user group, lihat Grant permissions to a RAM user group.
Langkah 3: Lihat hasil diagnosis API
Buka OpenAPI Troubleshoot, masukkan RequestId, lalu klik Diagnose.
Hasil diagnosis menunjukkan bahwa layanan cloud adalah ECS, ErrorCode-nya adalah Forbidden.RAM, dan ErrorMessage menunjukkan bahwa RAM user tidak memiliki otorisasi untuk mengoperasikan resource yang ditentukan. Detail diagnosis mengidentifikasi pemanggil sebagai RAM user yang mencoba melakukan aksi ecs:ModifyInstanceAttribute, dengan keputusan insufficient permissions. Solusi yang direkomendasikan adalah menghubungi administrator untuk memberikan kebijakan sistem terkait, seperti AliyunECSFullAccess atau AliyunECSReadOnlyAccess, atau membuat kebijakan kustom.
Antar akun Alibaba Cloud yang berbeda
Untuk melihat informasi diagnosis API milik akun Alibaba Cloud lain, asumsikan role yang memberikan izin yang diperlukan.
Akun A: Akun yang mengalami error API.
Akun B: Akun yang perlu melihat informasi diagnosis API.
-
Akun A membuat RAM role dan memberikan izin kepada Akun B untuk mengasumsikannya.
-
Akun B membuat RAM user dan memberikan izin kepadanya untuk mengasumsikan role.
-
RAM user dari Akun B mengasumsikan RAM role dari Akun A untuk melakukan kueri informasi diagnosis API lintas akun.
Langkah 1: Konfigurasi RAM role di Akun A
-
Buat RAM role.
Login ke RAM console dengan Akun A. Buat RAM role dengan Principal Type diatur ke Cloud Account. Untuk informasi lebih lanjut, lihat Create a RAM role for a trusted Alibaba Cloud account.
CatatanPada halaman Create Role, untuk Principal Name, pilih Other Account dan masukkan UID Akun B.
-
Buat kebijakan kustom.
Untuk petunjuknya, lihat Langkah 1: Buat kebijakan kustom pada bagian sebelumnya.
-
Berikan izin kepada RAM role.
Lampirkan kebijakan kustom yang telah Anda buat pada langkah sebelumnya ke RAM role tersebut. Untuk informasi lebih lanjut, lihat Manage permissions for a RAM role.
Langkah 2: Konfigurasi RAM user di Akun B
-
Buat RAM user.
Login ke RAM console dengan Akun B dan buat RAM user. Untuk informasi lebih lanjut, lihat Create a RAM user.
CatatanUntuk keamanan, konfigurasikan hanya satu mode akses untuk RAM user sesuai kebutuhan Anda. Pisahkan akses konsol dan akses programatik.
Dalam contoh ini, Logon Name diatur ke
GetApiLogUser, Display Name diatur ke "Untuk melakukan kueri log panggilan API milik akun Alibaba Cloud lain", dan untuk Access Mode, dipilih kedua opsi: console access dan programmatic access. -
Berikan izin kepada RAM user.
Lampirkan kebijakan
AliyunSTSAssumeRoleAccesske RAM user tersebut. Kebijakan ini mengizinkan pengguna untuk mengasumsikan role RAM apa pun. Untuk informasi lebih lanjut, lihat Manage RAM user permissions.CatatanJika Anda ingin RAM user hanya dapat mengasumsikan role RAM tertentu, lihat RAM roles and STS Token FAQs.
Langkah 3: Mengasumsikan peran dan melihat informasi diagnosis
-
Gunakan RAM user dari Akun B untuk login ke RAM user logon page.
-
Arahkan kursor ke foto profil di pojok kanan atas, lalu klik Switch Identity.
-
Pada halaman Switch Role, masukkan UID Akun A dan nama RAM role, lalu klik Submit.
-
Lihat informasi diagnosis API.
Buka OpenAPI Troubleshoot, masukkan RequestId, lalu klik Diagnose.
Hasil diagnosis menunjukkan bahwa layanan cloud adalah ECS, ErrorCode-nya adalah
Forbidden.RAM, dan ErrorMessage-nya adalahUser not authorized to operate on the specified resource, or this API doesn't support RAM.. Detail diagnosis menunjukkan bahwa kebijakan berbasis identitas di tingkat kelompok sumber daya menolak akses. Detail tersebut juga menunjukkan bahwa pemanggil adalah RAM user yang mencoba melakukan aksiecs:ModifyInstanceAttributesaat login dengan role GetApiLogRole.