Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan AWS Directory Service for Microsoft Active Directory, juga disebut AWS Managed Microsoft AD, untuk mengatur otentikasi Kerberos untuk instance Oracle DB. Untuk menyiapkan autentikasi Kerberos, selesaikan langkah berikut:
catatan
Selama pengaturan, RDS membuat pengguna database Oracle bernama managed_service_user
@ example.com
dengan CREATE SESSION
hak istimewa, di mana example.com
nama domain Anda. Pengguna ini sesuai dengan pengguna yang dibuat Directory Service di dalam Managed Active Directory Anda. Secara berkala, RDS menggunakan kredensial yang disediakan oleh Directory Service untuk masuk ke basis data Oracle Anda. Setelah itu, RDS langsung menghancurkan cache tiket.
Langkah 1: Buat direktori menggunakan AWS Managed Microsoft AD
AWS Directory Service membuat Direktori Aktif yang dikelola sepenuhnya di AWS Cloud. Saat Anda membuat AWS Managed Microsoft AD direktori, AWS Directory Service buat dua pengontrol domain dan server Domain Name System (DNS) atas nama Anda. Server-server direktori dibuat di subnet yang berbeda di VPC. Redundansi ini membantu memastikan bahwa direktori Anda tetap dapat diakses meskipun terjadi kegagalan.
Saat Anda membuat AWS Managed Microsoft AD direktori, AWS Directory Service lakukan tugas-tugas berikut atas nama Anda:
-
Menyiapkan Active Directory di dalam VPC.
-
Membuat akun administrator direktori dengan nama pengguna Admin dan kata sandi yang ditentukan. Anda menggunakan akun ini untuk mengelola direktori Anda.
catatan
Pastikan untuk menyimpan kata sandi ini. AWS Directory Service tidak menyimpannya. Anda dapat mengaturnya ulang, tetapi tidak dapat mengambilnya.
-
Membuat grup keamanan untuk pengontrol direktori.
Saat Anda meluncurkan AWS Managed Microsoft AD, AWS buat Unit Organisasi (OU) yang berisi semua objek direktori Anda. OU ini memiliki nama NetBIOS yang Anda masukkan saat membuat direktori, terletak di domain akar. Root domain dimiliki dan dikelola oleh AWS.
Akun Admin yang dibuat dengan AWS Managed Microsoft AD direktori Anda memiliki izin untuk kegiatan administratif yang paling umum untuk OU Anda:
-
Membuat, memperbarui, atau menghapus pengguna
-
Menambahkan sumber daya ke domain Anda seperti server file atau cetak, lalu menetapkan izin untuk sumber daya tersebut kepada pengguna di OU Anda
-
Buat tambahan OUs dan wadah
-
Melimpahkan kewenangan
-
Memulihkan objek-objek yang dihapus dari Keranjang Sampah Active Directory
-
Jalankan PowerShell modul AD dan DNS Windows pada Layanan Web Direktori Aktif
Akun Admin juga memiliki hak melakukan aktivitas-aktivitas selingkup domain berikut:
-
Mengelola konfigurasi DNS (menambahkan, menghapus, atau memperbarui catatan, zona, dan penerus)
-
Melihat log peristiwa DNS
-
Melihat log peristiwa keamanan
Untuk membuat direktori, gunakan AWS Management Console, API AWS CLI, atau AWS Directory Service API. Pastikan untuk membuka port keluar yang relevan pada grup keamanan direktori sehingga direktori dapat berkomunikasi dengan instans DB Oracle.
Untuk membuat direktori dengan AWS Managed Microsoft AD
Masuk ke AWS Management Console dan buka AWS Directory Service konsol di https://console.aws.amazon.com/directoryservicev2/
. -
Di panel navigasi, pilih Direktori, lalu pilih Siapkan direktori.
-
Pilih AWS Managed Microsoft AD. AWS Managed Microsoft AD adalah satu-satunya pilihan yang saat ini dapat Anda gunakan dengan Amazon RDS.
-
Masukkan informasi berikut:
- Nama DNS Direktori
-
Nama berkualifikasi penuh untuk direktori, seperti
corp.example.com
. - Nama NetBIOS direktori
-
Nama singkat untuk direktori, seperti
CORP
. - Deskripsi direktori
-
(Opsional) Deskripsi untuk direktori.
- Kata sandi admin
-
Kata sandi untuk administrator direktori. Proses pembuatan direktori menciptakan akun administrator dengan nama pengguna Admin dan kata sandi ini.
Kata sandi administrator direktori dan tidak boleh menyertakan kata "admin." Kata sandi bersifat peka kapital dan harus terdiri atas 8–64 karakter. Kata sandi juga harus berisi setidaknya satu karakter dari tiga di antara empat kategori berikut:
-
Huruf kecil (a-z)
-
Huruf besar (A-Z)
-
Angka (0–9)
-
Karakter non-alfanumerik (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)
-
- Ulangi kata sandi
-
Kata sandi administrator diketik ulang.
-
Pilih Berikutnya.
-
Masukkan informasi berikut di bagian Jaringan, lalu pilih Berikutnya:
- VPC
-
VPC untuk direktori. Buat instans DB Oracle dalam VPC yang sama ini.
- Subnet
-
Subnet untuk server direktori. Kedua subnet harus berada di Zona Ketersediaan yang berbeda.
-
Tinjau informasi direktori dan buat perubahan yang diperlukan. Jika informasi sudah benar, pilih Buat direktori.
Dibutuhkan beberapa menit sampai direktori terbuat. Setelah direktori berhasil dibuat, nilai Status berubah menjadi Aktif.
Untuk melihat informasi tentang direktori Anda, pilih nama direktori di daftar direktori. Catat nilai ID Direktori karena Anda memerlukan nilai ini saat membuat atau mengubah instans DB Oracle.

