

Versi 5 (V5) dari Alat AWS untuk PowerShell telah dirilis\$1

Untuk informasi tentang melanggar perubahan dan memigrasi aplikasi Anda, lihat [topik migrasi](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html).

 [https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html](https://docs.aws.amazon.com/powershell/v5/userguide/migrating-v5.html)

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

# Kredensial Bersama di Alat AWS untuk PowerShell
<a name="shared-credentials-in-aws-powershell"></a>

Alat untuk Windows PowerShell mendukung penggunaan file kredensi AWS bersama, mirip dengan AWS CLI dan lainnya. AWS SDKs Tools untuk Windows PowerShell sekarang mendukung membaca dan menulis`basic`,`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](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html).

**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](https://docs.aws.amazon.com/sdkref/latest/guide/access-users.html) di Panduan Referensi *Alat AWS SDKs dan Alat*.  
Untuk praktik keamanan terbaik, gunakan AWS IAM Identity Center, seperti yang dijelaskan dalam[Autentikasi dengan AWS](creds-idc.md).

[https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html](https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html) Dalam cmdlet layanan, Anda dapat merujuk ke profil Anda dengan menambahkan parameter umum, `-ProfileName`.

## Menggunakan Peran IAM dengan Alat AWS untuk PowerShell
<a name="shared-credentials-assume-role"></a>

File AWS kredensi bersama memungkinkan jenis akses tambahan. Misalnya, Anda dapat mengakses AWS sumber daya Anda dengan menggunakan peran IAM alih-alih kredensi jangka panjang pengguna IAM. Untuk melakukannya, Anda harus memiliki profil standar yang memiliki izin untuk melaksanakan peran tersebut. Ketika Anda memberitahu Alat AWS untuk PowerShell untuk menggunakan profil yang menentukan peran, Alat AWS untuk PowerShell mencari profil yang diidentifikasi oleh `SourceProfile` parameter. 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 AWS Sumber Daya Anda kepada Pihak Ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html) dalam *Panduan Pengguna IAM*.  | 
|  RoleArn  |  ARN peran untuk melaksanakan kredensial peran. Untuk informasi selengkapnya tentang pembuatan dan penggunaan peran, lihat [IAM role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) 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
<a name="setup"></a>

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 ditentukan dalam contoh sebelumnya untuk mengakses [Get-S3Bucket](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-S3Bucket.html)cmdlet. Alat AWS untuk PowerShell mencari kredensialnya`my_source_profile`, menggunakan kredensional tersebut untuk memanggil `AssumeRole` atas nama pengguna, dan kemudian menggunakan kredenal peran sementara tersebut untuk menelepon. `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
<a name="using-the-credential-profile-types"></a>

Untuk menetapkan jenis profil kredensial, memahami parameter yang memberikan informasi yang diperlukan oleh jenis profil.


****  

| Tipe kredensial | Parameter yang harus Anda gunakan | 
| --- | --- | 
|  **Basic** Ini adalah kredensial jangka panjang untuk pengguna IAM  |  `-AccessKey`  `-SecretKey`  | 
|  **Sesi**: [Ini adalah kredensi jangka pendek untuk peran IAM yang Anda ambil secara manual, seperti dengan langsung memanggil cmdlet Use-. STSRole](https://docs.aws.amazon.com/powershell/v5/reference/items/Use-STSRole.html)  |  `-AccessKey`  `-SecretKey` `-SessionToken`  | 
|  **Peran**: Ini adalah kredensial jangka pendek untuk IAM role yang diambil oleh Alat AWS untuk PowerShell untuk Anda.  |  `-SourceProfile` `-RoleArn`  opsional: `-ExternalId` opsional: `-MfaSerial`  | 

## Parameter Umum `ProfileLocation`
<a name="the-profileslocation-common-parameter"></a>

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 AWS bersama di. `(user's home directory)\.aws\credentials`  | 
|  Path ke file dalam format file AWS kredensi bersama  |  Cari hanya file yang disebutkan untuk profil dengan nama yang diberikan.  | 

### Menyimpan Kredensial ke File Kredensial
<a name="save-credentials-to-a-credentials-file"></a>

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](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/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
<a name="showing-credential-profiles"></a>

Jalankan [Get- AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Get-AWSCredential.html) 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
<a name="removing-credential-profiles"></a>

Untuk menghapus profil kredensi, jalankan cmdlet [Hapus- AWSCredential Profil](https://docs.aws.amazon.com/powershell/v5/reference/items/Remove-AWSCredentialProfile.html) baru. [Clear- AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Clear-AWSCredential.html) tidak digunakan lagi, tetapi masih tersedia untuk kompatibilitas mundur.

## Catatan Penting
<a name="important-notes"></a>

Hanya [Inisialisasi- AWSDefault Konfigurasi](https://docs.aws.amazon.com/powershell/v5/reference/items/Initialize-AWSDefaultConfiguration.html), [Baru- AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/New-AWSCredential.html), dan [Set- AWSCredential](https://docs.aws.amazon.com/powershell/v5/reference/items/Set-AWSCredential.html) 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`.