AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bagaimana AWS IoT Greengrass bekerja dengan IAM
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 |
Ya |
Tidak | |
Tidak | |
Tidak | |
Ya | |
Tidak | |
Ya |
Untuk tampilan tingkat tinggi tentang cara kerja AWS layanan lain dengan IAM, lihat AWS layanan yang bekerja dengan IAM di Panduan Pengguna IAM.
Kebijakan berbasis identitas untuk AWS IoT Greengrass
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 dalam Panduan Pengguna IAM.
Tindakan
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. Tindakan kebijakan biasanya memiliki nama yang sama dengan operasi AWS API terkait. Ada beberapa pengecualian, misalnya tindakan hanya izin yang tidak memiliki operasi API yang cocok. Ada juga beberapa operasi yang memerlukan beberapa tindakan dalam suatu kebijakan. Tindakan tambahan ini disebut tindakan dependen.
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 ListGroups
API untuk mencantumkan grup di grup mereka Akun AWS, Anda menyertakan greengrass:ListGroups
tindakan tersebut dalam kebijakan mereka. Pernyataan kebijakan harus menyertakan elemen Action
atau NotAction
. AWS IoT Greengrass menentukan serangkaian tindakannya sendiri yang menjelaskan 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.
Untuk daftar lengkap AWS IoT Greengrass tindakan, lihat Tindakan yang Ditentukan oleh AWS IoT Greengrass dalam Panduan Pengguna IAM.
Sumber daya
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. Pernyataan harus menyertakan elemen Resource
atau NotResource
. Praktik terbaiknya, tentukan sumber daya menggunakan Amazon Resource Name (ARN). Anda dapat melakukan ini untuk tindakan yang mendukung jenis sumber daya tertentu, yang dikenal sebagai izin tingkat sumber daya.
Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, misalnya operasi pencantuman, gunakan wildcard (*) 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 dalam Panduan Pengguna IAM.
Sumber Daya | ARN |
---|---|
Group |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}
|
GroupVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/versions/${VersionId}
|
CertificateAuthority |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/certificateauthorities/${CertificateAuthorityId}
|
Deployment |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/groups/${GroupId}/deployments/${DeploymentId}
|
BulkDeployment |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/bulk/deployments/${BulkDeploymentId}
|
ConnectorDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}
|
ConnectorDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/connectors/${ConnectorDefinitionId}/versions/${VersionId}
|
CoreDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}
|
CoreDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/cores/${CoreDefinitionId}/versions/${VersionId}
|
DeviceDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}
|
DeviceDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/devices/${DeviceDefinitionId}/versions/${VersionId}
|
FunctionDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}
|
FunctionDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/functions/${FunctionDefinitionId}/versions/${VersionId}
|
LoggerDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}
|
LoggerDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/loggers/${LoggerDefinitionId}/versions/${VersionId}
|
ResourceDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}
|
ResourceDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/resources/${ResourceDefinitionId}/versions/${VersionId}
|
SubscriptionDefinition |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}
|
SubscriptionDefinitionVersion |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/definition/subscriptions/${SubscriptionDefinitionId}/versions/${VersionId}
|
ConnectivityInfo |
arn:${Partition}:greengrass:${Region}:${Account}:/greengrass/things/${ThingName}/connectivityInfo
|
Contoh Resource
elemen berikut menentukan ARN dari grup di AS Barat (Oregon) Wilayah di: Akun AWS 123456789012
"Resource": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/groups/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Atau, untuk menentukan semua grup yang termasuk Akun AWS dalam spesifik Wilayah AWS, gunakan wildcard sebagai pengganti ID grup:
"Resource": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/groups/*"
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 di. Referensi Umum Amazon Web Services
Kunci syarat
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 Condition
(atau blok Condition
) akan memungkinkan Anda menentukan kondisi yang menjadi dasar suatu pernyataan berlaku. Elemen Condition
bersifat opsional. Anda dapat membuat ekspresi bersyarat yang menggunakan operator kondisi, misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta.
Jika Anda menentukan beberapa elemen Condition
dalam sebuah pernyataan, atau beberapa kunci dalam elemen Condition
tunggal, maka AWS akan mengevaluasinya menggunakan operasi AND
logis. Jika Anda menentukan beberapa nilai untuk satu kunci kondisi, AWS mengevaluasi kondisi menggunakan OR
operasi logis. Semua kondisi harus dipenuhi sebelum izin pernyataan diberikan.
Anda juga dapat menggunakan variabel placeholder saat menentukan kondisi. Sebagai contoh, Anda dapat memberikan izin kepada pengguna IAM untuk mengakses sumber daya hanya jika izin tersebut mempunyai tanda yang sesuai dengan nama pengguna IAM mereka. Untuk informasi selengkapnya, lihat Elemen kebijakan IAM: variabel dan tanda dalam Panduan Pengguna IAM.
AWS mendukung kunci kondisi global dan kunci kondisi khusus layanan. Untuk melihat semua kunci kondisi AWS global, lihat kunci konteks kondisi AWS global di Panduan Pengguna IAM.
AWS IoT Greengrass mendukung kunci kondisi global berikut.
Kunci | Deskripsi |
---|---|
aws:CurrentTime |
Filter mengakses dengan memeriksa kondisi tanggal/waktu untuk tanggal dan waktu saat ini. |
aws:EpochTime |
Filter mengakses dengan memeriksa kondisi tanggal/waktu untuk tanggal dan waktu saat ini dalam jangka waktu atau waktu Unix. |
aws:MultiFactorAuthAge |
Filter mengakses dengan memeriksa berapa lama yang lalu (dalam detik) kredensial keamanan yang divalidasi oleh autentikasi multi faktor (MFA) dalam permintaan dikeluarkan menggunakan MFA. |
aws:MultiFactorAuthPresent |
Filter mengakses ini untuk memeriksa apakah autentikasi multi-faktor (MFA) digunakan untuk memvalidasi kredensial keamanan sementara yang membuat permintaan. |
aws:RequestTag/${TagKey} |
Filter membuat permintaan berdasarkan set yang diizinkan nilai untuk masing-masing tag wajib. |
aws:ResourceTag/${TagKey} |
Filter tindakan berdasarkan menandai nilai yang terkait dengan sumber daya. |
aws:SecureTransport |
Filter mengakses dengan memeriksa apakah permintaan dikirim menggunakan SSL. |
aws:TagKeys |
Filter membuat permintaan berdasarkan adanya tag wajib dalam permintaan. |
aws:UserAgent |
Filter mengakses oleh aplikasi klien pemohon. |
Untuk informasi lebih lanjut, lihat kunci konteks syarat global AWS dalam Panduan Pengguna IAM.
Contoh
Untuk melihat contoh kebijakan AWS IoT Greengrass berbasis identitas, lihat. Contoh kebijakan berbasis identitas untuk AWS IoT Greengrass
Kebijakan berbasis sumber daya untuk AWS IoT Greengrass
AWS IoT Greengrass tidak mendukung kebijakan berbasis sumber daya.
Daftar kontrol akses (ACLs)
AWS IoT Greengrass tidak mendukung ACLs.
Otorisasi berdasarkan tanda AWS IoT Greengrass
AWS IoT Greengrass tidak mendukung otorisasi berbasis tag.
Peran IAM untuk AWS IoT Greengrass
Peran IAM adalah entitas di dalam Anda Akun AWS yang memiliki izin khusus.
Menggunakan kredensi sementara dengan AWS IoT Greengrass
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 AssumeRoleatau. GetFederationToken
Pada core Greengrass, kredensial sementara untuk peran grup dibuat tersedia untuk fungsi dan konektor Lambda yang ditentukan pengguna. Jika fungsi Lambda Anda menggunakan AWS SDK, Anda tidak perlu menambahkan logika untuk mendapatkan kredensialnya karena AWS SDK melakukannya untuk Anda.
Peran terkait layanan
AWS IoT Greengrass tidak mendukung peran terkait layanan.
Peran layanan
Fitur ini memungkinkan layanan untuk menerima peran layanan 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 menggunakan peran layanan untuk mengakses beberapa sumber AWS daya Anda atas nama Anda. Untuk informasi selengkapnya, lihat Peran layanan Greengrass.
Memilih peran IAM di konsol AWS IoT Greengrass
Di AWS IoT Greengrass konsol, Anda mungkin perlu memilih peran layanan Greengrass atau peran grup Greengrass dari daftar peran IAM di akun Anda.
-
Peran layanan Greengrass AWS IoT Greengrass memungkinkan untuk mengakses sumber daya AWS Anda di layanan lain atas nama Anda. Biasanya, Anda tidak perlu memilih peran layanan karena konsol dapat membuat dan mengonfigurasinya untuk Anda. Untuk informasi selengkapnya, lihat Peran layanan Greengrass.
-
Peran grup Greengrass digunakan untuk memungkinkan fungsi dan konektor Greengrass Lambda dalam grup untuk mengakses sumber daya Anda. AWS Itu juga dapat memberikan AWS IoT Greengrass izin untuk mengekspor aliran ke AWS layanan dan menulis CloudWatch log. Untuk informasi selengkapnya, lihat Peran grup Greengrass.