Untuk menggunakan Simple Message Queue (sebelumnya MNS) SDK untuk Java dalam mengirim permintaan, Anda harus mengonfigurasi endpoints dan kredensial akses. Layanan Alibaba Cloud memanfaatkan kredensial akses untuk memverifikasi identitas dan izin pengguna. Anda dapat memilih berbagai jenis kredensial akses sesuai dengan kebutuhan otentikasi dan otorisasi di skenario yang berbeda. Topik ini menjelaskan cara mengonfigurasi endpoints, kredensial akses sementara, dan kredensial akses jangka panjang.
Konfigurasikan endpoints
Konfigurasikan endpoint publik atau internal dari SMQ di file aliyun-mns.properties. File ini biasanya disimpan di direktori ${user.home}/.aliyun-mns.properties.
Pada sistem operasi Linux atau macOS, file aliyun-mns.properties disimpan di direktori ~/.aliyun-mns.properties.
Pada sistem operasi Windows, file aliyun-mns.properties disimpan di direktori %USERPROFILE%\.aliyun-mns.properties.
Gunakan kode contoh berikut untuk mengonfigurasi file aliyun-mns.properties:
mns.accountendpoint=http://120228xxxxxxx.mns.cn-xxxxxx.aliyuncs.comAnda dapat melihat informasi tentang endpoint dari SMQ di bagian Endpoint pada halaman Queue Details atau Topic Details di konsol SMQ.
Konfigurasikan kredensial akses
Jenis kredensial akses berikut didukung:
Kredensial akses jangka panjang: Untuk memastikan keamanan data, kami menyarankan agar Anda tidak menggunakan kredensial akses jangka panjang. Untuk skenario yang memerlukan kenyamanan, kredensial akses jangka panjang menghilangkan kebutuhan pembaruan berkala dalam periode waktu yang lama. Kami menyarankan Anda memperbarui kredensial akses jangka panjang setiap tiga bulan untuk memastikan keamanan akun Alibaba Cloud Anda. Jika kredensial akses jangka panjang bocor atau tidak lagi digunakan, Anda dapat menghapus atau menonaktifkannya untuk mengurangi risiko keamanan.
Kredensial akses sementara: Untuk skenario yang memerlukan keamanan tinggi, seperti memberi otorisasi sementara aplikasi untuk mengakses SMQ, kami menyarankan Anda menggunakan kredensial akses sementara. Kredensial akses sementara hanya valid selama periode tertentu untuk mencegah kebocoran kredensial. Kredensial akses sementara mendukung kontrol akses granular untuk mencegah risiko keamanan yang disebabkan oleh izin berlebihan.
Konfigurasikan kredensial akses jangka panjang
Jika Anda ingin menggunakan SDK untuk Java untuk mengakses SMQ dalam aplikasi atau layanan untuk jangka waktu panjang, Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi kredensial akses jangka panjang:
Konfigurasikan pasangan AccessKey untuk Pengguna Resource Access Management (RAM): Jika Anda ingin mengakses SMQ untuk jangka waktu panjang, Anda dapat menggunakan pasangan AccessKey dari pengguna RAM.
Peroleh pasangan AccessKey dari pengguna RAM.
Untuk informasi lebih lanjut, lihat bagian Buat pasangan AccessKey untuk pengguna RAM dari topik "Buat pasangan AccessKey".
PentingKami menyarankan Anda memutar pasangan AccessKey dari pengguna RAM yang telah digunakan selama lebih dari tiga bulan. Kami juga menyarankan Anda menonaktifkan dan menghapus pasangan AccessKey dari pengguna RAM yang tidak digunakan untuk waktu yang lama. Ini membantu mengurangi risiko kebocoran pasangan AccessKey.
Konfigurasikan pasangan AccessKey dari pengguna RAM sebagai kredensial akses.
Konfigurasikan variabel lingkungan
Jalankan perintah berikut untuk mengonfigurasi variabel lingkungan:
macOS
Buka terminal.
Jalankan perintah berikut:
nano ~/.bash_profileTambahkan pasangan AccessKey dari pengguna RAM ke akhir file.
export ALIBABA_CLOUD_ACCESS_KEY_ID=LTA**** export ALIBABA_CLOUD_ACCESS_KEY_SECRET=moiEs****Tekan
Ctrl+X, tekanYuntuk menyimpan file, dan kemudian tekanEnteruntuk menutup file.Jalankan perintah berikut untuk membuat perubahan berlaku:
source ~/.bash_profileJalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRETContoh tanggapan sukses:
LTA**** moiEs****
Linux
Buka terminal.
Jalankan perintah berikut:
sudo vim /etc/profileTambahkan pasangan AccessKey dari pengguna RAM ke akhir file.
export ALIBABA_CLOUD_ACCESS_KEY_ID=LTA**** export ALIBABA_CLOUD_ACCESS_KEY_SECRET=moiEs****Tekan
Escuntuk keluar dari mode edit. Kemudian, masukkan:wqdan tekanEnteruntuk menyimpan dan menutup file.Jalankan perintah berikut untuk membuat perubahan berlaku:
source /etc/profileJalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRETContoh tanggapan sukses:
LTA**** moiEs****
Windows
Gunakan GUI
Dalam contoh ini, Windows 10 digunakan. Anda dapat melakukan langkah-langkah berikut untuk mengonfigurasi pasangan AccessKey dari pengguna RAM dengan menggunakan variabel lingkungan pada GUI:
Di desktop Windows, klik kanan This PC dan pilih Properties. Di halaman yang muncul, klik Advanced system settings. Di kotak dialog System Properties, klik Environment Variables pada tab Advanced. Di kotak dialog Environment Variables, klik New di bagian User variables or System variables.
Tentukan variabel lingkungan. Tabel berikut menjelaskan variabel lingkungan.
Variabel
Contoh
ALIBABA_CLOUD_ACCESS_KEY_ID
LTA****
ALIBABA_CLOUD_ACCESS_KEY_SECRET
moiEs****
Jalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo $ALIBABA_CLOUD_ACCESS_KEY_ID echo $ALIBABA_CLOUD_ACCESS_KEY_SECRETContoh tanggapan sukses:
LTA**** moiEs****
Gunakan CMD
Buka antarmuka baris perintah (CLI).
Jalankan perintah berikut untuk mengonfigurasi variabel lingkungan menggunakan pasangan AccessKey:
set ALIBABA_CLOUD_ACCESS_KEY_ID=LTA**** set ALIBABA_CLOUD_ACCESS_KEY_SECRET=moiEs****Jalankan perintah berikut untuk membuat perubahan berlaku:
setx ALIBABA_CLOUD_ACCESS_KEY_ID "%MNS_ACCESS_KEY_ID%" setx ALIBABA_CLOUD_ACCESS_KEY_SECRET "%MNS_ACCESS_KEY_SECRET%"Jalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo %ALIBABA_CLOUD_ACCESS_KEY_ID% echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%Contoh tanggapan sukses:
LTA**** moiEs****
Gunakan Windows PowerShell
Tekan
Win+X.Tentukan pasangan AccessKey dari pengguna RAM.
Berlaku untuk sesi saat ini
Pada pesan yang muncul, pilih Windows PowerShell.
Tentukan variabel lingkungan berikut untuk sesi saat ini:
$env:ALIBABA_CLOUD_ACCESS_KEY_ID = "LTA****" $env:ALIBABA_CLOUD_ACCESS_KEY_SECRET = "moiEs****"
Berlaku untuk semua sesi baru
Pada pesan yang muncul, pilih Windows PowerShell.
Tentukan variabel lingkungan berikut untuk semua sesi baru:
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::User)
Berlaku untuk semua pengguna
Pada pesan yang muncul, pilih Windows PowerShell (Administrator).
Tentukan variabel lingkungan berikut untuk semua pengguna:
[System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('ALIBABA_CLOUD_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::Machine)
Jalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_ID Get-ChildItem env:ALIBABA_CLOUD_ACCESS_KEY_SECRETContoh tanggapan sukses:
LTA**** moiEs****
Peroleh pasangan AccessKey dari pengguna RAM dari variabel lingkungan.
// Peroleh kredensial akses dari variabel lingkungan. CloudAccount account = new CloudAccount(ServiceSettings.getMNSAccountEndpoint());
Tanamkan kredensial akses dalam kode
PeringatanMasalah keamanan dapat terjadi jika Anda menanamkan kredensial akses dalam kode. Kredensial akses yang bocor dapat digunakan oleh penyerang untuk mengakses sumber daya Anda, yang menyebabkan pelanggaran data. Untuk memastikan keamanan, kami menyarankan Anda menggunakan metode yang lebih aman, seperti memperoleh kredensial akses dari variabel lingkungan.
CloudAccount account = new CloudAccount(ServiceSettings.getMNSAccountEndpoint());
Konfigurasikan kredensial akses sementara
Jika Anda ingin menggunakan SDK untuk Java untuk mengakses SMQ secara sementara, Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi kredensial akses sementara:
Konfigurasikan kredensial akses sementara yang disediakan oleh STS: Jika Anda ingin mengakses SMQ dalam periode waktu tertentu, Anda dapat menggunakan STS untuk mengonfigurasi kredensial akses sementara yang disediakan oleh STS. Saat menggunakan kredensial akses sementara, Anda tidak perlu mengungkapkan pasangan AccessKey dari pengguna RAM Anda. Ini memastikan akses aman ke SMQ.
Konfigurasikan peran RAM: Jika Anda ingin memberi otorisasi kepada pengguna RAM dari akun Alibaba Cloud Anda atau pengguna RAM dari akun Alibaba Cloud lain untuk mengakses SMQ, Anda dapat mengonfigurasi peran RAM untuk pengguna RAM.
Konfigurasikan peran RAM untuk instance Elastic Compute Service (ECS): Jika Anda ingin mengakses SMQ dari instance ECS, Anda dapat menggunakan peran RAM yang ditetapkan ke instance ECS untuk mengakses SMQ. Anda dapat menetapkan peran RAM ke instance ECS dan mengakses SMQ dari instance ECS dengan menggunakan metode tertentu berdasarkan kredensial akses sementara yang disediakan oleh STS. Kredensial akses sementara yang disediakan oleh STS dibuat dan diperbarui secara otomatis. Aplikasi dapat memperoleh kredensial akses sementara tersebut dengan menggunakan URL metadata instans.
Konfigurasikan kredensial akses sementara yang disediakan oleh STS
Buat pengguna RAM.
Untuk informasi tentang cara membuat pengguna RAM, lihat Buat pengguna RAM.
Lampirkan kebijakan
AliyunSTSAssumeRoleAccesske pengguna RAM.Untuk informasi lebih lanjut, lihat Berikan izin kepada pengguna RAM.
Gunakan pengguna RAM untuk memanggil operasi AssumeRole dari STS untuk memperoleh kredensial akses sementara.
Untuk informasi lebih lanjut, lihat AssumeRole.
Konfigurasikan kredensial akses sementara yang diperoleh dari STS.
Konfigurasikan variabel lingkungan
Gunakan kredensial akses sementara yang diperoleh dari STS untuk mengonfigurasi variabel lingkungan.
macOS
Buka terminal.
Jalankan perintah berikut:
nano ~/.bash_profileTambahkan kredensial akses sementara, termasuk ID AccessKey, Rahasia AccessKey, dan token keamanan, yang diperoleh dari STS ke akhir file.
export MNS_ACCESS_KEY_ID=LTA**** export MNS_ACCESS_KEY_SECRET=moiEs**** export MNS_SESSION_TOKEN=CAES****Tekan
Ctrl+X, tekanYuntuk menyimpan file, dan kemudian tekanEnteruntuk menutup file.Jalankan perintah berikut untuk membuat perubahan berlaku:
source ~/.bash_profileJalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_SESSION_TOKENContoh tanggapan sukses:
LTA**** moiEs**** CAES****
Linux
Buka terminal.
Jalankan perintah berikut:
sudo vim /etc/profileTambahkan kredensial akses sementara, termasuk ID AccessKey, Rahasia AccessKey, dan token keamanan, yang diperoleh dari STS ke akhir file.
export MNS_ACCESS_KEY_ID=LTA**** export MNS_ACCESS_KEY_SECRET=moiEs**** export MNS_SESSION_TOKEN=CAES****Tekan
Escuntuk keluar dari mode edit. Kemudian, masukkan:wqdan tekanEnteruntuk menyimpan dan menutup file.Jalankan perintah berikut untuk membuat perubahan berlaku:
source /etc/profileJalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_SESSION_TOKENContoh tanggapan sukses:
LTA**** moiEs**** CAES****
Windows
Gunakan GUI
Dalam contoh ini, Windows 10 digunakan. Anda dapat melakukan langkah-langkah berikut untuk mengonfigurasi kredensial akses sementara STS dengan menggunakan variabel lingkungan pada GUI:
Di desktop Windows, klik kanan This PC dan pilih Properties. Di halaman yang muncul, klik Advanced system settings. Di kotak dialog System Properties, klik Environment Variables pada tab Advanced. Di kotak dialog Environment Variables, klik New di bagian User variables or System variables.
Tentukan variabel lingkungan. Tabel berikut menjelaskan variabel lingkungan.
Variabel
Contoh
MNS_ACCESS_KEY_ID
LTA****
MNS_ACCESS_KEY_SECRET
moiEs****
MNS_SESSION_TOKEN
CAES****
Jalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_SESSION_TOKEN%Contoh tanggapan sukses:
LTA**** moiEs**** CAES****
Gunakan CMD
Buka CLI.
Jalankan perintah berikut untuk mengonfigurasi variabel lingkungan menggunakan kredensial akses sementara, termasuk ID AccessKey, rahasia AccessKey, dan token keamanan:
set MNS_ACCESS_KEY_ID=LTA**** set MNS_ACCESS_KEY_SECRET=moiEs**** set MNS_SESSION_TOKEN=CAES****Jalankan perintah berikut untuk membuat perubahan berlaku:
setx MNS_ACCESS_KEY_ID "%MNS_ACCESS_KEY_ID%" setx MNS_ACCESS_KEY_SECRET "%MNS_ACCESS_KEY_SECRET%" setx MNS_SESSION_TOKEN "%MNS_SESSION_TOKEN%"Jalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_SESSION_TOKEN%Contoh tanggapan sukses:
LTA**** moiEs**** CAES****
Gunakan Windows PowerShell
Tekan
Win+X.Tentukan kredensial akses sementara STS.
Berlaku untuk sesi saat ini
Pada pesan yang muncul, pilih Windows PowerShell.
Tentukan variabel lingkungan berikut untuk sesi saat ini:
$env:MNS_ACCESS_KEY_ID = "LTA****" $env:MNS_ACCESS_KEY_SECRET = "moiEs****" $env:MNS_SESSION_TOKEN = "CAE****"
Berlaku untuk semua sesi baru
Pada pesan yang muncul, pilih Windows PowerShell.
Tentukan variabel lingkungan berikut untuk semua sesi baru:
[System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_SESSION_TOKEN', 'CAES****', [System.EnvironmentVariableTarget]::User)
Berlaku untuk semua pengguna
Pada pesan yang muncul, pilih Windows PowerShell (Administrator).
Tentukan variabel lingkungan berikut untuk semua pengguna:
[System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTA****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'moiEs****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_SESSION_TOKEN', 'CAES****', [System.EnvironmentVariableTarget]::Machine)
Jalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
Get-ChildItem env:MNS_ACCESS_KEY_ID Get-ChildItem env:MNS_ACCESS_KEY_SECRET Get-ChildItem env:MNS_SESSION_TOKENContoh tanggapan sukses:
LTA**** moiEs**** CAES****
Peroleh kredensial akses sementara yang diperoleh dari STS dari variabel lingkungan.
// Peroleh kredensial akses sementara dari pengguna RAM, termasuk ID AccessKey, rahasia AccessKey, dan token keamanan, dari variabel lingkungan. String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); String sessionToken = System.getenv("MNS_SESSION_TOKEN"); AlibabaCloudCredentials credentials = new BasicSessionCredentials(accessKeyId,accessKeySecret,sessionToken); AlibabaCloudCredentialsProvider provider = new StaticCredentialsProvider(credentials);
Tanamkan kredensial akses dalam kode
PeringatanMasalah keamanan dapat terjadi jika Anda menanamkan kredensial akses dalam kode. Kredensial akses yang bocor dapat digunakan oleh penyerang untuk mengakses sumber daya Anda, yang menyebabkan pelanggaran data. Untuk memastikan keamanan, kami menyarankan Anda menggunakan metode yang lebih aman, seperti memperoleh kredensial akses dari variabel lingkungan.
// Peroleh kredensial akses sementara dari pengguna RAM, termasuk ID AccessKey, rahasia AccessKey, dan token keamanan, dari variabel lingkungan. String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); String sessionToken = System.getenv("MNS_SESSION_TOKEN"); AlibabaCloudCredentials credentials = new BasicSessionCredentials(accessKeyId,accessKeySecret,sessionToken); AlibabaCloudCredentialsProvider provider = new StaticCredentialsProvider(credentials); String endpoint = ServiceSettings.getMNSAccountEndpoint(); CloudAccount account = new CloudAccount(endpoint, provider);
Konfigurasikan peran RAM
Peroleh pasangan AccessKey dari pengguna RAM.
Untuk informasi lebih lanjut, lihat bagian Buat pasangan AccessKey untuk pengguna RAM dari topik "Buat pasangan AccessKey".
PentingUntuk mengurangi risiko kebocoran pasangan AccessKey dari pengguna RAM, kami menyarankan Anda memutar pasangan AccessKey setiap tiga bulan. Kami juga menyarankan Anda menonaktifkan dan menghapus pasangan AccessKey dari pengguna RAM yang tidak digunakan untuk waktu yang lama.
Peroleh RamRoleArn dari peran RAM.
CatatanRamRoleArn adalah Nama Sumber Daya Alibaba Cloud (ARN) dari peran RAM, yang merupakan ID dari peran yang akan diasumsikan. Format: acs:ram::$accountID:role/$roleName. $accountID menunjukkan ID akun Alibaba Cloud. $roleName menunjukkan nama peran RAM.
Untuk informasi lebih lanjut, lihat Lihat informasi tentang peran RAM.
Tentukan pasangan AccessKey dari pengguna RAM dan ARN dari peran RAM sebagai kredensial akses sementara.
Konfigurasikan variabel lingkungan.
Konfigurasikan variabel lingkungan dengan menggunakan pasangan AccessKey dari pengguna RAM dan RamRoleArn dari peran RAM yang diperoleh.
macOS
Buka terminal.
Jalankan perintah berikut:
nano ~/.bash_profileTambahkan pasangan AccessKey dari pengguna RAM dan ARN dari peran RAM ke akhir file.
export MNS_ACCESS_KEY_ID=LTAI**** export MNS_ACCESS_KEY_SECRET=IrVTNZNy**** export MNS_STS_ROLE_ARN=acs:ram::17464958********:role/mnsststestTekan
Ctrl+X, tekanYuntuk menyimpan file, dan kemudian tekanEnteruntuk menutup file.Jalankan perintah berikut untuk membuat perubahan berlaku:
source /etc/profileJalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_STS_ROLE_ARNContoh tanggapan sukses:
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
Linux
Buka terminal.
Jalankan perintah berikut:
sudo vim /etc/profileTambahkan pasangan AccessKey dari pengguna RAM dan ARN dari peran RAM ke akhir file.
export MNS_ACCESS_KEY_ID=LTAI**** export MNS_ACCESS_KEY_SECRET=IrVTNZNy**** export MNS_STS_ROLE_ARN=acs:ram::17464958********:role/mnsststestTekan
Escuntuk keluar dari mode edit. Kemudian, masukkan:wqdan tekanEnteruntuk menyimpan dan menutup file.Jalankan perintah berikut untuk membuat perubahan berlaku:
source /etc/profileJalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_STS_ROLE_ARNContoh tanggapan sukses:
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
Windows
Gunakan GUI
Dalam contoh ini, Windows 10 digunakan. Anda dapat melakukan langkah-langkah berikut untuk mengonfigurasi pasangan AccessKey dari pengguna RAM dan ARN dari peran RAM dengan menggunakan variabel lingkungan pada GUI:
Di desktop Windows, klik kanan This PC dan pilih Properties. Di halaman yang muncul, klik Advanced system settings. Di kotak dialog System Properties, klik Environment Variables pada tab Advanced. Di kotak dialog Environment Variables, klik New di bagian User variables or System variables.
Konfigurasikan variabel lingkungan. Tabel berikut menjelaskan variabel lingkungan.
Variabel
Contoh
MNS_ACCESS_KEY_ID
LTAI****
MNS_ACCESS_KEY_SECRET
IrVTNZNy****
MNS_STS_ROLE_ARN
acs:ram::17464958********:role/mnsststest
Jalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo $MNS_ACCESS_KEY_ID echo $MNS_ACCESS_KEY_SECRET echo $MNS_STS_ROLE_ARNContoh tanggapan sukses:
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
Gunakan CMD
Buka CLI.
Jalankan perintah berikut untuk mengonfigurasi variabel lingkungan dengan menggunakan pasangan AccessKey dari pengguna RAM dan ARN dari peran RAM:
set MNS_ACCESS_KEY_ID=LTAI**** set MNS_ACCESS_KEY_SECRET=IrVTNZNy**** set MNS_STS_ROLE_ARN=acs:ram::17464958********:role/mnsststestJalankan perintah berikut untuk membuat perubahan berlaku:
setx MNS_ACCESS_KEY_ID "%MNS_ACCESS_KEY_ID%" setx MNS_ACCESS_KEY_SECRET "%MNS_ACCESS_KEY_SECRET%" setx MNS_STS_ROLE_ARN "%MNS_STS_ROLE_ARN%"Jalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
echo %MNS_ACCESS_KEY_ID% echo %MNS_ACCESS_KEY_SECRET% echo %MNS_STS_ROLE_ARN%Contoh tanggapan sukses:
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
Gunakan Windows PowerShell
Tekan
Win+X.Tentukan pasangan AccessKey dari pengguna RAM dan ARN dari peran RAM.
Berlaku untuk sesi saat ini
Pada pesan yang muncul, pilih Windows PowerShell.
Tentukan variabel lingkungan berikut untuk sesi saat ini:
$env:MNS_ACCESS_KEY_ID = "LTAI****" $env:MNS_ACCESS_KEY_SECRET = "IrVTNZNy****" $env:MNS_STS_ROLE_ARN = "acs:ram::17464958********:role/ossststest"
Berlaku untuk semua sesi baru
Pada pesan yang muncul, pilih Windows PowerShell.
Tentukan variabel lingkungan berikut untuk semua sesi baru:
[System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTAI****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'IrVTNZNy****', [System.EnvironmentVariableTarget]::User) [System.Environment]::SetEnvironmentVariable('MNS_STS_ROLE_ARN', 'acs:ram::17464958********:role/mnsststest', [System.EnvironmentVariableTarget]::User)
Berlaku untuk semua pengguna
Pada pesan yang muncul, pilih Windows PowerShell (Administrator).
Tentukan variabel lingkungan berikut untuk semua pengguna:
[System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_ID', 'LTAI****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_ACCESS_KEY_SECRET', 'IrVTNZNy****', [System.EnvironmentVariableTarget]::Machine) [System.Environment]::SetEnvironmentVariable('MNS_STS_ROLE_ARN', 'acs:ram::17464958********:role/mnsststest', [System.EnvironmentVariableTarget]::Machine)
Jalankan perintah berikut untuk memverifikasi konfigurasi variabel lingkungan:
Get-ChildItem env:MNS_ACCESS_KEY_ID Get-ChildItem env:MNS_ACCESS_KEY_SECRET Get-ChildItem env:MNS_STS_ROLE_ARNContoh tanggapan sukses:
LTAI**** IrVTNZNy**** acs:ram::17464958********:role/mnsststest
Peroleh pasangan AccessKey dari pengguna RAM dan ARN dari peran RAM dari variabel lingkungan.
// Tentukan wilayah yang ingin Anda otorisasi STSAssumeRole untuk mengakses. Dalam contoh ini, wilayah China (Hangzhou) digunakan. Tentukan wilayah berdasarkan kasus aktual. String region = "cn-hangzhou"; // Peroleh pasangan AccessKey dari pengguna RAM dari variabel lingkungan. Pasangan AccessKey terdiri dari ID AccessKey dan rahasia AccessKey. String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); // Peroleh ARN dari peran RAM dari variabel lingkungan, String roleArn = System.getenv("MNS_STS_ROLE_ARN"); // Gunakan pasangan AccessKey dan ARN peran RAM untuk membuat penyedia kredensial. STSAssumeRoleSessionCredentialsProvider credentialsProvider = CredentialsProviderFactory .newSTSAssumeRoleSessionCredentialsProvider( region, accessKeyId, accessKeySecret, roleArn );
Tanamkan kredensial akses dalam kode
PeringatanMasalah keamanan dapat terjadi jika Anda menanamkan kredensial akses dalam kode. Kredensial akses yang bocor dapat digunakan oleh penyerang untuk mengakses sumber daya Anda, yang menyebabkan pelanggaran data. Untuk memastikan keamanan, kami menyarankan Anda menggunakan metode yang lebih aman, seperti memperoleh kredensial akses dari variabel lingkungan.
// Endpoint dari MNS harus sesuai dengan wilayah yang ditentukan oleh parameter regionId. String regionId = "cn-hangzhou"; // Peroleh pasangan AccessKey dari pengguna RAM dari variabel lingkungan. Pasangan AccessKey terdiri dari ID AccessKey dan rahasia AccessKey. String accessKeyId = System.getenv("MNS_ACCESS_KEY_ID"); String accessKeySecret = System.getenv("MNS_ACCESS_KEY_SECRET"); // Peroleh ARN dari peran RAM dari variabel lingkungan, String roleArn = System.getenv("MNS_STS_ROLE_ARN"); DefaultProfile profile = DefaultProfile.getProfile(regionId); AlibabaCloudCredentialsProvider provider = new STSAssumeRoleSessionCredentialsProvider( new BasicCredentials(accessKeyId, accessKeySecret), roleArn, profile ); String endpoint = ServiceSettings.getMNSAccountEndpoint(); CloudAccount account = new CloudAccount(endpoint, provider);
Konfigurasikan peran RAM untuk instance ECS
Tetapkan peran RAM ke instance ECS.
Untuk informasi lebih lanjut, lihat Peran RAM Instance.
Konfigurasikan kredensial akses sementara dengan menggunakan peran RAM yang ditetapkan ke instance ECS.
// Peroleh kredensial akses dengan menggunakan peran RAM yang dilampirkan ke instance ECS. Dalam contoh ini, peran ecs-ram-role digunakan. CredentialsProvider provider = new InstanceProfileCredentialsProvider("ecs-ram-role");