Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kredensial Bersama di AWS Tools for PowerShell
Alat untuk Windows PowerShell mendukung penggunaan file kredensial AWS bersama, mirip dengan SDK AWS CLI dan lainnyaAWS. Tools untuk Windows PowerShell sekarang mendukung membaca dan menulisbasic
,session
, dan profil kredensialnya ke file assume role
kredensial.NET dan file kredensialnya AWS bersama. Fungsionalitas ini diaktifkan oleh namespace Amazon.Runtime.CredentialManagement
baru.
Awas
Untuk menghindari risiko keamanan, jangan gunakan pengguna IAM untuk otentikasi saat mengembangkan perangkat lunak yang dibuat khusus atau bekerja dengan data nyata. Sebaliknya, gunakan federasi dengan penyedia identitas seperti AWS IAM Identity Center.
catatan
Informasi dalam topik ini adalah untuk keadaan di mana Anda perlu memperoleh dan mengelola kredensi jangka pendek atau jangka panjang secara manual. Untuk informasi tambahan tentang kredensi jangka pendek dan jangka panjang, lihat Cara lain untuk mengautentikasi dalam Panduan Referensi AWSSDK dan Alat.
Untuk praktik keamanan terbaik, gunakanAWS IAM Identity Center, seperti yang dijelaskan dalamKonfigurasikan otentikasi alat.
Jenis profil baru dan akses ke file AWS kredensi bersama didukung oleh parameter berikut yang telah ditambahkan ke cmdlet terkait kredensial, Inisialisasi-, Baru-, dan Set- AWSDefaultConfiguration. AWSCredential AWSCredential Dalam cmdlet layanan, Anda dapat merujuk ke profil Anda dengan menambahkan parameter umum, -ProfileName
.
Menggunakan IAM role dengan AWS Tools for PowerShell
File kredensial bersama AWS memungkinkan jenis akses tambahan. Misalnya, Anda dapat mengakses sumber daya AWS Anda dengan menggunakan IAM role bukan kredensial jangka panjang pengguna IAM. Untuk melakukannya, Anda harus memiliki profil standar yang memiliki izin untuk melaksanakan peran tersebut. Saat Anda memberi tahu AWS Tools for PowerShell untuk menggunakan profil yang menentukan peran, AWS Tools for PowerShell mencari profil yang diidentifikasi oleh parameter SourceProfile
. Kredensial tersebut digunakan untuk meminta kredensial sementara untuk peran yang ditentukan oleh parameter RoleArn
. Anda dapat memilih meminta penggunaan perangkat autentikasi multi-factor (MFA) atau kode ExternalId
ketika peran dilaksanakan oleh pihak ketiga.
Nama Parameter | Deskripsi |
---|---|
ExternalId |
ID eksternal yang ditetapkan pengguna untuk digunakan ketika melaksanakan peran, jika diperlukan oleh peran. Ini biasanya hanya diperlukan saat Anda mendelegasikan akses akun Anda ke pihak ketiga. Pihak ketiga harus menyertakan ExternalId sebagai parameter saat mengasumsikan peran yang ditugaskan. Untuk informasi selengkapnya, lihat Cara Menggunakan ID Eksternal Saat Memberikan Akses ke Sumber Daya AWS Anda ke Pihak Ketiga dalam Panduan Pengguna IAM. |
MfaSerial |
Nomor seri MFA yang akan digunakan ketika melaksanakan peran, jika diperlukan oleh peran. Untuk informasi selengkapnya, lihat Menggunakan Autentikasi Multi-Faktor (MFA) dalam AWS dalam Panduan Pengguna IAM. |
RoleArn |
ARN peran untuk melaksanakan kredensial peran. Untuk informasi selengkapnya tentang pembuatan dan penggunaan peran, lihat IAM role dalam Panduan Pengguna IAM. |
SourceProfile |
Nama profil sumber yang akan digunakan dengan melaksanakan kredensial peran. Kredensial yang ditemukan di profil ini digunakan untuk melaksanakan peran yang ditentukan oleh parameter |
Pengaturan profil untuk melaksanakan peran
Berikut ini adalah contoh yang menunjukkan cara mengatur profil sumber yang memungkinkan secara langsung melaksanakan IAM role.
Perintah pertama membuat profil sumber yang disebutkan oleh profil peran. Perintah kedua membuat profil peran yang perannya akan dilaksanakan. Perintah ketiga menunjukkan kredensial untuk profil peran.
PS >
Set-AWSCredential -StoreAs
my_source_profile
-AccessKeyaccess_key_id
-SecretKeysecret_key
PS >
Set-AWSCredential -StoreAs
my_role_profile
-SourceProfilemy_source_profile
-RoleArnarn:aws:iam::123456789012:role/role-i-want-to-assume
PS >
Get-AWSCredential -ProfileName
my_role_profile
SourceCredentials RoleArn RoleSessionName Options ----------------- ------- --------------- ------- Amazon.Runtime.BasicAWSCredentials arn:aws:iam::123456789012:role/role-i-want-to-assume aws-dotnet-sdk-session-636238288466144357 Amazon.Runtime.AssumeRoleAWSCredentialsOptions
Untuk menggunakan profil peran ini dengan cmdlet PowerShell layanan Alat untuk Windows, tambahkan parameter -ProfileName
umum ke perintah untuk mereferensikan profil peran. Contoh berikut menggunakan profil peran yang didefinisikan dalam contoh sebelumnya untuk mengakses cmdlet Get-S3Bucket. AWS Tools for PowerShell mencari kredensialnya di my_source_profile
, menggunakan kredensialnya untuk memanggil AssumeRole
atas nama pengguna, dan kemudian menggunakan kredensial peran sementara untuk memanggil Get-S3Bucket
.
PS >
Get-S3Bucket -ProfileName my_role_profile
CreationDate BucketName ------------ ---------- 2/27/2017 8:57:53 AM 4ba3578c-f88f-4d8b-b95f-92a8858dac58-bucket1 2/27/2017 10:44:37 AM 2091a504-66a9-4d69-8981-aaef812a02c3-bucket2
Menggunakan Jenis Profil Kredensial
Untuk menetapkan jenis profil kredensial, memahami parameter yang memberikan informasi yang diperlukan oleh jenis profil.
Tipe kredensial | Parameter yang harus Anda gunakan |
---|---|
Dasar Ini adalah kredensial jangka panjang untuk pengguna IAM |
|
Sesi: Ini adalah kredensial jangka pendek untuk IAM role yang Anda ambil secara manual, seperti dengan langsung memanggil cmdlet Use-STSRole. |
|
Peran: Ini adalah kredensial jangka pendek untuk IAM role yang diambil oleh AWS Tools for PowerShell untuk Anda. |
opsional: opsional: |
Parameter Umum ProfilesLocation
Anda dapat menggunakan -ProfileLocation
untuk menulis ke file kredensial bersama serta memerintahkan cmdlet untuk membaca dari file kredensial. Menambahkan -ProfileLocation
parameter mengontrol apakah Alat untuk Windows PowerShell menggunakan file kredensi bersama atau file kredensial.NET. Tabel berikut menjelaskan cara kerja parameter di Alat untuk Windows PowerShell.
Nilai Lokasi Profil | Perilaku Resolusi Profil |
---|---|
nihil (tidak diatur) atau kosong |
Pertama, cari file kredensial .NET untuk profil dengan nama yang disebutkan. Jika profil tidak ditemukan, cari file kredensial bersama AWS di |
Jalur ke file dalam format file kredensial bersama AWS |
Cari hanya file yang disebutkan untuk profil dengan nama yang diberikan. |
Menyimpan Kredensial ke File Kredensial
Untuk menulis dan menyimpan kredensial ke salah satu dari dua file kredensial tersebut, jalankan perintah cmdlet Set-AWSCredential
. Contoh berikut menunjukkan cara melakukannya. Perintah pertama menggunakan Set-AWSCredential
dengan -ProfileLocation
untuk menambahkan access key dan secret key ke profil yang ditentukan oleh parameter-ProfileName
. Pada baris kedua, jalankan cmdlet Get-Content
PS >
Set-AWSCredential -ProfileLocation C:\Users\auser\.aws\credentials -ProfileName basic_profile -AccessKey access_key2 -SecretKey secret_key2PS >
Get-Content C:\Users\auser\.aws\credentials aws_access_key_id=access_key2 aws_secret_access_key=secret_key2
Menampilkan Profil Kredensial Anda
Jalankan Get- AWSCredential cmdlet dan tambahkan -ListProfileDetail
parameter untuk mengembalikan jenis dan lokasi file kredensi, dan daftar nama profil.
PS >
Get-AWSCredential -ListProfileDetail
ProfileName StoreTypeName ProfileLocation ----------- ------------- --------------- source_profile NetSDKCredentialsFile assume_role_profile NetSDKCredentialsFile basic_profile SharedCredentialsFile C:\Users\auser\.aws\credentials
Menghapus Profil Kredensial
Untuk menghapus profil kredensi, jalankan AWSCredentialProfile cmdlet Remove- baru. Clear- AWSCredential tidak digunakan lagi, tetapi masih tersedia untuk kompatibilitas mundur.
Catatan Penting
Hanya Inisialisasi- AWSDefaultConfiguration, Baru- AWSCredential, dan Set- AWSCredential mendukung parameter untuk profil peran. Anda tidak dapat menyebutkan parameter peran secara langsung pada perintah seperti Get-S3Bucket
. Cara ini tidak akan bekerja karena cmdlet layanan tidak secara langsung mendukung parameter -SourceProfile
source_profile_name -RoleArn
arn:aws:iam::999999999999:role/role_name
SourceProfile
atau RoleArn
. Sebaliknya, Anda harus menyimpan parameter tersebut dalam profil, kemudian memanggil perintah dengan parameter -ProfileName
.