AWS SDK untuk Java 1.x mencapai akhir dukungan pada 31 Desember 2025. Kami menyarankan Anda bermigrasi ke AWS SDK for Java 2.x untuk terus menerima fitur baru, peningkatan ketersediaan, dan pembaruan keamanan.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Berikan kredensi sementara untuk AWS SDK untuk Java
Untuk membuat permintaan Amazon Web Services, Anda harus memberikan kredenSIAL AWS sementara AWS SDK untuk Java untuk digunakan saat memanggil layanan. Anda dapat melakukan ini dengan cara berikut:
-
Gunakan rantai penyedia kredensia default (disarankan).
-
Gunakan penyedia kredensia atau rantai penyedia tertentu (atau buat sendiri).
-
Berikan kredenSIAL sementara sendiri dalam kode.
Menggunakan Rantaian Penyedia Kredensia Default
Saat Anda menginisialisasi klien layanan baru tanpa memberikan argumen apa pun, AWS SDK untuk Java upaya untuk menemukan kredenSIAL sementara dengan menggunakan rantai penyedia kredensia default yang di implementasikan DefaultAWSCredentialsProviderChain oleh kelas. RanTAI penyedia kredenSIAL default mencari kredenSIAL dalam urutan ini:
-
Variabel lingkungan -
AWS_ACCESS_KEY_ID,AWS_SECRET_KEYatauAWS_SECRET_ACCESS_KEY, danAWS_SESSION_TOKEN. Menggunakan AWS SDK untuk Java EnvironmentVariableCredentialsProvider kelas untuk memuat kredenSIAL ini. -
Properti sistem Java -
aws.accessKeyId,aws.secretKey(tapi tidakaws.secretAccessKey), danaws.sessionToken. Menggunakan AWS SDK untuk Java SystemPropertiesCredentialsProvider untuk memuat kredenSIAL ini. -
KredenSIAL Token Identitas Web dari lingkungan atau wadah.
-
File profil kredensi default - biasanya terletak di
~/.aws/credentials(lokasi dapat bervariasi per platform), dan dibagikan oleh banyak AWS SDK dan oleh. AWS CLI Menggunakan AWS SDK untuk Java ProfileCredentialsProvider untuk memuat kredenSIAL ini.Anda dapat membuat file kredenSIAL dengan menggunakan
aws configureperintah yang disediakan oleh AWS CLI, atau Anda dapat membuatnya dengan mengedit file dengan editor teks. Untuk informasi tentang format file kredensional, lihat Format AWS File Kredensi. -
KredenSIAL kontainer Amazon ECS - dimuat dari Amazon ECS jika variabel lingkungan
AWS_CONTAINER_CREDENTIALS_RELATIVE_URIdisetel. Menggunakan AWS SDK untuk Java ContainerCredentialsProvider untuk memuat kredenSIAL ini. Anda dapat menentukan alamat IP untuk nilai ini. -
Kredentif profil instans - digunakan pada instans EC2, dan dikirimkan melalui layanan Amazon EC2 metadata. Menggunakan AWS SDK untuk Java InstanceProfileCredentialsProvider untuk memuat kredenSIAL ini. Anda dapat menentukan alamat IP untuk nilai ini.
catatan
Kredentif profil instans hanya digunakan jika
AWS_CONTAINER_CREDENTIALS_RELATIVE_URItidak disetel. Untuk informasi selengkapnya, lihat EC2ContainerCredentialsProviderWrapper.
Tetapkan kredenSIAL sementara
Untuk dapat menggunakan kreden AWS SIAL sementara, kredenSIAL tersebut harus diatur setidaknya di salah satu lokasi sebelumnya. Untuk informasi tentang menyetel kredenSIAL, lihat topik berikut:
-
Untuk menentukan kredenSIAL di lingkungan atau di file profil kredensia default, lihatKonfigurasikan kredensyal sementara.
-
Untuk mengatur properti sistem Java, lihat tutorial
System Properties di situs web Tutorial Java resmi. -
Untuk mengatur dan menggunakan kredentif profil instans dengan instans EC2 Anda, lihat Menggunakan Peran IAM untuk Memberikan Akses ke Sumber AWS Daya. Amazon EC2
Mengatur profil kredenSIAL alternatif
Menggunakan AWS SDK untuk Java profil default secara default, tetapi ada cara untuk menyesuaikan profil mana yang bersumber dari file kredenSIAL.
Anda dapat menggunakan variabel lingkungan AWS Profil untuk mengubah profil yang dimuat oleh SDK.
Misalnya, di Linux, macOS, atau Unix Anda akan menjalankan perintah berikut untuk mengubah profil menjadi My Profile.
export AWS_PROFILE="myProfile"
Pada Windows Anda akan menggunakan yang berikut ini.
set AWS_PROFILE="myProfile"
Menyet AWS_PROFILE el variabel lingkungan memengaruhi pemuatan kredensia untuk semua AWS SDK dan Alat yang didukung secara resmi (termasuk AWS CLI dan). AWS Tools for Windows PowerShell Untuk mengubah hanya profil untuk aplikasi Java, Anda dapat menggunakan properti sistem sebagai aws.profile gantinya.
catatan
Variabel lingkungan lebih diutamakan daripada properti sistem.
Menetapkan lokasi file kredenSIAL alternatif
Memu AWS SDK untuk Java at kredenSIAL AWS sementara secara otomatis dari lokasi file kredenSIAL default. Namun, Anda juga dapat menentukan lokasi dengan menyetel variabel AWS_CREDENTIAL_PROFILES_FILE lingkungan dengan path lengkap ke file kredenSIAL.
Anda dapat menggunakan fitur ini untuk sementara mengubah lokasi tempat mencari file kredenSIAL Anda (misalnya, dengan menyetel variabel ini dengan baris perintah). AWS SDK untuk Java Atau Anda dapat mengatur variabel lingkungan di lingkungan pengguna atau sistem Anda untuk mengubahnya untuk pengguna atau seluruh sistem.
Untuk mengganti lokasi file kredensional default
-
Atur variabel
AWS_CREDENTIAL_PROFILES_FILElingkungan ke lokasi file AWS kredenSIAL Anda.-
Di Linux, macOS, atau Unix, gunakan:
export AWS_CREDENTIAL_PROFILES_FILE=path/to/credentials_file -
Di Windows, gunakan:
set AWS_CREDENTIAL_PROFILES_FILE=path/to/credentials_file
-
Format file kredensional
Dengan mengikuti petunjuk dalam pengaturan dasar panduan ini, file kredenSIAL Anda harus memiliki format dasar berikut.
[default] aws_access_key_id=<value from AWS access portal>aws_secret_access_key=<value from AWS access portal>aws_session_token=<value from AWS access portal>[profile2] aws_access_key_id=<value from AWS access portal>aws_secret_access_key=<value from AWS access portal>aws_session_token=<value from AWS access portal>
Nama profil ditentukan dalam tanda kurung persegi (misalnya,[default]), diikuti oleh bidang yang dapat dikonfigurasi dalam profil itu sebagai pasangan kunci-nilai. Anda dapat memiliki beberapa profil dalam credentials file Anda, yang dapat ditambahkan atau diedit menggunakan aws configure --profile
PROFILE_NAME
untuk memilih profil yang akan dikonfigurasi.
Anda dapat menentukan bidang tambahan, sepertimetadata_service_timeout, danmetadata_service_num_attempts. Ini tidak dapat dikonfigurasi dengan CLI—Anda harus mengedit file dengan tangan jika Anda ingin menggunakannya. Untuk informasi selengkapnya tentang file konfigurasi dan bidang yang tersedia, lihat Mengonfigurasi AWS Command Line Interface di Panduan AWS Command Line Interface Pengguna.
Muat kredenSIAL
Setelah Anda menetapkan kredenSIAL sementara, SDK memuatnya dengan menggunakan rantai penyedia kredensia default.
Untuk melakukan ini, Anda membuat instance Layanan AWS klien tanpa secara eksplisit memberikan kredenSIAL kepada pembangun, sebagai berikut.
AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withRegion(Regions.US_WEST_2) .build();
Tentukan penyedia kredensi atau rantai penyedia
Anda dapat menentukan penyedia kredensia yang berbeda dari rantai penyedia kredensia default dengan menggunakan pembuat klien.
Anda memberikan contoh penyedia kredenSIAL atau rantai penyedia ke pembuat klien yang mengambil AWSCredentialsProvider antarmuka sebagai input. Contoh berikut menunjukkan cara menggunakan kredenSIAL lingkungan secara khusus.
AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new EnvironmentVariableCredentialsProvider()) .build();
Untuk daftar lengkap penyedia kredensia AWS SDK untuk Java dan rantai penyedia yang disediakan, lihat Semua Kel as Pelaksanaan yang Dikenal di. AWSCredentialsProvider
catatan
Anda dapat menggunakan teknik ini untuk menyediakan penyedia kredensia atau rantai penyedia yang Anda buat dengan menggunakan penyedia kredensia Anda sendiri yang mengimplementasikan AWSCredentialsProvider antarmuka, atau dengan mensubklasifikasi kelas. AWSCredentialsProviderChain
Secara eksplisit menentukan kredenSIAL sementara
Jika rantai kredensi default atau penyedia atau rantai penyedia tertentu atau kustom tidak berfungsi untuk kode Anda, Anda dapat menetapkan kredenSIAL yang Anda berikan secara eksplisit. Jika Anda telah mengambil kredenSIAL sementara menggunakan AWS STS, gunakan metode ini untuk menentukan kredenSIAL untuk AWS akses.
-
Buat instance BasicSessionCredentials kelas, dan berikan kunci AWS akses, kunci AWS rahasia, dan token AWS sesi yang akan digunakan SDK untuk koneksi.
-
Buat AWSStaticCredentialsProvider dengan
AWSCredentialsobjek. -
Konfigurasikan pembangun klien dengan
AWSStaticCredentialsProviderdan membangun klien.
Berikut adalah contohnya.
BasicSessionCredentials awsCreds = new BasicSessionCredentials("access_key_id", "secret_key_id", "session_token"); AmazonS3 s3Client = AmazonS3ClientBuilder.standard() .withCredentials(new AWSStaticCredentialsProvider(awsCreds)) .build();