AWS Serverless Application RepositoryContoh Kebijakan Aplikasi - AWS Serverless Application Repository

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

AWS Serverless Application RepositoryContoh Kebijakan Aplikasi

Kebijakan izin yang dilampirkan padaAWS Serverless Application Repository aplikasi disebut sebagai kebijakan aplikasi. Kebijakan aplikasi menentukan tindakan yang pokok tertentu atau PrincipalOrg dapat melakukan padaAWS Serverless Application Repository aplikasi.

SebuahAWS Serverless Application Repository aplikasi adalahAWS sumber daya utama dalamAWS Serverless Application Repository. AWS Serverless Application Repositorykebijakan aplikasi terutama digunakan oleh penerbit untuk memberikan izin kepada konsumen untuk menyebarkan aplikasi mereka, dan operasi terkait seperti untuk mencari dan melihat rincian aplikasi tersebut.

Penerbit dapat mengatur izin aplikasi ke tiga kategori berikut:

  • Pribadi - Aplikasi yang dibuat dengan akun yang sama, dan belum dibagikan dengan akun lain. Hanya konsumen yang berbagiAWS akun Anda yang memiliki izin untuk menerapkan aplikasi pribadi.

  • Dibagikan secara pribadi — Aplikasi yang telah dibagikan oleh penerbit secara eksplisit dengan sekumpulanAWS akun tertentu, atau denganAWS akun diAWS organisasi. Konsumen memiliki izin untuk menyebarkan aplikasi yang telah dibagikan denganAWS akun atauAWS organisasi mereka. Untuk informasi selengkapnya tentangAWS organisasi, lihat PanduanAWS Organizations Pengguna.

  • Dibagikan secara publik - Aplikasi yang telah dibagikan oleh penerbit dengan semua orang. Semua konsumen memiliki izin untuk menyebarkan aplikasi yang dibagikan secara publik.

catatan

Untuk aplikasi yang dibagikan secara pribadi,AWS Serverless Application Repository satu-satunya yang mendukung AWSakun sebagai prinsipal. Penerbit dapat memberikan atau menolak semua pengguna dalamAWS akun sebagai grup tunggal untukAWS Serverless Application Repository aplikasi. Penerbit tidak dapat memberikan atau menolak pengguna individu dalam suatuAWS akun keAWS Serverless Application Repository aplikasi.

Untuk petunjuk tentang pengaturan izin aplikasi menggunakanAWS Management Console, lihatBerbagi Aplikasi.

Untuk petunjuk tentang pengaturan izin aplikasi menggunakanAWS CLI dan contoh, lihat bagian berikut.

Izin Aplikasi (AWS CLIdanAWS SDK)

Saat menggunakanAWS SDKAWS CLI atau untuk menetapkan izinAWS Serverless Application Repository aplikasi, Anda dapat menentukan tindakan berikut:

Action Deskripsi
GetApplication

Memberikan izin untuk melihat informasi tentang aplikasi.

CreateCloudFormationChangeSet

Memberikan izin untuk aplikasi yang akan digunakan.

Catatan: Tindakan ini tidak memberikan izin lain selain untuk menyebarkan.

CreateCloudFormationTemplate

Memberikan izin untuk membuatAWS CloudFormation templat untuk aplikasi.

ListApplicationVersions Memberikan izin untuk mencantumkan versi aplikasi.
ListApplicationDependencies Memberikan izin untuk mencantumkan daftar aplikasi yang bersarang di aplikasi yang berisi.
SearchApplications Memberikan izin untuk aplikasi yang akan dicari.
Deploy

Tindakan ini memungkinkan semua tindakan yang tercantum sebelumnya dalam tabel. Artinya, ia memberikan izin untuk aplikasi yang akan dilihat, untuk itu untuk digunakan, untuk versi yang akan terdaftar, dan untuk itu yang akan dicari.

Contoh Kebijakan Aplikasi

Contoh berikut menunjukkan cara memberikan izin dengan menggunakanAWS CLI. Untuk informasi tentang cara memberikan izin menggunakanAWS Management Console, lihatBerbagi Aplikasi.

Semua contoh di bagian ini menggunakanAWS CLI perintah ini untuk mengelola kebijakan izin yang terkait denganAWS Serverless Application Repository aplikasi:

Contoh 1: Berbagi Aplikasi dengan Akun Lain

