Resolusi kredensi dan profil - AWS SDK for .NET

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

Resolusi kredensi dan profil

AWS SDK for .NET Pencarian kredensi dalam urutan tertentu dan menggunakan set pertama yang tersedia untuk aplikasi saat ini.

Urutan pencarian kredensi
  1. Kredenal yang ditetapkan secara eksplisit pada klien AWS layanan, seperti yang dijelaskan dalam. Mengakses kredensi dan profil dalam aplikasi

    catatan

    Topik itu ada di Pertimbangan khusus bagian karena itu bukan metode yang disukai untuk menentukan kredensi.

  2. Profil kredensial dengan nama yang ditentukan oleh nilai di. AWSConfigs AWSProfileName.

  3. Profil kredensial dengan nama yang ditentukan oleh variabel AWS_PROFILE lingkungan.

  4. Profil [default] kredensialnya.

  5. S essionAWSCredentials yang dibuat dariAWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY, dan variabel AWS_SESSION_TOKEN lingkungan, jika semuanya tidak kosong.

  6. B asicAWSCredentials yang dibuat dari variabel AWS_ACCESS_KEY_ID dan AWS_SECRET_ACCESS_KEY lingkungan, jika keduanya tidak kosong.

  7. Penyedia kredensi kontainer.

  8. EC2Metadata instans Amazon.

Jika aplikasi Anda berjalan di EC2 instans Amazon, seperti di lingkungan produksi, gunakan IAM peran seperti yang dijelaskan dalamMemberikan akses dengan menggunakan peran IAM. Jika tidak, seperti dalam pengujian prarilis, simpan kredensi Anda dalam file yang menggunakan format file AWS kredensial yang dapat diakses aplikasi web Anda di server.

Resolusi profil

Dengan dua mekanisme penyimpanan yang berbeda untuk kredensi, penting untuk memahami cara mengonfigurasi AWS SDK for .NET untuk menggunakannya. Itu AWSConfigs. AWSProfilesLocationproperti mengontrol bagaimana AWS SDK for .NET menemukan profil kredensi.

AWSProfilesLocation Perilaku resolusi profil

nihil (tidak diatur) atau kosong

Cari SDK Store jika platform mendukungnya, lalu cari file AWS kredensi bersama di lokasi default. Jika profil tidak berada di salah satu lokasi tersebut, cari ~/.aws/config (Linux atau macOS) atau %USERPROFILE%\.aws\config (Windows).

Path ke file dalam format file AWS kredensial

Cari hanya file yang ditentukan untuk profil dengan nama yang ditentukan.

Menggunakan kredensi akun pengguna federasi

Aplikasi yang menggunakan AWS SDK for .NET (AWSSDK.Core versi 3.1.6.0 dan yang lebih baru) dapat menggunakan akun pengguna federasi melalui Active Directory Federation Services (AD FS) untuk mengakses AWS layanan dengan menggunakan Security Assertion Markup Language (). SAML

Dukungan akses federasi berarti pengguna dapat mengautentikasi menggunakan Active Directory Anda. Kredensi sementara diberikan kepada pengguna secara otomatis. Kredensi sementara ini, yang berlaku selama satu jam, digunakan saat aplikasi Anda memanggil AWS layanan. SDKMenangani manajemen kredensi sementara. Untuk akun pengguna yang bergabung dengan domain, jika aplikasi Anda melakukan panggilan tetapi kredensialnya telah kedaluwarsa, pengguna akan diautentikasi ulang secara otomatis dan kredensi baru diberikan. (Untuk non-domain-joined akun, pengguna diminta untuk memasukkan kredensi sebelum autentikasi ulang.)

Untuk menggunakan dukungan ini di Anda. NETaplikasi, Anda harus terlebih dahulu mengatur profil peran dengan menggunakan PowerShell cmdlet. Untuk mempelajari caranya, lihat AWS Tools for Windows PowerShell dokumentasi.

Setelah Anda mengatur profil peran, rujuk profil di aplikasi Anda. Ada beberapa cara untuk melakukan ini, salah satunya adalah dengan menggunakan AWSConfigs. AWSProfileNameproperti dengan cara yang sama seperti yang Anda lakukan dengan profil kredensi lainnya.

AWS Security Token ServiceMajelis (AWSSDK. SecurityToken) memberikan SAML dukungan untuk mendapatkan AWS kredensi. Untuk menggunakan kredensi akun pengguna federasi, pastikan perakitan ini tersedia untuk aplikasi Anda.

Menentukan peran atau kredensi sementara

Untuk aplikasi yang berjalan di EC2 instans Amazon, cara paling aman untuk mengelola kredensi adalah dengan menggunakan IAM peran, seperti yang dijelaskan dalam. Memberikan akses dengan menggunakan peran IAM

Untuk skenario aplikasi di mana perangkat lunak yang dapat dieksekusi tersedia untuk pengguna di luar organisasi Anda, kami sarankan Anda merancang perangkat lunak untuk menggunakan kredenal keamanan sementara. Selain menyediakan akses terbatas ke AWS sumber daya, kredensi ini memiliki manfaat kedaluwarsa setelah jangka waktu tertentu. Untuk informasi selengkapnya tentang kredenal keamanan sementara, lihat berikut ini:

Menggunakan kredensial proxy

Jika perangkat lunak Anda berkomunikasi dengan AWS melalui proxy, Anda dapat menentukan kredensi untuk proxy dengan menggunakan ProxyCredentials properti Config kelas layanan. ConfigKelas layanan biasanya merupakan bagian dari namespace utama untuk layanan. Contohnya termasuk yang berikut: AmazonCloudDirectoryConfigdi Amazon. CloudDirectorynamespace dan AmazonGameLiftConfigdi Amazon. GameLiftnamespace.

Untuk Amazon S3, misalnya, Anda dapat menggunakan kode yang mirip dengan berikut ini, di mana SecurelyStoredUserName dan SecurelyStoredPassword merupakan nama pengguna proxy dan kata sandi yang NetworkCredentialditentukan dalam objek.

AmazonS3Config config = new AmazonS3Config(); config.ProxyCredentials = new NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword);
catatan

Versi sebelumnya dari yang SDK digunakan ProxyUsername danProxyPassword, tetapi properti ini tidak digunakan lagi.