

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

# Sintaksis SCP
<a name="orgs_manage_policies_scps_syntax"></a>

Kebijakan kontrol layanan (SCPs) menggunakan sintaks serupa dengan kebijakan izin AWS Identity and Access Management (IAM) dan kebijakan [berbasis sumber daya (seperti kebijakan bucket](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) Amazon S3). Untuk informasi selengkapnya tentang kebijakan IAM dan sintaksisnya, lihat [Gambaran Umum Kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.

SCP adalah file plaintext yang terstruktur sesuai dengan aturan [JSON](http://json.org). Ia menggunakan elemen-elemen yang dijelaskan dalam topik ini.

**catatan**  
Semua karakter dalam hitungan SCP Anda terhadap [ukuran maksimum](orgs_reference_limits.md#min-max-values)-nya. Contoh dalam panduan ini menunjukkan SCPs format dengan ruang putih ekstra untuk meningkatkan keterbacaannya. Namun, untuk menghemat ruang jika ukuran kebijakan Anda mendekati ukuran maksimum, maka Anda dapat menghapus spasi kosong, seperti spasi karakter dan baris putus yang berada di luar tanda kutip.

Untuk informasi umum tentang SCPs, lihat[Kebijakan kontrol layanan (SCPs)](orgs_manage_policies_scps.md).

## Ringkasan elemen
<a name="scp-elements-table"></a>

Tabel berikut merangkum elemen kebijakan yang dapat Anda gunakan. SCPs Beberapa elemen kebijakan hanya tersedia dalam tindakan penolakan SCPs itu. Kolom **Efek yang didukung** mencantumkan jenis efek yang dapat Anda gunakan dengan setiap elemen kebijakan SCPs.


| Elemen | Tujuan | Efek didukung | 
| --- | --- | --- | 
| [Tindakan](#scp-syntax-action) | Menentukan AWS layanan dan tindakan yang SCP memungkinkan atau menyangkal. | `Allow`, `Deny` | 
| [Efek](#scp-syntax-effect) | Menentukan apakah pernyataan SCP [mengizinkan](orgs_manage_policies_scps_evaluation.md#how_scps_allow) atau [menolak](orgs_manage_policies_scps_evaluation.md#how_scps_deny) akses ke pengguna dan peran IAM dalam akun. | `Allow`, `Deny` | 
| [Pernyataan](#scp-syntax-statement) | Berfungsi sebagai kontainer untuk elemen kebijakan. Anda dapat memiliki beberapa pernyataan di SCPs. | `Allow`, `Deny` | 
| [ID Pernyataan (Sid)](#scp-syntax-sid) | (Opsional) Menyediakan nama yang ramah untuk pernyataan tersebut. | `Allow`, `Deny` | 
| [Versi](#scp-syntax-version) | Menentukan aturan sintaksis bahasa yang digunakan untuk memproses kebijakan. | `Allow`, `Deny` | 
| [Kondisi](#scp-syntax-condition) | Menentukan syarat ketika pernyataan ini berlaku. | `Allow,``Deny` | 
| [NotAction](#scp-syntax-action) | Menentukan AWS layanan dan tindakan yang dikecualikan dari SCP. Digunakan sebagai pengganti dari elemen `Action`. | `Allow,``Deny` | 
| [Sumber Daya](#scp-syntax-resource) | Menentukan AWS sumber daya yang berlaku SCP. | `Allow,``Deny` | 
| [NotResource](#scp-syntax-resource) | Menentukan AWS sumber daya yang dikecualikan dari SCP. Digunakan sebagai pengganti dari elemen Resource. | `Allow`, `Deny` | 

Bagian berikut memberikan informasi lebih lanjut dan contoh bagaimana elemen kebijakan digunakan SCPs.

**Topics**
+ [Ringkasan elemen](#scp-elements-table)
+ [Elemen `Action` dan `NotAction`](#scp-syntax-action)
+ [Elemen `Condition`](#scp-syntax-condition)
+ [Elemen `Effect`](#scp-syntax-effect)
+ [`Resource`dan `NotResource` elemen](#scp-syntax-resource)
+ [Elemen `Statement`](#scp-syntax-statement)
+ [Elemen ID pernyataan (`Sid`)](#scp-syntax-sid)
+ [Elemen `Version`](#scp-syntax-version)
+ [Elemen yang Tidak Didukung](#scp-syntax-unsupported)

## Elemen `Action` dan `NotAction`
<a name="scp-syntax-action"></a>

Nilai untuk `NotAction` elemen `Action` or adalah daftar (array JSON) string yang mengidentifikasi AWS layanan dan tindakan yang diizinkan atau ditolak oleh pernyataan.

Setiap string terdiri dari singkatan untuk layanan (seperti "s3", "ec2", "iam", atau "organisasi"), dalam semua huruf kecil, diikuti oleh titik dua dan kemudian tindakan dari layanan tersebut. Tindakan dan tindakan tidak peka huruf besar/kecil. Umumnya, mereka semua dimasukkan dengan setiap kata dimulai dengan huruf besar dan sisanya huruf kecil. Sebagai contoh: `"s3:ListAllMyBuckets"`.

Anda juga dapat menggunakan karakter wildcard seperti asterisk (\*) atau tanda tanya (?) dalam SCP:
+ Gunakan tanda bintang (\*) sebagai wildcard untuk mencocokkan beberapa tindakan yang berbagi bagian dari nama. Nilai `"s3:*"` artinya semua tindakan dalam layanan Amazon S3. Nilai `"ec2:Describe*"` cocok hanya dengan tindakan EC2 yang dimulai dengan "Describe".
+ Gunakan tanda tanya (?) wildcard untuk mencocokkan satu karakter. 

Untuk daftar semua layanan dan tindakan yang mereka dukung dalam kebijakan izin IAM AWS Organizations SCPs dan IAM, lihat [Tindakan, Sumber Daya, dan Kunci Kondisi untuk AWS Layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actionsconditions.html) di *Panduan Pengguna IAM*.

*Untuk informasi selengkapnya, lihat [IAM JSON Policy Elements: Action](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html) dan [IAM JSON Policy Elements: NotAction](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html) di Panduan Pengguna IAM.*

### Contoh elemen `Action`
<a name="scp-syntax-action-example"></a>

Contoh berikut menunjukkan SCP dengan pernyataan yang memungkinkan administrator akun untuk mendelegasikan menjelaskan, mulai, berhenti, dan mengakhiri izin untuk instans EC2 di akun. Ini adalah contoh [daftar izinkan](orgs_manage_policies_scps_evaluation.md#how_scps_allow), dan berguna ketika kebijakan `Allow *` default ***tidak*** dilampirkan sehingga, secara default, izin secara implisit ditolak. Jika kebijakan `Allow *` default masih dilampirkan pada akar, OU, atau akun yang dilampiri dengan kebijakan berikut, kebijakan tidak berpengaruh.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
          "ec2:DescribeInstances", "ec2:DescribeImages", "ec2:DescribeKeyPairs",
          "ec2:DescribeSecurityGroups", "ec2:DescribeAvailabilityZones", "ec2:RunInstances",
          "ec2:TerminateInstances", "ec2:StopInstances", "ec2:StartInstances"
        ],
        "Resource": "*"
    }
}
```

------

Contoh berikut menunjukkan bagaimana Anda dapat [menolak akses](orgs_manage_policies_scps_evaluation.md#how_scps_deny) ke layanan yang Anda ingin tidak gunakan di akun terlampir. Ia mengasumsikan bahwa SCP `"Allow *"` default masih dilampirkan pada semua OU dan akar. Kebijakan contoh ini mencegah administrator akun di akun terlampir mendelegasikan izin untuk layanan IAM, Amazon EC2, dan Amazon RDS. Setiap tindakan dari layanan lain dapat didelegasikan selama tidak ada kebijakan terlampir lain yang menolaknya.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Deny",
        "Action": [ "iam:*", "ec2:*", "rds:*" ],
        "Resource": "*"
    }
}
```

------

### Contoh elemen `NotAction`
<a name="scp-syntax-notaction-example"></a>

Contoh berikut menunjukkan bagaimana Anda dapat menggunakan `NotAction` elemen untuk mengecualikan AWS layanan dari efek kebijakan.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "LimitActionsInRegion",
      "Effect": "Deny",
      "NotAction": "iam:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:RequestedRegion": "us-west-1"
         }
       }
     }
   ]
}
```

------

Dengan pernyataan ini, akun yang terpengaruh dibatasi untuk mengambil tindakan dalam yang ditentukan AWS Region, kecuali saat menggunakan tindakan IAM.

## Elemen `Condition`
<a name="scp-syntax-condition"></a>

Anda dapat menentukan `Condition` elemen dalam mengizinkan dan menolak pernyataan dalam SCP.

Contoh berikut menunjukkan bagaimana menggunakan elemen kondisi dengan pernyataan allow dalam SCP untuk mengizinkan prinsipal tertentu untuk mengakses layanan. AWS 

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"AllowServicesForSpecificPrincipal",
         "Effect":"Allow",
         "Action":[
            "ec2:*",
            "s3:*",
            "rds:*",
            "lambda:*",
            "cloudformation:*",
            "iam:*",
            "cloudwatch:*"
         ],
         "Resource":"*",
         "Condition":{
            "StringEquals":{
               "aws:PrincipalArn":[
                  "arn:aws:iam::123456789012:role/{{specific-role}}"
               ]
            }
         }
      }
   ]
}
```

Contoh berikut menunjukkan cara menggunakan elemen kondisi dengan pernyataan penolakan dalam SCP untuk membatasi akses ke operasi apa pun di luar `eu-central-1` dan `eu-west-1` Wilayah, kecuali untuk tindakan dalam layanan yang ditentukan. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyAllOutsideEU",
            "Effect": "Deny",
            "NotAction": [
                "{{cloudfront:*",
                "iam:*",
                "route53:*",
                "support:*}}"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "aws:RequestedRegion": [
                        "{{eu-central-1",
                        "eu-west-1}}"
                    ]
                }
            }
        }
    ]
}
```

------

Untuk informasi selengkapnya, lihat [Elemen kebijakan IAM JSON: Syarat](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.

## Elemen `Effect`
<a name="scp-syntax-effect"></a>

Setiap pernyataan harus berisi satu elemen `Effect`. Nilai dapat berupa `Allow` atau `Deny`, salah satu. Ia mempengaruhi setiap tindakan yang tercantum dalam pernyataan yang sama.

Untuk informasi selengkapnya, lihat [Elemen Kebijakan IAM JSON: Efek](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html) dalam *Panduan Pengguna IAM*.

### `"Effect": "Allow"`
<a name="scp-syntax-effect-allow"></a>

Contoh berikut menunjukkan SCP dengan pernyataan yang berisi elemen `Effect` dengan nilai `Allow` yang mengizinkan pengguna akun untuk melakukan tindakan untuk layanan Amazon S3. Contoh ini berguna dalam sebuah organisasi yang menggunakan [strategi daftar izinkan](orgs_manage_policies_scps_evaluation.md#how_scps_allow) (dimana kebijakan `FullAWSAccess` default-nya telah dilepaskan sehingga izin secara implisit ditolak secara default). Hasilnya adalah bahwa pernyataan [mengizinkan](orgs_manage_policies_scps_evaluation.md#how_scps_allow) izin Amazon S3 untuk akun terlampir:

```
{
    "Statement": {
        "Effect": "Allow",
        "Action": "s3:*",
        "Resource": "*"
    }
}
```

Meskipun pernyataan ini menggunakan nilai kata kunci `Allow` yang sama sebagai kebijakan izin IAM, dalam SCP ia tidak benar-benar memberikan izin pengguna untuk melakukan apa pun. Sebagai gantinya, SCPs bertindak sebagai filter yang menentukan izin maksimum untuk akun di organisasi, unit organisasi (OU), atau akun. Dalam contoh sebelumnya, bahkan jika pengguna di akun memiliki kebijakan terkelola `AdministratorAccess` terlampir, SCP ini membatasi ***Semua*** pengguna di akun yang terpengaruh hanya ke tindakan Amazon S3.

### `"Effect": "Deny"`
<a name="scp-syntax-effect-deny"></a>

Dalam pernyataan di mana `Effect` elemen memiliki nilai`Deny`, Anda juga dapat membatasi akses ke sumber daya tertentu atau menentukan kondisi kapan SCPs berlaku. 

Berikut ini menunjukkan contoh bagaimana menggunakan kunci syarat dalam pernyataan tolak.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Deny",
        "Action": "ec2:RunInstances",
        "Resource": "arn:aws:ec2:*:*:instance/*",
        "Condition": {
            "StringNotEquals": {
                "ec2:InstanceType": "t2.micro"
            }
        }
    }
}
```

------

Pernyataan ini di SCP menetapkan pagar untuk mencegah akun terpengaruh (di mana SCP dilampirkan ke akun itu sendiri atau akar organisasi atau OU yang berisi akun), dari meluncurkan instans Amazon EC2 jika instans Amazon EC2 tidak diatur ke `t2.micro`. Bahkan jika kebijakan IAM yang memungkinkan tindakan ini dilampirkan ke akun, pagar yang dibuat oleh SCP akan mencegahnya.

## `Resource`dan `NotResource` elemen
<a name="scp-syntax-resource"></a>

Dalam pernyataan di mana elemen `Effect` memiliki nilai `Allow`, Anda dapat menentukan hanya "\*" di elemen `Resource` dari sebuah SCP. Anda tidak dapat menentukan sumber daya individu Amazon Resource Names (ARNs). 

Anda dapat menggunakan karakter wildcard seperti tanda bintang (\*) atau tanda tanya (?) dalam elemen sumber daya:
+ Gunakan tanda bintang (\*) sebagai wildcard untuk mencocokkan beberapa tindakan yang berbagi bagian dari nama. 
+ Gunakan tanda tanya (?) wildcard untuk mencocokkan satu karakter. 

Dalam pernyataan di mana `Effect` elemen memiliki nilai`Deny`, Anda *dapat* menentukan individu ARNs, seperti yang ditunjukkan pada contoh berikut.

------
#### [ JSON ]

****  

```
{    
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAccessToAdminRole",
      "Effect": "Deny",
      "Action": [
        "iam:AttachRolePolicy",
        "iam:DeleteRole",
        "iam:DeleteRolePermissionsBoundary",
        "iam:DeleteRolePolicy",
        "iam:DetachRolePolicy",
        "iam:PutRolePermissionsBoundary",
        "iam:PutRolePolicy",
        "iam:UpdateAssumeRolePolicy",
        "iam:UpdateRole",
        "iam:UpdateRoleDescription"
      ],
      "Resource": [
        "arn:aws:iam::*:role/{{role-to-deny}}"
      ]
    }
  ]
}
```

------

SCP ini membatasi pengguna dan peran IAM dalam akun yang terpengaruh dari membuat perubahan ke IAM role administratif umum yang dibuat di semua akun di organisasi Anda.

Contoh berikut menunjukkan cara menggunakan `NotResource` elemen untuk mengecualikan model Amazon Bedrock tertentu dari pengaruh kebijakan.

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"Statement1",
         "Effect":"Deny",
         "Action":[
            "bedrock:InvokeModel",
            "bedrock:InvokeModelWithResponseStream"
         ],
         "NotResource":[
            "arn:aws:bedrock:*::foundation-model/{{model-to-permit}}"
         ]
      }
   ]
}
```

Untuk informasi selengkapnya, lihat [Elemen kebijakan IAM JSON: Sumber Daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) dalam *Panduan Pengguna IAM*.

## Elemen `Statement`
<a name="scp-syntax-statement"></a>

SCP terdiri dari satu atau beberapa elemen `Statement`. Anda hanya dapat memiliki satu kata kunci `Statement` dalam kebijakan, tetapi nilai dapat berupa array JSON dari pernyataan (diapit oleh karakter [ ]).

Contoh berikut menunjukkan pernyataan tunggal yang terdiri dari satu elemen `Effect`, `Action`, dan `Resource`.

```
    "Statement": {
        "Effect": "Allow",
        "Action": "*",
        "Resource": "*"
    }
```

Contoh berikut mencakup dua pernyataan sebagai daftar array dalam satu elemen `Statement`. Pernyataan pertama mengizinkan semua tindakan, sedangkan yang kedua menolak tindakan EC2. Hasilnya adalah bahwa administrator di akun dapat mendelegasikan izin *kecuali* izin dari Amazon Elastic Compute Cloud (Amazon EC2).

```
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": "ec2:*",
            "Resource": "*"
        }
    ]
```

Untuk informasi selengkapnya, lihat [Elemen kebijakan IAM JSON: Pernyataan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_statement.html) dalam *Panduan Pengguna IAM*.

## Elemen ID pernyataan (`Sid`)
<a name="scp-syntax-sid"></a>

`Sid` adalah pengidentifikasi opsional yang Anda berikan untuk pernyataan kebijakan. Anda dapat menetapkan nilai `Sid` untuk setiap pernyataan dalam rangkaian pernyataan. Dalam contoh berikut, SCP menunjukkan sampel `Sid`. 

```
{
    "Statement": {
        "Sid": "AllowsAllActions",
        "Effect": "Allow",
        "Action": "*",
        "Resource": "*"
    }
}
```

Untuk informasi selengkapnya, lihat [Elemen Kebijakan IAM JSON: Id](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_id.html) dalam *Panduan Pengguna IAM*.

## Elemen `Version`
<a name="scp-syntax-version"></a>

Setiap SCP harus menyertakan elemen `Version` dengan nilai `"2012-10-17"`. Ini adalah nilai versi yang sama sebagai versi terbaru dari kebijakan izin IAM.

Untuk informasi selengkapnya, lihat [Elemen Kebijakan IAM JSON: Versi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_version.html) dalam *Panduan Pengguna IAM*.

## Elemen yang Tidak Didukung
<a name="scp-syntax-unsupported"></a>

Elemen berikut tidak didukung di SCPs:
+ `NotPrincipal`
+ `Principal`