

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

# Contoh kebijakan berbasis identitas IAM
<a name="access_policies_examples"></a>

[Kebijakan](access_policies.md) adalah objek AWS yang, ketika dikaitkan dengan identitas atau sumber daya, menentukan izinnya. AWS mengevaluasi kebijakan ini ketika kepala sekolah IAM (pengguna atau peran) membuat permintaan. Izin dalam kebijakan menentukan apakah permintaan diizinkan atau ditolak. Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON yang dilampirkan ke identitas IAM (pengguna, grup pengguna, atau peran). Kebijakan berbasis identitas dapat mencakup kebijakan terkelola AWS , kebijakan terkelola pelanggan, dan kebijakan inline. Untuk mempelajari cara membuat kebijakan IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan menggunakan editor JSON](access_policies_create-console.md#access_policies_create-json-editor).

Secara default semua permintaan ditolak, jadi Anda harus memberikan akses ke layanan, tindakan, dan sumber daya yang Anda inginkan bagi identitas untuk mengakses. Jika Anda juga ingin mengizinkan akses untuk menyelesaikan tindakan yang ditentukan di konsol IAM, Anda perlu memberikan izin tambahan.

Pustaka kebijakan berikut dapat membantu Anda menentukan izin untuk identitas IAM Anda. Setelah anda menemukan kebijakan yang Anda perlukan, pilih **lihat kebijakan ini** untuk melihat JSON untuk kebijakan tersebut. Anda dapat menggunakan dokumen kebijakan JSON sebagai contoh untuk kebijakan Anda sendiri.

**catatan**  
Jika Anda ingin memberikan sebuah kebijakan untuk disertakan dalam panduan referensi ini, gunakan tombol **Umpan Balik** di bagian bawah halaman ini.

## Contoh kebijakan: AWS
<a name="policy_library_AWS"></a>
+ Mengizinkan akses selama rentang tanggal tertentu. ([Lihat kebijakan ini](reference_policies_examples_aws-dates.md).)
+ Memungkinkan mengaktifkan dan menonaktifkan Wilayah AWS . ([Lihat kebijakan ini](reference_policies_examples_aws-enable-disable-regions.md).)
+ **Memungkinkan pengguna yang diautentikasi MFA untuk mengelola kredensialnya sendiri di halaman kredensi Keamanan.** ([Lihat kebijakan ini](reference_policies_examples_aws_my-sec-creds-self-manage.md).)
+ Memungkinkan akses khusus saat menggunakan MFA selama rentang tanggal tertentu. ([Lihat kebijakan ini](reference_policies_examples_aws_mfa-dates.md).)
+ Memungkinkan pengguna mengelola kredensialnya sendiri di halaman Kredensial **Keamanan**. ([Lihat kebijakan ini](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md).)
+ Memungkinkan pengguna untuk mengelola perangkat MFA mereka sendiri di halaman **kredensi Keamanan**. ([Lihat kebijakan ini](reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only.md).)
+ Memungkinkan pengguna mengelola kata sandi mereka sendiri di halaman **Kredensi Keamanan**. ([Lihat kebijakan ini](reference_policies_examples_aws_my-sec-creds-self-manage-password-only.md).)
+ Memungkinkan pengguna mengelola kata sandi, kunci akses, dan kunci publik SSH mereka sendiri di halaman **kredensi Keamanan**. ([Lihat kebijakan ini](reference_policies_examples_aws_my-sec-creds-self-manage-pass-accesskeys-ssh.md).)
+ Menolak akses AWS berdasarkan Wilayah yang diminta. ([Lihat kebijakan ini](reference_policies_examples_aws_deny-requested-region.md).)
+ Menolak akses AWS berdasarkan alamat IP sumber. ([Lihat kebijakan ini](reference_policies_examples_aws_deny-ip.md).)

## Contoh kebijakan: AWS Data Exchange
<a name="policy_data_exchange"></a>
+ Tolak akses ke sumber daya Amazon S3 di luar akun Anda kecuali. AWS Data Exchange([Lihat kebijakan ini](reference_policies_examples_resource_account_data_exch.md).)

## Contoh kebijakan: AWS Data Pipeline
<a name="policy_library_DataPipeline"></a>
+ Menolak akses ke saluran pipa yang tidak dibuat pengguna ([Lihat kebijakan ini](reference_policies_examples_datapipeline_not-owned.md).)

## Contoh kebijakan: Amazon DynamoDB
<a name="policy_library_DynamoDB"></a>
+ Mengizinkan akses ke tabel Amazon DynamoDB tertentu [(Lihat](reference_policies_examples_dynamodb_specific-table.md) kebijakan ini.)
+ Mengizinkan akses ke atribut Amazon DynamoDB tertentu [(Lihat](reference_policies_examples_dynamodb_attributes.md) kebijakan ini.)
+ [Mengizinkan akses tingkat item ke Amazon DynamoDB berdasarkan ID Amazon Cognito (Lihat kebijakan ini.)](reference_policies_examples_dynamodb_items.md)

## Contoh kebijakan: Amazon EC2
<a name="policy_library_ec2"></a>
+ Mengizinkan melampirkan atau melepaskan volume Amazon EBS ke EC2 instans Amazon berdasarkan tag ([Lihat](reference_policies_examples_ec2_ebs-owner.md) kebijakan ini.)
+ Memungkinkan peluncuran EC2 instans Amazon di subnet tertentu, secara terprogram dan di konsol ([Lihat](reference_policies_examples_ec2_instances-subnet.md) kebijakan ini.)
+ Memungkinkan mengelola grup EC2 keamanan Amazon yang terkait dengan VPC tertentu, secara terprogram dan di konsol ([Lihat](reference_policies_examples_ec2_securitygroups-vpc.md) kebijakan ini.)
+ Mengizinkan memulai atau menghentikan EC2 instans Amazon yang ditandai pengguna, secara terprogram, dan di konsol ([Lihat](reference_policies_examples_ec2_tag-owner.md) kebijakan ini.)
+ Mengizinkan memulai atau menghentikan EC2 instans Amazon berdasarkan sumber daya dan tag utama, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_ec2-start-stop-tags.md).)
+ Mengizinkan memulai atau menghentikan EC2 instans Amazon saat sumber daya dan tag utama cocok ([Lihat kebijakan ini](reference_policies_examples_ec2-start-stop-match-tags.md).)
+ Memungkinkan EC2 akses Amazon penuh dalam Wilayah tertentu, secara terprogram dan di konsol. ([Lihat kebijakan ini](reference_policies_examples_ec2_region.md).)
+ Memungkinkan memulai atau menghentikan EC2 instans Amazon tertentu dan memodifikasi grup keamanan tertentu, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_ec2_instance-securitygroup.md).)
+ Menolak akses ke EC2 operasi Amazon tertentu tanpa MFA [(Lihat kebijakan ini](reference_policies_examples_ec2_require-mfa.md).)
+ Membatasi penghentian EC2 instans Amazon ke rentang alamat IP tertentu ([Lihat kebijakan ini](reference_policies_examples_ec2_terminate-ip.md).)

## Contoh kebijakan: AWS Identity and Access Management (IAM)
<a name="policy_library_IAM"></a>
+ Mengizinkan akses ke API simulator kebijakan ([Lihat kebijakan ini](reference_policies_examples_iam_policy-sim.md).)
+ Mengizinkan akses ke konsol simulator kebijakan ([Lihat kebijakan ini](reference_policies_examples_iam_policy-sim-console.md).)
+ Mengizinkan untuk memberikan peran apa pun yang memiliki tanda tertentu, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_iam-assume-tagged-role.md).)
+ Mengizinkan dan menolak akses ke beberapa layanan, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_iam_multiple-services-console.md).)
+ Mengizinkan penambahan tag spesifik ke pengguna IAM dengan sebuah tag spesifik yang berbeda, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_iam-add-tag.md).)
+ Mengizinkan penambahan tag spesifik ke setiap pengguna IAM atau peran, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_iam-add-tag-user-role.md).)
+ Mengizinkan pembuatan pengguna baru hanya dengan tag spesifik ([Lihat kebijakan ini](reference_policies_examples_iam-new-user-tag.md).)
+ Mengizinkan menghasilkan dan mengambil laporan kredensial IAM ([Lihat kebijakan ini](reference_policies_examples_iam-credential-report.md).)
+ Mengizinkan pengelolaan keanggotaan grup, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_iam_manage-group-membership.md).)
+ Mengizinkan pengelolaan tag tertentu ([Lihat kebijakan ini](reference_policies_examples_iam-manage-tags.md).)
+ Mengizinkan untuk memberikan sebuah peran IAM ke layanan tertentu ([Lihat kebijakan ini](reference_policies_examples_iam-passrole-service.md).)
+ Mengizinkan akses hanya-baca ke konsol IAM tanpa melaporkan ([Lihat kebijakan ini](reference_policies_examples_iam_read-only-console-no-reporting.md).)
+ Mengizinkan akses hanya-baca ke konsol IAM ([Lihat kebijakan ini](reference_policies_examples_iam_read-only-console.md).)
+ Mengizinkan pengguna spesifik untuk mengelola sebuah grup, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_iam_users-manage-group.md).)
+ Mengizinkan pengaturan persyaratan kata sandi akun, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_iam_set-account-pass-policy.md).)
+ Mengizinkan penggunaan API simulator kebijakan untuk pengguna dengan jalan tertentu ([Lihat kebijakan ini](reference_policies_examples_iam_policy-sim-path.md).)
+ Mengizinkan penggunaan konsol simulator kebijakan untuk pengguna dengan jalan tertentu ([Lihat kebijakan ini](reference_policies_examples_iam_policy-sim-path-console.md).)
+ Mengizinkan pengguna IAM untuk mengatur sendiri perangkat MFA. ([Lihat kebijakan ini](reference_policies_examples_iam_mfa-selfmanage.md).)
+ Memungkinkan pengguna IAM untuk mengatur kredensialnya sendiri, secara terprogram dan di konsol. ([Lihat kebijakan ini](reference_policies_examples_iam_credentials_console.md).)
+ Memungkinkan layanan tampilan informasi yang terakhir diakses untuk AWS Organizations kebijakan di konsol IAM. ([Lihat kebijakan ini](reference_policies_examples_iam_service-accessed-data-orgs.md).)
+ Batasi kebijakan terkelola yang dapat diterapkan ke pengguna, kelompok atau peran IAM ([Lihat kebijakan ini](reference_policies_examples_iam_limit-managed.md).)
+ Mengizinkan akses ke kebijakan IAM hanya di akun Anda ([Lihat kebijakan ini](resource_examples_iam_policies_resource_account.md).)

## Contoh kebijakan: AWS Lambda
<a name="policy_library_Lambda"></a>
+ Mengizinkan AWS Lambda fungsi mengakses tabel Amazon DynamoDB [(Lihat](reference_policies_examples_lambda-access-dynamodb.md) kebijakan ini.)

## Contoh kebijakan: Amazon RDS
<a name="policy_library_RDS"></a>
+ Mengizinkan akses basis data RDS sepenuhnya di dalam Wilayah tertentu ([Lihat kebijakan ini](reference_policies_examples_rds_region.md).)
+ Mengizinkan pemulihan basis data Amazon RDS, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_rds_db-console.md).)
+ Mengizinkan pemilik tag mengakses sepenuhnya sumber daya Amazon RDS yang telah mereka tandai ([Lihat kebijakan ini](reference_policies_examples_rds_tag-owner.md).)

## Contoh kebijakan: Amazon S3
<a name="policy_library_S3"></a>
+ Mengizinkan pengguna Amazon Cognito mengakses objek dalam bucket Amazon S3 milik mereka ([Lihat kebijakan ini](reference_policies_examples_s3_cognito-bucket.md).)
+ [Memungkinkan pengguna dengan kredensi sementara untuk mengakses direktori home mereka sendiri di Amazon S3, secara terprogram dan di konsol (Lihat kebijakan ini.)](reference_policies_examples_s3_federated-home-directory-console.md)
+ Mengizinkan akses S3 penuh, tetapi secara tegas menolak akses ke bucket Produksi jika administrator belum masuk menggunakan MFA dalam tiga puluh menit terakhir ([Lihat kebijakan ini](reference_policies_examples_s3_full-access-except-production.md).)
+ Mengizinkan pengguna IAM untuk mengakses direktori home milik mereka di Amazon S3, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_s3_home-directory-console.md).)
+ Memungkinkan pengguna mengelola satu bucket Amazon S3 dan menolak setiap AWS tindakan dan sumber daya lainnya ([Lihat kebijakan ini](reference_policies_examples_s3_deny-except-bucket.md).)
+ Mengizinkan akses `Read` dan `Write` ke bucket Amazon S3 tertentu ([Lihat kebijakan ini](reference_policies_examples_s3_rw-bucket.md).)
+ Mengizinkan akses `Read` dan `Write` ke bucket Amazon S3 tertentu, secara terprogram dan di konsol ([Lihat kebijakan ini](reference_policies_examples_s3_rw-bucket-console.md).)

