Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk AWS DMS, rahasia adalah kunci terenkripsi yang dapat Anda gunakan untuk mewakili sekumpulan kredensi pengguna untuk mengautentikasi, melalui otentikasi rahasia, koneksi database untuk sumber yang didukung atau titik akhir target. AWS DMS Untuk endpoint Oracle yang juga menggunakan Oracle Automatic Storage Management (ASM), AWS DMS memerlukan rahasia tambahan yang mewakili kredensi pengguna untuk mengakses Oracle. ASM
Anda dapat membuat rahasia atau rahasia yang AWS DMS memerlukan otentikasi rahasia menggunakan AWS Secrets Manager, layanan untuk membuat, menyimpan, dan mengambil kredensil dengan aman untuk mengakses aplikasi, layanan, dan sumber daya TI di cloud dan di lokasi. Ini termasuk dukungan untuk rotasi berkala otomatis dari nilai rahasia terenkripsi tanpa intervensi Anda, sehingga memberikan tingkat keamanan tambahan untuk kredensial Anda. Mengaktifkan rotasi nilai rahasia AWS Secrets Manager juga memastikan bahwa rotasi nilai rahasia ini terjadi tanpa efek apa pun pada migrasi database apa pun yang bergantung pada rahasia. Untuk mengautentikasi koneksi database endpoint secara diam-diam, buat rahasia yang identitasnya atau ARN Anda tetapkanSecretsManagerSecretId
, yang Anda sertakan dalam pengaturan titik akhir Anda. Untuk mengautentikasi Oracle secara diam-diam ASM sebagai bagian dari titik akhir Oracle, buat rahasia yang identitasnya atau ARN Anda tetapkanSecretsManagerOracleAsmSecretId
, yang juga Anda sertakan dalam pengaturan titik akhir Anda.
catatan
Anda tidak dapat menggunakan kredensi master yang dikelola oleh Amazon AuroraRDS. Kredensi ini tidak termasuk informasi host atau port, yang AWS DMS perlu membuat koneksi. Sebaliknya, buat pengguna baru dan rahasia. Untuk informasi tentang membuat pengguna dan rahasia, lihat Menggunakan AWS Management Console untuk membuat peran akses rahasia dan rahasia berikut.
Untuk informasi selengkapnya AWS Secrets Manager, lihat Apa itu AWS Secrets Manager? dalam AWS Secrets Manager User Guide.
AWS DMS mendukung otentikasi rahasia untuk database on-premise atau AWS-managed berikut pada sumber yang didukung dan titik akhir target:
-
Amazon DocumentDB
-
IBMDb2 LUW
-
SQLServer Microsoft
-
MongoDB
-
Saya SQL
-
Oracle
-
Postgre SQL
-
Amazon Redshift
-
SAP ASE
Untuk koneksi ke salah satu basis data ini, Anda memiliki pilihan untuk memasukkan salah satu dari rangkaian nilai berikut, tetapi tidak keduanya, sebagai bagian dari pengaturan titik akhir Anda:
-
Nilai teks yang jelas untuk mengautentikasi koneksi basis data menggunakan pengaturan
UserName
,Password
,ServerName
, danPort
. Untuk endpoint Oracle yang juga menggunakan OracleASM, sertakan nilai teks jelas tambahan untuk mengautentikasi ASM menggunakan,, dan pengaturan.AsmUserName
AsmPassword
AsmServerName
-
Autentikasi rahasia menggunakan nilai untuk pengaturan
SecretsManagerSecretId
danSecretsManagerAccessRoleArn
. Untuk endpoint Oracle menggunakan OracleASM, sertakan nilai tambahan untuk dan pengaturan.SecretsManagerOracleAsmSecretId
SecretsManagerOracleAsmAccessRoleArn
Nilai rahasia untuk pengaturan ini dapat mencakup berikut ini untuk:-
SecretsManagerSecretId
— Nama Sumber Daya Amazon lengkap (ARN), sebagianARN, atau nama ramah dari rahasia yang telah Anda buat untuk akses database titik akhir di AWS Secrets Manager. -
SecretsManagerAccessRoleArn
— ARN Peran akses rahasia yang telah Anda buat IAM untuk menyediakan AWS DMS akses keSecretsManagerSecretId
rahasia ini atas nama Anda. -
SecretsManagerOracleAsmSecretId
— Nama Sumber Daya Amazon lengkap (ARN), sebagianARN, atau nama ramah dari rahasia yang telah Anda buat untuk ASM akses Oracle di AWS Secrets Manager. -
SecretsManagerOracleAsmAccessRoleArn
— ARN Peran akses rahasia yang telah Anda buat IAM untuk menyediakan AWS DMS akses keSecretsManagerOracleAsmSecretId
rahasia ini atas nama Anda.
catatan
Anda juga dapat menggunakan peran akses rahasia tunggal untuk menyediakan AWS DMS akses ke
SecretsManagerSecretId
rahasia danSecretsManagerOracleAsmSecretId
rahasia. Jika Anda membuat peran akses rahasia tunggal ini untuk kedua rahasia, pastikan Anda menetapkan hal yang sama ARN untuk peran akses ini ke keduanyaSecretsManagerAccessRoleArn
danSecretsManagerOracleAsmAccessRoleArn
. Misalnya, jika peran akses rahasia Anda untuk kedua rahasia telah ARN ditetapkan ke variabelARN2xsecrets
, Anda dapat mengatur ARN pengaturan ini sebagai berikut:SecretsManagerAccessRoleArn = ARN2xsecrets; SecretsManagerOracleAsmAccessRoleArn = ARN2xsecrets;
Untuk informasi lebih lanjut tentang nilai-nilai tersebut, lihat Menggunakan AWS Management Console untuk membuat peran akses rahasia dan rahasia.
-
Setelah Anda membuat dan menentukan pengaturan titik akhir peran akses rahasia dan rahasia yang diperlukan untuk titik akhir Anda, perbarui izin pada akun pengguna yang akan menjalankan CreateEndpoint
atau ModifyEndpoint
API meminta dengan detail rahasia ini. Pastikan bahwa izin akun ini mencakup IAM:GetRole
izin pada peran akses rahasia dan SecretsManager:DescribeSecret
izin pada rahasia. AWS DMS memerlukan izin ini untuk memvalidasi peran akses dan rahasianya.
Untuk memberikan dan memverifikasi izin pengguna yang diperlukan
-
Masuk ke AWS Management Console dan buka AWS Identity and Access Management konsol dihttps://console.aws.amazon.com/iam/
. -
Pilih Pengguna, lalu pilih User ID yang digunakan untuk membuat
CreateEndpoint
danModifyEndpoint
API menelepon. -
Dari tab Izin, pilih {} JSON.
-
Pastikan pengguna memiliki izin yang ditampilkan berikut ini.
{ "Statement": [{ "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole" ], "Resource": "
SECRET_ACCESS_ROLE_ARN
" }, { "Effect": "Allow", "Action": "secretsmanager:DescribeSecret", "Resource": "SECRET_ARN
" } ] } -
Jika pengguna tidak memiliki izin tersebut, tambahkan izin.
-
Jika Anda menggunakan IAM Peran untuk melakukan DMS API panggilan, ulangi langkah-langkah di atas untuk peran masing-masing.
-
Buka terminal dan gunakan AWS CLI untuk memvalidasi bahwa izin diberikan dengan benar dengan mengasumsikan Peran atau Pengguna yang digunakan di atas.
-
Validasi izin pengguna pada SecretAccessRole menggunakan IAM
get-role
perintah.aws iam get-role --role-name
ROLE_NAME
Ganti
ROLE_NAME
dengan namaSecretsManagerAccessRole
.Jika perintah mengembalikan pesan kesalahan, pastikan izin diberikan dengan benar.
-
Memvalidasi izin pengguna pada rahasia menggunakan perintah Secrets Manager
describe-secret
.aws secretsmanager describe-secret --secret-id
SECRET_NAME OR SECRET_ARN
--region=REGION_NAME
Pengguna dapat berupa nama ramah, sebagian ARN atau penuhARN. Untuk informasi lebih lanjut, lihat uraikan-rahasia.
Jika perintah mengembalikan pesan kesalahan, pastikan izin diberikan dengan benar.
-
Menggunakan AWS Management Console untuk membuat peran akses rahasia dan rahasia
Anda dapat menggunakan AWS Management Console untuk membuat rahasia untuk otentikasi titik akhir dan untuk membuat kebijakan dan peran AWS DMS untuk memungkinkan mengakses rahasia atas nama Anda.
Untuk membuat rahasia menggunakan AWS Management Console yang AWS DMS dapat digunakan untuk mengautentikasi database untuk sumber dan koneksi titik akhir target
-
Masuk ke AWS Management Console dan buka AWS Secrets Manager konsol dihttps://console.aws.amazon.com/secretsmanager/
. -
Pilih Simpan rahasia baru.
-
Di bawah Pilih tipe rahasia pada halaman Simpan rahasia baru, pilih Jenis rahasia lainnya, lalu pilih Plaintext.
catatan
Ini adalah satu-satunya tempat yang Anda butuhkan untuk memasukkan kredensial teks yang jelas untuk terhubung ke basis data titik akhir Anda mulai saat ini hingga seterusnya.
-
Di bidang Plaintext:
-
Untuk rahasia yang identitasnya Anda tetapkan
SecretsManagerSecretId
, masukkan JSON struktur berikut.{ "username":
db_username
, "password":db_user_password
, "port":db_port_number
, "host":db_server_name
}catatan
Ini adalah daftar minimum JSON anggota yang diperlukan untuk mengautentikasi database endpoint. Anda dapat menambahkan pengaturan JSON titik akhir tambahan sebagai JSON anggota dalam semua huruf kecil yang Anda inginkan. Namun, AWS DMS mengabaikan JSON anggota tambahan untuk otentikasi endpoint.
Di sini,
adalah nama pengguna yang mengakses basis data ,db_username
adalah kata sandi dari pengguna basis data,db_user_password
adalah nomor port untuk mengakses database, dandb_port_number
adalah nama server basis data (alamat) di web, seperti dalam contoh berikut.db_server_name
{ "username": "admin", "password": "some_password", "port": "8190", "host": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com" }
-
Untuk rahasia yang identitasnya Anda tetapkan
SecretsManagerOracleAsmSecretId
, masukkan JSON struktur berikut.{ "asm_user":
asm_username
, "asm_password":asm_user_password
, "asm_server":asm_server_name
}catatan
Ini adalah daftar minimum JSON anggota yang diperlukan untuk mengautentikasi Oracle ASM untuk endpoint Oracle. Ini juga merupakan daftar lengkap yang dapat Anda tentukan berdasarkan pengaturan ASM endpoint Oracle yang tersedia.
Di sini,
adalah nama pengguna yang mengakses OracleASM,asm_username
adalah kata sandi ASM pengguna Oracle, danasm_user_password
merupakan nama ASM server Oracle (alamat) di web, termasuk port, seperti pada contoh berikut.asm_server_name
{ "asm_user": "oracle_asm_user", "asm_password": "oracle_asm_password", "asm_server": "oracle101.abcdefghij.us-east-1.rds.amazonaws.com:8190/+ASM" }
-
-
Pilih kunci AWS KMS enkripsi untuk mengenkripsi rahasia. Anda dapat menerima kunci enkripsi default yang dibuat untuk layanan Anda dengan AWS Secrets Manager atau memilih AWS KMS kunci yang Anda buat.
-
Tentukan nama untuk mereferensikan rahasia ini dan deskripsi opsional. Ini adalah nama yang dikenal yang Anda gunakan sebagai nilai untuk
SecretsManagerSecretId
atauSecretsManagerOracleAsmSecretId
. -
Jika Anda ingin mengaktifkan rotasi otomatis dalam rahasia, Anda perlu memilih atau membuat AWS Lambda fungsi dengan izin untuk memutar kredensil untuk rahasia seperti yang dijelaskan. Namun, sebelum mengatur rotasi otomatis untuk menggunakan fungsi Lambda Anda, pastikan bahwa pengaturan konfigurasi untuk fungsi tersebut menambahkan empat karakter berikut ke nilai variabel lingkungan
EXCLUDE_CHARACTERS
.;.:+{}
AWS DMS tidak mengizinkan karakter ini dalam kata sandi yang digunakan untuk kredensil titik akhir. Mengonfigurasi fungsi Lambda Anda untuk mengecualikan karakter tersebut mencegah AWS Secrets Manager dari menghasilkan karakter tersebut sebagai bagian dari nilai kata sandi yang dirotasi. Setelah Anda mengatur rotasi otomatis untuk menggunakan fungsi Lambda Anda, AWS Secrets Manager segera putar rahasia untuk memvalidasi konfigurasi rahasia Anda.
catatan
Tergantung pada konfigurasi mesin basis data Anda, basis data Anda mungkin tidak mengambil kredensial yang dirotasi. Dalam hal ini, Anda perlu memulai ulang tugas secara manual untuk menyegarkan kredensial.
-
Tinjau dan simpan rahasia Anda AWS Secrets Manager. Anda kemudian dapat mencari setiap rahasia dengan nama ramahnya di AWS Secrets Manager, kemudian mengambil rahasia ARN sebagai nilai untuk
SecretsManagerSecretId
atauSecretsManagerOracleAsmSecretId
sesuai untuk mengautentikasi akses ke koneksi database endpoint Anda dan Oracle ASM (jika digunakan).
Untuk membuat kebijakan akses rahasia dan peran untuk mengatur SecretsManagerAccessRoleArn
atauSecretsManagerOracleAsmAccessRoleArn
, yang memungkinkan akses AWS DMSAWS Secrets Manager untuk mengakses rahasia Anda yang sesuai
-
Masuk ke AWS Management Console dan buka konsol AWS Identity and Access Management (IAM) di https://console.aws.amazon.com/iam/
. -
Pilih Kebijakan, lalu pilih Buat kebijakan.
-
Pilih JSONdan masukkan kebijakan berikut untuk mengaktifkan akses dan dekripsi rahasia Anda.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource":
secret_arn
, }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource":kms_key_arn
, } ] }Di sini,
adalah rahasia Anda, yang bisa Anda dapatkan dari salah satusecret_arn
SecretsManagerSecretId
atau yangSecretsManagerOracleAsmSecretId
sesuai, dan
merupakan AWS KMS kunci yang Anda gunakan untuk mengenkripsi rahasia Anda, seperti pada contoh berikut. ARN ARNkms_key_arn
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd" } ] }
catatan
Jika Anda menggunakan kunci enkripsi default yang dibuat oleh AWS Secrets Manager, Anda tidak perlu menentukan AWS KMS izin untuk
.kms_key_arn
Jika Anda ingin kebijakan Anda menyediakan akses ke kedua rahasia, cukup tentukan objek JSON sumber daya tambahan untuk yang lain
secret_arn
.Jika rahasia Anda ada di akun yang berbeda, maka
SecretsManagerAccessRoleArn
peran tersebut memerlukan kebijakan tambahan untuk memverifikasi rahasia lintas akun. Untuk kasus penggunaan seperti itu, tambahkan tindakansecretsmanager:DescribeSecret
ke kebijakan. Untuk detail selengkapnya tentang menyiapkan rahasia lintas akun, lihat Rahasia Izin untuk AWS Secrets Manager untuk pengguna di akun lain. -
Tinjau dan buat kebijakan dengan nama yang dikenal dan deskripsi opsional.
-
Pilih Peran, lalu pilih Buat peran.
-
Pilih layanan AWS sebagai jenis entitas terpercaya.
-
Pilih DMSdari daftar layanan sebagai layanan tepercaya, lalu pilih Berikutnya: Izin.
-
Cari dan lampirkan kebijakan yang Anda buat di langkah 4, lalu lanjutkan dengan menambahkan tag dan tinjau peran Anda. Pada titik ini, edit hubungan kepercayaan agar peran tersebut menggunakan prinsipal layanan AWS DMS regional Anda sebagai entitas tepercaya. Prinsipal ini memiliki format berikut.
dms.
region-name
.amazonaws.com.rproxy.goskope.comDi sini,
adalah nama wilayah Anda, sepertiregion-name
us-east-1
. Dengan demikian, kepala layanan AWS DMS regional untuk wilayah ini mengikuti.dms.us-east-1.amazonaws.com
-
Setelah mengedit entitas terpercaya untuk peran tersebut, buat peran dengan nama yang dikenal dan deskripsi opsional. Anda sekarang dapat mencari peran baru Anda dengan nama ramahnyaIAM, lalu mengambil peran ARN sebagai
SecretsManagerOracleAsmAccessRoleArn
nilaiSecretsManagerAccessRoleArn
atau untuk mengautentikasi koneksi database titik akhir Anda.
Untuk menggunakan secrets manager dengan instans replikasi di subnet privat
-
Buat VPC endpoint manajer rahasia dan catat titik DNS akhir. Untuk informasi selengkapnya tentang membuat VPC endpoint manajer rahasia, lihat Menyambung ke Secrets Manager melalui VPC titik akhir di Panduan Pengguna AWS Secrets Manager.
-
Lampirkan grup keamanan instance replikasi ke VPC endpoint manajer rahasia.
-
Untuk aturan keluar grup keamanan instans replikasi, izinkan semua lalu lintas untuk tujuan
0.0.0.0/0
. -
Mengatur atribut koneksi tambahan endpoint,
secretsManagerEndpointOverride=
untuk menyediakan VPC endpoint manajer rahasiaDNS, seperti yang ditunjukkan pada contoh berikut.secretsManager endpoint DNS
secretsManagerEndpointOverride=vpce-1234a5678b9012c-12345678.secretsmanager.eu-west-1.vpce.amazonaws.com