Langkah 2: Buat kepercayaan
Jika Anda berencana untuk menggunakan AWS Managed Microsoft AD saja, lanjutkan keLangkah 3: Konfigurasi izin IAM untuk Amazon RDS.
Untuk mengaktifkan otentikasi Kerberos menggunakan Active Directory yang dikelola sendiri, Anda harus membuat hubungan trust hutan antara Active Directory yang dikelola sendiri dan yang AWS Managed Microsoft AD dibuat pada langkah sebelumnya. Kepercayaan bisa satu arah, di mana AWS Managed Microsoft AD mempercayai Direktori Aktif yang dikelola sendiri. Kepercayaan juga dapat bersifat dua arah, di mana kedua Active Directory saling mempercayai. Untuk informasi selengkapnya tentang penggunaan trust hutan AWS Directory Service, lihat Kapan membuat hubungan kepercayaan dalam Panduan AWS Directory Service Administrasi.
Langkah 3: Konfigurasi izin IAM untuk Amazon RDS
AWS Directory Service Untuk memanggil Anda, Amazon RDS memerlukan peran IAM yang menggunakan kebijakan IAM terkelola. AmazonRDSDirectoryServiceAccess
Peran ini memungkinkan Amazon RDS melakukan panggilan ke AWS Directory Service.
catatan
Agar peran mengizinkan akses, titik akhir AWS Security Token Service (AWS STS) harus diaktifkan dengan benar Wilayah AWS untuk Anda Akun AWS. AWS STS endpoint aktif secara default di semua Wilayah AWS, dan Anda dapat menggunakannya tanpa tindakan lebih lanjut. Untuk informasi selengkapnya, lihat Mengaktifkan dan menonaktifkan AWS STS dalam Panduan Pengguna Wilayah AWS IAM.
Membuat peran IAM
Saat Anda membuat instans DB menggunakan AWS Management Console, dan pengguna konsol memiliki iam:CreateRole
izin, konsol akan membuat rds-directoryservice-kerberos-access-role
secara otomatis. Jika tidak, Anda harus membuat peran IAM secara manual. Saat Anda membuat peran IAM secara manual, pilihDirectory Service
, dan lampirkan kebijakan AWS terkelola AmazonRDSDirectoryServiceAccess
padanya.
Untuk informasi selengkapnya tentang membuat peran IAM untuk layanan, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan di Panduan Pengguna IAM.
catatan
Peran IAM yang digunakan untuk Autentikasi Windows untuk RDS for Microsoft SQL Server tidak dapat digunakan untuk RDS for Oracle.
Membuat kebijakan kepercayaan IAM secara manual
Secara opsional, Anda dapat membuat kebijakan sumber daya dengan izin yang diperlukan alih-alih menggunakan kebijakan IAM terkelola AmazonRDSDirectoryServiceAccess
. Pilih directoryservice.rds.amazonaws.com
dan rds.amazonaws.com
sebagai pengguna utama.
Untuk membatasi izin yang diberikan Amazon RDS kepada layanan lain untuk sumber daya tertentu, sebaiknya gunakan kunci konteks kondisi global aws:SourceArn
dan aws:SourceAccount
dalam kebijakan sumber daya. Cara paling efektif untuk melindungi dari masalah confused deputy adalah menggunakan kunci konteks kondisi global aws:SourceArn
dengan ARN lengkap sumber daya Amazon RDS. Untuk informasi selengkapnya, lihat Pencegahan masalah confused deputy lintas layanan.
Contoh berikut menunjukkan bagaimana Anda dapat menggunakan aws:SourceArn
dan kunci konteks kondisi global aws:SourceAccount
di Amazon RDS untuk mencegah masalah confused deputy.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": [
"directoryservice.rds.amazonaws.com",
"rds.amazonaws.com"
]
},
"Action": "sts:AssumeRole",
"Condition": {
"ArnLike": {
"aws:SourceArn": "arn:aws:rds:us-east-1
:123456789012
:db:mydbinstance
"
},
"StringEquals": {
"aws:SourceAccount": "123456789012
"
}
}
}
]
}
Untuk Wilayah keikutsertaan, Anda juga harus menyertakan prinsip layanan untuk Wilayah tersebut dalam bentuk. directoryservice.rds.
Misalnya, di Wilayah Afrika (Cape Town), gunakan kebijakan kepercayaan berikut:region_name
.amazonaws.com
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": [
"directoryservice.rds.amazonaws.com",
"directoryservice.rds.af-south-1.amazonaws.com",
"rds.amazonaws.com"
]
},
"Action": "sts:AssumeRole",
"Condition": {
"ArnLike": {
"aws:SourceArn": "arn:aws:rds:af-south-1
:123456789012
:db:mydbinstance
"
},
"StringEquals": {
"aws:SourceAccount": "123456789012
"
}
}
}
]
}
Peran ini juga harus memiliki kebijakan IAM berikut.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"ds:DescribeDirectories",
"ds:AuthorizeApplication",
"ds:UnauthorizeApplication",
"ds:GetAuthorizedApplicationDetails"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
Langkah 4: Buat dan konfigurasikan pengguna
Anda dapat membuat pengguna dengan alat Active Directory Users and Computers, yang merupakan salah satu alat Active Directory Domain Services dan Active Directory Lightweight Directory Services. Dalam hal ini, pengguna adalah perorangan atau entitas yang memiliki akses ke direktori Anda.
Untuk membuat pengguna di AWS Directory Service direktori, Anda harus terhubung ke EC2 instance Amazon berbasis Windows yang merupakan anggota direktori. AWS Directory Service Pada saat yang sama, Anda harus masuk sebagai pengguna yang memiliki hak untuk membuat pengguna. Untuk informasi selengkapnya tentang pembuatan pengguna di Active Directory, lihat Mengelola pengguna dan grup di AWS Managed Microsoft AD dalam Panduan Administrasi AWS Directory Service .
Langkah 5: Aktifkan lalu lintas antar-VPC antara direktori dan instans DB
Jika Anda ingin mencari direktori dan instans DB dalam VPC yang sama, lewati langkah ini dan lanjutkan ke Langkah 6: Buat atau modifikasi instans Oracle DB.
Jika Anda berencana untuk menemukan direktori dan instans DB di AWS akun yang berbeda atau VPCs, konfigurasikan lalu lintas lintas VPC menggunakan peering VPC atau Transit Gateway.AWS Prosedur berikut memungkinkan lalu lintas antara VPCs menggunakan VPC peering. Ikuti petunjuk di Apa yang dimaksud dengan peering VPC? dalam Panduan Peering Amazon Virtual Private Cloud.
Untuk mengaktifkan lalu lintas VPC menggunakan peering VPC
-
Siapkan aturan perutean VPC yang sesuai untuk memastikan lalu lintas jaringan dapat berjalan dua arah.
-
Pastikan grup keamanan instans DB dapat menerima lalu lintas masuk dari grup keamanan direktori. Untuk informasi selengkapnya, lihat Praktik terbaik untuk AWS Managed Microsoft AD dalam Panduan Administrasi AWS Directory Service .
-
Pastikan tidak ada aturan daftar kontrol akses (ACL) jaringan yang memblokir lalu lintas.
Jika AWS akun lain memiliki direktori, Anda harus berbagi direktori.
Untuk berbagi direktori antar AWS akun
-
Mulai berbagi direktori dengan AWS akun tempat instans DB akan dibuat dengan mengikuti petunjuk di Tutorial: Berbagi AWS Managed Microsoft AD direktori Anda untuk EC2 domain mulus-Bergabung dalam Panduan Administrasi.AWS Directory Service
-
Masuk ke AWS Directory Service konsol menggunakan akun untuk instans DB, dan pastikan domain memiliki
SHARED
status sebelum melanjutkan. -
Saat masuk ke AWS Directory Service konsol menggunakan akun untuk instans DB, perhatikan nilai ID Direktori. Anda menggunakan ID direktori ini untuk menggabungkan instans DB ke domain.
Langkah 6: Buat atau modifikasi instans Oracle DB
Buat atau modifikasi instans Oracle DB untuk digunakan dengan direktori Anda. Anda dapat menggunakan konsol, CLI, atau RDS API untuk mengaitkan suatu instans DB dengan direktori. Anda dapat menyesuaikan waktu ini dengan cara berikut:
-
Buat instance Oracle DB baru menggunakan konsol, perintah create-db-instanceCLI, atau operasi DBInstance Create RDS API.
Untuk petunjuk, silakan lihat Membuat instans Amazon RDS DB.
-
Ubah instans Oracle DB yang ada menggunakan konsol, perintah modify-db-instanceCLI, atau operasi DBInstance Modify RDS API.
Untuk petunjuk, silakan lihat Memodifikasi instans Amazon RDS DB.
-
Pulihkan instans Oracle DB dari snapshot DB menggunakan konsol, perintah CLI restore-db-instance-from-db-snapshot, atau operasi Restore From RDS API. DBInstance DBSnapshot
Untuk petunjuk, silakan lihat Memulihkan ke instans DB.
-
Kembalikan instance Oracle DB ke point-in-time menggunakan konsol, perintah restore-db-instance-to- point-in-time CLI, atau operasi DBInstance ToPointInTime Restore RDS API.
Untuk petunjuk, silakan lihat Memulihkan instans DB ke waktu tertentu untuk Amazon RDS.
Autentikasi Kerberos hanya didukung untuk instans DB Oracle dalam VPC. Instans DB dapat berada dalam VPC yang sama dengan direktori, atau dalam VPC yang berbeda. Saat Anda membuat atau mengubah instans DB, lakukan tugas berikut:
-
Sediakan pengidentifikasi domain (pengidentifikasi
d-*
) yang dihasilkan saat Anda membuat direktori. -
Beri nama peran IAM yang Anda buat.
-
Pastikan bahwa grup keamanan instans DB dapat menerima lalu lintas masuk dari grup keamanan direktori dan mengirim lalu lintas keluar ke direktori.
Saat Anda menggunakan konsol untuk membuat instans DB, pilih Kata sandi dan autentikasi Kerberos di bagian Autentikasi basis data. Pilih Jelajah Direktori lalu pilih direktori, atau pilih Buat direktori baru.