# AWS: Mengizinkan akses berdasarkan tanggal dan waktu
<a name="reference_policies_examples_aws-dates"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan akses ke tindakan berdasarkan tanggal dan waktu. Kebijakan ini membatasi akses ke tindakan yang terjadi antara 1 April 2020 dan 30 Juni 2020 (UTC), inklusif. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Untuk mempelajari tentang menggunakan beberapa ketentuan dalam blok `Condition` kebijakan IAM, lihat [Beberapa nilai dalam suatu ketentuan](reference_policies_elements_condition.md#Condition-multiple-conditions).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "service-prefix:action-name",
            "Resource": "*",
            "Condition": {
                "DateGreaterThan": {"aws:CurrentTime": "2020-04-01T00:00:00Z"},
                "DateLessThan": {"aws:CurrentTime": "2020-06-30T23:59:59Z"}
            }
        }
    ]
}
```

------

**catatan**  
Anda tidak dapat menggunakan variabel kebijakan dengan operator kondisi Tanggal. Untuk mempelajari lebih lanjut lihat [Elemen kondisi](reference_policies_variables.md#policy-vars-conditionelement)

# AWS: Memungkinkan mengaktifkan dan menonaktifkan Wilayah AWS
<a name="reference_policies_examples_aws-enable-disable-regions"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan administrator mengaktifkan dan menonaktifkan Wilayah Asia Pasifik (Hong Kong) (ap-east-1). Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Pengaturan ini muncul di halaman **Pengaturan akun** di Konsol Manajemen AWS. Halaman ini mencakup informasi tingkat akun yang sensitif yang harus dilihat dan dikelola hanya oleh administrator akun. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

**penting**  
Anda tidak dapat mengaktifkan atau menonaktifkan wilayah yang diaktifkan secara default. Anda hanya dapat memasukkan wilayah yang *dinonaktifkan* secara default. Untuk informasi selengkapnya, lihat [Mengelola Wilayah AWS](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html) di *Referensi Umum AWS*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableDisableHongKong",
            "Effect": "Allow",
            "Action": [
                "account:EnableRegion",
                "account:DisableRegion"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {"account:TargetRegion": "ap-east-1"}
            }
        },
        {
            "Sid": "ViewConsole",
            "Effect": "Allow",
            "Action": [
                "account:ListRegions"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# AWS: Memungkinkan pengguna IAM yang diautentikasi MFA untuk mengelola kredensialnya sendiri di halaman kredensi Keamanan
<a name="reference_policies_examples_aws_my-sec-creds-self-manage"></a>

**Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM yang diautentikasi menggunakan [otentikasi multi-faktor (MFA)](id_credentials_mfa.md) untuk mengelola kredensialnya sendiri di halaman Kredensi Keamanan.** Halaman Konsol Manajemen AWS ini menampilkan informasi akun seperti ID akun dan ID pengguna kanonik. Pengguna juga dapat melihat dan mengubah kata sandi, access key, perangkat MFA, sertifikat X.509, dan kunci SSH serta kredensial Git milik mereka. Contoh kebijakan ini mencakup izin yang diperlukan untuk melihat dan mengubah semua informasi di halaman tersebut. Ini juga mengharuskan pengguna untuk mengatur dan mengotentikasi menggunakan MFA sebelum melakukan operasi lain di. AWS Untuk mengizinkan pengguna mengelola kredensial milik mereka tanpa menggunakan MFA, lihat [AWS: Memungkinkan pengguna IAM untuk mengelola kredensialnya sendiri di halaman kredensial Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md).

Untuk mempelajari cara pengguna mengakses halaman **Kredensial keamanan**, lihat. [Cara pengguna IAM mengubah kata sandi mereka sendiri (konsol)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console)

**catatan**  
Kebijakan contoh ini tidak mengizinkan pengguna untuk mengatur ulang kata sandi saat masuk Konsol Manajemen AWS untuk pertama kalinya. Kami menyarankan Anda untuk tidak memberikan izin kepada pengguna baru sampai mereka masuk. Untuk informasi selengkapnya, lihat [Bagaimana cara membuat pengguna IAM dengan aman?](troubleshoot.md#troubleshoot_general_securely-create-iam-users). Ini juga mencegah pengguna dengan kata sandi yang kedaluwarsa mengatur ulang kata sandi mereka saat masuk. Anda dapat mengizinkan ini dengan menambahkan `iam:ChangePassword` dan `iam:GetAccountPasswordPolicy` ke pernyataan `DenyAllExceptListedIfNoMFA`. Namun, kami tidak merekomendasikan ini karena mengizinkan pengguna untuk mengubah kata sandi mereka tanpa MFA dapat menjadi risiko keamanan.
Jika Anda bermaksud menggunakan kebijakan ini untuk akses terprogram, Anda harus menelepon [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)untuk mengautentikasi dengan MFA. Untuk informasi selengkapnya, lihat [Akses API aman dengan MFA](id_credentials_mfa_configure-api-require.md).

**Apa yang dilakukan kebijakan ini?**
+ Pernyataan `AllowViewAccountInfo` mengizinkan pengguna untuk melihat informasi tingkat akun. Izin ini harus ada di dalam pernyataan milik mereka karena hal itu tidak mendukung atau tidak perlu untuk menentukan ARN sumber daya tertentu. Alih-alih, izin ini menentukan `"Resource" : "*"`. Pernyataan ini mencakup tindakan berikut yang mengizinkan pengguna melihat informasi spesifik: 
  + `GetAccountPasswordPolicy` – Melihat persyaratan kata sandi akun saat mengubah kata sandi pengguna IAM milik mereka.
  + `ListVirtualMFADevices` – Melihat detail tentang perangkat MFA virtual yang diaktifkan untuk pengguna.
+ Pernyataan `AllowManageOwnPasswords` mengizinkan pengguna untuk mengubah kata sandi milik mereka. Pernyataan ini juga mencakup `GetUser` tindakan, yang diperlukan untuk melihat sebagian besar informasi di halaman **Kredensi Keamanan Saya**.
+ Pernyataan `AllowManageOwnAccessKeys` mengizinkan pengguna untuk membuat, memperbarui, dan menghapus access key milik mereka. Pengguna juga dapat mengambil informasi tentang kapan kunci akses yang ditentukan terakhir digunakan.
+ Pernyataan `AllowManageOwnSigningCertificates` mengizinkan pengguna untuk mengunggah, memperbarui, dan menghapus sertifikat tanda tangan milik mereka.
+ Pernyataan `AllowManageOwnSSHPublicKeys` mengizinkan pengguna untuk mengunggah, memperbarui, dan menghapus kunci publik SSH milik mereka untuk CodeCommit.
+ Pernyataan `AllowManageOwnGitCredentials` mengizinkan pengguna untuk membuat, memperbarui, dan menghapus kredensial Git milik mereka untuk CodeCommit.
+ `AllowManageOwnVirtualMFADevice`Pernyataan tersebut memungkinkan pengguna untuk membuat perangkat MFA virtual mereka sendiri. ARN sumber daya dalam pernyataan ini memungkinkan pengguna untuk membuat perangkat MFA dengan nama apa pun, tetapi pernyataan lain dalam kebijakan hanya mengizinkan pengguna untuk melampirkan perangkat ke pengguna yang saat ini masuk.
+ Pernyataan `AllowManageOwnUserMFA` mengizinkan pengguna melihat atau mengelola perangkat MFA virtual, U2F, atau perangkat keras untuk pengguna milik mereka. ARN sumber daya dalam pernyataan ini mengizinkan akses hanya ke pengguna IAM milik pengguna. Pengguna tidak dapat melihat atau mengelola perangkat MFA untuk pengguna lain. 
+ `DenyAllExceptListedIfNoMFA`Pernyataan tersebut menolak akses ke setiap tindakan di semua AWS layanan, kecuali beberapa tindakan yang terdaftar, tetapi ***hanya jika*** pengguna tidak masuk dengan MFA. Pernyataan ini menggunakan kombinasi `"Deny"` dan `"NotAction"` untuk secara tegas menolak akses ke setiap tindakan yang tidak tercantum. Item yang tercantum tidak ditolak atau diizinkan oleh pernyataan ini. Namun, tindakan tersebut diizinkan oleh pernyataan lain dalam kebijakan tersebut. Untuk informasi lebih lanjut tentang logika untuk pernyataan ini, lihat [NotAction dengan Menolak](reference_policies_elements_notaction.md). Jika pengguna masuk di dengan MFA, maka pengujian `Condition` gagal dan pernyataan ini tidak menolak tindakan apa pun. Dalam kasus ini, kebijakan atau pernyataan lain untuk pengguna menentukan izin pengguna.

  Pernyataan ini memastikan bahwa ketika pengguna belum masuk dengan MFA yang dapat mereka lakukan hanya tindakan yang tercantum. Sebagai tambahan, mereka dapat melakukan tindakan yang tercantum hanya jika pernyataan atau kebijakan lain mengizinkan akses ke tindakan tersebut. Ini tidak mengizinkan pengguna untuk membuat kata sandi saat masuk, karena tindakan `iam:ChangePassword` seharusnya tidak boleh diizinkan tanpa otorisasi MFA.

  Versi `...IfExists` dari operator `Bool` memastikan bahwa jika kunci `aws:MultiFactorAuthPresent` hilang, ketentuan menghasilkan sah. Ini berarti bahwa pengguna yang mengakses kredensial jangka panjang sebuah API, seperti kunci akses, tidak diberi akses ke operasi API non-IAM.

Kebijakan ini tidak mengizinkan pengguna untuk melihat halaman **Pengguna** di konsol IAM atau menggunakan halaman tersebut untuk mengakses informasi pengguna milik mereka. Untuk mengizinkan ini, tambahkan tindakan `iam:ListUsers` ke pernyataan `AllowViewAccountInfo` dan pernyataan `DenyAllExceptListedIfNoMFA`. Ini juga tidak mengizinkan pengguna untuk mengubah kata sandi mereka di halaman pengguna milik mereka. Untuk memungkinkan ini, tambahkan `iam:GetLoginProfile` dan `iam:UpdateLoginProfile` tindakan ke `AllowManageOwnPasswords` pernyataan. Untuk juga mengizinkan pengguna mengubah kata sandi mereka dari halaman pengguna milik mereka tanpa masuk menggunakan MFA, tambahkan tindakan `iam:UpdateLoginProfile` ke pernyataan `DenyAllExceptListedIfNoMFA`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountPasswordPolicy",
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnPasswords",
            "Effect": "Allow",
            "Action": [
                "iam:ChangePassword",
                "iam:GetUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:CreateAccessKey",
                "iam:DeleteAccessKey",
                "iam:ListAccessKeys",
                "iam:UpdateAccessKey",
                "iam:GetAccessKeyLastUsed"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSigningCertificates",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSigningCertificate",
                "iam:ListSigningCertificates",
                "iam:UpdateSigningCertificate",
                "iam:UploadSigningCertificate"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSSHPublicKeys",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSSHPublicKey",
                "iam:GetSSHPublicKey",
                "iam:ListSSHPublicKeys",
                "iam:UpdateSSHPublicKey",
                "iam:UploadSSHPublicKey"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnGitCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceSpecificCredential",
                "iam:DeleteServiceSpecificCredential",
                "iam:ListServiceSpecificCredentials",
                "iam:ResetServiceSpecificCredential",
                "iam:UpdateServiceSpecificCredential"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnVirtualMFADevice",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice"
            ],
            "Resource": "arn:aws:iam::*:mfa/*"
        },
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:GetMFADevice",
                "iam:ListMFADevices",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice",
                "sts:GetSessionToken"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

# AWS: Mengizinkan akses tertentu dalam tanggal tertentu menggunakan MFA
<a name="reference_policies_examples_aws_mfa-dates"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang menggunakan beberapa kondisi, yang dievaluasi menggunakan logika. `AND` Ini memungkinkan akses penuh ke layanan bernama `SERVICE-NAME-1`, dan akses ke tindakan `ACTION-NAME-A` dan `ACTION-NAME-B` dalam layanan bernama `SERVICE-NAME-2`. Tindakan ini hanya diizinkan ketika pengguna diautentikasi menggunakan [autentikasi multifaktor (MFA)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa.html). Akses dibatasi untuk tindakan yang terjadi antara 1 Juli 2017 dan 31 Desember 2017 (UTC), termasuk. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Untuk mempelajari tentang menggunakan beberapa ketentuan dalam blok `Condition` kebijakan IAM, lihat [Beberapa nilai dalam suatu ketentuan](reference_policies_elements_condition.md#Condition-multiple-conditions).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "service-prefix-1:*",
            "service-prefix-2:action-name-a",
            "service-prefix-2:action-name-b"
        ],
        "Resource": "*",
        "Condition": {
            "Bool": {"aws:MultiFactorAuthPresent": true},
            "DateGreaterThan": {"aws:CurrentTime": "2017-07-01T00:00:00Z"},
            "DateLessThan": {"aws:CurrentTime": "2017-12-31T23:59:59Z"}
        }
    }
}
```

------

# AWS: Memungkinkan pengguna IAM untuk mengelola kredensialnya sendiri di halaman kredensial Keamanan
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa"></a>

**Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM mengelola semua kredensialnya sendiri di halaman kredensial Keamanan.** Konsol Manajemen AWS Halaman ini menampilkan informasi akun seperti ID akun dan ID pengguna kanonik. Pengguna juga dapat melihat dan mengubah kata sandi, access key, sertifikat X.509, kunci SSH, serta kredensial Git milik mereka. Contoh kebijakan ini mencakup izin yang diperlukan untuk melihat dan mengubah semua informasi di halaman tersebut *kecuali* perangkat MFA pengguna. Untuk mengizinkan pengguna mengelola kredensial milik mereka menggunakan MFA, lihat [AWS: Memungkinkan pengguna IAM yang diautentikasi MFA untuk mengelola kredensialnya sendiri di halaman kredensi Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage.md).

Untuk mempelajari cara pengguna mengakses halaman **Kredensial keamanan**, lihat. [Cara pengguna IAM mengubah kata sandi mereka sendiri (konsol)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console)

**Apa yang dilakukan kebijakan ini?**
+ Pernyataan `AllowViewAccountInfo` mengizinkan pengguna untuk melihat informasi tingkat akun. Izin ini harus ada di dalam pernyataan milik mereka karena hal itu tidak mendukung atau tidak perlu untuk menentukan ARN sumber daya tertentu. Alih-alih, izin ini menentukan `"Resource" : "*"`. Pernyataan ini mencakup tindakan berikut yang mengizinkan pengguna melihat informasi spesifik: 
  + `GetAccountPasswordPolicy` – Melihat persyaratan kata sandi akun saat mengubah kata sandi pengguna IAM milik mereka.
  + `GetAccountSummary` – Melihat ID akun dan akun [ID pengguna resmi](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId).
+ Pernyataan `AllowManageOwnPasswords` mengizinkan pengguna untuk mengubah kata sandi milik mereka. Pernyataan ini juga mencakup `GetUser` tindakan, yang diperlukan untuk melihat sebagian besar informasi di halaman **Kredensi Keamanan Saya**.
+ Pernyataan `AllowManageOwnAccessKeys` mengizinkan pengguna untuk membuat, memperbarui, dan menghapus access key milik mereka. Pengguna juga dapat mengambil informasi tentang kapan kunci akses yang ditentukan terakhir digunakan.
+ Pernyataan `AllowManageOwnSigningCertificates` mengizinkan pengguna untuk mengunggah, memperbarui, dan menghapus sertifikat tanda tangan milik mereka.
+ Pernyataan `AllowManageOwnSSHPublicKeys` mengizinkan pengguna untuk mengunggah, memperbarui, dan menghapus kunci publik SSH milik mereka untuk CodeCommit.
+ Pernyataan `AllowManageOwnGitCredentials` memungkinkan pengguna membuat, memperbarui, dan menghapus kredensial milik mereka untuk CodeCommit.

