

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

# Identitas dan manajemen akses untuk AWS IoT Greengrass
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) adalah Layanan AWS yang membantu administrator mengontrol akses ke AWS sumber daya dengan aman. Administrator IAM mengontrol siapa yang dapat *diautentikasi* (masuk) dan *diberi wewenang* (memiliki izin) untuk menggunakan sumber daya. AWS IoT Greengrass IAM adalah Layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

**catatan**  
Topik ini menjelaskan konsep dan fitur IAM. Untuk informasi tentang fitur IAM yang didukung oleh AWS IoT Greengrass, lihat[Bagaimana AWS IoT Greengrass bekerja dengan IAM](security_iam_service-with-iam.md).

## Audiens
<a name="security_iam_audience"></a>

Cara Anda menggunakan AWS Identity and Access Management (IAM) berbeda berdasarkan peran Anda:
+ **Pengguna layanan** - minta izin dari administrator Anda jika Anda tidak dapat mengakses fitur (lihat [Memecahkan masalah identitas dan akses untuk AWS IoT Greengrass](security_iam_troubleshoot.md))
+ **Administrator layanan** - tentukan akses pengguna dan mengirimkan permintaan izin (lihat [Bagaimana AWS IoT Greengrass bekerja dengan IAM](security_iam_service-with-iam.md))
+ **Administrator IAM** - tulis kebijakan untuk mengelola akses (lihat [Contoh kebijakan berbasis identitas untuk AWS IoT Greengrass](security_iam_id-based-policy-examples.md))

## Mengautentikasi dengan identitas
<a name="security_iam_authentication"></a>

Otentikasi adalah cara Anda masuk AWS menggunakan kredensi identitas Anda. Anda harus diautentikasi sebagai Pengguna root akun AWS, pengguna IAM, atau dengan mengasumsikan peran IAM.

