Kredensial Bersama di AWS Tools for PowerShell - AWS Tools for PowerShell

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 RoleArn.

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 -AccessKey access_key_id -SecretKey secret_key PS > Set-AWSCredential -StoreAs my_role_profile -SourceProfile my_source_profile -RoleArn arn: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

-AccessKey

-SecretKey

Sesi:

Ini adalah kredensial jangka pendek untuk IAM role yang Anda ambil secara manual, seperti dengan langsung memanggil cmdlet Use-STSRole.

-AccessKey

-SecretKey

-SessionToken

Peran:

Ini adalah kredensial jangka pendek untuk IAM role yang diambil oleh AWS Tools for PowerShell untuk Anda.

-SourceProfile

-RoleArn

opsional: -ExternalId

opsional: -MfaSerial

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 (user's home directory)\.aws\credentials.

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 untuk menampilkan isi file kredensial.

PS > Set-AWSCredential -ProfileLocation C:\Users\auser\.aws\credentials -ProfileName basic_profile -AccessKey access_key2 -SecretKey secret_key2 PS > 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 -SourceProfile source_profile_name -RoleArn arn:aws:iam::999999999999:role/role_name. Cara ini tidak akan bekerja karena cmdlet layanan tidak secara langsung mendukung parameter SourceProfile atau RoleArn. Sebaliknya, Anda harus menyimpan parameter tersebut dalam profil, kemudian memanggil perintah dengan parameter -ProfileName.