

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

# Kebijakan berbasis identitas untuk AWS AppSync
<a name="security_iam_id-based-policy-examples"></a>

Secara default, pengguna dan peran tidak memiliki izin untuk membuat atau mengubah sumber daya AWS AppSync. Untuk memberikan izin kepada pengguna untuk melakukan tindakan di sumber daya yang mereka perlukan, administrator IAM dapat membuat kebijakan IAM.

*Untuk mempelajari cara membuat kebijakan berbasis identitas IAM dengan menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan IAM (konsol) di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html).*

Untuk detail tentang tindakan dan jenis sumber daya yang ditentukan oleh AWS AppSync, termasuk format ARNs untuk setiap jenis sumber daya, lihat [Kunci tindakan, sumber daya, dan kondisi untuk AWS AppSync](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsappsync.html) dalam *Referensi Otorisasi Layanan*.

Untuk mempelajari praktik terbaik dalam membuat dan mengonfigurasi kebijakan berbasis identitas IAM, lihat. [Praktik terbaik kebijakan IAM](best-practices.md#security_iam_service-with-iam-policy-best-practices)

Untuk daftar kebijakan berbasis identitas IAM, lihat. AWS AppSync [AWS kebijakan terkelola untuk AWS AppSync](security_iam_policy_list.md)

**Topics**
+ [Menggunakan AWS AppSync konsol](#security_iam_id-based-policy-examples-console)
+ [Mengizinkan pengguna melihat izin mereka sendiri](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Mengakses satu bucket Amazon S3](#security_iam_id-based-policy-examples-access-one-bucket)
+ [Melihat AWS AppSync *widgets* berdasarkan tag](#security_iam_id-based-policy-examples-view-widget-tags)
+ [AWS kebijakan terkelola untuk AWS AppSync](security_iam_policy_list.md)

## Menggunakan AWS AppSync konsol
<a name="security_iam_id-based-policy-examples-console"></a>

Untuk mengakses AWS AppSync konsol, Anda harus memiliki set izin minimum. Izin ini harus memungkinkan Anda untuk membuat daftar dan melihat detail tentang AWS AppSync sumber daya di Anda Akun AWS. Jika Anda membuat kebijakan berbasis identitas yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana mestinya untuk entitas (pengguna atau peran) dengan kebijakan tersebut.

Anda tidak perlu mengizinkan izin konsol minimum untuk pengguna yang melakukan panggilan hanya ke AWS CLI atau AWS API. Sebagai gantinya, izinkan akses hanya ke tindakan yang sesuai dengan operasi API yang coba mereka lakukan.

Untuk memastikan bahwa pengguna dan peran IAM masih dapat menggunakan AWS AppSync konsol, lampirkan juga kebijakan AWS AppSync `ConsoleAccess` atau `ReadOnly` AWS terkelola ke entitas. Untuk informasi selengkapnya, lihat [Menambah izin untuk pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

## Mengizinkan pengguna melihat izin mereka sendiri
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Contoh ini menunjukkan cara membuat kebijakan yang mengizinkan pengguna IAM melihat kebijakan inline dan terkelola yang dilampirkan ke identitas pengguna mereka. Kebijakan ini mencakup izin untuk menyelesaikan tindakan ini di konsol atau menggunakan API atau secara terprogram. AWS CLI AWS 

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Mengakses satu bucket Amazon S3
<a name="security_iam_id-based-policy-examples-access-one-bucket"></a>

Dalam contoh ini, Anda ingin memberi pengguna IAM di AWS akun Anda akses ke salah satu bucket Amazon S3 Anda. `examplebucket` Anda juga ingin mengizinkan pengguna untuk menambah, memperbarui, dan menghapus objek.

Selain memberikan izin `s3:PutObject`, `s3:GetObject`, dan `s3:DeleteObject` bagi pengguna, kebijakan tersebut juga memberikan izin `s3:ListAllMyBuckets`, `s3:GetBucketLocation`, dan `s3:ListBucket`. Izin-izin tersebut adalah izin tambahan yang diperlukan oleh konsol tersebut. Selain itu, tindakan `s3:PutObjectAcl` dan `s3:GetObjectAcl` diperlukan untuk dapat menyalin, memotong, dan menempel objek di konsol. Untuk contoh panduan yang memberikan izin kepada pengguna dan mengujinya menggunakan konsol, lihat [Contoh panduan: Menggunakan kebijakan pengguna untuk mengontrol akses ke](https://docs.aws.amazon.com/AmazonS3/latest/userguide/walkthrough1.html) bucket Anda.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"ListBucketsInConsole",
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets"
         ],
         "Resource":"arn:aws:s3:::*"
      },
      {
         "Sid":"ViewSpecificBucketInfo",
         "Effect":"Allow",
         "Action":[
            "s3:ListBucket",
            "s3:GetBucketLocation"
         ],
         "Resource":"arn:aws:s3:::examplebucket"
      },
      {
         "Sid":"ManageBucketContents",
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:PutObjectAcl",
            "s3:GetObject",
            "s3:GetObjectAcl",
            "s3:DeleteObject"
         ],
         "Resource":"arn:aws:s3:::examplebucket/*"
      }
   ]
}
```

------

## Melihat AWS AppSync *widgets* berdasarkan tag
<a name="security_iam_id-based-policy-examples-view-widget-tags"></a>

Anda dapat menggunakan syarat dalam kebijakan berbasis identitas Anda untuk mengontrol akses ke sumber daya AWS AppSync berdasarkan tanda. Contoh ini menunjukkan bagaimana Anda dapat membuat kebijakan yang memungkinkan melihat*widget*. Namun, izin diberikan hanya jika *widget* tag `Owner` memiliki nilai nama pengguna pengguna tersebut. Kebijakan ini juga memberi izin yang diperlukan untuk menyelesaikan tindakan ini pada konso tersebutl.

Anda dapat melampirkan kebijakan ini ke pengguna IAM di akun Anda. Jika pengguna bernama `richard-roe` mencoba untuk melihat AWS AppSync*widget*, *widget* harus ditandai `Owner=richard-roe` atau`owner=richard-roe`. Jika tidak, aksesnya akan ditolak. Kunci tanda syarat `Owner` cocok dengan `Owner` dan `owner` karena nama kunci syarat tidak terpengaruh huruf besar/kecil. Untuk informasi selengkapnya, lihat [Elemen kebijakan IAM JSON: Syarat](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.







# AWS kebijakan terkelola untuk AWS AppSync
<a name="security_iam_policy_list"></a>

Untuk menambahkan izin ke pengguna, grup, dan peran, lebih mudah menggunakan kebijakan AWS terkelola daripada menulis kebijakan sendiri. Dibutuhkan waktu dan keahlian untuk [membuat kebijakan terkelola pelanggan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) yang hanya memberi tim Anda izin yang mereka butuhkan. Untuk memulai dengan cepat, Anda dapat menggunakan kebijakan AWS terkelola kami. Kebijakan ini mencakup kasus penggunaan umum dan tersedia di Akun AWS Anda. Untuk informasi selengkapnya tentang kebijakan AWS [AWS terkelola, lihat kebijakan terkelola](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) di *Panduan Pengguna IAM*.

AWS layanan memelihara dan memperbarui kebijakan AWS terkelola. Anda tidak dapat mengubah izin dalam kebijakan AWS terkelola. Layanan terkadang menambahkan izin tambahan ke kebijakan AWS terkelola untuk mendukung fitur baru. Jenis pembaruan ini akan memengaruhi semua identitas (pengguna, grup, dan peran) di mana kebijakan tersebut dilampirkan. Layanan kemungkinan besar akan memperbarui kebijakan AWS terkelola saat fitur baru diluncurkan atau saat operasi baru tersedia. Layanan tidak menghapus izin dari kebijakan AWS terkelola, sehingga pembaruan kebijakan tidak akan merusak izin yang ada.

Selain itu, AWS mendukung kebijakan terkelola untuk fungsi pekerjaan yang mencakup beberapa layanan. Misalnya, kebijakan **ReadOnlyAccess** AWS terkelola menyediakan akses hanya-baca ke semua AWS layanan dan sumber daya. Saat layanan meluncurkan fitur baru, AWS tambahkan izin hanya-baca untuk operasi dan sumber daya baru. Untuk melihat daftar dan deskripsi dari kebijakan fungsi tugas, lihat [kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) di *Panduan Pengguna IAM*.

## AWS kebijakan terkelola: AWSApp SyncInvokeFullAccess
<a name="security-iam-awsmanpol-AWSAppSyncInvokeFullAccess"></a>



Gunakan kebijakan `AWSAppSyncInvokeFullAccess` AWS terkelola untuk mengizinkan administrator mengakses AWS AppSync layanan melalui konsol atau secara independen.



Anda dapat melampirkan kebijakan `AWSAppSyncInvokeFullAccess` ke identitas IAM Anda.

### Detail izin
<a name="security-iam-awsmanpol-AWSAppSyncInvokeFullAccess-permissions"></a>

Kebijakan ini mencakup izin berikut.




+ `AWS AppSync`— Memungkinkan akses administratif penuh ke semua sumber daya di AWS AppSync



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "appsync:GraphQL",
                "appsync:GetGraphqlApi",
                "appsync:ListGraphqlApis",
                "appsync:ListApiKeys"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS kebijakan terkelola: AWSApp SyncSchemaAuthor
<a name="security-iam-awsmanpol-AWSAppSyncSchemaAuthor"></a>



Gunakan kebijakan `AWSAppSyncSchemaAuthor` AWS terkelola untuk memungkinkan pengguna IAM mengakses untuk membuat, memperbarui, dan menanyakan skema GraphQL mereka. Untuk informasi tentang apa yang dapat dilakukan pengguna dengan izin ini, lihat[Merancang GraphQL APIs dengan AWS AppSync](designing-a-graphql-api.md).



Anda dapat melampirkan kebijakan `AWSAppSyncSchemaAuthor` ke identitas IAM Anda.

### Detail izin
<a name="security-iam-awsmanpol-AWSAppSyncSchemaAuthor-permissions"></a>

Kebijakan ini mencakup izin berikut.




+ `AWS AppSync`— Memungkinkan tindakan berikut:
  + Membuat skema GraphQL
  + Mengizinkan pembuatan, modifikasi, dan penghapusan tipe, resolver, dan fungsi GraphQL
  + Mengevaluasi logika template permintaan dan respons
  + Mengevaluasi kode dengan runtime dan konteks
  + Mengirim kueri GraphQL ke GraphQL APIs
  + Mengambil data GraphQL



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "appsync:GraphQL",
                "appsync:CreateResolver",
                "appsync:CreateType",
                "appsync:DeleteResolver",
                "appsync:DeleteType",
                "appsync:GetResolver",
                "appsync:GetType",
                "appsync:GetDataSource",
                "appsync:GetSchemaCreationStatus",
                "appsync:GetIntrospectionSchema",
                "appsync:GetGraphqlApi",
                "appsync:ListTypes",
                "appsync:ListApiKeys",
                "appsync:ListResolvers",
                "appsync:ListDataSources",
                "appsync:ListGraphqlApis",
                "appsync:StartSchemaCreation",
                "appsync:UpdateResolver",
                "appsync:UpdateType",
                "appsync:TagResource",
                "appsync:UntagResource",
                "appsync:ListTagsForResource",
                "appsync:CreateFunction",
                "appsync:UpdateFunction",
                "appsync:GetFunction",
                "appsync:DeleteFunction",
                "appsync:ListFunctions",
                "appsync:ListResolversByFunction",
                "appsync:EvaluateMappingTemplate",
                "appsync:EvaluateCode"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS kebijakan terkelola: AWSApp SyncPushToCloudWatchLogs
<a name="security-iam-awsmanpol-AWSAppSyncPushToCloudWatchLogs"></a>



AWS AppSync menggunakan Amazon CloudWatch untuk memantau kinerja aplikasi Anda dengan membuat log yang dapat Anda gunakan untuk memecahkan masalah dan mengoptimalkan permintaan GraphQL Anda. Untuk informasi selengkapnya, lihat [Menggunakan CloudWatch untuk memantau dan mencatat data API GraphQL](monitoring.md).

Gunakan kebijakan `AWSAppSyncPushToCloudWatchLogs` AWS terkelola AWS AppSync untuk memungkinkan mendorong log ke CloudWatch akun pengguna IAM.



Anda dapat melampirkan kebijakan `AWSAppSyncPushToCloudWatchLogs` ke identitas IAM Anda.

### Detail izin
<a name="security-iam-awsmanpol-AWSAppSyncPushToCloudWatchLogs-permissions"></a>

Kebijakan ini mencakup izin berikut.




+ `CloudWatch Logs`— Memungkinkan AWS AppSync untuk membuat grup log dan aliran dengan nama tertentu. AWS AppSyncmendorong peristiwa log ke aliran log yang ditentukan.



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## AWS kebijakan terkelola: AWSApp SyncAdministrator
<a name="security-iam-awsmanpol-AWSAppSyncAdministrator"></a>



Gunakan kebijakan `AWSAppSyncAdministrator` AWS terkelola untuk mengizinkan administrator mengakses semua AWS AppSync kecuali AWS konsol.



Anda dapat melampirkan `AWSAppSyncAdministrator` ke entitas IAM Anda. AWS AppSync juga melampirkan kebijakan ini ke peran layanan yang memungkinkannya melakukan tindakan atas nama Anda.

### Detail izin
<a name="security-iam-awsmanpol-AWSAppSyncAdministrator-permissions"></a>

Kebijakan ini mencakup izin berikut.




+ `AWS AppSync`— Memungkinkan akses administratif penuh ke semua sumber daya di AWS AppSync
+ `IAM`— Memungkinkan tindakan berikut:
  + Membuat peran terkait layanan AWS AppSync untuk memungkinkan menganalisis sumber daya di layanan lain atas nama Anda
  + Menghapus peran terkait layanan
  + Meneruskan peran terkait layanan ke AWS layanan lain untuk mengambil peran nanti dan untuk melakukan tindakan atas nama Anda



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "appsync:*"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "appsync.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "iam:AWSServiceName": "appsync.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:DeleteServiceLinkedRole",
                "iam:GetServiceLinkedRoleDeletionStatus"
            ],
            "Resource": "arn:aws:iam::*:role/aws-service-role/appsync.amazonaws.com/AWSServiceRoleForAppSync*"
        }
    ]
}
```

------

## AWS kebijakan terkelola: AWSApp SyncServiceRolePolicy
<a name="security-iam-awsmanpol-AWSAppSyncServiceRolePolicy"></a>



Gunakan kebijakan `AWSAppSyncServiceRolePolicy` AWS terkelola untuk mengizinkan akses ke AWS layanan dan sumber daya yang AWS AppSync menggunakan atau mengelola.



Anda tidak dapat melampirkan `AWSAppSyncServiceRolePolicy` ke entitas IAM Anda. Kebijakan ini dilampirkan pada peran terkait layanan yang memungkinkan AWS AppSync untuk melakukan tindakan atas nama Anda. Untuk informasi selengkapnya, lihat [Peran terkait layanan untuk AWS AppSync](security_iam_service-with-iam.md#security_iam_service-with-iam-roles-service-linked).

### Detail izin
<a name="security-iam-awsmanpol-AWSAppSyncServiceRolePolicy-permissions"></a>

Kebijakan ini mencakup izin berikut.




+ `X-Ray`— AWS AppSync digunakan AWS X-Ray untuk mengumpulkan data tentang permintaan yang dibuat dalam aplikasi Anda. Untuk informasi selengkapnya, lihat [Menggunakan AWS X-Ray untuk melacak permintaan di AWS AppSync](x-ray-tracing.md).

  Kebijakan ini memungkinkan tindakan berikut:
  + Mengambil aturan pengambilan sampel dan hasilnya
  + Mengirim data jejak ke daemon X-Ray



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "xray:PutTraceSegments",
                "xray:PutTelemetryRecords",
                "xray:GetSamplingTargets",
                "xray:GetSamplingRules",
                "xray:GetSamplingStatisticSummaries"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

## AWS AppSync pembaruan kebijakan AWS terkelola
<a name="security-iam-awsmanpol-updates"></a>



Lihat detail tentang pembaruan kebijakan AWS terkelola AWS AppSync sejak layanan ini mulai melacak perubahan ini. Untuk peringatan otomatis tentang perubahan pada halaman ini, berlangganan umpan RSS di halaman Riwayat AWS AppSync dokumen.




| Ubah | Deskripsi | Date | 
| --- | --- | --- | 
|  [AWSAppSyncSchemaAuthor](#security-iam-awsmanpol-AWSAppSyncSchemaAuthor) - Pembaruan ke kebijakan yang tersedia  |  Menambahkan tindakan `EvaluateCode` kebijakan untuk memungkinkan pengguna mengevaluasi kode dengan runtime dan konteks.  | 7 Februari 2023 | 
|  [AWSAppSyncSchemaAuthor](#security-iam-awsmanpol-AWSAppSyncSchemaAuthor) - Pembaruan ke kebijakan yang tersedia  |  Menambahkan tindakan kebijakan untuk mengizinkan daftar, mendapatkan, membuat, memperbarui, dan menghapus fungsi untuk API. Menambahkan tindakan `EvaluateMappingTemplate` kebijakan untuk memungkinkan pengguna mengevaluasi logika template pemetaan resolver permintaan dan respons. Menambahkan tindakan kebijakan untuk memungkinkan penandaan sumber daya.  | Agustus 25, 2022 | 
|  AWS AppSync mulai melacak perubahan  |  AWS AppSync mulai melacak perubahan untuk kebijakan AWS terkelolanya.  | Agustus 25, 2022 | 