Anda dapat masuk sebagai identitas federasi menggunakan kredensil dari sumber identitas seperti AWS IAM Identity Center (Pusat Identitas IAM), autentikasi masuk tunggal, atau kredensional. Google/Facebook Untuk informasi selengkapnya tentang cara masuk, lihat [Cara masuk ke Akun AWS Anda](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dalam *Panduan Pengguna AWS Sign-In *.

Untuk akses terprogram, AWS sediakan SDK dan CLI untuk menandatangani permintaan secara kriptografis. Untuk informasi selengkapnya, lihat [AWS Signature Version 4 untuk permintaan API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dalam *Panduan Pengguna IAM*.

### Akun AWS pengguna root
<a name="security_iam_authentication-rootuser"></a>

 Saat Anda membuat Akun AWS, Anda mulai dengan satu identitas masuk yang disebut *pengguna Akun AWS root* yang memiliki akses lengkap ke semua Layanan AWS dan sumber daya. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari. Untuk tugas yang memerlukan kredensial pengguna root, lihat [Tugas yang memerlukan kredensial pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dalam *Panduan Pengguna IAM*. 

### Pengguna dan grup IAM
<a name="security_iam_authentication-iamuser"></a>

*[Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* adalah identitas dengan izin khusus untuk satu orang atau aplikasi. Sebaiknya gunakan kredensial sementara alih-alih pengguna IAM dengan kredensial jangka panjang. Untuk informasi selengkapnya, lihat [Mewajibkan pengguna manusia untuk menggunakan federasi dengan penyedia identitas untuk mengakses AWS menggunakan kredensi sementara](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) di Panduan Pengguna *IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) menentukan kumpulan pengguna IAM dan mempermudah pengelolaan izin untuk pengguna dalam jumlah besar. Untuk mempelajari selengkapnya, lihat [Kasus penggunaan untuk pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dalam *Panduan Pengguna IAM*.

### Peran IAM
<a name="security_iam_authentication-iamrole"></a>

*[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* adalah identitas dengan izin khusus yang menyediakan kredensial sementara. Anda dapat mengambil peran dengan [beralih dari pengguna ke peran IAM (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) atau dengan memanggil operasi AWS CLI atau AWS API. Untuk informasi selengkapnya, lihat [Metode untuk mengambil peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dalam *Panduan Pengguna IAM*.

Peran IAM berguna untuk akses pengguna terfederasi, izin pengguna IAM sementara, akses lintas akun, akses lintas layanan, dan aplikasi yang berjalan di Amazon EC2. Untuk informasi selengkapnya, lihat [Akses sumber daya lintas akun di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dalam *Panduan Pengguna IAM*.

## Mengelola akses menggunakan kebijakan
<a name="security_iam_access-manage"></a>

Anda mengontrol akses AWS dengan membuat kebijakan dan melampirkannya ke AWS identitas atau sumber daya. Kebijakan menentukan izin saat dikaitkan dengan identitas atau sumber daya. AWS mengevaluasi kebijakan ini ketika kepala sekolah membuat permintaan. Sebagian besar kebijakan disimpan AWS sebagai dokumen JSON. Untuk informasi selengkapnya tentang dokumen kebijakan JSON, lihat [Gambaran umum kebijakan JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dalam *Panduan Pengguna IAM*.

Menggunakan kebijakan, administrator menentukan siapa yang memiliki akses ke apa dengan mendefinisikan **principal** mana yang dapat melakukan **tindakan** pada **sumber daya** apa, dan dalam **kondisi** apa.

Secara default, pengguna dan peran tidak memiliki izin. Administrator IAM membuat kebijakan IAM dan menambahkannya ke peran, yang kemudian dapat diambil oleh pengguna. Kebijakan IAM mendefinisikan izin terlepas dari metode yang Anda gunakan untuk melakukan operasinya.

### Kebijakan berbasis identitas
<a name="security_iam_access-manage-id-based-policies"></a>

Kebijakan berbasis identitas adalah dokumen kebijakan izin JSON yang Anda lampirkan ke identitas (pengguna, grup, atau peran). Kebijakan ini mengontrol tindakan apa yang bisa dilakukan oleh identitas tersebut, terhadap sumber daya yang mana, dan dalam kondisi apa. Untuk mempelajari cara membuat kebijakan berbasis identitas, lihat [Tentukan izin IAM kustom dengan kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dalam *Panduan Pengguna IAM*.

Kebijakan berbasis identitas dapat berupa *kebijakan inline* (disematkan langsung ke dalam satu identitas) atau *kebijakan terkelola* (kebijakan mandiri yang dilampirkan pada banyak identitas). Untuk mempelajari cara memilih antara kebijakan terkelola dan kebijakan inline, lihat [Pilih antara kebijakan terkelola dan kebijakan inline](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dalam *Panduan Pengguna IAM*.

### Kebijakan berbasis sumber daya
<a name="security_iam_access-manage-resource-based-policies"></a>

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang Anda lampirkan ke sumber daya. Contohnya termasuk *kebijakan kepercayaan peran IAM* dan *kebijakan bucket* Amazon S3. Dalam layanan yang mendukung kebijakan berbasis sumber daya, administrator layanan dapat menggunakannya untuk mengontrol akses ke sumber daya tertentu. Anda harus [menentukan principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam kebijakan berbasis sumber daya.

Kebijakan berbasis sumber daya merupakan kebijakan inline yang terletak di layanan tersebut. Anda tidak dapat menggunakan kebijakan AWS terkelola dari IAM dalam kebijakan berbasis sumber daya.

### Daftar kontrol akses (ACLs)
<a name="security_iam_access-manage-acl"></a>

Access control lists (ACLs) mengontrol prinsipal mana (anggota akun, pengguna, atau peran) yang memiliki izin untuk mengakses sumber daya. ACLs mirip dengan kebijakan berbasis sumber daya, meskipun mereka tidak menggunakan format dokumen kebijakan JSON.

Amazon S3, AWS WAF, dan Amazon VPC adalah contoh layanan yang mendukung. ACLs Untuk mempelajari selengkapnya ACLs, lihat [Ringkasan daftar kontrol akses (ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) di *Panduan Pengembang Layanan Penyimpanan Sederhana Amazon*.

### Jenis-jenis kebijakan lain
<a name="security_iam_access-manage-other-policies"></a>

AWS mendukung jenis kebijakan tambahan yang dapat menetapkan izin maksimum yang diberikan oleh jenis kebijakan yang lebih umum:
+ **Batasan izin** – Menetapkan izin maksimum yang dapat diberikan oleh kebijakan berbasis identitas kepada entitas IAM. Untuk informasi selengkapnya, lihat [Batasan izin untuk entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dalam *Panduan Pengguna IAM*.
+ **Kebijakan kontrol layanan (SCPs)** — Tentukan izin maksimum untuk organisasi atau unit organisasi di AWS Organizations. Untuk informasi selengkapnya, lihat [Kebijakan kontrol layanan](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dalam *Panduan Pengguna AWS Organizations *.
+ **Kebijakan kontrol sumber daya (RCPs)** — Tetapkan izin maksimum yang tersedia untuk sumber daya di akun Anda. Untuk informasi selengkapnya, lihat [Kebijakan kontrol sumber daya (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) di *Panduan AWS Organizations Pengguna*.
+ **Kebijakan sesi** – Kebijakan lanjutan yang diteruskan sebagai parameter saat membuat sesi sementara untuk peran atau pengguna terfederasi. Untuk informasi selengkapnya, lihat [Kebijakan sesi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dalam *Panduan Pengguna IAM*.

### Berbagai jenis kebijakan
<a name="security_iam_access-manage-multiple-policies"></a>

Ketika beberapa jenis kebijakan berlaku pada suatu permintaan, izin yang dihasilkan lebih rumit untuk dipahami. Untuk mempelajari cara AWS menentukan apakah akan mengizinkan permintaan saat beberapa jenis kebijakan terlibat, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) di *Panduan Pengguna IAM*.

## Lihat juga
<a name="security_iam_service-see-also"></a>
+ [Bagaimana AWS IoT Greengrass bekerja dengan IAM](security_iam_service-with-iam.md)
+ [Contoh kebijakan berbasis identitas untuk AWS IoT Greengrass](security_iam_id-based-policy-examples.md)
+ [Memecahkan masalah identitas dan akses untuk AWS IoT Greengrass](security_iam_troubleshoot.md)

# Bagaimana AWS IoT Greengrass bekerja dengan IAM
<a name="security_iam_service-with-iam"></a>

Sebelum Anda menggunakan IAM untuk mengelola akses AWS IoT Greengrass, Anda harus memahami fitur IAM yang dapat Anda gunakan. AWS IoT Greengrass


| Fitur IAM | Didukung oleh Greengrass? | 
| --- | --- | 
| [Kebijakan berbasis identitas dengan izin tingkat sumber daya](#security_iam_service-with-iam-id-based-policies) | Ya | 
| [Kebijakan berbasis sumber daya](#security_iam_service-with-iam-resource-based-policies) | Tidak | 
| [Daftar kontrol akses (ACLs)](#security_iam_service-with-iam-acls) | Tidak | 
| [Otorisasi berbasis tag](#security_iam_service-with-iam-tags) | Ya | 
| [Kredensial sementara](#security_iam_service-with-iam-roles-tempcreds) | Ya | 
| [Peran terkait layanan](#security_iam_service-with-iam-roles-service-linked) | Tidak | 
| [Peran layanan](#security_iam_service-with-iam-roles-service-linked) | Ya | 

Untuk tampilan tingkat tinggi tentang cara kerja AWS layanan lain dengan IAM, lihat [AWS layanan yang bekerja dengan IAM di Panduan Pengguna *IAM*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).

## Kebijakan berbasis identitas untuk AWS IoT Greengrass
<a name="security_iam_service-with-iam-id-based-policies"></a>

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan tindakan dan sumber daya yang diizinkan atau ditolak serta kondisi di mana tindakan diizinkan atau ditolak. AWS IoT Greengrass mendukung tindakan, sumber daya, dan kunci kondisi tertentu. Untuk mempelajari semua elemen yang Anda gunakan dalam kebijakan JSON, lihat [Referensi elemen kebijakan IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dalam *Panduan Pengguna IAM*.

### Tindakan
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.

Tindakan kebijakan untuk AWS IoT Greengrass menggunakan `greengrass:` awalan sebelum tindakan. Misalnya, untuk mengizinkan seseorang menggunakan operasi `ListCoreDevices` API untuk mencantumkan perangkat inti di perangkat mereka Akun AWS, Anda menyertakan `greengrass:ListCoreDevices` tindakan tersebut dalam kebijakan mereka. Pernyataan kebijakan harus mencakup salah satu `Action` atau `NotAction` elemen. AWS IoT Greengrass mendefinisikan serangkaian tindakannya sendiri yang menggambarkan tugas yang dapat Anda lakukan dengan layanan ini.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, letakkan dalam tanda kurung (`[` `]`) dan pisahkan dengan koma seperti berikut:

```
"Action": [
  "greengrass:action1",
  "greengrass:action2",
  "greengrass:action3"
]
```

Anda bisa menggunakan wildcard (`*`) untuk menentukan beberapa tindakan. Sebagai contoh, untuk menentukan semua tindakan yang dimulai dengan kata `List`, sertakan tindakan berikut:

```
"Action": "greengrass:List*"
```

**catatan**  
Kami merekomendasikan Anda menghindari penggunaan wildcard untuk menentukan semua tindakan yang tersedia untuk layanan. Sebagai praktik terbaik, Anda harus memberi setidaknya hak istimewa dan izin cakupan secara sempit dalam kebijakan. Untuk informasi selengkapnya, lihat [Berikan izin minimum yang memungkinkan](security-best-practices.md#least-privilege).

Untuk daftar lengkap AWS IoT Greengrass tindakan, lihat [Tindakan yang Ditentukan oleh AWS IoT Greengrass](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotgreengrass.html#awsiotgreengrass-actions-as-permissions) dalam *Panduan Pengguna IAM*.

### Sumber daya
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```

Tabel berikut berisi AWS IoT Greengrass sumber daya ARNs yang dapat digunakan dalam `Resource` elemen pernyataan kebijakan. *Untuk pemetaan izin tingkat sumber daya yang didukung untuk AWS IoT Greengrass tindakan, lihat [Tindakan yang Ditentukan oleh AWS IoT Greengrass](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awsiotgreengrass.html#awsiotgreengrass-actions-as-permissions) dalam Panduan Pengguna IAM.*

Beberapa AWS IoT Greengrass tindakan (misalnya, beberapa operasi daftar), tidak dapat dilakukan pada sumber daya tertentu. Dalam kondisi tersebut, Anda harus menggunakan karakter wildcard saja.

```
"Resource": "*"
```

Untuk menentukan beberapa sumber daya ARNs dalam sebuah pernyataan, daftarkan mereka di antara tanda kurung (`[``]`) dan pisahkan dengan koma, sebagai berikut:

```
"Resource": [
  "resource-arn1",
  "resource-arn2",
  "resource-arn3"
]
```

Untuk informasi selengkapnya tentang format ARN, lihat [Amazon Resource Names (ARNs) dan ruang nama AWS layanan](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) di. *Referensi Umum Amazon Web Services*

### Kunci syarat
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

### Contoh
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Untuk melihat contoh kebijakan AWS IoT Greengrass berbasis identitas, lihat. [Contoh kebijakan berbasis identitas untuk AWS IoT Greengrass](security_iam_id-based-policy-examples.md)

## Kebijakan berbasis sumber daya untuk AWS IoT Greengrass
<a name="security_iam_service-with-iam-resource-based-policies"></a>

AWS IoT Greengrass tidak mendukung kebijakan berbasis [sumber daya](security-iam.md#security_iam_access-manage-resource-based-policies).

## Daftar kontrol akses (ACLs)
<a name="security_iam_service-with-iam-acls"></a>

AWS IoT Greengrass tidak mendukung [ACLs](security-iam.md#security_iam_access-manage-acl).

## Otorisasi berdasarkan tag AWS IoT Greengrass
<a name="security_iam_service-with-iam-tags"></a>

Anda dapat melampirkan tag ke AWS IoT Greengrass sumber daya yang didukung atau meneruskan tag dalam permintaan AWS IoT Greengrass. Untuk mengendalikan akses berdasarkan tanda, Anda dapat memberikan informasi tentang tanda di [Elemen syarat](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) kebijakan dengan menggunakan kunci syarat `aws:ResourceTag/${TagKey}`, `aws:RequestTag/${TagKey}`, atau `aws:TagKeys`. Untuk informasi selengkapnya, lihat [Tandai AWS IoT Greengrass Version 2 sumber daya Anda](tag-resources.md).

## Peran IAM untuk AWS IoT Greengrass
<a name="security_iam_service-with-iam-roles"></a>

[IAM role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) adalah entitas dalam Akun AWS Anda yang memiliki izin khusus.

### Menggunakan kredensi sementara dengan AWS IoT Greengrass
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Kredensial sementara digunakan untuk masuk bersama gabungan, menjalankan IAM role, atau menjalankan peran lintas-akun. Anda memperoleh kredensi keamanan sementara dengan memanggil operasi AWS STS API seperti [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)atau. [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html)

Pada inti Greengrass, kredensial sementara untuk [peran perangkat](device-service-role.md) dibuat tersedia untuk komponen Greengrass. Jika komponen Anda menggunakan AWS SDK, Anda tidak perlu menambahkan logika untuk mendapatkan kredensialnya karena AWS SDK melakukannya untuk Anda.

### Peran terkait layanan
<a name="security_iam_service-with-iam-roles-service-linked"></a>

AWS IoT Greengrass tidak mendukung peran [terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role).

### Peran layanan
<a name="security_iam_service-with-iam-roles-service"></a>

Fitur ini memungkinkan layanan untuk menerima [peran layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) atas nama Anda. Peran ini mengizinkan layanan untuk mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran layanan muncul di akun IAM Anda dan dimiliki oleh akun tersebut. Ini berarti administrator IAM dapat mengubah izin untuk peran ini. Namun, melakukan hal itu dapat merusak fungsionalitas layanan.

AWS IoT Greengrass perangkat inti menggunakan peran layanan untuk memungkinkan komponen Greengrass dan fungsi Lambda mengakses beberapa sumber daya Anda atas nama Anda. AWS Untuk informasi selengkapnya, lihat [Otorisasi perangkat inti untuk berinteraksi dengan layanan AWS](device-service-role.md).

AWS IoT Greengrass menggunakan peran layanan untuk mengakses beberapa sumber AWS daya Anda atas nama Anda. Lihat informasi yang lebih lengkap di [Peran layanan Greengrass](greengrass-service-role.md).

# Contoh kebijakan berbasis identitas untuk AWS IoT Greengrass
<a name="security_iam_id-based-policy-examples"></a>

Secara default, pengguna dan IAM role tidak memiliki izin untuk membuat atau memodifikasi AWS IoT Greengrass sumber daya. Mereka juga tidak dapat melakukan tugas menggunakan Konsol Manajemen AWS, AWS CLI, atau AWS API. Administrator IAM harus membuat kebijakan IAM yang memberikan izin kepada pengguna dan peran untuk melakukan operasi API tertentu pada sumber daya yang diperlukan. Administrator kemudian harus melampirkan kebijakan tersebut ke pengguna IAM atau grup yang memerlukan izin tersebut.

## Praktik terbaik kebijakan
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Kebijakan berbasis identitas menentukan apakah seseorang dapat membuat, mengakses, atau menghapus AWS IoT Greengrass sumber daya di akun Anda. Tindakan ini membuat Akun AWS Anda dikenai biaya. Ketika Anda membuat atau mengedit kebijakan berbasis identitas, ikuti panduan dan rekomendasi ini:
+ **Mulailah dengan kebijakan AWS terkelola dan beralih ke izin hak istimewa paling sedikit — Untuk mulai memberikan izin** kepada pengguna dan beban kerja Anda, gunakan *kebijakan AWS terkelola* yang memberikan izin untuk banyak kasus penggunaan umum. Mereka tersedia di Anda Akun AWS. Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola AWS pelanggan yang khusus untuk kasus penggunaan Anda. Untuk informasi selengkapnya, lihat [Kebijakan yang dikelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) atau [Kebijakan yang dikelola AWS untuk fungsi tugas](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dalam *Panduan Pengguna IAM*.
+ **Menerapkan izin dengan hak akses paling rendah** – Ketika Anda menetapkan izin dengan kebijakan IAM, hanya berikan izin yang diperlukan untuk melakukan tugas. Anda melakukannya dengan mendefinisikan tindakan yang dapat diambil pada sumber daya tertentu dalam kondisi tertentu, yang juga dikenal sebagai *izin dengan hak akses paling rendah*. Untuk informasi selengkapnya tentang cara menggunakan IAM untuk mengajukan izin, lihat [Kebijakan dan izin dalam IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan kondisi dalam kebijakan IAM untuk membatasi akses lebih lanjut** – Anda dapat menambahkan suatu kondisi ke kebijakan Anda untuk membatasi akses ke tindakan dan sumber daya. Sebagai contoh, Anda dapat menulis kondisi kebijakan untuk menentukan bahwa semua permintaan harus dikirim menggunakan SSL. Anda juga dapat menggunakan ketentuan untuk memberikan akses ke tindakan layanan jika digunakan melalui yang spesifik Layanan AWS, seperti CloudFormation. Untuk informasi selengkapnya, lihat [Elemen kebijakan JSON IAM: Kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dalam *Panduan Pengguna IAM*.
+ **Gunakan IAM Access Analyzer untuk memvalidasi kebijakan IAM Anda untuk memastikan izin yang aman dan fungsional** – IAM Access Analyzer memvalidasi kebijakan baru dan yang sudah ada sehingga kebijakan tersebut mematuhi bahasa kebijakan IAM (JSON) dan praktik terbaik IAM. IAM Access Analyzer menyediakan lebih dari 100 pemeriksaan kebijakan dan rekomendasi yang dapat ditindaklanjuti untuk membantu Anda membuat kebijakan yang aman dan fungsional. Untuk informasi selengkapnya, lihat [Validasi kebijakan dengan IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dalam *Panduan Pengguna IAM*.
+ **Memerlukan otentikasi multi-faktor (MFA)** - Jika Anda memiliki skenario yang mengharuskan pengguna IAM atau pengguna root di Anda, Akun AWS aktifkan MFA untuk keamanan tambahan. Untuk meminta MFA ketika operasi API dipanggil, tambahkan kondisi MFA pada kebijakan Anda. Untuk informasi selengkapnya, lihat [Amankan akses API dengan MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dalam *Panduan Pengguna IAM*.

Untuk informasi selengkapnya tentang praktik terbaik dalam IAM, lihat [Praktik terbaik keamanan di IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dalam *Panduan Pengguna IAM*.

## Contoh kebijakan
<a name="security_iam_id-based-policy-examples-list"></a>

Contoh kebijakan yang ditetapkan pelanggan berikut memberikan izin untuk skenario umum.

**Topics**
+ [Mengizinkan pengguna melihat izin mereka sendiri](#security_iam_id-based-policy-examples-view-own-permissions)

Untuk mempelajari cara membuat kebijakan berbasis identitas IAM menggunakan contoh dokumen kebijakan JSON ini, lihat [Membuat kebijakan pada tab JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) 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": "*"
        }
    ]
}
```

# Otorisasi perangkat inti untuk berinteraksi dengan layanan AWS
<a name="device-service-role"></a>

AWS IoT Greengrass perangkat inti menggunakan penyedia AWS IoT Core kredensi untuk mengotorisasi panggilan ke layanan. AWS Penyedia AWS IoT Core kredensi memungkinkan perangkat menggunakan sertifikat X.509 mereka sebagai identitas perangkat unik untuk mengautentikasi permintaan. AWS Ini menghilangkan kebutuhan untuk menyimpan ID kunci AWS akses dan kunci akses rahasia pada perangkat AWS IoT Greengrass inti Anda. Untuk informasi selengkapnya, lihat [Mengotorisasi panggilan langsung ke AWS layanan](https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html) di *Panduan AWS IoT Core Pengembang*.

Saat menjalankan perangkat lunak AWS IoT Greengrass Core, Anda dapat memilih untuk menyediakan AWS sumber daya yang dibutuhkan perangkat inti. Ini termasuk peran AWS Identity and Access Management (IAM) yang diasumsikan perangkat inti Anda melalui penyedia AWS IoT Core kredensi. Gunakan `--provision true` argumen untuk mengonfigurasi peran dan kebijakan yang memungkinkan perangkat inti mendapatkan AWS kredensi sementara. Argumen ini juga mengonfigurasi alias AWS IoT peran yang menunjuk ke peran IAM ini. Anda dapat menentukan nama peran IAM dan alias AWS IoT peran yang akan digunakan. Jika Anda menentukan `--provision true` tanpa parameter nama lain ini, perangkat inti Greengrass akan menciptakan dan menggunakan sumber daya default berikut:
+ IAM role: `GreengrassV2TokenExchangeRole`

  Peran ini memiliki kebijakan bernama `GreengrassV2TokenExchangeRoleAccess` dan hubungan kepercayaan yang memungkinkan `credentials.iot.amazonaws.com` untuk menjalankan peran tersebut. Kebijakan ini mencakup izin minimum untuk perangkat inti.
**penting**  
Kebijakan ini tidak mencakup akses ke file dalam bucket S3. Anda harus menambahkan izin ke peran untuk mengizinkan perangkat inti mengambil artefak komponen dari bucket S3. Untuk informasi selengkapnya, lihat [Izinkan akses ke bucket S3 untuk artefak komponen](#device-service-role-access-s3-bucket).
+ AWS IoT alias peran: `GreengrassV2TokenExchangeRoleAlias`

  Alias peran ini mengacu pada IAM role.

Untuk informasi selengkapnya, lihat [Langkah 3: Instal perangkat lunak AWS IoT Greengrass Core](install-greengrass-v2.md).

Anda juga dapat mengatur alias peran untuk perangkat inti yang ada. Untuk melakukannya, konfigurasikan parameter konfigurasi `iotRoleAlias` [komponen inti Greengrass](greengrass-nucleus-component.md).

Anda dapat memperoleh AWS kredensi sementara untuk peran IAM ini untuk melakukan AWS operasi di komponen kustom Anda. Untuk informasi selengkapnya, lihat [Berinteraksi dengan AWS layanan](interact-with-aws-services.md).

**Topics**
+ [Izin peran layanan untuk perangkat inti](#device-service-role-permissions)
+ [Izinkan akses ke bucket S3 untuk artefak komponen](#device-service-role-access-s3-bucket)

## Izin peran layanan untuk perangkat inti
<a name="device-service-role-permissions"></a>

Peran memungkinkan layanan berikut untuk menjalankan peran tersebut:
+ `credentials.iot.amazonaws.com`

Jika Anda menggunakan perangkat lunak AWS IoT Greengrass Inti untuk membuat peran ini, ia menggunakan kebijakan izin berikut untuk mengizinkan perangkat inti terhubung dan mengirim log ke AWS. Nama kebijakan default pada nama IAM role yang diakhiri dengan `Access`. Misalnya, jika Anda menggunakan nama IAM role default, maka nama kebijakan ini adalah `GreengrassV2TokenExchangeRoleAccess`.

------
#### [ Greengrass nucleus v2.5.0 and later ]

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

****  

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

------

------
#### [ v2.4.x ]

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

****  

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

------

------
#### [ Earlier than v2.4.0 ]

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "iot:DescribeCertificate",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams",
        "iot:Connect",
        "iot:Publish",
        "iot:Subscribe",
        "iot:Receive",
        "s3:GetBucketLocation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

------

## Izinkan akses ke bucket S3 untuk artefak komponen
<a name="device-service-role-access-s3-bucket"></a>

Peran perangkat inti default tidak mengizinkan perangkat inti mengakses bucket S3. Untuk men-deploy komponen yang memiliki artefak dalam bucket S3, Anda harus menambahkan izin `s3:GetObject` untuk mengizinkan perangkat inti mengunduh artefak komponen. Anda dapat menambahkan kebijakan baru ke peran perangkat inti untuk memberikan izin ini.

**Untuk menambahkan kebijakan yang memungkinkan akses ke artefak komponen di Amazon S3**

1. Buat file bernama `component-artifact-policy.json` dan salin JSON berikut ke dalam file. Kebijakan ini memungkinkan akses ke semua file dalam bucket S3. Ganti amzn-s3-demo-bucket dengan nama bucket S3 untuk memungkinkan perangkat inti mengakses.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
       }
     ]
   }
   ```

------

1. Jalankan perintah berikut untuk membuat kebijakan dari dokumen kebijakan di `component-artifact-policy.json`.

------
#### [ Linux or Unix ]

   ```
   aws iam create-policy \
     --policy-name MyGreengrassV2ComponentArtifactPolicy \
     --policy-document file://component-artifact-policy.json
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws iam create-policy ^
     --policy-name MyGreengrassV2ComponentArtifactPolicy ^
     --policy-document file://component-artifact-policy.json
   ```

------
#### [ PowerShell ]

   ```
   aws iam create-policy `
     --policy-name MyGreengrassV2ComponentArtifactPolicy `
     --policy-document file://component-artifact-policy.json
   ```

------

   Salin Amazon Resource Name (ARN) kebijakan dari metadata kebijakan dalam output. Anda menggunakan ARN ini untuk melampirkan kebijakan ini ke peran perangkat inti di langkah berikutnya.

1. Jalankan perintah berikut untuk melampirkan kebijakan tersebut pada peran perangkat inti. Ganti *GreengrassV2TokenExchangeRole* dengan nama peran yang Anda tentukan saat menjalankan perangkat lunak AWS IoT Greengrass Core. Lalu, ganti ARN kebijakan dengan ARN dari langkah sebelumnya.

------
#### [ Linux or Unix ]

   ```
   aws iam attach-role-policy \
     --role-name GreengrassV2TokenExchangeRole \
     --policy-arn arn:aws:iam::123456789012:policy/MyGreengrassV2ComponentArtifactPolicy
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws iam attach-role-policy ^
     --role-name GreengrassV2TokenExchangeRole ^
     --policy-arn arn:aws:iam::123456789012:policy/MyGreengrassV2ComponentArtifactPolicy
   ```

------
#### [ PowerShell ]

   ```
   aws iam attach-role-policy `
     --role-name GreengrassV2TokenExchangeRole `
     --policy-arn arn:aws:iam::123456789012:policy/MyGreengrassV2ComponentArtifactPolicy
   ```

------

   Jika perintah itu tidak memiliki output, ia berhasil, dan perangkat inti Anda dapat mengakses artefak yang Anda unggah ke bucket S3 ini.

# Kebijakan IAM minimal untuk penginstal untuk menyediakan sumber daya
<a name="provision-minimal-iam-policy"></a>

Saat Anda menginstal perangkat lunak AWS IoT Greengrass Core, Anda dapat menyediakan AWS sumber daya yang diperlukan, seperti AWS IoT benda dan peran IAM untuk perangkat Anda. Anda juga dapat menyebarkan alat pengembangan lokal ke perangkat. Penginstal memerlukan AWS kredensi sehingga dapat melakukan tindakan ini di Anda. Akun AWS Untuk informasi selengkapnya, lihat [Instal perangkat lunak AWS IoT Greengrass Core](install-greengrass-core-v2.md).

Kebijakan contoh berikut mencakup kumpulan tindakan minimum yang memerlukan installer untuk menyediakan sumber daya ini. Izin ini diperlukan jika Anda menentukan `--provision` argumen untuk penginstal. Ganti *account-id* dengan Akun AWS ID Anda, dan ganti *GreengrassV2TokenExchangeRole* dengan nama peran pertukaran token yang Anda tentukan dengan [argumen `--tes-role-name` penginstal](configure-installer.md).

**catatan**  
Pernyataan kebijakan `DeployDevTools` diperlukan hanya jika Anda menentukan `--deploy-dev-tools` argumen untuk penginstal.

------
#### [ Greengrass nucleus v2.5.0 and later ]

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateTokenExchangeRole",
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:GetPolicy",
                "iam:GetRole",
                "iam:PassRole"
            ],
            "Resource": [
                "arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole",
                "arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess",
                "arn:aws:iam::aws:policy/GreengrassV2TokenExchangeRoleAccess"
            ]
        },
        {
            "Sid": "CreateIoTResources",
            "Effect": "Allow",
            "Action": [
                "iot:AddThingToThingGroup",
                "iot:AttachPolicy",
                "iot:AttachThingPrincipal",
                "iot:CreateKeysAndCertificate",
                "iot:CreatePolicy",
                "iot:CreateRoleAlias",
                "iot:CreateThing",
                "iot:CreateThingGroup",
                "iot:DescribeEndpoint",
                "iot:DescribeRoleAlias",
                "iot:DescribeThingGroup",
                "iot:GetPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "DeployDevTools",
            "Effect": "Allow",
            "Action": [
                "greengrass:CreateDeployment",
                "iot:CancelJob",
                "iot:CreateJob",
                "iot:DeleteThingShadow",
                "iot:DescribeJob",
                "iot:DescribeThing",
                "iot:DescribeThingGroup",
                "iot:GetThingShadow",
                "iot:UpdateJob",
                "iot:UpdateThingShadow"
            ],
            "Resource": "*"
        }
    ]
}
```

------

------
#### [ Earlier than v2.5.0 ]

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateTokenExchangeRole",
            "Effect": "Allow",
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:GetPolicy",
                "iam:GetRole",
                "iam:PassRole"
            ],
            "Resource": [
            "arn:aws:iam::123456789012:role/GreengrassV2TokenExchangeRole",
    "arn:aws:iam::123456789012:policy/GreengrassV2TokenExchangeRoleAccess",
                "arn:aws:iam::aws:policy/GreengrassV2TokenExchangeRoleAccess"
            ]
        },
        {
            "Sid": "CreateIoTResources",
            "Effect": "Allow",
            "Action": [
                "iot:AddThingToThingGroup",
                "iot:AttachPolicy",
                "iot:AttachThingPrincipal",
                "iot:CreateKeysAndCertificate",
                "iot:CreatePolicy",
                "iot:CreateRoleAlias",
                "iot:CreateThing",
                "iot:CreateThingGroup",
                "iot:DescribeEndpoint",
                "iot:DescribeRoleAlias",
                "iot:DescribeThingGroup",
                "iot:GetPolicy"
            ],
            "Resource": "*"
        },
        {
            "Sid": "DeployDevTools",
            "Effect": "Allow",
            "Action": [
                "greengrass:CreateDeployment",
                "iot:CancelJob",
                "iot:CreateJob",
                "iot:DeleteThingShadow",
                "iot:DescribeJob",
                "iot:DescribeThing",
                "iot:DescribeThingGroup",
                "iot:GetThingShadow",
                "iot:UpdateJob",
                "iot:UpdateThingShadow"
            ],
            "Resource": "*"
        }
    ]
}
```

------

------

# Peran layanan Greengrass
<a name="greengrass-service-role"></a>

<a name="greengrass-service-role-intro"></a>Peran layanan Greengrass adalah peran layanan (IAM) AWS Identity and Access Management yang AWS IoT Greengrass mengizinkan untuk mengakses sumber daya dari layanan atas nama Anda. AWS Peran ini memungkinkan AWS IoT Greengrass untuk memverifikasi identitas perangkat klien dan mengelola informasi konektivitas perangkat inti.

**catatan**  
AWS IoT Greengrass V1 juga menggunakan peran ini untuk melakukan tugas-tugas penting. Untuk informasi selengkapnya, lihat [Peran layanan Greengrass](https://docs.aws.amazon.com/greengrass/v1/developerguide/service-role.html) di *Panduan Developer AWS IoT Greengrass V1 *.

 AWS IoT Greengrass Untuk memungkinkan mengakses sumber daya Anda, peran layanan Greengrass harus dikaitkan dengan Akun AWS Anda dan AWS IoT Greengrass ditentukan sebagai entitas tepercaya. Peran harus menyertakan kebijakan [AWSGreengrassResourceAccessRolePolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy)terkelola atau kebijakan khusus yang menentukan izin setara untuk AWS IoT Greengrass fitur yang Anda gunakan. AWS mempertahankan kebijakan ini, yang menentukan kumpulan izin yang AWS IoT Greengrass digunakan untuk mengakses sumber daya Anda AWS . Untuk informasi selengkapnya, lihat [AWS kebijakan terkelola: AWSGreengrass ResourceAccessRolePolicy](security-iam-aws-managed-policies.md#aws-managed-policies-AWSGreengrassResourceAccessRolePolicy).

Anda dapat menggunakan kembali peran layanan Greengrass yang sama, tetapi Anda harus mengaitkannya dengan akun Anda Wilayah AWS di setiap tempat yang Anda gunakan. Wilayah AWS AWS IoT Greengrass Jika peran layanan tidak dikonfigurasi saat ini Wilayah AWS, perangkat inti gagal memverifikasi perangkat klien dan gagal memperbarui informasi konektivitas.

Bagian berikut menjelaskan cara membuat dan mengelola peran layanan Greengrass dengan atau. Konsol Manajemen AWS AWS CLI

**Topics**
+ [Kelola peran layanan Greengrass (konsol)](#manage-greengrass-service-role-console)
+ [Kelola peran layanan Greengrass (CLI)](#manage-service-role-cli)
+ [Lihat juga](#service-role-see-also)

**catatan**  
Selain peran layanan yang mengesahkan akses tingkat layanan, Anda menetapkan *peran pertukaran token* untuk perangkat inti Greengrass. Peran pertukaran token adalah peran IAM terpisah yang mengontrol bagaimana komponen Greengrass dan fungsi Lambda pada perangkat inti dapat mengakses layanan. AWS Untuk informasi selengkapnya, lihat [Otorisasi perangkat inti untuk berinteraksi dengan layanan AWS](device-service-role.md).

## Kelola peran layanan Greengrass (konsol)
<a name="manage-greengrass-service-role-console"></a>

 AWS IoT Konsol memudahkan untuk mengelola peran layanan Greengrass Anda. Sebagai contoh, ketika Anda mengonfigurasi penemuan perangkat klien untuk perangkat inti, konsol tersebut akan memeriksa apakah Akun AWS Anda melekat pada peran layanan Greengrass di Wilayah AWS saat ini. Jika tidak, konsol dapat membuat dan mengonfigurasi peran layanan untuk Anda. Untuk informasi selengkapnya, lihat [Buat peran layanan Greengrass (konsol)](#create-greengrass-service-role-console).

Anda dapat menggunakan konsol untuk tugas-tugas manajemen peran berikut:

**Topics**
+ [Temukan peran layanan Greengrass Anda (konsol)](#get-greengrass-service-role-console)
+ [Buat peran layanan Greengrass (konsol)](#create-greengrass-service-role-console)
+ [Ubah peran layanan Greengrass (konsol)](#update-greengrass-service-role-console)
+ [Lapaskan peran layanan Greengrass (konsol)](#remove-greengrass-service-role-console)

**catatan**  
Pengguna yang masuk ke konsol harus memiliki izin untuk melihat, membuat, atau mengubah peran layanan.

### Temukan peran layanan Greengrass Anda (konsol)
<a name="get-greengrass-service-role-console"></a>

Gunakan langkah-langkah berikut untuk menemukan peran layanan yang AWS IoT Greengrass digunakan saat ini Wilayah AWS.

1. <a name="open-iot-console"></a>Navigasikan ke [konsol AWS IoT](https://console.aws.amazon.com/iot) tersebut.

1. <a name="open-iot-settings"></a>Di panel navigasi, pilih **Pengaturan**.

1. Gulir ke **Peran layanan Greengrass** untuk melihat peran layanan dan kebijakannya.

   Jika Anda tidak melihat peran layanan, konsol dapat membuat atau mengonfigurasinya untuk Anda. Untuk informasi selengkapnya, lihat [Buat peran layanan Greengrass](#create-greengrass-service-role-console).

### Buat peran layanan Greengrass (konsol)
<a name="create-greengrass-service-role-console"></a>

Konsol dapat membuat dan mengkonfigurasi peran layanan Greengrass default untuk Anda. Peran ini memiliki properti berikut.


| Properti | Nilai | 
| --- | --- | 
| Nama | Greengrass\$1ServiceRole | 
| Entitas tepercaya | AWS service: greengrass | 
| Kebijakan | [AWSGreengrassResourceAccessRolePolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy) | 

**catatan**  
Jika Anda membuat peran ini dengan [skrip penyiapan perangkat AWS IoT Greengrass V1](https://docs.aws.amazon.com/greengrass/v1/developerguide/quick-start.html), nama perannya adalah `GreengrassServiceRole_random-string`.

Saat Anda mengonfigurasi penemuan perangkat klien untuk perangkat inti, konsol akan memeriksa apakah peran layanan Greengrass terkait dengan peran Anda saat ini. Akun AWS Wilayah AWS Jika tidak, konsol meminta Anda untuk mengizinkan AWS IoT Greengrass membaca dan menulis ke AWS layanan atas nama Anda.

Jika Anda memberikan izin, konsol tersebut akan memeriksa apakah peran bernama `Greengrass_ServiceRole` ada di Akun AWS Anda.
+ Jika peran ada, konsol akan melampirkan peran layanan ke peran Anda Akun AWS saat ini Wilayah AWS.
+ Jika peran tidak ada, konsol akan membuat peran layanan Greengrass default dan menempelkannya ke peran Anda saat ini. Akun AWS Wilayah AWS

**catatan**  
Jika Anda ingin membuat peran layanan dengan kebijakan peran kustom, gunakan konsol IAM untuk membuat atau mengubah peran. Untuk informasi selengkapnya, lihat [Membuat peran untuk mendelegasikan izin ke AWS layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) atau [Memodifikasi peran dalam Panduan Pengguna](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) *IAM*. Pastikan bahwa peran memberikan izin yang setara dengan kebijakan terkelola `AWSGreengrassResourceAccessRolePolicy` untuk fitur dan sumber daya yang Anda gunakan. Kami menyarankan Anda juga menyertakan `aws:SourceArn` dan kunci konteks kondisi `aws:SourceAccount` global dalam kebijakan kepercayaan Anda untuk membantu mencegah masalah keamanan *wakil yang membingungkan*. Kunci konteks kondisi membatasi akses untuk mengizinkan hanya permintaan yang berasal dari akun tertentu dan ruang kerja Greengrass. Untuk informasi lebih lanjut tentang masalah wakil yang membingungkan, lihat[Pencegahan "confused deputy" lintas layanan](cross-service-confused-deputy-prevention.md).  
Jika Anda membuat peran layanan, kembali ke AWS IoT konsol dan lampirkan peran ke peran Anda Akun AWS. Anda dapat melakukannya di bawah **Peran layanan Greengrass** pada halaman **Pengaturan**.

### Ubah peran layanan Greengrass (konsol)
<a name="update-greengrass-service-role-console"></a>

Gunakan prosedur berikut untuk memilih peran layanan Greengrass yang berbeda untuk dilampirkan ke Akun AWS Anda di konsol yang Wilayah AWS saat ini dipilih.

1. <a name="open-iot-console"></a>Navigasikan ke [konsol AWS IoT](https://console.aws.amazon.com/iot) tersebut.

1. <a name="open-iot-settings"></a>Di panel navigasi, pilih **Pengaturan**.

1. Di bawah **Peran layanan Greengrass**, pilih **Ubah peran**.

   Kotak dialog **Perbarui peran layanan Greengrass** akan terbuka dan menampilkan peran IAM dalam Akun AWS Anda yang didefinisikan sebagai entitas tepercaya. AWS IoT Greengrass 

1. Pilih peran layanan Greengrass untuk dilampirkan.

1. Pilih **Lampirkan peran**.

### Lapaskan peran layanan Greengrass (konsol)
<a name="remove-greengrass-service-role-console"></a>

Gunakan prosedur berikut untuk melepaskan peran layanan Greengrass dari akun Anda saat ini. AWS Wilayah AWS Ini mencabut izin AWS IoT Greengrass untuk mengakses AWS layanan saat ini. Wilayah AWS

**penting**  
Melepaskan peran layanan dapat mengganggu operasi aktif.

1. <a name="open-iot-console"></a>Navigasikan ke [AWS IoT konsol](https://console.aws.amazon.com/iot).

1. <a name="open-iot-settings"></a>Di panel navigasi, pilih **Pengaturan**.

1. Di bawah **Peran layanan Greengrass**, pilih **Lepaskan peran**.

1. Dalam kotak dialog konfirmasi, pilih **Lepaskan**.

**catatan**  
Jika Anda tidak lagi memerlukan peran tersebut, Anda dapat menghapusnya di konsol IAM. Untuk informasi lebih lanjut, lihat [Menghapus peran atau profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) dalam *Panduan Pengguna IAM*.  
Peran lain mungkin memungkinkan AWS IoT Greengrass untuk mengakses sumber daya Anda. Untuk menemukan semua peran yang memungkinkan AWS IoT Greengrass untuk mengambil izin atas nama Anda, di konsol IAM, pada halaman **Peran**, cari peran yang mencakup **layanan AWS : Greengrass** di kolom **Entitas tepercaya**.

## Kelola peran layanan Greengrass (CLI)
<a name="manage-service-role-cli"></a>

Dalam prosedur berikut, kami berasumsi AWS Command Line Interface bahwa diinstal dan dikonfigurasi untuk menggunakan Anda Akun AWS. Untuk informasi selengkapnya, lihat [Menginstal, memperbarui, dan melepas pemasangan AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/installing.html) dan [Mengonfigurasi AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) di *Panduan Pengguna AWS Command Line Interface *.

Anda dapat menggunakan AWS CLI untuk tugas manajemen peran berikut:

**Topics**
+ [Dapatkan peran layanan Greengrass (CLI)](#get-service-role)
+ [Buat peran layanan Greengrass (CLI)](#create-service-role)
+ [Hapus peran layanan Greengrass (CLI)](#remove-service-role)

### Dapatkan peran layanan Greengrass (CLI)
<a name="get-service-role"></a>

Gunakan prosedur berikut untuk mengetahui apakah peran layanan Greengrass dikaitkan dengan Akun AWS Anda di Wilayah AWS.
+ Dapatkan peran layanan. Ganti *region* dengan Anda Wilayah AWS (misalnya,`us-west-2`).

  ```
  aws greengrassv2 get-service-role-for-account --region region
  ```

  Jika peran layanan Greengrass telah dikaitkan dengan akun Anda, permintaan akan mengembalikan metadata peran berikut.

  ```
  {
    "associatedAt": "timestamp",
    "roleArn": "arn:aws:iam::account-id:role/path/role-name"
  }
  ```

  Jika permintaan tidak mengembalikan metadata peran, maka Anda harus membuat peran layanan (jika tidak ada) dan mengaitkannya dengan akun Anda di Wilayah AWS.

### Buat peran layanan Greengrass (CLI)
<a name="create-service-role"></a>

Gunakan langkah-langkah berikut untuk membuat peran dan mengaitkannya dengan perangkat Akun AWS Anda.

**Untuk membuat peran layanan dengan menggunakan IAM.**

1. Buat peran dengan kebijakan kepercayaan yang memungkinkan AWS IoT Greengrass untuk mengambil peran. Contoh ini menciptakan peran bernama `Greengrass_ServiceRole`, tetapi Anda dapat menggunakan nama yang berbeda. Kami menyarankan Anda juga menyertakan `aws:SourceArn` dan kunci konteks kondisi `aws:SourceAccount` global dalam kebijakan kepercayaan Anda untuk membantu mencegah masalah keamanan *wakil yang membingungkan*. Kunci konteks kondisi membatasi akses untuk mengizinkan hanya permintaan yang berasal dari akun tertentu dan ruang kerja Greengrass. Untuk informasi lebih lanjut tentang masalah wakil yang membingungkan, lihat[Pencegahan "confused deputy" lintas layanan](cross-service-confused-deputy-prevention.md).

------
#### [ Linux or Unix ]

   ```
   aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "greengrass.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "ArnLike": {
             "aws:SourceArn": "arn:aws:greengrass:region:account-id:*"
           },
           "StringEquals": {
             "aws:SourceAccount": "account-id"
           }
         }
       }
     ]
   }'
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document "{\"Version\":\"2012-10-17\",		 	 	 \"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"greengrass.amazonaws.com\"},\"Action\":\"sts:AssumeRole\",\"Condition\":{\"ArnLike\":{\"aws:SourceArn\":\"arn:aws:greengrass:region:account-id:*\"},\"StringEquals\":{\"aws:SourceAccount\":\"account-id\"}}}]}"
   ```

------
#### [ PowerShell ]

   ```
   aws iam create-role --role-name Greengrass_ServiceRole --assume-role-policy-document '{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "greengrass.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "ArnLike": {
             "aws:SourceArn": "arn:aws:greengrass:region:account-id:*"
           },
           "StringEquals": {
             "aws:SourceAccount": "account-id"
           }
         }
       }
     ]
   }'
   ```

------

1. Salin peran ARN dari metadata peran dalam output. Anda menggunakan ARN untuk mengasosiasikan peran dengan akun Anda.

1. Lampirkan kebijakan `AWSGreengrassResourceAccessRolePolicy` pada peran tersebut.

   ```
   aws iam attach-role-policy --role-name Greengrass_ServiceRole --policy-arn arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy
   ```

**Untuk mengaitkan peran layanan dengan Akun AWS**
+  Hubungkan peran itu dengan akun Anda. Ganti *role-arn* dengan peran layanan ARN dan *region* dengan Anda Wilayah AWS (misalnya,`us-west-2`).

  ```
  aws greengrassv2 associate-service-role-to-account --role-arn role-arn --region region
  ```

  Jika berhasil, permintaan tersebut akan mengembalikan tanggapan berikut.

  ```
  {
    "associatedAt": "timestamp"
  }
  ```

### Hapus peran layanan Greengrass (CLI)
<a name="remove-service-role"></a>

Gunakan langkah-langkah berikut untuk memisahkan peran layanan Greengrass dari perangkat Akun AWS.
+ Lepaskan peran layanan dari akun Anda. Ganti *region* dengan Anda Wilayah AWS (misalnya,`us-west-2`).

  ```
  aws greengrassv2 disassociate-service-role-from-account --region region
  ```

  Jika berhasil, respon berikut dikembalikan.

  ```
  {
    "disassociatedAt": "timestamp"
  }
  ```
**catatan**  
Anda harus menghapus peran layanan jika Anda tidak menggunakannya di salah satu Wilayah AWS. Pertama gunakan [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role-policy.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role-policy.html) untuk melepaskan `AWSGreengrassResourceAccessRolePolicy` kebijakan terkelola dari peran, dan kemudian gunakan [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role.html) untuk menghapus peran. Untuk informasi lebih lanjut, lihat [Menghapus peran atau profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) dalam *Panduan Pengguna IAM*.

## Lihat juga
<a name="service-role-see-also"></a>
+ [Membuat peran untuk mendelegasikan izin ke AWS layanan di Panduan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) Pengguna *IAM*
+ [Mengubah peran](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_modify.html) di *Panduan Pengguna IAM*
+ [Menghapus peran atau profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html) dalam *Panduan Pengguna IAM*.
+ AWS IoT Greengrass perintah dalam *Referensi AWS CLI Perintah*
  + [associate-service-role-to-akun](https://docs.aws.amazon.com/cli/latest/reference/greengrassv2/associate-service-role-to-account.html)
  + [disassociate-service-role-from-akun](https://docs.aws.amazon.com/cli/latest/reference/greengrassv2/disassociate-service-role-from-account.html)
  + [get-service-role-for-akun](https://docs.aws.amazon.com/cli/latest/reference/greengrassv2/get-service-role-for-account.html)
+ Perintah IAM di *Referensi Perintah AWS CLI *
  + [attach-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/attach-role-policy.html)
  + [menciptakan-peran](https://docs.aws.amazon.com/cli/latest/reference/iam/create-role.html)
  + [hapus-peran](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role.html)
  + [delete-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-role-policy.html)

# AWS kebijakan terkelola untuk AWS IoT Greengrass
<a name="security-iam-aws-managed-policies"></a>

Kebijakan AWS terkelola adalah kebijakan mandiri yang dibuat dan dikelola oleh AWS. AWS Kebijakan terkelola dirancang untuk memberikan izin bagi banyak kasus penggunaan umum sehingga Anda dapat mulai menetapkan izin kepada pengguna, grup, dan peran.

Perlu diingat bahwa kebijakan AWS terkelola mungkin tidak memberikan izin hak istimewa paling sedikit untuk kasus penggunaan spesifik Anda karena tersedia untuk digunakan semua pelanggan. AWS Kami menyarankan Anda untuk mengurangi izin lebih lanjut dengan menentukan [kebijakan yang dikelola pelanggan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) yang khusus untuk kasus penggunaan Anda.

Anda tidak dapat mengubah izin yang ditentukan dalam kebijakan AWS terkelola. Jika AWS memperbarui izin yang ditentukan dalam kebijakan AWS terkelola, pembaruan akan memengaruhi semua identitas utama (pengguna, grup, dan peran) yang dilampirkan kebijakan tersebut. AWS kemungkinan besar akan memperbarui kebijakan AWS terkelola saat baru Layanan AWS diluncurkan atau operasi API baru tersedia untuk layanan yang ada.

Untuk informasi selengkapnya, lihat [Kebijakan terkelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dalam *Panduan Pengguna IAM*.

**Topics**
+ [AWS kebijakan terkelola: AWSGreengrass FullAccess](#aws-managed-policies-AWSGreengrassFullAccess)
+ [AWS kebijakan terkelola: AWSGreengrass ReadOnlyAccess](#aws-managed-policies-AWSGreengrassReadOnlyAccess)
+ [AWS kebijakan terkelola: AWSGreengrass ResourceAccessRolePolicy](#aws-managed-policies-AWSGreengrassResourceAccessRolePolicy)
+ [AWS IoT Greengrass pembaruan kebijakan AWS terkelola](#aws-managed-policy-updates)

## AWS kebijakan terkelola: AWSGreengrass FullAccess
<a name="aws-managed-policies-AWSGreengrassFullAccess"></a>

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

Kebijakan ini memberikan izin administratif yang memungkinkan akses penuh utama ke semua tindakan AWS IoT Greengrass .

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `greengrass` – Mengizinkan bagian utama untuk mendapatkan akses penuh ke semua tindakan AWS IoT Greengrass .

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

****  

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

------

## AWS kebijakan terkelola: AWSGreengrass ReadOnlyAccess
<a name="aws-managed-policies-AWSGreengrassReadOnlyAccess"></a>

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

Kebijakan ini memberikan izin baca-saja yang memungkinkan prinsipal untuk melihat, tetapi tidak mengubah, informasi dalam AWS IoT Greengrass. Sebagai contoh, bagian utama dengan izin ini dapat melihat daftar komponen yang di-deploy ke perangkat inti Greengrass, tetapi tidak dapat membuat deployment untuk mengubah komponen yang berjalan pada perangkat tersebut.

**Detail izin**

Kebijakan ini mencakup izin berikut:
+ `greengrass` – Memungkinkan prinsipal untuk melakukan tindakan yang mengembalikan daftar item atau rincian tentang item. Ini termasuk operasi API yang dimulai dengan `List` atau `Get`.

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

****  

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

------

## AWS kebijakan terkelola: AWSGreengrass ResourceAccessRolePolicy
<a name="aws-managed-policies-AWSGreengrassResourceAccessRolePolicy"></a>

Anda dapat melampirkan `AWSGreengrassResourceAccessRolePolicy` kebijakan ke entitas IAM Anda. AWS IoT Greengrass juga melampirkan kebijakan ini ke peran layanan yang memungkinkan AWS IoT Greengrass untuk melakukan tindakan atas nama Anda. Untuk informasi selengkapnya, lihat [Peran layanan Greengrass](greengrass-service-role.md).

Kebijakan ini memberikan izin administratif yang memungkinkan AWS IoT Greengrass untuk melakukan tugas-tugas penting, seperti mengambil fungsi Lambda, mengelola bayangan AWS IoT perangkat, dan memverifikasi perangkat klien Greengrass.

**Detail izin**

Kebijakan ini mencakup izin berikut.
+ `greengrass` — Kelola sumber daya Greengrass.
+ `iot`(`*Shadow`) — Kelola AWS IoT bayangan yang memiliki pengidentifikasi khusus berikut dalam nama mereka. Izin ini diperlukan sehingga AWS IoT Greengrass dapat berkomunikasi dengan perangkat inti.
  + `*-gci`— AWS IoT Greengrass menggunakan bayangan ini untuk menyimpan informasi konektivitas perangkat inti, sehingga perangkat klien dapat menemukan dan terhubung ke perangkat inti.
  + `*-gcm`— AWS IoT Greengrass V1 menggunakan bayangan ini untuk memberi tahu perangkat inti bahwa sertifikat otoritas sertifikat (CA) grup Greengrass telah diputar.
  + `*-gda`— AWS IoT Greengrass V1 menggunakan bayangan ini untuk memberi tahu perangkat inti dari penerapan.
  + `GG_*`- Tidak terpakai.
+ `iot`(`DescribeThing`dan`DescribeCertificate`) — Mengambil informasi tentang AWS IoT hal-hal dan sertifikat. Izin ini diperlukan agar AWS IoT Greengrass dapat memverifikasi perangkat klien yang terhubung ke perangkat inti. Untuk informasi selengkapnya, lihat [Berinteraksilah dengan perangkat IoT lokal](interact-with-local-iot-devices.md).
+ `lambda`— Mengambil informasi tentang AWS Lambda fungsi. Izin ini diperlukan agar AWS IoT Greengrass V1 dapat menyebarkan fungsi Lambda ke inti Greengrass. Untuk informasi selengkapnya, lihat [Menjalankan fungsi Lambda pada AWS IoT Greengrass inti di Panduan](https://docs.aws.amazon.com/greengrass/v1/developerguide/lambda-functions.html) Pengembang *AWS IoT Greengrass V1*.
+ `secretsmanager`— Ambil nilai AWS Secrets Manager rahasia yang namanya dimulai dengan`greengrass-`. Izin ini diperlukan agar AWS IoT Greengrass V1 dapat menyebarkan rahasia Secrets Manager ke inti Greengrass. Untuk informasi selengkapnya, lihat [Menerapkan rahasia ke AWS IoT Greengrass inti](https://docs.aws.amazon.com/greengrass/v1/developerguide/secrets.html) di Panduan *Pengembang AWS IoT Greengrass V1*.
+ `s3` — Ambil objek file dari bucket S3 yang namanya berisi `greengrass` atau `sagemaker`. Izin ini diperlukan agar AWS IoT Greengrass V1 dapat menyebarkan sumber daya pembelajaran mesin yang Anda simpan di bucket S3. Untuk informasi selengkapnya, lihat [Sumber pembelajaran mesin](https://docs.aws.amazon.com/greengrass/v1/developerguide/ml-inference.html#ml-resources) di *Panduan Pengembang AWS IoT Greengrass V1*.
+ `sagemaker`— Ambil informasi tentang model inferensi pembelajaran mesin Amazon SageMaker AI. Izin ini diperlukan agar AWS IoT Greengrass V1 dapat menyebarkan model ML ke inti Greengrass. Untuk informasi selengkapnya, lihat [Melakukan inferensi pembelajaran mesin](https://docs.aws.amazon.com/greengrass/v1/developerguide/ml-inference.html) di Panduan *Pengembang AWS IoT Greengrass V1*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowGreengrassAccessToShadows",
            "Action": [
                "iot:DeleteThingShadow",
                "iot:GetThingShadow",
                "iot:UpdateThingShadow"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:iot:*:*:thing/GG_*",
                "arn:aws:iot:*:*:thing/*-gcm",
                "arn:aws:iot:*:*:thing/*-gda",
                "arn:aws:iot:*:*:thing/*-gci"
            ]
        },
        {
            "Sid": "AllowGreengrassToDescribeThings",
            "Action": [
                "iot:DescribeThing"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iot:*:*:thing/*"
        },
        {
            "Sid": "AllowGreengrassToDescribeCertificates",
            "Action": [
                "iot:DescribeCertificate"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:iot:*:*:cert/*"
        },
        {
            "Sid": "AllowGreengrassToCallGreengrassServices",
            "Action": [
                "greengrass:*"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Sid": "AllowGreengrassToGetLambdaFunctions",
            "Action": [
                "lambda:GetFunction",
                "lambda:GetFunctionConfiguration"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Sid": "AllowGreengrassToGetGreengrassSecrets",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:secretsmanager:*:*:secret:greengrass-*"
        },
        {
            "Sid": "AllowGreengrassAccessToS3Objects",
            "Action": [
                "s3:GetObject"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::*Greengrass*",
                "arn:aws:s3:::*GreenGrass*",
                "arn:aws:s3:::*greengrass*",
                "arn:aws:s3:::*Sagemaker*",
                "arn:aws:s3:::*SageMaker*",
                "arn:aws:s3:::*sagemaker*"
            ]
        },
        {
            "Sid": "AllowGreengrassAccessToS3BucketLocation",
            "Action": [
                "s3:GetBucketLocation"
            ],
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Sid": "AllowGreengrassAccessToSageMakerTrainingJobs",
            "Action": [
                "sagemaker:DescribeTrainingJob"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:sagemaker:*:*:training-job/*"
            ]
        }
    ]
}
```

------

## AWS IoT Greengrass pembaruan kebijakan AWS terkelola
<a name="aws-managed-policy-updates"></a>

Anda dapat melihat detail tentang pembaruan kebijakan AWS terkelola AWS IoT Greengrass sejak layanan ini mulai melacak perubahan ini. Untuk peringatan otomatis tentang perubahan pada halaman ini, berlangganan umpan RSS di halaman [riwayat dokumen AWS IoT Greengrass V2](document-history.md).


| Ubah | Deskripsi | Date | 
| --- | --- | --- | 
|  AWS IoT Greengrass mulai melacak perubahan  |  AWS IoT Greengrass mulai melacak perubahan untuk kebijakan yang AWS dikelola.  |  2 Juli 2021  | 

# Pencegahan "confused deputy" lintas layanan
<a name="cross-service-confused-deputy-prevention"></a>

Masalah "confused deputy" adalah masalah keamanan di mana entitas yang tidak memiliki izin untuk melakukan tindakan dapat memengaruhi entitas yang memiliki hak akses lebih tinggi untuk melakukan tindakan. Pada tahun AWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (*layanan yang dipanggil*) memanggil layanan lain (*layanan yang dipanggil*). Layanan pemanggilan dapat dimanipulasi menggunakan izinnya untuk bertindak pada sumber daya pelanggan lain dengan cara yang seharusnya tidak dilakukannya kecuali bila memiliki izin untuk mengakses. Untuk mencegah hal ini, AWS menyediakan alat yang membantu Anda melindungi data untuk semua layanan dengan principal layanan yang telah diberi akses ke sumber daya di akun Anda. 

Sebaiknya gunakan kunci konteks kondisi [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)dan dalam kebijakan sumber daya untuk membatasi izin yang AWS IoT Greengrass memberikan layanan lain ke sumber daya. Jika Anda menggunakan kedua kunci konteks kondisi global, `aws:SourceAccount` nilai dan akun dalam `aws:SourceArn` nilai harus menggunakan ID akun yang sama saat digunakan dalam pernyataan kebijakan yang sama.

Nilai `aws:SourceArn` harus berupa sumber daya pelanggan Greengrass yang terkait dengan permintaan. `sts:AssumeRole`

Cara paling efektif untuk melindungi dari masalah "confused deputy" adalah dengan menggunakan kunci konteks kondisi global `aws:SourceArn` dengan ARN lengkap sumber daya. Jika Anda tidak mengetahui ARN lengkap sumber daya atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks `aws:SourceArn` global dengan wildcard (`*`) untuk bagian ARN yang tidak diketahui. Misalnya, `arn:aws:greengrass::account-id:*`. 

Untuk contoh kebijakan yang menggunakan kunci konteks kondisi `aws:SourceAccount` global `aws:SourceArn` dan global, lihat[Buat peran layanan Greengrass](greengrass-service-role.md#create-service-role).

# Memecahkan masalah identitas dan akses untuk AWS IoT Greengrass
<a name="security_iam_troubleshoot"></a>

Gunakan informasi berikut untuk membantu Anda mendiagnosis dan memperbaiki masalah umum yang mungkin Anda temui saat bekerja dengan AWS IoT Greengrass dan IAM.

**Topics**
+ [Saya tidak berwenang untuk melakukan tindakan di AWS IoT Greengrass](#security_iam_troubleshoot-no-permissions)
+ [Saya tidak berwenang untuk melakukan iam: PassRole](#security_iam_troubleshoot-passrole)
+ [Saya seorang administrator dan ingin mengizinkan orang lain mengakses AWS IoT Greengrass](#security_iam_troubleshoot-admin-delegate)
+ [Saya ingin mengizinkan orang di luar saya Akun AWS untuk mengakses AWS IoT Greengrass sumber daya saya](#security_iam_troubleshoot-cross-account-access)

Untuk bantuan pemecahan masalah umum, lihat [Pemecahan masalah AWS IoT Greengrass V2](troubleshooting.md).

## Saya tidak berwenang untuk melakukan tindakan di AWS IoT Greengrass
<a name="security_iam_troubleshoot-no-permissions"></a>

Jika Anda menerima kesalahan yang menyatakan bahwa Anda tidak terotorisasi untuk melakukan tindakan, maka Anda harus menghubungi administrator untuk mendapatkan bantuan. Administrator Anda adalah orang yang memberikan nama pengguna dan kata sandi Anda.

Contoh kesalahan berikut terjadi saat pengguna IAM `mateojackson` mencoba melihat detail tentang perangkat inti, tetapi tidak memiliki izin `greengrass:GetCoreDevice`.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: greengrass:GetCoreDevice on resource: arn:aws:greengrass:us-west-2:123456789012:coreDevices/MyGreengrassCore
```

Dalam hal ini, Mateo meminta administratornya untuk memperbarui kebijakannya untuk memungkinkannya mengakses sumber daya `arn:aws:greengrass:us-west-2:123456789012:coreDevices/MyGreengrassCore` dengan menggunakan tindakan `greengrass:GetCoreDevice`.

Berikut adalah masalah IAM umum yang mungkin Anda hadapi saat bekerja dengan AWS IoT Greengrass.

## Saya tidak berwenang untuk melakukan iam: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Jika Anda menerima kesalahan yang tidak diizinkan untuk melakukan `iam:PassRole` tindakan, kebijakan Anda harus diperbarui agar Anda dapat meneruskan peran AWS IoT Greengrass.

Beberapa Layanan AWS memungkinkan Anda untuk meneruskan peran yang ada ke layanan tersebut alih-alih membuat peran layanan baru atau peran terkait layanan. Untuk melakukannya, Anda harus memiliki izin untuk meneruskan peran ke layanan.

Contoh kesalahan berikut terjadi ketika pengguna IAM bernama `marymajor` mencoba menggunakan konsol tersebut untuk melakukan tindakan di AWS IoT Greengrass. Namun, tindakan tersebut memerlukan layanan untuk mendapatkan izin yang diberikan oleh peran layanan. Mary tidak memiliki izin untuk meneruskan peran tersebut pada layanan.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dalam kasus ini, kebijakan Mary harus diperbarui agar dia mendapatkan izin untuk melakukan tindakan `iam:PassRole` tersebut.

Jika Anda memerlukan bantuan, hubungi AWS administrator Anda. Administrator Anda adalah orang yang memberi Anda kredensial masuk.

## Saya seorang administrator dan ingin mengizinkan orang lain mengakses AWS IoT Greengrass
<a name="security_iam_troubleshoot-admin-delegate"></a>

Untuk memungkinkan orang lain mengakses AWS IoT Greengrass, Anda harus memberikan izin kepada orang atau aplikasi yang membutuhkan akses. Jika Anda menggunakan AWS IAM Identity Center untuk mengelola orang dan aplikasi, Anda menetapkan set izin kepada pengguna atau grup untuk menentukan tingkat akses mereka. Set izin secara otomatis membuat dan menetapkan kebijakan IAM ke peran IAM yang terkait dengan orang atau aplikasi. Untuk informasi selengkapnya, lihat [Set izin](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) di *Panduan AWS IAM Identity Center Pengguna*.

Jika Anda tidak menggunakan IAM Identity Center, Anda harus membuat entitas IAM (pengguna atau peran) untuk orang atau aplikasi yang membutuhkan akses. Anda kemudian harus melampirkan kebijakan yang memberi mereka izin yang tepat di AWS IoT Greengrass. Setelah izin diberikan, berikan kredensialnya kepada pengguna atau pengembang aplikasi. Mereka akan menggunakan kredensi tersebut untuk mengakses. AWS*Untuk mempelajari selengkapnya tentang membuat pengguna, grup, kebijakan, dan izin IAM, lihat [Identitas dan Kebijakan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) [dan izin di IAM di Panduan Pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html).*

## Saya ingin mengizinkan orang di luar saya Akun AWS untuk mengakses AWS IoT Greengrass sumber daya saya
<a name="security_iam_troubleshoot-cross-account-access"></a>

Anda dapat membuat peran IAM yang dapat digunakan pengguna di akun lain atau orang di luar organisasi Anda untuk mengakses AWS sumber daya Anda. Anda dapat menentukan siapa yang dipercaya untuk menjalankan peran tersebut. Untuk informasi selengkapnya, lihat [Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) dan [Menyediakan akses ke yang Akun AWS dimiliki oleh pihak ketiga](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dalam *Panduan Pengguna IAM*.

AWS IoT Greengrass tidak mendukung akses lintas akun berdasarkan kebijakan berbasis sumber daya atau daftar kontrol akses (). ACLs