Kebijakan ini tidak mengizinkan pengguna melihat atau mengelola perangkat MFA milik mereka. Mereka juga tidak dapat melihat halaman **Pengguna** di konsol IAM atau menggunakan halaman tersebut untuk mengakses informasi pengguna milik mereka. Untuk mengijinkan ini, tambahkan tindakan `iam:ListUsers` ke pernyataan `AllowViewAccountInfo`. Ini juga tidak mengizinkan pengguna untuk mengubah kata sandi mereka di halaman pengguna milik mereka. Untuk mengizinkan ini, tambahkan tindakan `iam:CreateLoginProfile`, `iam:DeleteLoginProfile`, `iam:GetLoginProfile`, and `iam:UpdateLoginProfile` ke pernyataan `AllowManageOwnPasswords`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountPasswordPolicy",
                "iam:GetAccountSummary"       
            ],
            "Resource": "*"
        },       
        {
            "Sid": "AllowManageOwnPasswords",
            "Effect": "Allow",
            "Action": [
                "iam:ChangePassword",
                "iam:GetUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:CreateAccessKey",
                "iam:DeleteAccessKey",
                "iam:ListAccessKeys",
                "iam:UpdateAccessKey",
                "iam:GetAccessKeyLastUsed"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSigningCertificates",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSigningCertificate",
                "iam:ListSigningCertificates",
                "iam:UpdateSigningCertificate",
                "iam:UploadSigningCertificate"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSSHPublicKeys",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSSHPublicKey",
                "iam:GetSSHPublicKey",
                "iam:ListSSHPublicKeys",
                "iam:UpdateSSHPublicKey",
                "iam:UploadSSHPublicKey"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnGitCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceSpecificCredential",
                "iam:DeleteServiceSpecificCredential",
                "iam:ListServiceSpecificCredentials",
                "iam:ResetServiceSpecificCredential",
                "iam:UpdateServiceSpecificCredential"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------

# AWS: Memungkinkan pengguna IAM yang diautentikasi MFA untuk mengelola perangkat MFA mereka sendiri di halaman kredensi Keamanan
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-mfa-only"></a>

**Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM yang diautentikasi melalui [otentikasi multi-faktor (MFA) untuk mengelola perangkat MFA](id_credentials_mfa.md) mereka sendiri di halaman kredensi Keamanan.** Konsol Manajemen AWS Halaman ini menampilkan informasi akun dan pengguna, tetapi pengguna hanya dapat melihat dan mengedit perangkat MFA mereka sendiri. Untuk mengizinkan pengguna mengelola semua kredensial milik mereka menggunakan MFA, lihat [AWS: Memungkinkan pengguna IAM yang diautentikasi MFA untuk mengelola kredensialnya sendiri di halaman kredensi Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage.md).

**catatan**  
Jika pengguna IAM dengan kebijakan ini tidak diautentikasi oleh MFA, kebijakan ini menolak akses ke semua AWS tindakan kecuali yang diperlukan untuk mengautentikasi menggunakan MFA. Untuk menggunakan AWS API AWS CLI dan, pengguna IAM harus terlebih dahulu mengambil token MFA mereka menggunakan AWS STS [GetSessionToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetSessionToken.html)operasi dan kemudian menggunakan token itu untuk mengautentikasi operasi yang diinginkan. Kebijakan lain, seperti kebijakan berbasis sumber daya atau kebijakan berbasis identitas lainnya dapat memungkinkan tindakan di layanan lain. Kebijakan ini akan menolak akses tersebut jika pengguna IAM tidak diautentikasi oleh MFA.

Untuk mempelajari cara pengguna dapat mengakses halaman **Kredensial keamanan**, lihat. [Cara pengguna IAM mengubah kata sandi mereka sendiri (konsol)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console)

**Apa yang dilakukan kebijakan ini?**
+ Pernyataan `AllowViewAccountInfo` mengizinkan pengguna untuk melihat detail tentang perangkat MFA virtual yang diaktifkan untuk pengguna. Izin ini harus berada dalam pernyataannya sendiri karena hal itu tidak mendukung ARN sumber daya tertentu. Sebagai gantinya Anda harus menentukan `"Resource" : "*"`.
+ `AllowManageOwnVirtualMFADevice`Pernyataan tersebut memungkinkan pengguna untuk membuat perangkat MFA virtual mereka sendiri. ARN sumber daya dalam pernyataan ini memungkinkan pengguna untuk membuat perangkat MFA dengan nama apa pun, tetapi pernyataan lain dalam kebijakan hanya mengizinkan pengguna untuk melampirkan perangkat ke pengguna yang saat ini masuk.
+ Pernyataan `AllowManageOwnUserMFA` mengizinkan pengguna untuk melihat atau mengelola perangkat MFA virtual, U2F, atau perangkat keras milik mereka. ARN sumber daya dalam pernyataan ini mengizinkan akses hanya ke pengguna IAM milik pengguna. Pengguna tidak dapat melihat atau mengelola perangkat MFA untuk pengguna lain.
+ `DenyAllExceptListedIfNoMFA`Pernyataan tersebut menolak akses ke setiap tindakan di semua AWS layanan, kecuali beberapa tindakan yang terdaftar, tetapi ***hanya jika*** pengguna tidak masuk dengan MFA. Pernyataan ini menggunakan kombinasi `"Deny"` dan `"NotAction"` untuk secara tegas menolak akses ke setiap tindakan yang tidak tercantum. Item yang tercantum tidak ditolak atau diizinkan oleh pernyataan ini. Namun, tindakan tersebut diizinkan oleh pernyataan lain dalam kebijakan tersebut. Untuk informasi lebih lanjut tentang logika untuk pernyataan ini, lihat [NotAction dengan Menolak](reference_policies_elements_notaction.md). Jika pengguna masuk di dengan MFA, maka pengujian `Condition` gagal dan pernyataan ini tidak menolak tindakan apa pun. Dalam kasus ini, kebijakan atau pernyataan lain untuk pengguna menentukan izin pengguna.

  Pernyataan ini memastikan bahwa ketika pengguna belum masuk di dengan MFA, mereka hanya dapat melakukan tindakan yang tercantum. Sebagai tambahan, mereka dapat melakukan tindakan yang tercantum hanya jika pernyataan atau kebijakan lain mengizinkan akses ke tindakan tersebut.

  Versi `...IfExists` dari operator `Bool` memastikan bahwa jika kunci `aws:MultiFactorAuthPresent` hilang, ketentuan menghasilkan sah. Ini berarti bahwa pengguna yang mengakses kredensial jangka panjang operasi API, seperti kunci akses, ditolak aksesnya ke operasi API non-IAM.

Kebijakan ini tidak mengizinkan pengguna untuk melihat halaman **Pengguna** di konsol IAM atau menggunakan halaman tersebut untuk mengakses informasi pengguna milik mereka. Untuk mengizinkan ini, tambahkan tindakan `iam:ListUsers` ke pernyataan `AllowViewAccountInfo` dan pernyataan `DenyAllExceptListedIfNoMFA`.

**Awas**  
Jangan tambahkan izin untuk menghapus perangkat MFA tanpa autentikasi MFA. Pengguna dengan kebijakan ini mungkin mencoba untuk menetapkan sendiri perangkat MFA virtual dan menerima kesalahan bahwa mereka tidak berwenang untuk melakukan. `iam:DeleteVirtualMFADevice` Jika ini terjadi, **jangan** tambahkan izin tersebut ke pernyataan `DenyAllExceptListedIfNoMFA`. Pengguna yang tidak diautentikasi menggunakan MFA seharusnya tidak pernah diizinkan untuk menghapus perangkat MFA mereka. Pengguna mungkin melihat kesalahan ini jika sebelumnya mereka mulai memberikan perangkat MFA virtual ke penggunanya dan membatalkan proses tersebut. Untuk mengatasi masalah ini, Anda atau administrator lain harus menghapus perangkat MFA virtual pengguna yang ada menggunakan API AWS CLI atau AWS . Lihat informasi yang lebih lengkap di [Saya tidak berwenang untuk melakukan: iam: DeleteVirtual MFADevice](troubleshoot.md#troubleshoot_general_access-denied-delete-mfa).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": "iam:ListVirtualMFADevices",
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnVirtualMFADevice",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice"
            ],
            "Resource": "arn:aws:iam::*:mfa/*"
        },
        {
            "Sid": "AllowManageOwnUserMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:GetMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "DenyAllExceptListedIfNoMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:GetUser",
                "iam:ListMFADevices",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice",
                "sts:GetSessionToken"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {"aws:MultiFactorAuthPresent": "false"}
            }
        }
    ]
}
```

------

# AWS: Memungkinkan pengguna IAM untuk mengubah kata sandi konsol mereka sendiri di halaman kredensi Keamanan
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-password-only"></a>

**Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM mengubah Konsol Manajemen AWS kata sandi mereka sendiri di halaman kredensial Keamanan.** Konsol Manajemen AWS Halaman ini menampilkan informasi akun dan pengguna, tetapi pengguna hanya dapat mengakses kata sandi mereka sendiri. Untuk mengizinkan pengguna mengelola semua kredensial milik mereka menggunakan MFA, lihat [AWS: Memungkinkan pengguna IAM yang diautentikasi MFA untuk mengelola kredensialnya sendiri di halaman kredensi Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage.md). Untuk mengizinkan pengguna mengelola kredensial milik mereka tanpa menggunakan MFA, lihat [AWS: Memungkinkan pengguna IAM untuk mengelola kredensialnya sendiri di halaman kredensial Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md).

Untuk mempelajari cara pengguna dapat mengakses halaman **Kredensial keamanan**, lihat. [Cara pengguna IAM mengubah kata sandi mereka sendiri (konsol)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console)

**Apa yang dilakukan kebijakan ini?**
+ Pernyataan `ViewAccountPasswordRequirements` mengizinkan pengguna untuk melihat persyaratan kata sandi akun saat mengubah kata sandi pengguna IAM milik mereka.
+ Pernyataan `ChangeOwnPassword` mengizinkan pengguna untuk mengubah kata sandi milik mereka. Pernyataan ini juga mencakup `GetUser` tindakan, yang diperlukan untuk melihat sebagian besar informasi di halaman **Kredensi Keamanan Saya**.

Kebijakan ini tidak mengizinkan pengguna untuk melihat halaman **Pengguna** di konsol IAM atau menggunakan halaman tersebut untuk mengakses informasi pengguna milik mereka. Untuk mengijinkan ini, tambahkan tindakan `iam:ListUsers` ke pernyataan `ViewAccountPasswordRequirements`. Ini juga tidak mengizinkan pengguna untuk mengubah kata sandi mereka di halaman pengguna milik mereka. Untuk memungkinkan ini, tambahkan `iam:GetLoginProfile` dan `iam:UpdateLoginProfile` tindakan ke `ChangeOwnPasswords` pernyataan.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewAccountPasswordRequirements",
            "Effect": "Allow",
            "Action": "iam:GetAccountPasswordPolicy",
            "Resource": "*"
        },
        {
            "Sid": "ChangeOwnPassword",
            "Effect": "Allow",
            "Action": [
                "iam:GetUser",
                "iam:ChangePassword"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------

# AWS: Memungkinkan pengguna IAM untuk mengelola kata sandi, kunci akses, dan kunci publik SSH mereka sendiri di halaman kredensi Keamanan
<a name="reference_policies_examples_aws_my-sec-creds-self-manage-pass-accesskeys-ssh"></a>

**Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM mengelola kata sandi, kunci akses, dan sertifikat X.509 mereka sendiri di halaman kredensial Keamanan.** Halaman Konsol Manajemen AWS ini menampilkan informasi akun seperti ID akun dan ID pengguna kanonik. Pengguna juga dapat melihat dan mengubah kata sandi, access key, perangkat MFA, sertifikat X.509, kunci SSH, dan kredensial Git milik mereka. Kebijakan contoh ini mencakup izin yang diperlukan untuk hanya melihat dan mengubah kata sandi, access key, dan sertifikat X.509 miliknya. Untuk mengizinkan pengguna mengelola semua kredensial milik mereka menggunakan MFA, lihat [AWS: Memungkinkan pengguna IAM yang diautentikasi MFA untuk mengelola kredensialnya sendiri di halaman kredensi Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage.md). Untuk mengizinkan pengguna mengelola kredensial milik mereka tanpa menggunakan MFA, lihat [AWS: Memungkinkan pengguna IAM untuk mengelola kredensialnya sendiri di halaman kredensial Keamanan](reference_policies_examples_aws_my-sec-creds-self-manage-no-mfa.md).

Untuk mempelajari cara pengguna mengakses halaman **Kredensial keamanan**, lihat. [Cara pengguna IAM mengubah kata sandi mereka sendiri (konsol)](id_credentials_passwords_user-change-own.md#ManagingUserPwdSelf-Console)

**Apa yang dilakukan kebijakan ini?**
+ Pernyataan `AllowViewAccountInfo` mengizinkan pengguna untuk melihat informasi tingkat akun. Izin ini harus ada di dalam pernyataan milik mereka karena hal itu tidak mendukung atau tidak perlu untuk menentukan ARN sumber daya tertentu. Alih-alih, izin ini menentukan `"Resource" : "*"`. Pernyataan ini mencakup tindakan berikut yang mengizinkan pengguna melihat informasi spesifik: 
  + `GetAccountPasswordPolicy` – Melihat persyaratan kata sandi akun saat mengubah kata sandi pengguna IAM milik mereka.
  + `GetAccountSummary` – Melihat ID akun dan akun [ID pengguna resmi](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId).
+ Pernyataan `AllowManageOwnPasswords` mengizinkan pengguna untuk mengubah kata sandi milik mereka. Pernyataan ini juga mencakup `GetUser` tindakan, yang diperlukan untuk melihat sebagian besar informasi di halaman **Kredensi Keamanan Saya**.
+ Pernyataan `AllowManageOwnAccessKeys` mengizinkan pengguna untuk membuat, memperbarui, dan menghapus access key milik mereka. Pengguna juga dapat mengambil informasi tentang kapan kunci akses yang ditentukan terakhir digunakan.
+ Pernyataan `AllowManageOwnSSHPublicKeys` mengizinkan pengguna untuk mengunggah, memperbarui, dan menghapus kunci publik SSH milik mereka untuk CodeCommit.

Kebijakan ini tidak mengizinkan pengguna melihat atau mengelola perangkat MFA milik mereka. Mereka juga tidak dapat melihat halaman **Pengguna** di konsol IAM atau menggunakan halaman tersebut untuk mengakses informasi pengguna milik mereka. Untuk mengijinkan ini, tambahkan tindakan `iam:ListUsers` ke pernyataan `AllowViewAccountInfo`. Ini juga tidak mengizinkan pengguna untuk mengubah kata sandi mereka di halaman pengguna milik mereka. Untuk memungkinkan ini, tambahkan `iam:GetLoginProfile` dan `iam:UpdateLoginProfile` tindakan ke `AllowManageOwnPasswords` pernyataan. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowViewAccountInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetAccountPasswordPolicy",
                "iam:GetAccountSummary"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnPasswords",
            "Effect": "Allow",
            "Action": [
                "iam:ChangePassword",
                "iam:GetUser"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:CreateAccessKey",
                "iam:DeleteAccessKey",
                "iam:ListAccessKeys",
                "iam:UpdateAccessKey",
                "iam:GetAccessKeyLastUsed"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowManageOwnSSHPublicKeys",
            "Effect": "Allow",
            "Action": [
                "iam:DeleteSSHPublicKey",
                "iam:GetSSHPublicKey",
                "iam:ListSSHPublicKeys",
                "iam:UpdateSSHPublicKey",
                "iam:UploadSSHPublicKey"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        }
    ]
}
```

