

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# SQLAudit Server
<a name="Appendix.SQLServer.Options.Audit"></a>

Di AmazonRDS, Anda dapat mengaudit database Microsoft SQL Server dengan menggunakan mekanisme audit SQL Server bawaan. Anda dapat membuat audit dan spesifikasi audit dengan cara yang sama seperti Anda membuatnya untuk server basis data on-premise. 

RDSmengunggah log audit yang telah selesai ke bucket S3 Anda, menggunakan IAM peran yang Anda berikan. Jika Anda mengaktifkan retensi, RDS simpan log audit Anda pada instans DB Anda selama periode waktu yang dikonfigurasi.

Untuk informasi selengkapnya, lihat [Audit SQL Server (mesin database)](https://docs.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-database-engine) di dokumentasi Microsoft SQL Server.

## SQLAudit Server dengan Aliran Aktivitas Database
<a name="Appendix.SQLServer.DAS.Audit"></a>

Anda dapat menggunakan Database Activity Streams RDS untuk mengintegrasikan peristiwa Audit SQL Server dengan alat pemantauan aktivitas database dari Imperva, McAfee, dan. IBM Untuk informasi selengkapnya tentang audit dengan Aliran Aktivitas Database untuk RDS SQL Server, lihat [Pengauditan di Microsoft SQL Server](DBActivityStreams.md#DBActivityStreams.Overview.SQLServer-auditing) 

**Topics**
+ [SQLAudit Server dengan Aliran Aktivitas Database](#Appendix.SQLServer.DAS.Audit)
+ [Support untuk SQL Server Audit](#Appendix.SQLServer.Options.Audit.Support)
+ [Menambahkan SQL Server Audit ke opsi instans DB](Appendix.SQLServer.Options.Audit.Adding.md)
+ [Menggunakan Audit SQL Server](Appendix.SQLServer.Options.Audit.CreateAuditsAndSpecifications.md)
+ [Melihat log audit](Appendix.SQLServer.Options.Audit.AuditRecords.md)
+ [Menggunakan Audit SQL Server dengan instans Multi-AZ](#Appendix.SQLServer.Options.Audit.Multi-AZ)
+ [Mengonfigurasi bucket S3](Appendix.SQLServer.Options.Audit.S3bucket.md)
+ [Membuat peran IAM secara manual untuk SQL Server Audit](Appendix.SQLServer.Options.Audit.IAM.md)

## Support untuk SQL Server Audit
<a name="Appendix.SQLServer.Options.Audit.Support"></a>

Di AmazonRDS, dimulai dengan SQL Server 2016, semua edisi SQL Server mendukung audit tingkat server, dan edisi Enterprise juga mendukung audit tingkat database. Dimulai dengan SQL Server 2016 (13.x)SP1, semua edisi mendukung audit tingkat server dan tingkat database. Untuk informasi selengkapnya, lihat [Audit SQL Server (mesin database)](https://docs.microsoft.com/sql/relational-databases/security/auditing/sql-server-audit-database-engine) dalam dokumentasi SQL Server.

RDSmendukung konfigurasi pengaturan opsi berikut untuk SQL Server Audit. 


| Pengaturan opsi | Nilai valid | Deskripsi | 
| --- | --- | --- | 
| IAM\$1ROLE\$1ARN | Nama Sumber Daya Amazon (ARN) yang valid dalam formatarn:aws:iam::account-id:role/role-name. | ARNIAMPeran yang memberikan akses ke bucket S3 tempat Anda ingin menyimpan log audit Anda. Untuk informasi selengkapnya, lihat [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-iam) di Referensi Umum AWS. | 
| S3\$1BUCKET\$1ARN | Valid ARN dalam format arn:aws:s3:::amzn-s3-demo-bucket atau arn:aws:s3:::amzn-s3-demo-bucket/key-prefix | Bucket ARN untuk S3 tempat Anda ingin menyimpan log audit Anda. | 
| ENABLE\$1COMPRESSION | true atau false | Mengontrol kompresi log audit. Secara default, kompresi diaktifkan (ditetapkan ke true). | 
| RETENTION\$1TIME | 0 untuk 840 | Waktu retensi (dalam jam) bahwa catatan audit SQL Server disimpan pada RDS instans Anda. Secara default, retensi dinonaktifkan. | 

# Menambahkan SQL Server Audit ke opsi instans DB
<a name="Appendix.SQLServer.Options.Audit.Adding"></a>

Mengaktifkan SQL Server Audit memerlukan dua langkah: mengaktifkan opsi di instans DB, dan mengaktifkan fitur di dalam SQL Server. Proses untuk menambahkan opsi SQL Server Audit ke instans DB adalah sebagai berikut: 

1. Buat grup opsi baru, atau salin atau ubah grup opsi yang sudah ada. 

1. Tambahkan dan konfigurasikan semua opsi yang diperlukan.

1. Kaitkan grup opsi dengan instans DB.

Setelah menambahkan opsi SQL Server Audit, Anda tidak perlu memulai ulang instans DB. Begitu grup opsi aktif, Anda dapat membuat audit dan menyimpan log audit di bucket S3. 

**Untuk menambah dan mengonfigurasi SQL Server Audit pada grup opsi instans DB**

1. Pilih salah satu cara berikut:
   + Gunakan grup opsi yang sudah ada.
   + Buat grup opsi DB kustom dan gunakan grup opsi tersebut. Untuk informasi selengkapnya, lihat [Membuat grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create). 

1. Tambahkan opsi **SQLSERVER\$1AUDIT** ke grup opsi, lalu konfigurasikan pengaturan opsi. Untuk informasi cara menambahkan aturan selengkapnya, lihat [Menambahkan opsi ke grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption). 
   + Untuk **peran IAM**, Anda dapat memilih peran tersebut jika sudah memiliki peran IAM dengan kebijakan yang diperlukan. Untuk membuat peran IAM baru, pilih **Buat Peran Baru**. Untuk informasi tentang kebijakan yang diperlukan, lihat [Membuat peran IAM secara manual untuk SQL Server Audit](Appendix.SQLServer.Options.Audit.IAM.md).
   + Untuk **Pilih tujuan S3**, pilih opsi ini jika Anda sudah memiliki bucket S3 yang ingin Anda gunakan. Untuk membuat bucket S3, pilih **Buat Bucket S3 Baru**. 
   + Untuk **Mengaktifkan Kompresi**, biarkan opsi ini dipilih untuk mengompresi file audit. Kompresi diaktifkan secara default. Untuk menonaktifkan kompresi, hapus **Aktifkan Kompresi**. 
   + Untuk **Retensi log audit**, pilih opsi ini untuk menyimpan catatan audit di instans DB. Tentukan waktu retensi dalam jam. Waktu retensi maksimum adalah 35 hari.

1. Terapkan grup opsi ke instans DB baru atau yang sudah ada. Pilih salah satu cara berikut:
   + Jika Anda membuat instans DB baru, terapkan grup opsi ketika Anda meluncurkan instans. 
   + Di instans DB yang sudah ada, terapkan grup opsi dengan mengubah instans lalu memberikan grup opsi baru. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md). 

## Memodifikasi opsi SQL Server Audit
<a name="Appendix.SQLServer.Options.Audit.Modifying"></a>

Setelah mengaktifkan opsi SQL Server Audit, Anda dapat mengubah pengaturan. Untuk informasi cara mengubah pengaturan opsi, lihat [Memodifikasi pengaturan opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption).

## Menghapus SQL Server Audit dari opsi instans DB
<a name="Appendix.SQLServer.Options.Audit.Removing"></a>

Anda dapat mematikan fitur SQL Server Audit dengan menonaktifkan audit lalu menghapus opsi. 

**Untuk menghapus audit**

1. Nonaktifkan semua pengaturan audit di dalam SQL Server. Untuk mempelajari tempat audit dijalankan, buat kueri pada tampilan katalog keamanan SQL Server. Untuk informasi selengkapnya, lihat [Security catalog views](https://docs.microsoft.com/sql/relational-databases/system-catalog-views/security-catalog-views-transact-sql) dalam dokumentasi Microsoft SQL Server. 

1. Hapus opsi SQL Server Audit dari instans DB. Pilih salah satu cara berikut: 
   + Hapus opsi SQL Server Audit dari grup opsi yang digunakan instans DB. Perubahan ini akan memengaruhi semua instans DB yang menggunakan kelompok opsi yang sama. Untuk informasi selengkapnya, lihat [Menghapus opsi dari grup opsi](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption).
   + Ubah instans DB, lalu pilih grup opsi tanpa opsi SQL Server Audit. Perubahan ini hanya memengaruhi instans DB yang Anda ubah. Anda dapat menentukan grup opsi default (kosong) atau grup opsi kustom lain. Untuk informasi selengkapnya, lihat [Memodifikasi instans DB Amazon RDS](Overview.DBInstance.Modifying.md).

1. Setelah menghapus opsi SQL Server Audit dari instans DB, Anda tidak perlu memulai ulang proses tersebut. Hapus file audit yang tidak diperlukan dari bucket S3 Anda.

# Menggunakan Audit SQL Server
<a name="Appendix.SQLServer.Options.Audit.CreateAuditsAndSpecifications"></a>

Anda dapat mengendalikan audit server, spesifikasi audit server, dan spesifikasi audit basis data dengan cara yang sama seperti Anda mengontrolnya untuk server basis data on-premise.

## Membuat audit
<a name="Appendix.SQLServer.Options.Audit.CreateAudits"></a>

Anda membuat audit server dengan cara yang sama seperti Anda membuatnya untuk server basis data on-premise. Untuk informasi tentang cara membuat audit server, lihat [CREATESERVERAUDIT](https://docs.microsoft.com/sql/t-sql/statements/create-server-audit-transact-sql)di dokumentasi Microsoft SQL Server.

Untuk menghindari kesalahan, patuhi batasan berikut:
+ Jangan melebihi jumlah maksimum audit server yang didukung per instans, yaitu 50. 
+ Instruksikan SQL Server untuk menulis data ke file biner.
+ Jangan gunakan `RDS_` sebagai awalan dalam nama audit server.
+ Untuk `FILEPATH`, tentukan `D:\rdsdbdata\SQLAudit`.
+ Untuk `MAXSIZE`, tentukan ukuran antara 2 MB dan 50 MB.
+ Jangan mengonfigurasi `MAX_ROLLOVER_FILES` atau `MAX_FILES`.
+ Jangan mengkonfigurasi SQL Server untuk mematikan instans DB jika gagal menulis catatan audit.

## Membuat spesifikasi audit
<a name="Appendix.SQLServer.Options.Audit.CreateSpecifications"></a>

Anda membuat spesifikasi audit server dan spesifikasi audit basis data dengan cara yang sama seperti Anda membuatnya untuk server basis data on-premise. Untuk informasi tentang membuat spesifikasi audit, lihat [CREATESERVERAUDITSPECIFICATION](https://docs.microsoft.com/sql/t-sql/statements/create-server-audit-specification-transact-sql)dan [CREATEDATABASEAUDITSPECIFICATION](https://docs.microsoft.com/sql/t-sql/statements/create-database-audit-specification-transact-sql)di dokumentasi Microsoft SQL Server.

Untuk menghindari kesalahan, jangan gunakan `RDS_` sebagai awalan dalam nama spesifikasi audit basis data atau spesifikasi audit server. 

# Melihat log audit
<a name="Appendix.SQLServer.Options.Audit.AuditRecords"></a>

Log audit Anda disimpan di `D:\rdsdbdata\SQLAudit`.

Setelah SQL Server selesai menulis ke file log audit—saat file mencapai batas ukurannya—Amazon RDS mengunggah file ke bucket S3 Anda. Jika retensi diaktifkan, Amazon RDS memindahkan file ke folder retensi:`D:\rdsdbdata\SQLAudit\transmitted`. 

Untuk informasi cara mengonfigurasi retensi, lihat [Menambahkan SQL Server Audit ke opsi instans DB](Appendix.SQLServer.Options.Audit.Adding.md).

Catatan audit disimpan di instans DB hingga file log audit diunggah. Anda dapat melihat catatan audit dengan menjalankan perintah berikut.

```
SELECT   * 
	FROM     msdb.dbo.rds_fn_get_audit_file
	             ('D:\rdsdbdata\SQLAudit\*.sqlaudit'
	             , default
	             , default )
```

Anda dapat menggunakan perintah yang sama untuk melihat catatan audit di folder penyimpanan Anda dengan mengubah filter ke `D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit`.

```
SELECT   * 
	FROM     msdb.dbo.rds_fn_get_audit_file
	             ('D:\rdsdbdata\SQLAudit\transmitted\*.sqlaudit'
	             , default
	             , default )
```

## Menggunakan Audit SQL Server dengan instans Multi-AZ
<a name="Appendix.SQLServer.Options.Audit.Multi-AZ"></a>

Untuk instans Multi-AZ, proses mengirim file log audit ke Amazon S3 serupa dengan proses untuk instans AZ Tunggal. Namun, ada beberapa perbedaan penting: 
+ Objek spesifikasi audit basis data direplikasi ke semua simpul.
+ Audit server dan spesifikasi audit server tidak direplikasi ke simpul sekunder. Sebaliknya, Anda harus membuat atau memodifikasinya secara manual.

Untuk mencatat audit server atau spesifikasi audit server dari kedua simpul:

1. Buat audit server atau spesifikasi audit server di simpul primer.

1. Gagal ke node sekunder dan buat audit server atau spesifikasi audit server dengan nama yang sama dan GUID pada node sekunder. Gunakan `AUDIT_GUID` parameter untuk menentukanGUID.

# Mengonfigurasi bucket S3
<a name="Appendix.SQLServer.Options.Audit.S3bucket"></a>

file log audit secara otomatis diunggah dari instans DB ke bucket S3 Anda. Pembatasan berikut berlaku untuk bucket S3 yang Anda gunakan sebagai target untuk file audit: 
+ Itu harus di AWS Wilayah dan AWS akun yang sama dengan instans DB.
+ Ini tidak boleh dibuka untuk umum.
+ Pemilik bucket juga harus menjadi pemilik peran IAM.
+ Peran IAM Anda harus memiliki izin untuk kunci KMS yang dikelola pelanggan yang terkait dengan enkripsi sisi server bucket S3.

Kunci target yang digunakan untuk menyimpan data mematuhi skema penamaan ini: `amzn-s3-demo-bucket/key-prefix/instance-name/audit-name/node_file-name.ext` 

**catatan**  
Anda menetapkan nama bucket dan nilai awalan kunci dengan setelan opsi (`S3_BUCKET_ARN`).

Skema tersebut terdiri atas elemen-elemen berikut:
+ ***amzn-s3-demo-bucket*** – Nama bucket S3 Anda.
+ **`key-prefix`** – Awalan kunci kustom yang ingin Anda gunakan untuk log audit.
+ **`instance-name`** – Nama instans Amazon RDS Anda.
+ **`audit-name`** – Nama audit.
+ **`node`** – Pengidentifikasi simpul yang merupakan sumber log audit (`node1` atau `node2`). Ada satu simpul untuk instans AZ Tunggal dan dua simpul replikasi untuk instans Multi-AZ. Ini bukan simpul primer dan sekunder karena peran primer dan sekunder berubah seiring waktu. Sebaliknya, pengidentifikasi simpul merupakan label sederhana. 
  + **`node1`** – simpul replikasi pertama (AZ Tunggal hanya memiliki satu simpul).
  + **`node2`** – simpul replikasi kedua (Multi-AZ memiliki dua simpul).
+ **`file-name`** – Nama file target. Nama file diambil apa adanya dari SQL Server.
+ **`ext`** – Ekstensi file (`zip` atau `sqlaudit`):
  + **`zip`** – Jika kompresi diaktifkan (default).
  + **`sqlaudit`** – Jika kompresi dinonaktifkan.

# Membuat peran IAM secara manual untuk SQL Server Audit
<a name="Appendix.SQLServer.Options.Audit.IAM"></a>

Biasanya, ketika Anda membuat opsi baru, Konsol Manajemen AWS membuat peran IAM dan kebijakan kepercayaan IAM untuk Anda. Namun, Anda dapat secara manual membuat peran IAM baru untuk digunakan dengan SQL Server Audit sehingga Anda dapat menyesuaikannya dengan persyaratan tambahan yang mungkin Anda miliki. Untuk melakukan ini, Anda membuat peran IAM dan mendelegasikan izin sehingga layanan Amazon RDS dapat menggunakan bucket Amazon S3. Saat Anda membuat peran IAM ini, Anda dapat memberikan kebijakan kepercayaan dan izin. Dengan adanya kebijakan kepercayaan, Amazon RDS dapat mengambil peran ini. Kebijakan izin menentukan tindakan yang dapat dilakukan peran ini. Untuk informasi selengkapnya, lihat [Membuat peran untuk mendelegasikan izin ke AWS layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) di *Panduan Pengguna AWS Identity and Access Management*. 

Anda dapat menggunakan contoh di bagian ini untuk membuat kebijakan hubungan kepercayaan dan izin yang Anda butuhkan.

Contoh berikut menunjukkan hubungan kepercayaan untuk SQL Server Audit. Contoh tersebut menggunakan *pengguna utama layanan* `rds.amazonaws.com` untuk memungkinkan RDS menulis ke bucket S3. *Pengguna utama layanan* adalah pengidentifikasi yang digunakan untuk memberikan izin layanan. Setiap kali Anda mengizinkan akses ke `rds.amazonaws.com` dengan cara ini, Anda mengizinkan RDS untuk melakukan tindakan atas nama Anda. Untuk informasi pengguna utama layanan selengkapnya, lihat [Elemen kebijakan AWS JSON: Pengguna Utama](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).

**Example hubungan kepercayaan untuk SQL Server Audit**    
****  

```
{
	    "Version":"2012-10-17",		 	 	 
	    "Statement": [
	        {
	            "Effect": "Allow",
	            "Principal": {
	                "Service": "rds.amazonaws.com"
	            },
	            "Action": "sts:AssumeRole"
	        }
	    ]
	}
```

Sebaiknya gunakan kunci konteks kondisi global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) dan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dalam hubungan kepercayaan berbasis sumber daya untuk membatasi izin layanan ke sumber daya tertentu. Ini adalah cara yang paling efektif untuk melindungi dari [masalah confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

Anda dapat menggunakan kedua kunci konteks kondisi global tersebut dan nilai `aws:SourceArn` berisi ID akun. Dalam hal ini, nilai `aws:SourceAccount` dan akun dalam nilai `aws:SourceArn` harus menggunakan ID akun yang sama saat digunakan dalam pernyataan yang sama.
+ Gunakan `aws:SourceArn` jika Anda menginginkan akses lintas layanan untuk satu sumber daya.
+ Gunakan `aws:SourceAccount` jika Anda ingin mengizinkan sumber daya apa pun di akun tersebut dikaitkan dengan penggunaan lintas layanan.

Dalam hubungan kepercayaan, pastikan Anda menggunakan kunci konteks kondisi global `aws:SourceArn` dengan Amazon Resource Name (ARN) dari sumber daya yang mengakses peran tersebut. Untuk SQL Server Audit, pastikan Anda menyertakan grup opsi DB dan instans DB, seperti yang ditunjukkan pada contoh berikut.

**Example hubungan kepercayaan dengan kunci konteks kondisi global untuk SQL Server Audit**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "rds.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": [
                        "arn:aws:rds:Region:my_account_ID:db:db_instance_identifier",
                        "arn:aws:rds:Region:my_account_ID:og:option_group_name"
                    ]
                }
            }
        }
    ]
}
```

Dalam contoh kebijakan izin untuk SQL Server Audit berikut, kami menentukan ARN untuk bucket Amazon S3. Anda dapat menggunakan ARNs untuk mengidentifikasi akun, pengguna, atau peran tertentu yang ingin Anda beri akses. Untuk informasi selengkapnya tentang penggunaan ARNs, lihat [nama sumber daya Amazon (ARNs)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

**Example kebijakan izin untuk SQL Server Audit**    
****  

```
{
	    "Version":"2012-10-17",		 	 	 
	    "Statement": [
	        {
	            "Effect": "Allow",
	            "Action": "s3:ListAllMyBuckets",
	            "Resource": "*"
	        },
	        {
	            "Effect": "Allow",
	            "Action": [
	                "s3:ListBucket",
	                "s3:GetBucketACL",
	                "s3:GetBucketLocation"
	            ],
	            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket"
	        },
	        {
	            "Effect": "Allow",
	            "Action": [
	                "s3:PutObject",
	                "s3:ListMultipartUploadParts",
	                "s3:AbortMultipartUpload"
	            ],
	            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/key_prefix/*"
	        }
	    ]
	}
```

**catatan**  
`s3:ListAllMyBuckets`Tindakan ini diperlukan untuk memverifikasi bahwa AWS akun yang sama memiliki bucket S3 dan instance SQL Server DB. Tindakan tersebut mencantumkan nama bucket di akun.  
Namespace bucket S3 bersifat global. Jika Anda tidak sengaja menghapus bucket, pengguna lain dapat membuat bucket dengan nama yang sama di akun lain. Kemudian, data SQL Server Audit akan ditulis ke bucket baru.