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 .NETPencarian kredensil dalam urutan tertentu dan menggunakan set pertama yang tersedia untuk aplikasi saat ini.

Urutan pencarian kredensi
  1. Kredensil 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 kredensil.

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

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

  4. Profil [default] kredensialnya.

  5. Sesi AWSCredentials yang dibuat dari variabel AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY,, dan AWS_SESSION_TOKEN lingkungan, jika semuanya tidak kosong.

  6. Dasar AWSCredentials yang dibuat dari variabel AWS_ACCESS_KEY_ID dan AWS_SECRET_ACCESS_KEY lingkungan, jika keduanya tidak kosong.

  7. Peran IAM untuk Tugas untuk tugas Amazon ECS.

  8. Metadata instans Amazon EC2.

Jika aplikasi Anda berjalan di instans Amazon EC2, seperti di lingkungan produksi, gunakan peran IAM seperti yang dijelaskan dalam. Memberikan akses dengan menggunakan peran IAM Jika tidak, seperti dalam pengujian prarilis, simpan kredensil 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 kredensil, penting untuk memahami cara mengonfigurasi AWS SDK for .NET untuk menggunakannya. The 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 kredensil 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 (SAFL).

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. SDK menangani pengelolaan 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 kredensil sebelum autentikasi ulang.)

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

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) menyediakan dukungan SAFL untuk mendapatkan AWS kredensil. Untuk menggunakan kredensil akun pengguna federasi, pastikan perakitan ini tersedia untuk aplikasi Anda.

Menentukan peran atau kredensi sementara

Untuk aplikasi yang berjalan di instans Amazon EC2, cara paling aman untuk mengelola kredensil adalah dengan menggunakan peran IAM, 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 kredensil keamanan sementara. Selain menyediakan akses terbatas ke AWS sumber daya, kredensil ini memiliki manfaat kedaluwarsa setelah jangka waktu tertentu. Untuk informasi selengkapnya tentang kredensil keamanan sementara, lihat berikut ini:

Menggunakan kredensil 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 SDK sebelumnya digunakan ProxyUsername danProxyPassword, tetapi properti ini tidak digunakan lagi.