------

# AWS: Menolak akses AWS berdasarkan Wilayah yang diminta
<a name="reference_policies_examples_aws_deny-requested-region"></a>

Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang menolak akses ke tindakan apa pun di luar Wilayah yang ditentukan menggunakan [kunci `aws:RequestedRegion` kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion), kecuali untuk tindakan dalam layanan yang ditentukan menggunakan. `NotAction` Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Kebijakan ini menggunakan elemen `NotAction` dengan efek `Deny`, yang secara tegas menghalangi akses ke semua tindakan yang *tidak* tercantum dalam pernyataan. Tindakan dalam CloudFront, IAM, Rute 53, dan Dukungan layanan tidak boleh ditolak karena ini adalah layanan AWS global populer dengan titik akhir tunggal yang secara fisik terletak di `us-east-1` Wilayah. Karena semua permintaan untuk layanan ini diajukan ke Wilayah `us-east-1`, permintaan tidak akan ditolak tanpa elemen `NotAction`. Edit elemen ini untuk menyertakan tindakan untuk layanan AWS global lainnya yang Anda gunakan, seperti`budgets`,`globalaccelerator`,`importexport`,`organizations`, atau`waf`. Beberapa layanan global lainnya, seperti Amazon Q Developer dalam aplikasi obrolan dan AWS Device Farm, adalah layanan global dengan titik akhir yang secara fisik berlokasi di `us-west-2` wilayah tersebut. Untuk mempelajari tentang semua layanan yang memiliki titik akhir global tunggal, lihat[Wilayah dan Titik Akhir AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html) di *Referensi Umum AWS*. Untuk informasi selengkapnya tentang penggunaan elemen `NotAction` dengan efek `Deny`, lihat [Elemen kebijakan IAM JSON: NotAction](reference_policies_elements_notaction.md). 

**penting**  
Kebijakan ini tidak mengizinkan tindakan apa pun. Gunakan kebijakan ini bersama dengan kebijakan lain yang mengizinkan tindakan tertentu. 

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

****  

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

------

# AWS: Menolak akses AWS berdasarkan IP sumber
<a name="reference_policies_examples_aws_deny-ip"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang menolak akses ke semua AWS tindakan di akun saat permintaan berasal dari *prinsipal* di luar rentang IP yang ditentukan. Kebijakan ini berguna saat alamat IP untuk perusahaan Anda berada dalam cakupan tertentu. Dalam contoh ini, permintaan akan ditolak kecuali berasal dari kisaran CIDR 192.0.2.0/24 atau 203.0.113.0/24. Kebijakan ini tidak menolak permintaan yang dibuat oleh AWS layanan yang digunakan [Teruskan sesi akses](access_forward_access_sessions.md) karena alamat IP pemohon asli dipertahankan.

Hati-hati saat menggunakan kondisi negatif dalam pernyataan kebijakan yang sama seperti `"Effect": "Deny"`. Saat Anda melakukannya, tindakan yang ditentukan dalam pernyataan kebijakan secara eksplisit ditolak di semua kondisi *kecuali* untuk yang ditentukan.

**penting**  
Kebijakan ini tidak mengizinkan tindakan apa pun. Gunakan kebijakan ini bersama dengan kebijakan lain yang mengizinkan tindakan tertentu. 

Ketika kebijakan lain mengizinkan tindakan, prinsipal dapat membuat permintaan dari rentang alamat IP. AWS Layanan juga dapat membuat permintaan menggunakan kredensi kepala sekolah. Saat prinsipal mengajukan permintaan dari luar rentang IP, permintaan tersebut ditolak.

Untuk informasi selengkapnya tentang penggunaan kunci `aws:SourceIp` kondisi, termasuk informasi tentang kapan `aws:SourceIp` mungkin tidak berfungsi dalam kebijakan Anda, lihat[AWS kunci konteks kondisi global](reference_policies_condition-keys.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Deny",
        "Action": "*",
        "Resource": "*",
        "Condition": {
            "NotIpAddress": {
                "aws:SourceIp": [
                    "192.0.2.0/24",
                    "203.0.113.0/24"
                ]
            }
        }
    }
}
```

------

# AWS: Tolak akses ke sumber daya Amazon S3 di luar akun Anda kecuali AWS Data Exchange
<a name="reference_policies_examples_resource_account_data_exch"></a>

Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang menolak akses ke semua sumber daya AWS yang bukan milik akun Anda, kecuali sumber daya yang AWS Data Exchange diperlukan untuk pengoperasian normal. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md). 

Anda dapat membuat kebijakan serupa untuk membatasi akses ke sumber daya dalam organisasi atau unit organisasi, sambil menghitung sumber daya yang AWS Data Exchange dimiliki dengan menggunakan kunci kondisi `aws:ResourceOrgPaths` dan`aws:ResourceOrgID`.

Jika Anda menggunakan AWS Data Exchange di lingkungan Anda, layanan akan membuat dan berinteraksi dengan sumber daya seperti bucket Amazon S3 yang dimiliki oleh akun layanan. Misalnya, AWS Data Exchange mengirimkan permintaan ke bucket Amazon S3 yang dimiliki oleh AWS Data Exchange layanan atas nama prinsipal IAM (pengguna atau peran) yang memanggil. AWS Data Exchange APIs Dalam hal ini, menggunakan`aws:ResourceAccount`,`aws:ResourceOrgPaths`, atau `aws:ResourceOrgID` dalam kebijakan, tanpa memperhitungkan sumber daya yang AWS Data Exchange dimiliki, menolak akses ke ember yang dimiliki oleh akun layanan.
+ Pernyataan tersebut`DenyAllAwsResourcesOutsideAccountExceptS3`,, menggunakan `NotAction` elemen dengan efek [Deny](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_effect.html) yang secara eksplisit menolak akses ke setiap tindakan yang tidak tercantum dalam pernyataan yang juga bukan milik akun yang terdaftar. `NotAction`Elemen menunjukkan pengecualian untuk pernyataan ini. Tindakan ini merupakan pengecualian untuk pernyataan ini karena jika tindakan dilakukan pada sumber daya yang dibuat oleh AWS Data Exchange, kebijakan menyangkalnya.
+ Pernyataan itu`DenyAllS3ResoucesOutsideAccountExceptDataExchange`,, menggunakan kombinasi `ResourceAccount` dan `CalledVia` kondisi untuk menolak akses ke tiga tindakan Amazon S3 yang dikecualikan dalam pernyataan sebelumnya. Pernyataan tersebut menyangkal tindakan jika sumber daya tidak termasuk dalam akun yang terdaftar dan jika layanan panggilan tidak AWS Data Exchange. Pernyataan tersebut tidak menyangkal tindakan jika sumber daya milik akun yang terdaftar atau kepala layanan yang terdaftar`dataexchange.amazonaws.com`,, melakukan operasi.

**penting**  
Kebijakan ini tidak mengizinkan tindakan apa pun. Ini menggunakan `Deny` efek yang secara eksplisit menolak akses ke semua sumber daya yang tercantum dalam pernyataan yang bukan milik akun yang terdaftar. Gunakan kebijakan ini dalam kombinasi dengan kebijakan lain yang memungkinkan akses ke sumber daya tertentu.

Contoh berikut menunjukkan cara mengonfigurasi kebijakan untuk mengizinkan akses ke bucket Amazon S3 yang diperlukan.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "DenyAllAwsReourcesOutsideAccountExceptAmazonS3",
      "Effect": "Deny",
      "NotAction": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "111122223333"
          ]
        }
      }
    },
    {
      "Sid": "DenyAllS3ResourcesOutsideAccountExceptDataExchange",
      "Effect": "Deny",
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "111122223333"
          ]
        },
        "ForAllValues:StringNotEquals": {
          "aws:CalledVia": [
            "dataexchange.amazonaws.com"
          ]
        }
      }
    }
  ]
}
```

------

# AWS Data Pipeline: Menolak akses ke DataPipeline saluran pipa yang tidak dibuat pengguna
<a name="reference_policies_examples_datapipeline_not-owned"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang menolak akses ke pipeline yang tidak dibuat pengguna. Jika nilai kolom `PipelineCreator` cocok dengan nama pengguna IAM, maka tindakan yang ditentukan tidak ditolak. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI

**penting**  
Kebijakan ini tidak mengizinkan tindakan apa pun. Gunakan kebijakan ini bersama dengan kebijakan lain yang mengizinkan tindakan tertentu. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ExplicitDenyIfNotTheOwner",
            "Effect": "Deny",
            "Action": [
                "datapipeline:ActivatePipeline",
                "datapipeline:AddTags",
                "datapipeline:DeactivatePipeline",
                "datapipeline:DeletePipeline",
                "datapipeline:DescribeObjects",
                "datapipeline:EvaluateExpression",
                "datapipeline:GetPipelineDefinition",
                "datapipeline:PollForTask",
                "datapipeline:PutPipelineDefinition",
                "datapipeline:QueryObjects",
                "datapipeline:RemoveTags",
                "datapipeline:ReportTaskProgress",
                "datapipeline:ReportTaskRunnerHeartbeat",
                "datapipeline:SetStatus",
                "datapipeline:SetTaskStatus",
                "datapipeline:ValidatePipelineDefinition"
            ],
            "Resource": ["*"],
            "Condition": {
                "StringNotEquals": {"datapipeline:PipelineCreator": "${aws:userid}"}
            }
        }
    ]
}
```

------

# Amazon DynamoDB: Memungkinkan akses ke tabel tertentu
<a name="reference_policies_examples_dynamodb_specific-table"></a>

Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang memungkinkan akses penuh ke tabel `MyTable` DynamoDB. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

**penting**  
Kebijakan ini memungkinkan semua tindakan yang dapat dilakukan pada tabel DynamoDB. Untuk meninjau tindakan ini, lihat [Izin API DynamoDB: Referensi Tindakan, Sumber Daya, dan Ketentuan](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/api-permissions-reference.html) di Panduan Pengembang Amazon *DynamoDB*. Anda dapat memberikan izin yang sama dengan mencantumkan setiap tindakan individu. Namun, jika Anda menggunakan wildcard (`*`) dalam `Action` elemen, misalnya, Anda tidak perlu memperbarui kebijakan jika DynamoDB menambahkan tindakan List baru. `"dynamodb:List*"` 

Kebijakan ini mengizinkan tindakan hanya pada tabel DynamoDB yang ada dengan nama yang ditentukan. Untuk memungkinkan pengguna `Read` mengakses semua yang ada di DynamoDB, Anda juga dapat melampirkan [AmazonDynamoDBReadOnlyAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess) AWS kebijakan terkelola.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListAndDescribe",
            "Effect": "Allow",
            "Action": [
                "dynamodb:List*",
                "dynamodb:DescribeReservedCapacity*",
                "dynamodb:DescribeLimits",
                "dynamodb:DescribeTimeToLive"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SpecificTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:BatchGet*",
                "dynamodb:DescribeStream",
                "dynamodb:DescribeTable",
                "dynamodb:Get*",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:BatchWrite*",
                "dynamodb:CreateTable",
                "dynamodb:Delete*",
                "dynamodb:Update*",
                "dynamodb:PutItem"
            ],
            "Resource": "arn:aws:dynamodb:*:*:table/MyTable"
        }
    ]
}
```

------

# Amazon DynamoDB: Memungkinkan akses ke atribut tertentu
<a name="reference_policies_examples_dynamodb_attributes"></a>

Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang memungkinkan akses ke atribut DynamoDB tertentu. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Persyaratan `dynamodb:Select` mencegah tindakan API dari mengembalikan atribut apapun yang tidak diperbolehkan, seperti dari proyeksi indeks. Untuk mempelajari selengkapnya tentang kunci kondisi DynamoDB, [lihat Menentukan Kondisi: Menggunakan Kunci Kondisi](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/specifying-conditions.html#FGAC_DDB.ConditionKeys) di Panduan Pengembang Amazon *DynamoDB*. Untuk mempelajari tentang menggunakan beberapa ketentuan atau beberapa kunci kondisi dalam blok `Condition` dari kebijakan IAM, lihat [Beberapa nilai dalam suatu ketentuan](reference_policies_elements_condition.md#Condition-multiple-conditions).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:GetItem",
                "dynamodb:BatchGetItem",
                "dynamodb:Query",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem",
                "dynamodb:DeleteItem",
                "dynamodb:BatchWriteItem"
            ],
            "Resource": ["arn:aws:dynamodb:*:*:table/table-name"],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "dynamodb:Attributes": [
                        "column-name-1",
                        "column-name-2",
                        "column-name-3"
                    ]
                },
                "StringEqualsIfExists": {"dynamodb:Select": "SPECIFIC_ATTRIBUTES"}
            }
        }
    ]
}
```

------

# Amazon DynamoDB: Mengizinkan akses tingkat item ke DynamoDB berdasarkan ID Amazon Cognito
<a name="reference_policies_examples_dynamodb_items"></a>

Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang memungkinkan akses tingkat item ke tabel `MyTable` DynamoDB berdasarkan ID pengguna kumpulan identitas Amazon Cognito. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Untuk menggunakan kebijakan ini, Anda harus menyusun tabel DynamoDB sehingga ID pengguna kumpulan identitas Amazon Cognito adalah kunci partisi. Untuk informasi selengkapnya, lihat [Membuat Tabel](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.Basics.html#WorkingWithTables.Basics.CreateTable) di Panduan Pengembang *Amazon DynamoDB*.

Untuk mempelajari selengkapnya tentang kunci kondisi DynamoDB, [lihat Menentukan Kondisi: Menggunakan Kunci Kondisi](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/specifying-conditions.html#FGAC_DDB.ConditionKeys) di Panduan Pengembang Amazon *DynamoDB*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "dynamodb:DeleteItem",
                "dynamodb:GetItem",
                "dynamodb:PutItem",
                "dynamodb:Query",
                "dynamodb:UpdateItem"
            ],
            "Resource": ["arn:aws:dynamodb:*:*:table/MyTable"],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "dynamodb:LeadingKeys": ["${cognito-identity.amazonaws.com:sub}"]
                }
            }
        }
    ]
}
```

------