Saat Anda menggunakan konsol untuk memodifikasi atau memulihkan instans DB, pilih direktori di bagian Autentikasi Kerberos atau pilih Buat direktori baru.

Saat Anda menggunakan AWS CLI, parameter berikut diperlukan agar instans DB dapat menggunakan direktori yang Anda buat:
-
Untuk parameter
--domain
, gunakan pengidentifikasi domain (pengidentifikasi "d-*") yang dihasilkan saat Anda membuat direktori. -
Untuk parameter
--domain-iam-role-name
, gunakan peran yang Anda buat dengan menggunakan kebijakan IAM terkelolaAmazonRDSDirectoryServiceAccess
.
Misalnya, perintah CLI berikut mengubah instans basis data untuk menggunakan direktori.
Untuk Linux, macOS, atau Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --domain d-ID
\ --domain-iam-role-namerole-name
Untuk Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --domain d-ID
^ --domain-iam-role-namerole-name
penting
Jika Anda mengubah instans basis data untuk mengaktifkan autentikasi Kerberos, boot ulang instans basis data setelah membuat perubahan.
catatan
MANAGED_SERVICE_USER
adalah akun layanan yang namanya dibuat secara acak oleh Directory Service untuk RDS. Selama penyiapan autentikasi Kerberos, RDS for Oracle membuat pengguna dengan nama yang sama dan menetapkan hak istimewa CREATE
SESSION
. Pengguna Oracle DB diidentifikasi secara eksternal sebagaiMANAGED_SERVICE_USER@EXAMPLE.COM
, di EXAMPLE.COM
mana nama domain Anda. Secara berkala, RDS menggunakan kredensial yang disediakan oleh Directory Service untuk masuk ke basis data Oracle Anda. Setelah itu, RDS langsung menghancurkan cache tiket.
Langkah 7: Buat login Oracle untuk autentikasi Kerberos
Gunakan kredensial pengguna utama Amazon RDS untuk terhubung ke instans DB Oracle saat Anda mengerjakan instans DB lainnya. Instans DB bergabung ke AWS Managed Microsoft AD domain. Dengan demikian, Anda dapat menyediakan login Oracle dan pengguna dari pengguna Microsoft Active Directory di domain Anda. Untuk mengelola izin basis data, Anda memberikan dan mencabut izin Oracle standar untuk login ini.
Untuk mengizinkan pengguna Microsoft Active Directory melakukan autentikasi dengan Oracle
-
Hubungkan ke instans DB Oracle menggunakan kredensial pengguna utama Amazon RDS Anda.
-
Buat pengguna yang diautentikasi secara eksternal di basis data Oracle.
Pada contoh berikut, ganti
dengan nama pengguna dan nama domain.KRBUSER@CORP.EXAMPLE.COM
CREATE USER "
KRBUSER@CORP.EXAMPLE.COM
" IDENTIFIED EXTERNALLY; GRANT CREATE SESSION TO "KRBUSER@CORP.EXAMPLE.COM
";Pengguna (baik manusia maupun aplikasi) dari domain Anda sekarang dapat terhubung ke instans DB Oracle dari mesin klien yang tergabung dalam domain menggunakan autentikasi Kerberos.
Langkah 8: Konfigurasikan klien Oracle
Untuk mengonfigurasi klien Oracle, penuhi persyaratan berikut:
-
Buat file konfigurasi bernama krb5.conf (Linux) atau krb5.ini (Windows) untuk menunjuk ke domain. Konfigurasikan klien Oracle untuk menggunakan konfigurasi file ini.
-
Verifikasi bahwa lalu lintas dapat mengalir antara host klien dan AWS Directory Service melalui port DNS 53 melalui TCP/UDP, port Kerberos (88 dan 464 untuk dikelola AWS Directory Service) melalui TCP, dan port LDAP 389 melalui TCP.
-
Periksa bahwa lalu lintas dapat mengalir antara host klien dan instans basis data melalui port basis data.
Berikut ini adalah contoh konten untuk AWS Managed Microsoft AD.
[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = example.com admin_server = example.com } [domain_realm] .example.com = CORP.EXAMPLE.COM example.com = CORP.EXAMPLE.COM
Berikut adalah contoh konten untuk Microsoft AD on-premise. Di file krb5.conf atau krb5.ini Anda, ganti on-prem-ad-server-name
dengan nama server AD lokal Anda.
[libdefaults] default_realm = ONPREM.COM [realms] AWSAD.COM = { kdc = awsad.com admin_server = awsad.com } ONPREM.COM = { kdc =
on-prem-ad-server-name
admin_server =on-prem-ad-server-name
} [domain_realm] .awsad.com = AWSAD.COM awsad.com= AWSAD.COM .onprem.com = ONPREM.COM onprem.com= ONPREM.COM
catatan
Setelah mengonfigurasi file krb5.ini atau krb5.conf, sebaiknya boot ulang server.
Berikut adalah contoh konten sqlnet.ora untuk konfigurasi SQL*Plus:
SQLNET.AUTHENTICATION_SERVICES=(KERBEROS5PRE,KERBEROS5) SQLNET.KERBEROS5_CONF=
path_to_krb5.conf_file
Untuk contoh konfigurasi SQL Developer, lihat Dokumen 1609359.1