Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan kredensi sementara dengan sumber daya AWS
Anda dapat menggunakan kredensi keamanan sementara untuk membuat permintaan terprogram untuk AWS sumber daya menggunakan AWS CLI atau AWS API (menggunakan). AWS SDKs
-
Saat Anda melakukan panggilan menggunakan kredensi keamanan sementara, panggilan harus menyertakan token sesi, yang dikembalikan bersama dengan kredensial sementara tersebut. AWS menggunakan token sesi untuk memvalidasi kredenal keamanan sementara.
-
Kredensi sementara kedaluwarsa setelah interval yang ditentukan. Setelah kredensi sementara kedaluwarsa, panggilan apa pun yang Anda lakukan dengan kredensi tersebut akan gagal, jadi Anda harus membuat kumpulan kredensi sementara yang baru. Kredensi sementara tidak dapat diperpanjang atau disegarkan di luar interval yang ditentukan asli.
-
Saat Anda menggunakan kredensial sementara untuk membuat permintaan, prinsipal Anda mungkin mencakup satu set tanda. Tanda ini berasal dari tanda sesi dan tanda yang dilampirkan pada peran yang Anda asumsikan. Untuk informasi lebih lanjut tentang tanda sesi, lihat Lulus tag sesi di AWS STS.
Jika Anda menggunakan, AWS Command Line Interface(AWS CLI) AWS SDKs
catatan
Anda dapat menggunakan AWS Security Token Service (AWS STS) untuk membuat dan menyediakan kredenal keamanan sementara kepada pengguna tepercaya yang dapat mengontrol akses ke sumber daya Anda AWS . Untuk informasi lebih lanjut tentang AWS STS, lihatKredensi keamanan sementara di IAM. AWS STS adalah layanan global yang memiliki titik akhir default dihttps://sts.amazonaws.com
. Titik akhir ini berada di Wilayah AS Timur (Virginia N.), meskipun kredensi yang Anda dapatkan dari titik ini dan titik akhir lainnya valid secara global. Kredensial ini bekerja dengan layanan dan sumber daya di Wilayah mana pun. Anda juga dapat memilih untuk melakukan AWS STS API panggilan ke titik akhir di salah satu Wilayah yang didukung. Hal ini dapat mengurangi latensi dengan membuat permintaan dari server di Wilayah yang secara geografis lebih dekat dengan Anda. Tidak peduli dari Wilayah mana kredensial Anda berasal, mereka bekerja secara global. Untuk informasi selengkapnya, lihat Kelola AWS STS dalam sebuah Wilayah AWS.
Daftar Isi
Menggunakan kredensi sementara di instans Amazon EC2
Jika Anda ingin menjalankan AWS CLI perintah atau kode di dalam EC2 instance, cara yang disarankan untuk mendapatkan kredensi adalah dengan menggunakan peran untuk Amazon. EC2 Anda membuat IAM peran yang menentukan izin yang ingin Anda berikan kepada aplikasi yang berjalan pada EC2 instance. Saat Anda meluncurkan instans, Anda mengaitkan peran dengan instans tersebut.
Aplikasi, AWS CLI, dan Alat untuk PowerShell perintah Windows yang berjalan pada instance kemudian bisa mendapatkan kredenal keamanan sementara otomatis dari metadata instance. Anda tidak perlu secara eksplisit mendapatkan kredensial kerahasiaan keamanan sementara. The AWS SDKs, AWS CLI, and Tools untuk Windows PowerShell secara otomatis mendapatkan kredensialnya dari EC2 Instance Metadata Service (IMDS) dan menggunakannya. Kredensial sementara memiliki izin yang Anda tentukan untuk peran yang terkait dengan instans.
Untuk informasi selengkapnya dan untuk contoh, lihat berikut ini:
-
Menggunakan IAM Peran untuk Memberikan Akses ke AWS Sumber Daya di Amazon Elastic Compute Cloud — AWS SDK for Java
-
Memberikan Akses Menggunakan IAM Peran — AWS SDK for .NET
-
Menciptakan Peran - AWS SDK for Ruby
Menggunakan kredensi keamanan sementara dengan AWS SDKs
Untuk menggunakan kredensi keamanan sementara dalam kode, Anda secara terprogram memanggil AWS STS API like AssumeRole
dan mengekstrak kredenal dan token sesi yang dihasilkan. Anda kemudian menggunakan nilai-nilai tersebut sebagai kredensi untuk panggilan berikutnya ke. AWS Contoh berikut menunjukkan pseudocode untuk cara menggunakan kredenal keamanan sementara jika Anda menggunakan: AWS SDK
assumeRoleResult = AssumeRole(
role-arn
); tempCredentials = new SessionAWSCredentials( assumeRoleResult.AccessKeyId, assumeRoleResult.SecretAccessKey, assumeRoleResult.SessionToken); s3Request = CreateAmazonS3Client(tempCredentials);
Untuk contoh yang ditulis dalam Python (menggunakan AWS SDK for Python (Boto)AssumeRole
untuk mendapatkan kredensial keamanan sementara dan kemudian menggunakan kredensial tersebut untuk melakukan panggilan ke Amazon S3
Untuk detail tentang cara menelepon AssumeRole
GetFederationToken
, dan API operasi lainnya, lihat AWS Security Token Service APIReferensi. Untuk informasi tentang mendapatkan kredensi keamanan sementara dan token sesi dari hasilnya, lihat dokumentasi SDK yang sedang Anda kerjakan. Anda dapat menemukan dokumentasi untuk semua AWS SDKs pada halaman AWS
dokumentasi
Anda harus memastikan bahwa Anda mendapatkan set kredensial baru sebelum kredensial yang lama kedaluwarsa. Di beberapaSDKs, Anda dapat menggunakan penyedia yang mengelola proses penyegaran kredensi untuk Anda; periksa dokumentasi untuk yang SDK Anda gunakan.
Menggunakan kredensial keamanan sementara dengan AWS CLI
Anda dapat menggunakan kredensial keamanan sementara dengan AWS CLI Ini dapat berguna untuk menguji kebijakan.
Menggunakan AWS CLI, Anda dapat memanggil AWS STS APIsuka AssumeRole
atau GetFederationToken
dan kemudian menangkap output yang dihasilkan. Contoh berikut ini menunjukkan panggilan ke AssumeRole
yang mengirimkan output ke file. Dalam contoh, profile
parameter diasumsikan sebagai profil dalam file AWS CLI konfigurasi. Hal ini juga diasumsikan untuk referensi kredensi untuk IAM pengguna yang memiliki izin untuk mengambil peran.
aws sts assume-role --role-arn arn:aws:iam::123456789012:role/
role-name
--role-session-name "RoleSession1" --profileIAM-user-name
> assume-role-output.txt
Setelah perintah selesai, Anda dapat mengekstrak access key ID, secret access key, dan token sesi dari mana pun Anda merutekannya. Anda dapat melakukannya secara manual atau dengan menggunakan skrip. Kemudian Anda dapat menetapkan nilai-nilai ini ke variabel lingkungan.
Ketika Anda menjalankan AWS CLI perintah, AWS CLI mencari kredensi dalam urutan tertentu—pertama dalam variabel lingkungan dan kemudian di file konfigurasi. Oleh karena itu, setelah Anda memasukkan kredensi sementara ke dalam variabel lingkungan, kredensialnya akan AWS CLI digunakan secara default. (Jika Anda menentukan profile
parameter dalam perintah, AWS CLI melewatkan variabel lingkungan. Sebagai gantinya, AWS CLI tampilan dalam file konfigurasi, yang memungkinkan Anda mengganti kredensi dalam variabel lingkungan jika perlu.)
Contoh berikut menunjukkan bagaimana Anda dapat mengatur variabel lingkungan untuk kredenal keamanan sementara dan kemudian memanggil perintah AWS CLI . Karena tidak ada profile
parameter yang disertakan dalam AWS CLI perintah, AWS CLI mencari kredensi terlebih dahulu dalam variabel lingkungan dan oleh karena itu menggunakan kredenal sementara.
Linux
$
export AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
$
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
$
export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of session token>
$
aws ec2 describe-instances --region us-west-1
Windows
C:\>
SET AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
C:\>
SET AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
C:\>
SET AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of token>
C:\>
aws ec2 describe-instances --region us-west-1
Menggunakan kredensi keamanan sementara dengan operasi API
Jika Anda membuat HTTPS API permintaan langsung AWS, Anda dapat menandatangani permintaan tersebut dengan kredenal keamanan sementara yang Anda dapatkan dari AWS Security Token Service ()AWS STS. Untuk melakukan ini, Anda menggunakan ID kunci akses dan kunci akses rahasia yang Anda terima AWS STS. Anda menggunakan access key ID dan secret access key dengan cara yang sama seperti Anda menggunakan kredensial jangka panjang untuk menandatangani permintaan. Anda juga menambahkan token sesi yang Anda terima ke API permintaan Anda AWS STS. Anda menambahkan token sesi ke HTTP header atau ke parameter string kueri bernamaX-Amz-Security-Token
. Anda menambahkan token sesi ke HTTP header atau parameter string kueri, tetapi tidak keduanya. Untuk informasi selengkapnya tentang penandatanganan HTTPS API permintaan, lihat Menandatangani AWS API Permintaan di Referensi Umum AWS.
Informasi lain
Untuk informasi selengkapnya tentang penggunaan AWS STS dengan AWS layanan lain, lihat tautan berikut:
-
Amazon S3. Lihat Membuat permintaan menggunakan kredensi sementara IAM pengguna atau Membuat permintaan menggunakan kredensi sementara pengguna gabungan di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
-
Amazon SNS. Lihat Menggunakan kebijakan berbasis identitas dengan Amazon SNS di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon.
-
Amazon SQS. Lihat Manajemen identitas dan akses di Amazon SQS di Panduan Pengembang Layanan Antrian Sederhana Amazon.
-
Amazon SimpleDB. Lihat Menggunakan Kredenal Keamanan Sementara di Panduan Pengembang Amazon SimpleDB.