# Amazon EC2: Lampirkan atau lepaskan volume Amazon EBS ke instans EC2 berdasarkan tag
<a name="reference_policies_examples_ec2_ebs-owner"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pemilik volume EBS melampirkan atau melepaskan volume EBS mereka yang ditentukan menggunakan tag `VolumeUser` ke instans EC2 yang ditandai sebagai instance pengembangan (). `Department=Development` Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Untuk informasi selengkapnya tentang membuat kebijakan IAM untuk mengontrol akses ke sumber daya Amazon EC2, [lihat Mengontrol Akses ke Sumber Daya Amazon EC2 di Panduan Pengguna Amazon *EC2*](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "ec2:DetachVolume"
            ],
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringEquals": {"aws:ResourceTag/Department": "Development"}
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AttachVolume",
                "ec2:DetachVolume"
            ],
            "Resource": "arn:aws:ec2:*:*:volume/*",
            "Condition": {
                "StringEquals": {"aws:ResourceTag/VolumeUser": "${aws:username}"}
            }
        }
    ]
}
```

------

# Amazon EC2: Memungkinkan peluncuran instans EC2 di subnet tertentu, secara terprogram dan di konsol
<a name="reference_policies_examples_ec2_instances-subnet"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan daftar informasi untuk semua objek EC2 dan meluncurkan instans EC2 di subnet tertentu. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "ec2:GetConsole*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*:*:subnet/subnet-subnet-id",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:volume/*",
                "arn:aws:ec2:*::image/ami-*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        }
    ]
}
```

------

