View a markdown version of this page

Aktifkan AWS akses akun untuk aplikasi yang dikelola pelanggan - AWS IAM Identity Center

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Aktifkan AWS akses akun untuk aplikasi yang dikelola pelanggan

Anda dapat mengaktifkan akses AWS akun untuk aplikasi yang dikelola pelanggan di IAM Identity Center dengan mengonfigurasi penerbit token tepercaya. Penerbit token tepercaya adalah server otorisasi OAuth 2.0 yang mengeluarkan token yang ditandatangani atas nama pengguna yang diautentikasi. IAM Identity Center menukar token ini dengan kredensi yang memungkinkan aplikasi Anda mengakses AWS akun dan peran yang ditetapkan secara terprogram kepada pengguna tersebut. Penerbit token tepercaya juga dapat digunakan untuk akses ke aplikasi yang AWS dikelola. Untuk informasi selengkapnya, lihat Menggunakan aplikasi dengan penerbit token tepercaya.

catatan

Anda dapat mengaktifkan fitur ini hanya untuk instance organisasi IAM Identity Center. Hanya administrator akun manajemen atau administrator yang didelegasikan yang dapat mengaktifkan sso:account:access ruang lingkup untuk aplikasi yang dikelola pelanggan. Jika Anda adalah pembuat aplikasi di akun anggota, hubungi administrator Pusat Identitas IAM Anda untuk mengaktifkan cakupan ini untuk aplikasi Anda.

Cara kerjanya

Setelah administrator mengaktifkan sso:account:access ruang lingkup untuk aplikasi yang dikelola pelanggan, alur kerja berikut akan terjadi:

  1. Pengguna masuk ke aplikasi Anda melalui penyedia identitas eksternal (iDP).

  2. Aplikasi Anda menerima token JWT yang ditandatangani dari iDP.

  3. Aplikasi Anda menukar token ini dengan token IAM Identity Center dengan memanggil CreateTokenWithIAM API dengan JWT bearer grant type (). urn:ietf:params:oauth:grant-type:jwt-bearer Panggilan ini memerlukan otentikasi Signature Version 4 (SigV4). Untuk informasi selengkapnya, lihat CreateTokenWithIAMdi Referensi API OIDC Pusat Identitas IAM.

  4. Aplikasi Anda menggunakan token IAM Identity Center untuk memanggil operasi API portal (ListAccounts,ListAccountRoles,GetRoleCredentials) untuk menemukan akun dan peran yang ditetapkan kepada pengguna dan mengambil AWS kredensi sementara atas nama mereka.

  5. Pengguna mengakses AWS sumber daya melalui aplikasi Anda tanpa langkah masuk tambahan.

Jika Anda mengaktifkan hibah token penyegaran saat menyiapkan aplikasi, kembalikan CreateTokenWithIAM juga token penyegaran bersama token akses. Aplikasi Anda dapat menggunakan token penyegaran ini untuk mendapatkan token akses baru tanpa mengulangi pertukaran token JWT Bearer penuh. Untuk me-refresh token akses, panggil CreateTokenWithIAM dengan jenis refresh_token hibah.

Prasyarat

Sebelum Anda mengaktifkan akses akun untuk aplikasi yang dikelola pelanggan, Anda perlu:

  • Aplikasi yang dikelola pelanggan yang dikonfigurasi di IAM Identity Center yang mendukung JSON Web Tokens (JWTs). Aplikasi harus memiliki komponen server backend yang dapat menyimpan kredensional dengan aman. Browser-based Aplikasi, seperti aplikasi halaman tunggal (SPA), dan klien publik lainnya tidak didukung untuk fitur ini.

  • Penerbit token tepercaya yang melekat pada aplikasi Anda.

  • Akses ke akun AWS Organizations manajemen atau akun administrator yang didelegasikan untuk Pusat Identitas IAM. Pembangun aplikasi di akun anggota tidak dapat mengaktifkan cakupan ini secara langsung.

Aktifkan akses akun

Untuk mengaktifkan cakupan sso:account:access untuk aplikasi yang dikelola pelanggan
  1. Masuk ke Konsol Manajemen AWS menggunakan akun manajemen organisasi atau akun administrator yang didelegasikan.

  2. Buka konsol Pusat Identitas IAM.

  3. Pada panel navigasi, pilih Aplikasi.

  4. Pilih tab yang dikelola Pelanggan.

  5. Pilih nama aplikasi yang ingin Anda konfigurasikan.

  6. Di bagian akses AWS akun, nyalakan Aktifkan akses AWS akun.

Setelah Anda mengaktifkan akses akun, aplikasi dapat memanggil operasi API portal Identity secara terprogram untuk mencantumkan akun dan peran, dan mengambil AWS kredensi sementara untuk peran yang diizinkan diakses oleh pengguna yang diautentikasi.

penting

Saat Anda mengaktifkan sso:account:access cakupan untuk aplikasi, aplikasi tersebut dapat mengakses semua akun dan peran yang tersedia untuk pengguna yang diautentikasi melalui penetapan set izin mereka. Anda tidak dapat membatasi aplikasi ke akun atau peran tertentu. Pastikan Anda memahami tingkat akses ini sebelum mengaktifkan fitur ini.

Akses terprogram

Anda dapat menggunakan PutApplicationAccessScope API untuk mengaktifkan sso:account:access cakupan aplikasi yang dikelola pelanggan secara terprogram. Anda harus memanggil API dari akun manajemen organisasi atau akun administrator yang didelegasikan.

AWS CLI

aws sso-admin put-application-access-scope \ --application-arn arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-1234567890abcdef \ --scope "sso:account:access"

Permintaan API:

{ "ApplicationArn": "arn:aws:sso::123456789012:application/ssoins-1234567890abcdef/apl-1234567890abcdef", "Scope": "sso:account:access" }

Untuk menonaktifkan akses akun, gunakan DeleteApplicationAccessScope API dengan ARN aplikasi dan nilai cakupan yang sama.

Untuk informasi selengkapnya, lihat PutApplicationAccessScopedan DeleteApplicationAccessScopedi Referensi API Pusat Identitas IAM.

Praktik terbaik keamanan

  • Ruang sso:account:access lingkup memberikan akses aplikasi ke semua akun dan peran yang tersedia untuk pengguna yang diautentikasi. Anda tidak dapat membatasi akses ke akun atau peran tertentu. Hanya aktifkan ruang lingkup ini untuk aplikasi yang memerlukan tingkat akses ini.

  • Simpan token akses IAM Identity Center dan refresh token di server backend Anda. Jangan pernah mengeksposnya ke kode sisi klien.

  • Jangan mencatat token atau kredensi di log aplikasi, pesan kesalahan, atau output debugging.

  • Jangan lewatkan token dalam parameter kueri URL. Gunakan x-amz-sso_bearer_token header untuk token akses.

  • Gunakan AWS CloudTrailuntuk memantau panggilan API yang dilakukan oleh aplikasi Anda.