Untuk berbagi aplikasi dengan akun tertentu lainnya, tetapi menjaganya agar tidak dibagikan dengan orang lain, Anda menentukan IDAWS akun yang ingin Anda bagikan sebagai prinsipal. Ini juga dikenal sebagai pengaturan aplikasi untuk dibagikan secara pribadi. Untuk melakukannya, gunakanAWS CLI perintah berikut.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id,Actions=Deploy
catatan

Aplikasi yang dibagikan secara pribadi hanya dapat digunakan diAWS Wilayah yang sama di mana aplikasi dibuat.

Contoh 2: Membagikan Aplikasi Secara Publik

Untuk membuat aplikasi publik, Anda membagikannya dengan semua orang dengan menentukan “*” sebagai kepala sekolah, seperti pada contoh berikut. Aplikasi yang dibagikan untuk umum tersedia di semua Wilayah.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,Actions=Deploy
catatan

Dalam rangka untuk berbagi aplikasi publik, itu harus memiliki keduaSemanticVersion danLicenseUrl properti ditetapkan.

Contoh 3: Membuat Aplikasi Pribadi

Anda dapat membuat aplikasi pribadi, sehingga tidak dibagikan dengan siapa pun dan hanya dapat digunakan olehAWS akun yang memilikinya. Untuk melakukannya, Anda menghapus prinsip dan tindakan dari kebijakan, yang juga menghapus izin dari akun lain dalamAWS organisasi Anda agar tidak menerapkan aplikasi Anda.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements '[]'
catatan

Aplikasi pribadi hanya dapat digunakan diAWS Wilayah yang sama di mana aplikasi dibuat.

Contoh 4: Menentukan Beberapa Akun dan Izin

Anda dapat memberikan beberapa izin, dan Anda dapat memberikannya ke lebih dari satuAWS akun sekaligus. Untuk melakukannya, Anda menentukan daftar sebagai pokok dan tindakan, seperti yang ditunjukkan dalam contoh berikut.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationChangeSet

Contoh 5: Berbagi Aplikasi dengan Semua Akun diAWS Organisasi

Izin dapat diberikan kepada semua pengguna dalam suatuAWS organisasi. Anda melakukannya dengan menentukan ID organisasi Anda, seperti dalam contoh berikut.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=*,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication

Untuk informasi selengkapnya tentangAWS organisasi, lihat PanduanAWS Organizations Pengguna.

catatan

Anda hanya dapat menentukanAWS organisasi yang menjadi anggotaAWS akun Anda. Jika Anda mencoba menentukanAWS organisasi tempat Anda bukan anggota, kesalahan akan terjadi.

Untuk berbagi aplikasi Anda denganAWS organisasi Anda, Anda harus menyertakan izin untukUnshareApplication tindakan tersebut, jika berbagi perlu dicabut di masa future.

Contoh 6: Berbagi Aplikasi dengan Beberapa Akun diAWS Organisasi

Izin dapat diberikan ke akun tertentu dalam suatuAWS organisasi. Anda melakukannya dengan menentukan daftarAWS akun sebagai prinsipal, dan ID organisasi Anda, seperti pada contoh berikut.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,PrincipalOrgIDs=org-id,Actions=Deploy,UnshareApplication
catatan

Anda hanya dapat menentukanAWS organisasi yang menjadi anggotaAWS akun Anda. Jika Anda mencoba menentukanAWS organisasi tempat Anda bukan anggota, kesalahan akan terjadi.

Untuk berbagi aplikasi Anda denganAWS organisasi Anda, Anda harus menyertakan izin untukUnshareApplication tindakan tersebut, jika berbagi perlu dicabut di masa future.

Contoh 7: Mengambil Kebijakan Aplikasi

Untuk melihat kebijakan aplikasi saat ini, misalnya untuk melihat apakah saat ini sedang dibagikan, Anda menggunakanget-application-policy perintah, seperti pada contoh berikut.

aws serverlessrepo get-application-policy \ --region region \ --application-id application-arn

Contoh 8: Izinkan Aplikasi Bersarang oleh Akun Tertentu

Aplikasi publik diizinkan untuk disarangkan oleh siapa pun. Jika Anda hanya ingin mengizinkan aplikasi Anda bersarang oleh akun tertentu, Anda harus menetapkan izin minimal berikut, seperti yang ditunjukkan pada contoh berikut.

aws serverlessrepo put-application-policy \ --region region \ --application-id application-arn \ --statements Principals=account-id-1,account-id-2,Actions=GetApplication,CreateCloudFormationTemplate