# Amazon EC2: Memungkinkan mengelola grup keamanan EC2 dengan pasangan nilai kunci tag tertentu secara terprogram dan di konsol
<a name="reference_policies_examples_ec2_securitygroups-vpc"></a>

Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang memberikan izin kepada pengguna untuk mengambil tindakan tertentu untuk grup keamanan yang memiliki tag yang sama. Kebijakan ini memberikan izin untuk melihat grup keamanan di konsol Amazon EC2, menambah dan menghapus aturan masuk dan keluar, serta mencantumkan serta mengubah deskripsi aturan untuk grup keamanan yang ada dengan tag. `Department=Test` Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeSecurityGroups",
         "ec2:DescribeSecurityGroupRules",
         "ec2:DescribeTags"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:AuthorizeSecurityGroupIngress", 
         "ec2:RevokeSecurityGroupIngress", 
         "ec2:AuthorizeSecurityGroupEgress", 
         "ec2:RevokeSecurityGroupEgress", 
         "ec2:ModifySecurityGroupRules",
         "ec2:UpdateSecurityGroupRuleDescriptionsIngress", 
         "ec2:UpdateSecurityGroupRuleDescriptionsEgress"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
      ],
      "Condition": {
         "StringEquals": {
            "aws:ResourceTag/Department": "Test"
         }
      }
     },     
     {
      "Effect": "Allow",
      "Action": [
         "ec2:ModifySecurityGroupRules"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:security-group-rule/*"
      ]
     }
   ]
}
```

------

# Amazon EC2: Memungkinkan memulai atau menghentikan instans EC2 yang telah ditandai pengguna, secara terprogram, dan di konsol
<a name="reference_policies_examples_ec2_tag-owner"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM untuk memulai atau menghentikan instans EC2, tetapi hanya jika tag instans `Owner` memiliki nilai nama pengguna tersebut. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Owner": "${aws:username}"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*"
        }
    ]
}
```

------

# EC2: Mulai atau hentikan instance berdasarkan tag
<a name="reference_policies_examples_ec2-start-stop-tags"></a>

Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang memungkinkan memulai atau menghentikan instance dengan pasangan nilai kunci tag`Project = DataAnalytics`, tetapi hanya berdasarkan prinsip dengan pasangan nilai kunci tag. `Department = Data` Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md). 

Ketentuan dalam pengembalian kebijakan benar jika kedua bagian dari ketentuan tersebut benar. Instans harus memiliki tanda `Project=DataAnalytics`. Sebagai tambahan, prinsipal IAM (pengguna atau peran) yang membuat permintaan harus memiliki tag `Department=Data`. 

**catatan**  
Sebagai praktik terbaik, lampirkan kebijakan dengan kunci ketentuan `aws:PrincipalTag` ke grup IAM, untuk kasus di mana beberapa pengguna mungkin memiliki tag tertentu dan beberapa mungkin tidak. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "StartStopIfTags",
            "Effect": "Allow",
            "Action": [
                "ec2:StartInstances",
                "ec2:StopInstances"
            ],
            "Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/Project": "DataAnalytics",
                    "aws:PrincipalTag/Department": "Data"
                }
            }
        }
    ]
}
```

------

# EC2: Mulai atau hentikan instans berdasarkan pada pencocokan prinsipal dan tanda sumber daya
<a name="reference_policies_examples_ec2-start-stop-match-tags"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan prinsipal memulai atau menghentikan instans Amazon EC2 saat tag sumber daya instans dan tag prinsipal memiliki nilai yang sama untuk kunci tag. `CostCenter` Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md). 

**catatan**  
Sebagai praktik terbaik, lampirkan kebijakan dengan kunci ketentuan `aws:PrincipalTag` ke grup IAM, untuk kasus di mana beberapa pengguna mungkin memiliki tag tertentu dan beberapa mungkin tidak. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "ec2:startInstances",
            "ec2:stopInstances"
        ],
        "Resource": "*",
        "Condition": {"StringEquals": 
            {"aws:ResourceTag/CostCenter": "${aws:PrincipalTag/CostCenter}"}}
    }
}
```

------

# Amazon EC2: Memungkinkan akses EC2 penuh dalam Wilayah tertentu, secara terprogram dan di konsol
<a name="reference_policies_examples_ec2_region"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan akses EC2 penuh dalam Wilayah tertentu. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md). Untuk daftar kode Wilayah, lihat [Wilayah yang Tersedia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-available-regions) dalam *Panduan Pengguna Amazon EC2*.

Atau, Anda dapat menggunakan kunci kondisi global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requestedregion), yang didukung oleh semua tindakan Amazon EC2 API. Untuk informasi selengkapnya, lihat [Contoh: Membatasi akses ke Wilayah tertentu](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region) di Panduan *Pengguna Amazon EC2*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "ec2:*",
            "Resource": "*",
            "Effect": "Allow",
            "Condition": {
                "StringEquals": {
                    "ec2:Region": "us-east-2"
                }
            }
        }
    ]
}
```

------

# Amazon EC2: Memungkinkan memulai atau menghentikan instans EC2 dan memodifikasi grup keamanan, secara terprogram dan di konsol
<a name="reference_policies_examples_ec2_instance-securitygroup"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan memulai atau menghentikan instans EC2 tertentu dan memodifikasi grup keamanan tertentu. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "ec2:DescribeInstances",
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeSecurityGroupReferences",
        "ec2:DescribeStaleSecurityGroups"
      ],
      "Resource": "*",
      "Effect": "Allow"
    },
    {
      "Action": [
        "ec2:AuthorizeSecurityGroupEgress",
        "ec2:AuthorizeSecurityGroupIngress",
        "ec2:RevokeSecurityGroupEgress",
        "ec2:RevokeSecurityGroupIngress",
        "ec2:StartInstances",
        "ec2:StopInstances"
      ],
      "Resource": [
        "arn:aws:ec2:*:*:instance/i-instance-id",
        "arn:aws:ec2:*:*:security-group/sg-security-group-id"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------

# Amazon EC2: Memerlukan MFA (GetSessionToken) untuk operasi EC2 tertentu
<a name="reference_policies_examples_ec2_require-mfa"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan akses penuh ke semua operasi AWS API di Amazon EC2. Namun, itu secara tegas menolak akses ke `StopInstances` dan `TerminateInstances` Operasi API jika pengguna tidak diautentikasi menggunakan [Multi-Factor Authentication (MFA)](id_credentials_mfa.md). Untuk melakukan ini secara terprogram, pengguna harus menyertakan nilai opsional `SerialNumber` dan `TokenCode` saat memanggil operasi `GetSessionToken`. Operasi ini mengembalikan kredensial sementara yang diautentikasi menggunakan MFA. Untuk mempelajari lebih lanjut tentang GetSessionToken, lihat[Meminta kredensi untuk pengguna di lingkungan yang tidak tepercaya](id_credentials_temp_request.md#api_getsessiontoken).

Apa yang dikerjakan oleh kebijakan ini?
+ Pernyataan `AllowAllActionsForEC2` mengizinkan semua tindakan Amazon EC2
+ Pernyataan `DenyStopAndTerminateWhenMFAIsNotPresent` menolak tindakan `StopInstances` dan `TerminateInstances` saat konteks MFA hilang. Ini berarti tindakan tersebut ditolak saat konteks multi-factor authentication hilang (artinya MFA tidak digunakan). Penolakan mennimpa izin.

**catatan**  
Pemeriksaaan ketentuan untuk `MultiFactorAuthPresent` dalam pernyataan `Deny` tidak boleh berupa `{"Bool":{"aws:MultiFactorAuthPresent":false}}` karena kunci tersebut tidak ada dan tidak dapat dievaluasi saat MFA tidak digunakan. Sebagai gantinya, gunakan periksa `BoolIfExists` untuk melihat apakah kuncinya ada sebelum memeriksa nilai. Lihat informasi yang lebih lengkap di [... IfExists operator kondisi](reference_policies_elements_condition_operators.md#Conditions_IfExists).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllActionsForEC2",
            "Effect": "Allow",
            "Action": "ec2:*",
            "Resource": "*"
        },
        {
            "Sid": "DenyStopAndTerminateWhenMFAIsNotPresent",
            "Effect": "Deny",
            "Action": [
                "ec2:StopInstances",
                "ec2:TerminateInstances"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {"aws:MultiFactorAuthPresent": false}
            }
        }
    ]
}
```

------

# Amazon EC2: Membatasi penghentian instans EC2 ke rentang alamat IP
<a name="reference_policies_examples_ec2_terminate-ip"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang membatasi instans EC2 dengan mengizinkan tindakan, tetapi secara eksplisit menolak akses ketika permintaan berasal dari luar rentang IP yang ditentukan. Kebijakan ini berguna saat alamat IP untuk perusahaan Anda berada dalam cakupan tertentu. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Jika kebijakan ini digunakan bersama dengan kebijakan lain yang mengizinkan `ec2:TerminateInstances` tindakan (seperti kebijakan yang EC2 FullAccess AWS dikelola [Amazon](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEC2FullAccess)), akses ditolak. Hal ini dikarenakan pernyataan penolakan yang eksplisit lebih diutamakan daripada pernyataan yang membolehkan. Untuk informasi selengkapnya, lihat [Bagaimana logika kode AWS penegakan mengevaluasi permintaan untuk mengizinkan atau menolak akses](reference_policies_evaluation-logic_policy-eval-denyallow.md).

**penting**  
Kunci `aws:SourceIp` kondisi menolak akses ke Layanan AWS, seperti AWS CloudFormation, yang membuat panggilan atas nama Anda. Untuk informasi selengkapnya tentang penggunaan kunci kondisi `aws:SourceIp`, lihat [AWS kunci konteks kondisi global](reference_policies_condition-keys.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": ["ec2:TerminateInstances"],
            "Resource": ["*"]
        },
        {
            "Effect": "Deny",
            "Action": ["ec2:TerminateInstances"],
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            },
            "Resource": ["*"]
        }
    ]
}
```

------

# IAM: Akses API simulator kebijakan
<a name="reference_policies_examples_iam_policy-sim"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan penggunaan API simulator kebijakan untuk kebijakan yang dilampirkan ke pengguna, grup, atau peran saat ini. Akun AWS Kebijakan ini juga mengizinkan akses untuk menyimulasikan kebijakan yang kurang sensitif untuk diteruskan ke API sebagai strings. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:GetContextKeysForCustomPolicy",
                "iam:GetContextKeysForPrincipalPolicy",
                "iam:SimulateCustomPolicy",
                "iam:SimulatePrincipalPolicy"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

**catatan**  
Untuk mengizinkan pengguna mengakses konsol simulator kebijakan guna mensimulasikan kebijakan yang dilampirkan ke pengguna, grup, atau peran saat ini Akun AWS, lihat[IAM: Akses konsol simulator kebijakan](reference_policies_examples_iam_policy-sim-console.md).

# IAM: Akses konsol simulator kebijakan
<a name="reference_policies_examples_iam_policy-sim-console"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan penggunaan konsol simulator kebijakan untuk kebijakan yang dilampirkan ke pengguna, grup, atau peran saat ini. Akun AWS Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI

[Anda dapat mengakses konsol IAM Policy Simulator di:/https://policysim.aws.amazon.com](https://policysim.aws.amazon.com/)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:GetGroup",
                "iam:GetGroupPolicy",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:GetUser",
                "iam:GetUserPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListAttachedRolePolicies",
                "iam:ListAttachedUserPolicies",
                "iam:ListGroups",
                "iam:ListGroupPolicies",
                "iam:ListGroupsForUser",
                "iam:ListRolePolicies",
                "iam:ListRoles",
                "iam:ListUserPolicies",
                "iam:ListUsers"
            ],
            "Effect": "Allow",
            "Resource": "*"
        }
    ]
}
```

------

# IAM: Asumsikan peran yang memiliki tag tertentu
<a name="reference_policies_examples_iam-assume-tagged-role"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM untuk mengambil peran dengan pasangan nilai kunci tag. `Project = ExampleCorpABC` Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [edit kebijakan](access_policies_manage-edit.md). 

Jika ada peran dengan tag ini pada akun yang sama dengan pengguna, maka pengguna dapat mengambil peran tersebut. Jika ada peran dengan tanda ini pada akun selain milik pengguna, peran tersebut memerlukan izin tambahan. Kebijakan kepercayaan peran lintas-akun juga harus mengizinkan pengguna atau semua anggota dari akun pengguna untuk mengambil peran itu. Untuk informasi tentang penggunaan peran untuk akses lintas-akun, lihat [Akses untuk pengguna IAM di pengguna lain Akun AWS yang Anda miliki](id_roles_common-scenarios_aws-accounts.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AssumeTaggedRole",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {"iam:ResourceTag/Project": "ExampleCorpABC"}
            }
        }
    ]
}
```

------

# IAM: Mengizinkan dan menolak akses ke beberapa layanan secara terprogram dan di konsol
<a name="reference_policies_examples_iam_multiple-services-console"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan akses penuh ke beberapa layanan dan akses pengelolaan mandiri terbatas di IAM. Ia juga menolak akses ke bucket `logs` Amazon S3 atau contoh `i-1234567890abcdef0` Amazon EC2. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [edit kebijakan](access_policies_manage-edit.md).

**Awas**  
Kebijakan ini mengizinkan akses penuh ke setiap tindakan dan sumber daya dalam beberapa layanan. Kebijakan ini harus diterapkan hanya bagi administrator yang tepercaya.

Anda dapat menggunakan kebijakan ini sebagai batasan izin untuk menentukan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada pengguna IAM. Untuk informasi selengkapnya, lihat [Mendelegasikan tanggung jawab kepada orang lain menggunakan batas izin](access_policies_boundaries.md#access_policies_boundaries-delegate). Ketika kebijakan itu digunakan sebagai batasan izin bagi pengguna, pernyataan itu menentukan batasan berikut:
+ Pernyataan `AllowServices` mengizinkan akses penuh ke layanan AWS tertentu. Artinya, tindakan pengguna dalam layanan ini hanya dibatasi oleh kebijakan izin yang melekat pada pengguna.
+ Pernyataan `AllowIAMConsoleForCredentials` mengizinkan akses untuk mencantumkan semua pengguna IAM. Akses ini diperlukan untuk menavigasi halaman **Pengguna** di Konsol Manajemen AWS. Ia juga mengizinkan untuk melihat persyaratan kata sandi untuk akun, yang diperlukan bagi pengguna untuk mengubah kata sandinya sendiri.
+ Pernyataan `AllowManageOwnPasswordAndAccessKeys` ini mengizinkan pengguna mengelola kata sandi konsol dan kunci akses programnya sendiri. Ini penting karena jika kebijakan lain memberi akses IAM penuh ke pengguna, pengguna tersebut lalu dapat mengubah izinnya sendiri atau izin pengguna lain. Pernyataan ini mencegah hal tersebut terjadi.
+ Pernyataan `DenyS3Logs` itu secara eksplisit menolak akses ke `logs` bucket. Kebijakan ini menerapkan batasan perusahaan kepada pengguna.
+ Pernyataan `DenyEC2Production` secara eksplisit menolak akses ke instans `i-1234567890abcdef0`.

Kebijakan ini tidak mengizinkan akses ke layanan atau tindakan lain. Jika kebijakan digunakan sebagai batas izin pada pengguna, meskipun kebijakan lain yang dilampirkan pada pengguna mengizinkan tindakan tersebut, AWS menolak permintaan tersebut.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowServices",
            "Effect": "Allow",
            "Action": [
                "s3:*",
                "cloudwatch:*",
                "ec2:*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowIAMConsoleForCredentials",
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:GetAccountPasswordPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowManageOwnPasswordAndAccessKeys",
            "Effect": "Allow",
            "Action": [
                "iam:*AccessKey*",
                "iam:ChangePassword",
                "iam:GetUser",
                "iam:*LoginProfile*"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "DenyS3Logs",
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::logs",
                "arn:aws:s3:::logs/*"
            ]
        },
        {
            "Sid": "DenyEC2Production",
            "Effect": "Deny",
            "Action": "ec2:*",
            "Resource": "arn:aws:ec2:*:*:instance/i-1234567890abcdef0"
        }
    ]
}
```

------

# IAM: Tambahkan tag tertentu ke pengguna dengan tag tertentu
<a name="reference_policies_examples_iam-add-tag"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan penambahan kunci tag `Department` dengan nilai tag `Marketing``Development`, atau `QualityAssurance` ke pengguna IAM. Pengguna tersebut harus sudah menyertakan pasangan kunci tag — nilai. `JobFunction = manager` Anda dapat menggunakan kebijakan ini untuk mewajibkan satu manajer hanya dimiliki oleh satu dari tiga departemen. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md). 

Pernyataan `ListTagsForAllUsers` memungkinkan melihat tanda untuk semua pengguna di akun Anda. 

Kondisi pertama dalam `TagManagerWithSpecificDepartment` pernyataan menggunakan `StringEquals` operator kondisi. Kondisi akan kembali sebagai benar bila kedua bagian dari kondisi adalah benar. Pengguna yang akan ditandai harus sudah memiliki tanda `JobFunction=Manager`. Permintaan itu harus menyertakan kunci tanda `Department` dengan satu nilai tanda yang terdaftar. 

Kondisi kedua menggunakan operator kondisi `ForAllValues:StringEquals`. Kondisi mengembalikan benar jika semua kunci tanda dalam permintaan sesuai dengan kunci dalam kebijakan. Artinya satu-satunya kunci tanda dalam permintaan tersebut harus `Department`. Untuk informasi selengkapnya tentang penggunaan `ForAllValues`, lihat [Tetapkan operator untuk kunci konteks multivaluasi](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListTagsForAllUsers",
            "Effect": "Allow",
            "Action": [
                "iam:ListUserTags",
                "iam:ListUsers"
            ],
            "Resource": "*"
        },
        {
            "Sid": "TagManagerWithSpecificDepartment",
            "Effect": "Allow",
            "Action": "iam:TagUser",
            "Resource": "*",
            "Condition": {"StringEquals": {
                "iam:ResourceTag/JobFunction": "Manager",
                "aws:RequestTag/Department": [
                    "Marketing",
                    "Development",
                    "QualityAssurance"
                    ]
                },
                "ForAllValues:StringEquals": {"aws:TagKeys": "Department"}
            }
        }
    ]
}
```

------

# IAM: Tambahkan tag tertentu dengan nilai tertentu
<a name="reference_policies_examples_iam-add-tag-user-role"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan hanya menambahkan kunci tag `CostCenter` dan nilai tag `A-123` atau nilai tag `B-456` ke pengguna atau peran IAM mana pun. Anda dapat menggunakan kebijakan ini untuk membatasi penandaan ke kunci tanda tertentu dan serangkaian nilai tanda. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md). 

Pernyataan `ConsoleDisplay` memungkinkan melihat tanda untuk semua pengguna dan peran dalam akun Anda. 

Kondisi pertama dalam `AddTag` pernyataan menggunakan `StringEquals` operator kondisi. Kondisi mengembalikan benar jika permintaan memasukkan kunci tanda `CostCenter` dengan satu nilai tanda yang terdaftar. 

Kondisi kedua menggunakan operator kondisi `ForAllValues:StringEquals`. Kondisi mengembalikan benar jika semua kunci tanda dalam permintaan sesuai dengan kunci dalam kebijakan. Artinya satu-satunya kunci tanda dalam permintaan tersebut harus `CostCenter`. Untuk informasi selengkapnya tentang penggunaan `ForAllValues`, lihat [Tetapkan operator untuk kunci konteks multivaluasi](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConsoleDisplay",
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:GetUser",
                "iam:ListRoles",
                "iam:ListRoleTags",
                "iam:ListUsers",
                "iam:ListUserTags"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AddTag",
            "Effect": "Allow",
            "Action": [
                "iam:TagUser",
                "iam:TagRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/CostCenter": [
                        "A-123",
                        "B-456"
                    ]
                },
                "ForAllValues:StringEquals": {"aws:TagKeys": "CostCenter"}
            }
        }
    ]
}
```

------

# IAM: Buat pengguna baru hanya dengan tag tertentu
<a name="reference_policies_examples_iam-new-user-tag"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pembuatan pengguna IAM tetapi hanya dengan satu atau kedua kunci dan tag. `Department` `JobFunction` Kunci tanda `Department` harus memiliki nilai tanda `Development` atau `QualityAssurance`. Kunci tanda `JobFunction` harus memiliki nilia tanda `Employee`. Anda dapat menggunakan kebijakan ini untuk mewajibkan bahwa pengguna baru memiliki fungsi dan departemen tugas tertentu. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md). 

Kondisi pertama dalam pernyataan itu menggunakan `StringEqualsIfExists` operator kondisi. Jika tanda dengan kunci `Department` atau `JobFunction` ada dalam permintaan, tanda tersebut harus memiliki nilai yang ditentukan. Jika tidak ada kunci yang muncul, maka kondisi ini akan dievaluasi sebagai benar. Satu-satunya cara bahwa kondisi itu dievaluasi sebagai salah adalah bila satu dari kunci kondisi yang ditentukan muncul dalam permintaan, tetapi memiliki nilai berbeda dari yang diizinkan. Untuk informasi selengkapnya tentang penggunaan `IfExists`, lihat [... IfExists operator kondisi](reference_policies_elements_condition_operators.md#Conditions_IfExists).

Kondisi kedua menggunakan operator kondisi `ForAllValues:StringEquals`. Kondisi akan mengembalikan benar bila ada kecocokan di antara setiap kunci tanda khusus yang ditentukan dalam permintaan, dan setidaknya satu nilai dalam kebijakan. Artinya, semua tanda dalam permintaan harus ada dalam daftar ini. Namun, permintaan tersebut hanya dapat memasukkan satu tanda ke dalam daftar. Misalnya, Anda dapat membuat pengguna IAM hanya dengan `Department=QualityAssurance` tag. Namun, Anda tidak dapat membuat pengguna IAM dengan `JobFunction=employee` tag dan `Project=core` tag. Untuk informasi selengkapnya tentang penggunaan `ForAllValues`, lihat [Tetapkan operator untuk kunci konteks multivaluasi](reference_policies_condition-single-vs-multi-valued-context-keys.md#reference_policies_condition-multi-valued-context-keys).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TagUsersWithOnlyTheseTags",
            "Effect": "Allow",
            "Action": [
                "iam:CreateUser",
                "iam:TagUser"
            ],
            "Resource": "*",
            "Condition": {
                "StringEqualsIfExists": {
                    "aws:RequestTag/Department": [
                        "Development",
                        "QualityAssurance"
                    ],
                    "aws:RequestTag/JobFunction": "Employee"
                },
                "ForAllValues:StringEquals": {
                    "aws:TagKeys": [
                        "Department",
                        "JobFunction"
                    ]
                }
            }
        }
    ]
}
```

------

# IAM: Menghasilkan dan mengambil laporan kredensi IAM
<a name="reference_policies_examples_iam-credential-report"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan pengguna membuat dan mengunduh laporan yang mencantumkan semua pengguna IAM di dalamnya. Akun AWS Laporan ini termasuk status dari kredensial pengguna, termasuk kata sandi, access key, perangkat MFA, dan sertifikat tanda tangan. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI

Untuk informasi selengkapnya tentang laporan kredensial, lihat [Hasilkan laporan kredensi untuk Anda Akun AWS](id_credentials_getting-report.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:GenerateCredentialReport",
            "iam:GetCredentialReport"
        ],
        "Resource": "*"
    }
}
```

------

# IAM: Memungkinkan mengelola keanggotaan grup secara terprogram dan di konsol
<a name="reference_policies_examples_iam_manage-group-membership"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan memperbarui keanggotaan grup yang dipanggil. `MarketingTeam` Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [edit kebijakan](access_policies_manage-edit.md).

Apa yang dikerjakan oleh kebijakan ini?
+ Pernyataan `ViewGroups` memungkinkan penggunanya mencantumkan semua pengguna dan grup di Konsol Manajemen AWS. Ia juga memungkinkan pengguna untuk melihat informasi dasar tentang pengguna di akun. Izin ini harus ada di dalam pernyataannya sendiri karena mereka tidak mendukung atau tidak perlu menentukan ARN sumber daya tertentu. Alih-alih, izin ini menentukan `"Resource" : "*"`.
+ Pernyataan `ViewEditThisGroup` ini memungkinkan pengguna melihat informasi tentang `MarketingTeam` grup, dan menambahkan dan menghapus pengguna dari grup tersebut.

Kebijakan ini tidak mengizinkan pengguna untuk melihat atau mengedit izin dari pengguna atau `MarketingTeam` dari grup.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewGroups",
            "Effect": "Allow",
            "Action": [
                "iam:ListGroups",
                "iam:ListUsers",
                "iam:GetUser",
                "iam:ListGroupsForUser"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ViewEditThisGroup",
            "Effect": "Allow",
            "Action": [
                "iam:AddUserToGroup",
                "iam:RemoveUserFromGroup",
                "iam:GetGroup"
            ],
            "Resource": "arn:aws:iam::*:group/MarketingTeam"
        }
    ]
}
```

------

# IAM: Kelola tag tertentu
<a name="reference_policies_examples_iam-manage-tags"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan penambahan dan penghapusan tag IAM dengan kunci tag `Department` dari entitas IAM (pengguna dan peran). Kebijakan ini tidak membatasi nilai `Department` tag. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md). 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:TagUser",
            "iam:TagRole",
            "iam:UntagUser",
            "iam:UntagRole"

        ],
        "Resource": "*",
        "Condition": {"ForAllValues:StringEquals": {"aws:TagKeys": "Department"}}
    }
}
```

------

# IAM: Lulus peran IAM ke layanan tertentu AWS
<a name="reference_policies_examples_iam-passrole-service"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan meneruskan peran layanan IAM apa pun ke layanan Amazon. CloudWatch Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md). 

Peran layanan adalah peran IAM yang menentukan AWS layanan sebagai prinsipal yang dapat mengambil peran tersebut. Ini memungkinkan layanan untuk mengambil peran dan mengakses sumber daya di layanan lain atas nama Anda. Untuk memungkinkan Amazon CloudWatch mengambil peran yang Anda lewati, Anda harus menentukan prinsip `cloudwatch.amazonaws.com` layanan sebagai prinsipal dalam kebijakan kepercayaan peran Anda. Prinsipiel layanan ditentukan oleh layanan tersebut. Untuk mempelajari prinsipal layanan dari layanan, lihat dokumentasi untuk layanan tersebut. Untuk beberapa layanan, lihat [AWS layanan yang bekerja dengan IAM](reference_aws-services-that-work-with-iam.md) dan cari layanan yang **Ya **dalam **kolom** Peran Terkait-Layanan. Pilih **Ya** dengan tautan untuk melihat dokumentasi peran yang terkait dengan layanan untuk layanan tersebut. Cari `amazonaws.com` untuk melihat prinsipal layanan.

Untuk mempelajari penerusan peran layanan ke layanan, lihat [Berikan izin pengguna untuk meneruskan peran ke layanan AWS](id_roles_use_passrole.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {"iam:PassedToService": "cloudwatch.amazonaws.com"}
            }
        }
    ]
}
```

------

# IAM: Mengizinkan akses hanya-baca ke konsol IAM tanpa melaporkan
<a name="reference_policies_examples_iam_read-only-console-no-reporting"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM untuk melakukan tindakan IAM apa pun yang dimulai dengan string atau. `Get` `List` Saat pengguna bekerja dengan konsol, konsol membuat permintaan ke IAM untuk mencantumkan grup, pengguna, peran, dan kebijakan, dan untuk menghasilkan laporan tentang sumber daya tersebut.

Tanda bintang berfungsi sebagai wildcard. Saat Anda menggunakan `iam:Get*` kebijakan, izin yang dihasilkan mencakup semua tindakan IAM yang dimulai`Get`, seperti `GetUser` dan. `GetRole` Wildcard berguna jika jenis entitas baru ditambahkan ke IAM di masa mendatang. Dalam hal itu, izin yang diberikan oleh kebijakan secara otomatis memungkinkan pengguna mendaftar dan mendapat rincian mengenai entitas baru tersebut. 

Kebijakan ini tidak dapat digunakan untuk membuat laporan atau detail layanan yang terakhir diakses. Untuk kebijakan yang berbeda yang mengizinkan ini, lihat [IAM: Mengizinkan akses hanya-baca ke konsol IAM](reference_policies_examples_iam_read-only-console.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:Get*",
            "iam:List*"
        ],
        "Resource": "*"
    }
}
```

------

# IAM: Mengizinkan akses hanya-baca ke konsol IAM
<a name="reference_policies_examples_iam_read-only-console"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM melakukan tindakan IAM apa pun yang dimulai dengan string,, atau. `Get` `List` `Generate` Saat pengguna bekerja dengan konsol IAM, konsol membuat permintaan untuk mencantumkan grup, pengguna, peran, dan kebijakan, dan untuk menghasilkan laporan tentang sumber daya tersebut.

Tanda bintang berfungsi sebagai wildcard. Saat Anda menggunakan `iam:Get*` kebijakan, izin yang dihasilkan mencakup semua tindakan IAM yang dimulai`Get`, seperti `GetUser` dan. `GetRole` Menggunakan wildcard bermanfaat, terutama jika jenis entitas baru ditambahkan ke IAM di masa depan. Dalam hal itu, izin yang diberikan oleh kebijakan secara otomatis memungkinkan pengguna mendaftar dan mendapat rincian mengenai entitas baru tersebut. 

Gunakan kebijakan ini untuk akses konsol yang menyertakan izin untuk menghasilkan laporan atau detail layanan yang terakhir diakses. Untuk kebijakan yang berbeda yang tidak memungkinkan pembuatan tindakan, lihat [IAM: Mengizinkan akses hanya-baca ke konsol IAM tanpa melaporkan](reference_policies_examples_iam_read-only-console-no-reporting.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:Get*",
            "iam:List*",
            "iam:Generate*"
        ],
        "Resource": "*"
    }
}
```

------

# IAM: Memungkinkan pengguna IAM tertentu untuk mengelola grup secara terprogram dan di konsol
<a name="reference_policies_examples_iam_users-manage-group"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM tertentu mengelola grup. `AllUsers` Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [edit kebijakan](access_policies_manage-edit.md).

Apa yang dikerjakan oleh kebijakan ini?
+ Pernyataan `AllowAllUsersToListAllGroups` ini memungkinkan pendaftaran semua grup. Hal ini diperlukan untuk akses konsol. Izin ini harus berada dalam pernyataannya sendiri karena tidak mendukung ARN sumber daya. Alih-alih, izin ini menentukan `"Resource" : "*"`.
+ Pernyataan `AllowAllUsersToViewAndManageThisGroup` ini mengizinkan semua tindakan grup yang dapat dilakukan pada tipe sumber daya grup. Ia tidak mengizinkan `ListGroupsForUser` tindakan, yang dapat dilakukan pada tipe sumber daya pengguna dan bukan tipe sumber daya grup. Untuk informasi selengkapnya tentang jenis sumber daya yang dapat Anda tentukan untuk tindakan IAM, lihat [Tindakan, Sumber Daya, dan Kunci Kondisi untuk AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_identityandaccessmanagement.html#identityandaccessmanagement-actions-as-permissions).
+ `LimitGroupManagementAccessToSpecificUsers`Pernyataan tersebut menolak pengguna dengan akses nama yang ditentukan untuk menulis dan tindakan grup manajemen izin. Ketika pengguna yang ditentukan dalam kebijakan mencoba untuk membuat perubahan pada grup, pernyataan ini tidak menolak permintaan tersebut. Permintaan tersebut akan diizinkan oleh `AllowAllUsersToViewAndManageThisGroup` pernyataan. Jika pengguna lain mencoba melakukan operasi ini, permintaannya ditolak. Anda dapat melihat tindakan IAM yang dijelaskan dengan **Tulis** atau **pengelolaan izin** tingkat akses sambil membuat kebijakan ini di konsol IAM. Untuk melakukan hal ini, beralihlah dari tab **JSON** ke tab**editor Visual**. Untuk informasi selengkapnya tentang tingkat akses. lihat [Tindakan, Sumber Daya, dan Kunci Kondisi untuk AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_identityandaccessmanagement.html#identityandaccessmanagement-actions-as-permissions).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowAllUsersToListAllGroups",
            "Effect": "Allow",
            "Action": "iam:ListGroups",
            "Resource": "*"
        },
        {
            "Sid": "AllowAllUsersToViewAndManageThisGroup",
            "Effect": "Allow",
            "Action": "iam:*Group*",
            "Resource": "arn:aws:iam::*:group/AllUsers"
        },
        {
            "Sid": "LimitGroupManagementAccessToSpecificUsers",
            "Effect": "Deny",
            "Action": [
                "iam:AddUserToGroup",
                "iam:CreateGroup",
                "iam:RemoveUserFromGroup",
                "iam:DeleteGroup",
                "iam:AttachGroupPolicy",
                "iam:UpdateGroup",
                "iam:DetachGroupPolicy",
                "iam:DeleteGroupPolicy",
                "iam:PutGroupPolicy"
            ],
            "Resource": "arn:aws:iam::*:group/AllUsers",
            "Condition": {
                "StringNotEquals": {
                    "aws:username": [
                        "srodriguez",
                        "mjackson",
                        "adesai"
                    ]
                }
            }
        }
    ]
}
```

------

# IAM: Memungkinkan pengaturan persyaratan kata sandi akun secara terprogram dan di konsol
<a name="reference_policies_examples_iam_set-account-pass-policy"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pengguna untuk melihat dan memperbarui persyaratan kata sandi akun mereka. Persyaratan kata sandi tersebut menentukan kompleksitas persyaratan dan periode rotasi wajib untuk kata sandi para anggota akun. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol.

Untuk mempelajari bagaimana mengatur persyaratan kata sandi akun untuk akun Anda, lihat [Menetapkan kebijakan kata sandi akun untuk pengguna IAM](id_credentials_passwords_account-policy.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:GetAccountPasswordPolicy",
            "iam:UpdateAccountPasswordPolicy"
        ],
        "Resource": "*"
    }
}
```

------

# IAM: Akses API simulator kebijakan berdasarkan jalur pengguna
<a name="reference_policies_examples_iam_policy-sim-path"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan penggunaan API simulator kebijakan hanya untuk pengguna yang memiliki jalur. `Department/Development` Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:GetContextKeysForPrincipalPolicy",
                "iam:SimulatePrincipalPolicy"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:user/Department/Development/*"
        }
    ]
}
```

------

**catatan**  
Untuk membuat kebijakan yang memungkinkan penggunaan konsol simulator kebijakan untuk pengguna yang memiliki jalur `Department/Development`, lihat [IAM: Akses konsol simulator kebijakan berdasarkan jalur pengguna](reference_policies_examples_iam_policy-sim-path-console.md).

# IAM: Akses konsol simulator kebijakan berdasarkan jalur pengguna
<a name="reference_policies_examples_iam_policy-sim-path-console"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan penggunaan konsol simulator kebijakan hanya untuk pengguna yang memiliki jalur. `Department/Development` Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

[Anda dapat mengakses Simulator Kebijakan IAM di:/https://policysim.aws.amazon.com](https://policysim.aws.amazon.com/)

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "iam:GetPolicy",
                "iam:GetUserPolicy"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "iam:GetUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListGroupsForUser",
                "iam:ListUserPolicies",
                "iam:ListUsers"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iam::*:user/Department/Development/*"
        }
    ]
}
```

------

# IAM: Memungkinkan pengguna IAM untuk mengelola sendiri perangkat MFA
<a name="reference_policies_examples_iam_mfa-selfmanage"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM mengelola sendiri perangkat [autentikasi](id_credentials_mfa.md) multi-faktor (MFA) mereka. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI

**catatan**  
Jika pengguna IAM dengan kebijakan ini tidak diautentikasi oleh MFA, kebijakan ini menolak akses ke semua AWS tindakan kecuali yang diperlukan untuk mengautentikasi menggunakan MFA. Jika Anda menambahkan izin ini untuk pengguna yang masuk AWS, mereka mungkin perlu keluar dan masuk kembali untuk melihat perubahan ini.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowListActions",
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:ListVirtualMFADevices"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowUserToCreateVirtualMFADevice",
            "Effect": "Allow",
            "Action": [
                "iam:CreateVirtualMFADevice"
            ],
            "Resource": "arn:aws:iam::*:mfa/*"
        },
        {
            "Sid": "AllowUserToManageTheirOwnMFA",
            "Effect": "Allow",
            "Action": [
                "iam:EnableMFADevice",
                "iam:GetMFADevice",
                "iam:ListMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "arn:aws:iam::*:user/${aws:username}"
        },
        {
            "Sid": "AllowUserToDeactivateTheirOwnMFAOnlyWhenUsingMFA",
            "Effect": "Allow",
            "Action": [
                "iam:DeactivateMFADevice"
            ],
            "Resource": [
                "arn:aws:iam::*:user/${aws:username}"
            ],
            "Condition": {
                "Bool": {
                    "aws:MultiFactorAuthPresent": "true"
                }
            }
        },
        {
            "Sid": "BlockMostAccessUnlessSignedInWithMFA",
            "Effect": "Deny",
            "NotAction": [
                "iam:CreateVirtualMFADevice",
                "iam:EnableMFADevice",
                "iam:ListMFADevices",
                "iam:ListUsers",
                "iam:ListVirtualMFADevices",
                "iam:ResyncMFADevice"
            ],
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}
```

------

# IAM: Memungkinkan pengguna IAM memperbarui kredensialnya sendiri secara terprogram dan di konsol
<a name="reference_policies_examples_iam_credentials_console"></a>

Contoh ini menunjukkan cara Anda membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM memperbarui kunci akses mereka sendiri, menandatangani sertifikat, kredensi khusus layanan, dan kata sandi. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:ListUsers",
                "iam:GetAccountPasswordPolicy"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:*AccessKey*",
                "iam:ChangePassword",
                "iam:GetUser",
                "iam:*ServiceSpecificCredential*",
                "iam:*SigningCertificate*"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        }
    ]
}
```

------

Untuk mempelajari bagaimana pengguna dapat mengubah kata sandinya sendiri di konsol, lihat [Bagaimana pengguna IAM mengubah kata sandi mereka sendiri](id_credentials_passwords_user-change-own.md).

# IAM: Lihat informasi layanan yang terakhir diakses untuk kebijakan AWS Organizations
<a name="reference_policies_examples_iam_service-accessed-data-orgs"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan layanan melihat informasi yang terakhir diakses untuk kebijakan tertentu. AWS Organizations Kebijakan ini memungkinkan pengambilan data untuk kebijakan kendali layanan (SCP) dengan `p-policy123` ID. Orang yang membuat dan melihat laporan harus diautentikasi menggunakan kredensi akun AWS Organizations manajemen. Kebijakan ini memungkinkan pemohon untuk mengambil data untuk setiap AWS Organizations entitas dalam organisasi mereka. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [edit kebijakan](access_policies_manage-edit.md).

Untuk informasi penting tentang informasi yang diakses terakhir, termasuk izin yang diperlukan, pemecahan masalah, dan Wilayah yang didukung, lihat [Memperbaiki izin dalam AWS menggunakan informasi yang terakhir diakses](access_policies_last-accessed.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowOrgsReadOnlyAndIamGetReport",
            "Effect": "Allow",
            "Action": [
                "iam:GetOrganizationsAccessReport",
                "organizations:Describe*",
                "organizations:List*"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowGenerateReportOnlyForThePolicy",
            "Effect": "Allow",
            "Action": "iam:GenerateOrganizationsAccessReport",
            "Resource": "*",
            "Condition": {
                "StringEquals": {"iam:OrganizationsPolicyId": "p-policy123"}
            }
        }
    ]
}
```

------

# IAM: Membatasi kebijakan terkelola yang dapat diterapkan pada pengguna, grup, atau peran IAM
<a name="reference_policies_examples_iam_limit-managed"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang membatasi kebijakan yang dikelola dan AWS dikelola pelanggan yang dapat diterapkan pada pengguna, grup, atau peran IAM. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": [
            "iam:AttachUserPolicy",
            "iam:DetachUserPolicy"
        ],
        "Resource": "*",
        "Condition": {
            "ArnEquals": {
                "iam:PolicyARN": [
                    "arn:aws:iam::*:policy/policy-name-1",
                    "arn:aws:iam::*:policy/policy-name-2"
                ]
            }
        }
    }
}
```

------

# AWS: Tolak akses ke sumber daya di luar akun Anda kecuali kebijakan IAM yang AWS dikelola
<a name="resource_examples_iam_policies_resource_account"></a>

Menggunakan `aws:ResourceAccount` kebijakan berbasis identitas Anda dapat memengaruhi pengguna atau kemampuan peran untuk memanfaatkan beberapa layanan yang memerlukan interaksi dengan sumber daya di akun yang dimiliki oleh layanan.

Anda dapat membuat kebijakan dengan pengecualian untuk mengizinkan kebijakan IAM AWS terkelola. Akun yang dikelola layanan di luar Kebijakan IAM AWS Organizations Terkelola milik Anda sendiri. Ada empat tindakan IAM yang mencantumkan dan mengambil kebijakan AWS-managed. Gunakan tindakan ini dalam [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notaction.html)elemen pernyataan. `AllowAccessToResourcesInSpecificAccountsAndSpecificService1`dalam kebijakan.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccessToResourcesInSpecificAccountsAndSpecificService1",
      "Effect": "Deny",
      "NotAction": [
        "iam:GetPolicy",
        "iam:GetPolicyVersion",
        "iam:ListEntitiesForPolicy",
        "iam:ListPolicies"
      ],
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:ResourceAccount": [
            "111122223333"
          ]
        }
      }
    }
  ]
}
```

------

# AWS Lambda: Mengizinkan fungsi Lambda mengakses tabel Amazon DynamoDB
<a name="reference_policies_examples_lambda-access-dynamodb"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan akses baca dan tulis ke tabel Amazon DynamoDB tertentu. Kebijakan ini juga memungkinkan penulisan file log ke CloudWatch Log. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [edit kebijakan](access_policies_manage-edit.md).

Untuk menggunakan kebijakan ini, lampirkan kebijakan tersebut pada peran layanan [Lambda](id_roles_create_for-service.md). Peran layanan adalah peran yang Anda buat di akun Anda untuk mengizinkan layanan melakukan tindakan atas nama Anda. Peran layanan itu harus dimasukkan AWS Lambda sebagai kepala sekolah dalam kebijakan kepercayaan. Untuk detail tentang cara menggunakan kebijakan ini, lihat [Cara Membuat Kebijakan AWS IAM untuk Memberikan AWS Lambda Akses ke Tabel AWS Amazon DynamoDB](https://aws.amazon.com/blogs/security/how-to-create-an-aws-iam-policy-to-grant-aws-lambda-access-to-an-amazon-dynamodb-table/) di Blog Keamanan.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ReadWriteTable",
            "Effect": "Allow",
            "Action": [
                "dynamodb:BatchGetItem",
                "dynamodb:GetItem",
                "dynamodb:Query",
                "dynamodb:Scan",
                "dynamodb:BatchWriteItem",
                "dynamodb:PutItem",
                "dynamodb:UpdateItem"
            ],
            "Resource": "arn:aws:dynamodb:*:*:table/SampleTable"
        },
        {
            "Sid": "GetStreamRecords",
            "Effect": "Allow",
            "Action": "dynamodb:GetRecords",
            "Resource": "arn:aws:dynamodb:*:*:table/SampleTable/stream/* "
        },
        {
            "Sid": "WriteLogStreamsAndGroups",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CreateLogGroup",
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "*"
        }
    ]
}
```

------

# Amazon RDS: Memungkinkan akses database RDS penuh dalam Wilayah tertentu
<a name="reference_policies_examples_rds_region"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan akses database RDS penuh dalam Wilayah tertentu. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "rds:*",
            "Resource": ["arn:aws:rds:us-east-1:*:*"]
        },
        {
            "Effect": "Allow",
            "Action": ["rds:Describe*"],
            "Resource": ["*"]
        }
    ]
}
```

------

# Amazon RDS: Memungkinkan memulihkan database RDS, secara terprogram dan di konsol
<a name="reference_policies_examples_rds_db-console"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pemulihan database RDS. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:Describe*",
                "rds:CreateDBParameterGroup",
                "rds:CreateDBSnapshot",
                "rds:DeleteDBSnapshot",
                "rds:Describe*",
                "rds:DownloadDBLogFilePortion",
                "rds:List*",
                "rds:ModifyDBInstance",
                "rds:ModifyDBParameterGroup",
                "rds:ModifyOptionGroup",
                "rds:RebootDBInstance",
                "rds:RestoreDBInstanceFromDBSnapshot",
                "rds:RestoreDBInstanceToPointInTime"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Amazon RDS: Memungkinkan pemilik tag akses penuh ke sumber daya RDS yang telah mereka tag
<a name="reference_policies_examples_rds_tag-owner"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan pemilik tag akses penuh ke sumber daya RDS yang telah mereka tag. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "rds:Describe*",
                "rds:List*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": [
                "rds:DeleteDBInstance",
                "rds:RebootDBInstance",
                "rds:ModifyDBInstance"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:db-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:ModifyOptionGroup",
                "rds:DeleteOptionGroup"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:og-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:ModifyDBParameterGroup",
                "rds:ResetDBParameterGroup"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:pg-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:AuthorizeDBSecurityGroupIngress",
                "rds:RevokeDBSecurityGroupIngress",
                "rds:DeleteDBSecurityGroup"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:secgrp-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:DeleteDBSnapshot",
                "rds:RestoreDBInstanceFromDBSnapshot"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:snapshot-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:ModifyDBSubnetGroup",
                "rds:DeleteDBSubnetGroup"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:subgrp-tag/Owner": "${aws:username}"}
            }
        },
        {
            "Action": [
                "rds:ModifyEventSubscription",
                "rds:AddSourceIdentifierToSubscription",
                "rds:RemoveSourceIdentifierFromSubscription",
                "rds:DeleteEventSubscription"
            ],
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEqualsIgnoreCase": {"rds:es-tag/Owner": "${aws:username}"}
            }
        }
    ]
}
```

------

# Amazon S3: Memungkinkan pengguna Amazon Cognito mengakses objek di bucket mereka
<a name="reference_policies_examples_s3_cognito-bucket"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan pengguna Amazon Cognito mengakses objek di bucket Amazon S3 tertentu. Kebijakan ini mengizinkan akses hanya ke objek dengan nama yang menyertakan`cognito`, nama aplikasi, dan ID utama federasi, yang diwakili oleh variabel \$1 \$1cognito-identity.amazonaws.com:sub\$1. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [edit kebijakan](access_policies_manage-edit.md).

**catatan**  
Nilai 'sub' yang digunakan dalam kunci obyek bukanlah nilai sub pengguna di Kumpulan Pengguna, namun identitas id yang diasosiasikan dengan pengguna di Kumpulan Identitas.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ListYourObjects",
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": [
        "arn:aws:s3:::bucket-name"
      ],
      "Condition": {
        "StringLike": {
          "s3:prefix": [
            "cognito/application-name/${cognito-identity.amazonaws.com:sub}/*"
          ]
        }
      }
    },
    {
      "Sid": "ReadWriteDeleteYourObjects",
      "Effect": "Allow",
      "Action": [
        "s3:DeleteObject",
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::bucket-name/cognito/application-name/${cognito-identity.amazonaws.com:sub}/*"
      ]
    }
  ]
}
```

------

Amazon Cognito menyediakan autentikasi, otorisasi, dan pengelolaan pengguna untuk aplikasi web dan seluler Anda. Pengguna Anda bisa langsung masuk dengan nama pengguna dan kata sandi, atau lewat pihak ketiga seperti Facebook, Amazon, atau Google. 

Dua komponen utama Amazon Cognito adalah kumpulan pengguna dan kumpulan identitas. Kumpulan pengguna adalah direktori pengguna yang menyediakan opsi pendaftaran dan masuk bagi pengguna aplikasi Anda. Kumpulan identitas memungkinkan Anda memberi pengguna akses ke AWS layanan lain. Anda dapat menggunakan kolam identitas dan kolam pengguna secara terpisah atau bersama-sama. 

Untuk informasi selengkapnya tentang Amazon Cognito, lihat Panduan Pengguna [Amazon Cognito](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html).

# Amazon S3: Memungkinkan pengguna federasi mengakses ke direktori home Amazon S3 mereka, secara terprogram dan di konsol
<a name="reference_policies_examples_s3_federated-home-directory-console"></a>

Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan berbasis identitas yang memungkinkan prinsipal federasi mengakses objek bucket direktori home mereka sendiri di S3. Direktori home adalah bucket yang menyertakan `home` folder dan folder untuk masing-masing kepala sekolah federasi. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Variabel `${aws:userid}` dalam kebijakan ini memutuskan untuk `role-id:specified-name`. `role-id`Bagian dari ID utama federasi adalah pengidentifikasi unik yang ditugaskan untuk peran kepala sekolah federasi selama pembuatan. Untuk informasi selengkapnya, lihat [Pengidentifikasi unik](reference_identifiers.md#identifiers-unique-ids). `specified-name`Ini adalah [RoleSessionName parameter](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html#API_AssumeRoleWithWebIdentity_RequestParameters) yang diteruskan ke `AssumeRoleWithWebIdentity` permintaan ketika kepala sekolah federasi mengambil peran mereka.

Anda dapat melihat ID peran menggunakan AWS CLI perintah`aws iam get-role --role-name specified-name`. Misalnya, bayangkan Anda menentukan nama `John` yang mudah diingat dan CLI mengembalikan ID peran `AROAXXT2NJT7D3SIQN7Z6`. Dalam hal ini, ID pengguna kepala sekolah federasi adalah`AROAXXT2NJT7D3SIQN7Z6:John`. Kebijakan ini kemudian memungkinkan kepala sekolah federasi John untuk mengakses bucket Amazon S3 dengan awalan. `AROAXXT2NJT7D3SIQN7Z6:John`

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": [
                        "",
                        "home/",
                        "home/${aws:userid}/*"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:userid}",
                "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:userid}/*"
            ]
        }
    ]
}
```

------

# Amazon S3: Akses Bucket S3, tetapi bucket produksi ditolak tanpa MFA baru-baru ini
<a name="reference_policies_examples_s3_full-access-except-production"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan administrator Amazon S3 mengakses bucket apa pun, termasuk memperbarui, menambahkan, dan menghapus objek. Namun, ini secara eksplisit menolak akses ke bucket `amzn-s3-demo-bucket-production` jika pengguna belum masuk menggunakan [Autentikasi Multi-factor (MFA)](id_credentials_mfa.md) dalam tiga puluh menit terakhir. Kebijakan ini memberikan izin yang diperlukan untuk melakukan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Kebijakan ini tidak pernah mengizinkan akses terprogram ke bucket `amzn-s3-demo-bucket` menggunakan access key pengguna. Hal ini dicapai menggunakan kunci kondisi `aws:MultiFactorAuthAge` dengan operator kondisi `NumericGreaterThanIfExists`. Kondisi kebijakan ini akan kembali`true` jika tidak ada MFA atau jika usia MFA lebih dari 30 menit. Dalam situasi tersebut, akses ditolak. Untuk mengakses `amzn-s3-demo-bucket-production` bucket secara terprogram, administrator S3 harus menggunakan kredensial sementara yang dibuat dalam 30 menit terakhir menggunakan [GetSessionToken](id_credentials_temp_request.md#api_getsessiontoken) operasi API.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListAllS3Buckets",
            "Effect": "Allow",
            "Action": ["s3:ListAllMyBuckets"],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowBucketLevelActions",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::*"
        },
        {
            "Sid": "AllowBucketObjectActions",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::*/*"
        },
        {
            "Sid": "RequireMFAForProductionBucket",
            "Effect": "Deny",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket-production/*",
                "arn:aws:s3:::amzn-s3-demo-bucket-production"
            ],
            "Condition": {
                "NumericGreaterThanIfExists": {"aws:MultiFactorAuthAge": "1800"}
            }
        }
    ]
}
```

------

# Amazon S3: Memungkinkan pengguna IAM mengakses direktori home S3 mereka, secara terprogram dan di konsol
<a name="reference_policies_examples_s3_home-directory-console"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang memungkinkan pengguna IAM mengakses objek bucket direktori home mereka sendiri di S3. Direktori rumah adalah bucket yang mencakup `home` folder dan folders untuk pengguna individual. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Kebijakan ini tidak akan berfungsi saat menggunakan peran IAM karena `aws:username` variabel tidak tersedia saat menggunakan peran IAM. Untuk detail tentang nilai kunci prinsipal, lihat [Nilai-nilai kunci utama](reference_policies_variables.md#principaltable).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Condition": {
                "StringLike": {
                    "s3:prefix": [
                        "",
                        "home/",
                        "home/${aws:username}/*"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:username}",
                "arn:aws:s3:::amzn-s3-demo-bucket/home/${aws:username}/*"
            ]
        }
    ]
}
```

------

# Amazon S3: Batasi manajemen ke bucket S3 tertentu
<a name="reference_policies_examples_s3_deny-except-bucket"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang membatasi pengelolaan bucket Amazon S3 ke bucket tertentu. Kebijakan ini memberikan izin untuk melakukan semua tindakan Amazon S3, tetapi menolak akses ke Layanan AWS setiap kecuali Amazon S3. Lihat contoh berikut ini. Menurut kebijakan ini, Anda hanya dapat mengakses tindakan Amazon S3 yang dapat Anda lakukan pada bucket S3 atau sumber daya objek S3. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Jika kebijakan ini digunakan dalam kombinasi dengan kebijakan lain (seperti kebijakan EC2 FullAccess AWS terkelola [AmazonS3 atau FullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonS3FullAccess) [Amazon](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AmazonEC2FullAccess)) yang mengizinkan tindakan ditolak oleh kebijakan ini, maka akses ditolak. Hal ini dikarenakan pernyataan penolakan yang eksplisit lebih diutamakan daripada pernyataan yang membolehkan. Untuk informasi selengkapnya, lihat [Bagaimana logika kode AWS penegakan mengevaluasi permintaan untuk mengizinkan atau menolak akses](reference_policies_evaluation-logic_policy-eval-denyallow.md).

**Awas**  
[`NotAction`](reference_policies_elements_notaction.md) dan [`NotResource`](reference_policies_elements_notresource.md) adalah elemen kebijakan lanjutan yang harus digunakan dengan seksama. Kebijakan ini menolak akses ke setiap AWS layanan kecuali Amazon S3. Jika Anda melampirkan kebijakan ini kepada pengguna, kebijakan lain yang mengizinkan layanan lain diabaikan dan akses ditolak.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:*",
            "Resource": [
                "arn:aws:s3:::bucket-name",
                "arn:aws:s3:::bucket-name/*"
            ]
        },
        {
            "Effect": "Deny",
            "NotAction": "s3:*",
            "NotResource": [
                "arn:aws:s3:::bucket-name",
                "arn:aws:s3:::bucket-name/*"
            ]
        }
    ]
}
```

------

# Berikan akses baca dan tulis ke objek bucket Amazon S3
<a name="reference_policies_examples_s3_rw-bucket"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang mengizinkan `Read` dan `Write` mengakses objek di bucket Amazon S3 tertentu. Kebijakan ini memberikan izin yang diperlukan untuk menyelesaikan tindakan ini secara terprogram dari API atau. AWS AWS CLI Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Tindakan `s3:*Object` ini menggunakan wildcard sebagai bagian dari nama tindakan. Pernyataan ini `AllObjectActions` mengizinkan `GetObject`, `DeleteObject`, `PutObject`, dan tindakan Amazon S3 lainnya yang berakhir dengan kata “Obyek”.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": ["s3:ListBucket"],
            "Resource": ["arn:aws:s3:::bucket-name"]
        },
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": ["arn:aws:s3:::bucket-name/*"]
        }
    ]
}
```

------

**catatan**  
Untuk mengizinkan `Read` dan `Write` akses ke objek dalam bucket Amazon S3 dan juga termasuk izin tambahan untuk akses konsol, lihat [Amazon S3: Memungkinkan akses baca dan tulis ke objek di Bucket S3, secara terprogram dan di konsol](reference_policies_examples_s3_rw-bucket-console.md).

# Amazon S3: Memungkinkan akses baca dan tulis ke objek di Bucket S3, secara terprogram dan di konsol
<a name="reference_policies_examples_s3_rw-bucket-console"></a>

Contoh ini menunjukkan cara membuat kebijakan berbasis identitas yang mengizinkan `Read` dan `Write` mengakses objek dalam bucket S3 tertentu. Kebijakan ini menetapkan izin untuk akses terprogram dan konsol. Untuk menggunakan kebijakan ini, ganti kebijakan contoh *italicized placeholder text* dalam dengan informasi Anda sendiri. Lalu, ikuti petunjuk di [buat kebijakan](access_policies_create.md) atau [ubah kebijakan](access_policies_manage-edit.md).

Tindakan `s3:*Object` ini menggunakan wildcard sebagai bagian dari nama tindakan. Pernyataan ini `AllObjectActions` mengizinkan `GetObject`, `DeleteObject`, `PutObject`, dan tindakan Amazon S3 lainnya yang berakhir dengan kata “Obyek”.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3ConsoleAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetAccountPublicAccessBlock",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketPublicAccessBlock",
                "s3:ListAccessPoints",
                "s3:ListAllMyBuckets"
            ],
            "Resource": "*"
        },
        {
            "Sid": "ListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"]
        },
        {
            "Sid": "AllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/*"]
        }
    ]
}
```

------