Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah kebijakan kontrol layanan () SCPs dengan AWS Organizations
Gunakan informasi di sini untuk membantu Anda mendiagnosis dan memperbaiki kesalahan umum yang ditemukan dalam kebijakan kontrol layanan (SCPs).
Kebijakan kontrol layanan (SCPs) di AWS Organizations mirip dengan IAM kebijakan dan berbagi sintaks umum. Sintaks ini dimulai dengan aturan JavaScript Object Notation
AWS Organizations menggunakan subset dari IAM sintaks dan tata bahasa. Untuk detailnya, lihat SCPsintaks.
Kesalahan kebijakan umum
Lebih dari satu objek kebijakan
An SCP harus terdiri dari satu dan hanya satu JSON objek. Anda menunjukkan sebuah objek dengan menempatkan rungkup { } di sekitarnya. Meskipun Anda dapat menyarangkan objek lain di dalam JSON objek dengan menyematkan tanda kurung {} tambahan di dalam pasangan luar, kebijakan hanya dapat berisi satu pasang kurung kurung {} terluar. Contoh berikut tidak benar karena berisi dua objek di tingkat atas (dipanggil red
):
{
"Version": "2012-10-17",
"Statement":
{
"Effect":"Allow",
"Action":"ec2:Describe*",
"Resource":"*"
}
}
{
"Statement": {
"Effect": "Deny",
"Action": "s3:*",
"Resource": "*"
}
}
Namun demikian, Anda dapat memenuhi maksud dari contoh sebelumnya dengan menggunakan tata bahasa kebijakan yang benar. Alih-alih memasukkan dua objek kebijakan lengkap, masing-masing dengan elemen Statement
sendiri, Anda dapat menggabungkan kedua blok menjadi satu elemen Statement
. Elemen Statement
memiliki susunan dua objek sebagai nilainya, seperti yang ditunjukkan dalam contoh berikut:
{ "Version": "2012-10-17",
"Statement": [
{ "Effect": "Allow", "Action": "ec2:Describe*", "Resource":" *" }, { "Effect": "Deny", "Action": "s3:*", "Resource": "*" }] }
Contoh ini tidak dapat dikompresi lebih lanjut menjadi sebuah Statement
dengan satu elemen karena kedua elemen memiliki efek yang berbeda. Umumnya, Anda dapat menggabungkan pernyataan hanya ketika elemen Effect
dan Resource
dalam setiap pernyataan identik.
Lebih dari satu elemen pernyataan
Kesalahan ini pada awalnya mungkin tampak seperti variasi pada kesalahan di bagian sebelumnya. Namun demikian, secara sintaksis ini adalah jenis kesalahan yang berbeda. Dalam contoh berikut, hanya ada satu objek kebijakan yang ditandai dengan sepasang rungkup { } di tingkat atas. Namun, objek tersebut berisi dua elemen Statement
di dalamnya.
Sebuah SCP harus berisi hanya satu Statement
elemen, yang terdiri dari nama (Statement
) muncul di sebelah kiri titik dua, diikuti oleh nilainya di sebelah kanan. Nilai dari elemen Statement
harus berupa objek, yang ditandai dengan rungkup { }, yang berisi satu elemen Effect
, satu elemen Action
, dan satu elemen Resource
. Contoh berikut ini salah karena berisi dua elemen Statement
dalam objek kebijakan:
{
"Version": "2012-10-17",
"Statement
": {
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
"Statement
": {
"Effect": "Deny",
"Action": "s3:*",
"Resource": "*"
}
}
Karena objek nilai dapat berupa array berbagai objek nilai, maka Anda dapat memecahkan masalah ini dengan menggabungkan kedua elemen Statement
ke dalam satu elemen dengan objek array, seperti ditunjukkan dalam contoh berikut:
{ "Version": "2012-10-17", "Statement":
[
{ "Effect": "Allow", "Action": "ec2:Describe*", "Resource":"*" },
{ "Effect": "Deny", "Action": "s3:*", "Resource": "*" }]
}
Nilai dari elemen Statement
merupakan himpunan objek. Array dalam contoh ini terdiri dari dua objek, yang masing-masing merupakan nilai yang benar untuk elemen Statement
. Setiap objek di himpunan dipisahkan dengan koma.
Dokumen kebijakan melebihi ukuran maksimum
Ukuran maksimum SCP dokumen adalah 5.120 karakter. Ukuran maksimum ini mencakup semua karakter, termasuk spasi kosong. Untuk mengurangi ukuran AndaSCP, Anda dapat menghapus semua karakter spasi putih (seperti spasi dan jeda baris) yang berada di luar tanda kutip.
catatan
Jika Anda menyimpan kebijakan dengan menggunakan AWS Management Console, spasi putih ekstra antara JSON elemen dan di luar tanda kutip dihapus dan tidak dihitung. Jika Anda menyimpan kebijakan menggunakan SDK operasi atau AWS CLI, maka kebijakan disimpan persis seperti yang Anda berikan dan tidak terjadi penghapusan karakter secara otomatis.