AWS CodeStar Kebijakan dan Izin Tingkat Proyek - AWS CodeStar

Pada 31 Juli 2024, Amazon Web Services (AWS) akan menghentikan dukungan untuk membuat dan melihat AWS CodeStar proyek. Setelah 31 Juli 2024, Anda tidak akan lagi dapat mengakses AWS CodeStar konsol atau membuat proyek baru. Namun, AWS sumber daya yang dibuat oleh AWS CodeStar, termasuk repositori sumber, saluran pipa, dan build Anda, tidak akan terpengaruh oleh perubahan ini dan akan terus berfungsi. AWS CodeStar Koneksi dan AWS CodeStar Pemberitahuan tidak akan terpengaruh oleh penghentian ini.

 

Jika Anda ingin melacak pekerjaan, mengembangkan kode, dan membangun, menguji, dan menyebarkan aplikasi Anda, Amazon CodeCatalyst menyediakan proses memulai yang efisien dan fungsionalitas tambahan untuk mengelola proyek perangkat lunak Anda. Pelajari lebih lanjut tentang fungsionalitas dan harga Amazon CodeCatalyst.

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

AWS CodeStar Kebijakan dan Izin Tingkat Proyek

Saat Anda membuat proyek, AWS CodeStar buat IAM peran dan kebijakan yang Anda perlukan untuk mengelola sumber daya proyek Anda. Kebijakan tersebut terbagi dalam tiga kategori:

  • IAMkebijakan untuk anggota tim proyek.

  • IAMkebijakan untuk peran pekerja.

  • IAMkebijakan untuk peran eksekusi runtime.

IAMKebijakan untuk Anggota Tim

Saat Anda membuat proyek, AWS CodeStar buat tiga kebijakan yang dikelola pelanggan untuk akses pemilik, kontributor, dan penampil ke proyek. Semua AWS CodeStar proyek berisi IAM kebijakan untuk tiga tingkat akses ini. Tingkat akses ini spesifik proyek dan ditentukan oleh kebijakan IAM terkelola dengan nama standar, di mana project-id adalah ID AWS CodeStar proyek (misalnya, my-first-projec):

  • CodeStar_project-id_Owner

  • CodeStar_project-id_Contributor

  • CodeStar_project-id_Viewer

penting

Kebijakan ini dapat berubah oleh AWS CodeStar. Mereka tidak boleh diedit secara manual. Jika Anda ingin menambah atau mengubah izin, lampirkan kebijakan tambahan ke IAM pengguna.

Saat Anda menambahkan anggota tim (IAMpengguna) ke proyek dan memilih tingkat akses mereka, kebijakan terkait dilampirkan ke IAM pengguna, memberikan pengguna serangkaian izin yang sesuai untuk bertindak atas sumber daya proyek. Dalam sebagian besar keadaan, Anda tidak perlu melampirkan atau mengelola kebijakan atau izin secara IAM langsung. Melampirkan kebijakan tingkat AWS CodeStar akses secara manual ke IAM pengguna tidak disarankan. Jika benar-benar diperlukan, sebagai pelengkap kebijakan tingkat AWS CodeStar akses, Anda dapat membuat kebijakan terkelola atau sebaris Anda sendiri untuk menerapkan tingkat izin Anda sendiri kepada pengguna. IAM

Kebijakan tersebut tercakup erat pada sumber daya proyek dan tindakan spesifik. Saat sumber daya baru ditambahkan ke tumpukan infrastruktur, AWS CodeStar upaya memperbarui kebijakan anggota tim untuk menyertakan izin mengakses sumber daya baru, jika salah satu jenis sumber daya yang didukung.

catatan

Kebijakan untuk tingkat akses dalam suatu AWS CodeStar proyek hanya berlaku untuk proyek tersebut. Ini membantu memastikan bahwa pengguna hanya dapat melihat dan berinteraksi dengan AWS CodeStar proyek yang mereka miliki izin, pada tingkat yang ditentukan oleh peran mereka. Hanya pengguna yang membuat AWS CodeStar proyek yang harus menerapkan kebijakan yang memungkinkan akses ke semua AWS CodeStar sumber daya, apa pun proyeknya.

Semua kebijakan tingkat AWS CodeStar akses bervariasi, tergantung pada AWS sumber daya yang terkait dengan proyek yang terkait dengan tingkat akses. Tidak seperti AWS layanan lain, kebijakan ini disesuaikan ketika proyek dibuat dan diperbarui saat sumber daya proyek berubah. Oleh karena itu, tidak ada satu pun kebijakan yang dikelola pemilik kanonik, kontributor, atau pemirsa.

AWS CodeStar Kebijakan Peran Pemilik

Kebijakan yang dikelola CodeStar_project-id_Owner pelanggan memungkinkan pengguna untuk melakukan semua tindakan dalam AWS CodeStar proyek tanpa batasan. Ini adalah satu-satunya kebijakan yang memungkinkan pengguna untuk menambah atau menghapus anggota tim. Isi kebijakan bervariasi, tergantung pada sumber daya yang terkait dengan proyek. Lihat AWS CodeStar Kebijakan Peran Pemilik sebagai contoh.

IAMPengguna dengan kebijakan ini dapat melakukan semua AWS CodeStar tindakan dalam proyek, tetapi tidak seperti IAM pengguna dengan AWSCodeStarFullAccess kebijakan, pengguna tidak dapat membuat proyek. codestar:*Izin terbatas dalam ruang lingkup untuk sumber daya tertentu ( AWS CodeStar proyek yang terkait dengan ID proyek itu).

AWS CodeStar Kebijakan Peran Kontributor

Kebijakan yang dikelola CodeStar_project-id_Contributor pelanggan memungkinkan pengguna untuk berkontribusi pada proyek dan mengubah dasbor proyek, tetapi tidak mengizinkan pengguna untuk menambah atau menghapus anggota tim. Isi kebijakan bervariasi, tergantung pada sumber daya yang terkait dengan proyek. Lihat AWS CodeStarKebijakan Peran Kontributor sebagai contoh.

AWS CodeStar Kebijakan Peran Penampil

Kebijakan terkelola CodeStar_project-id_Viewer pelanggan memungkinkan pengguna untuk melihat proyek AWS CodeStar, tetapi tidak mengubah sumber dayanya atau menambah atau menghapus anggota tim. Isi kebijakan bervariasi, tergantung pada sumber daya yang terkait dengan proyek. Lihat AWS CodeStar Kebijakan Peran Penampil sebagai contoh.

IAMKebijakan untuk Peran Pekerja

Jika Anda membuat AWS CodeStar proyek setelah 6 Desember 2018PDT, AWS CodeStar buat dua peran pekerja, CodeStar-project-id-ToolChain danCodeStar-project-id-CloudFormation. Peran pekerja adalah IAM peran khusus proyek yang AWS CodeStar dibuat untuk diteruskan ke layanan. Ini memberikan izin sehingga layanan dapat membuat sumber daya dan menjalankan tindakan dalam konteks proyek Anda AWS CodeStar . Peran pekerja rantai alat memiliki hubungan kepercayaan yang dibangun dengan layanan rantai alat seperti CodeBuild, CodeDeploy, dan. CodePipeline Anggota tim proyek (pemilik dan kontributor) diberikan akses untuk meneruskan peran pekerja ke layanan hilir tepercaya. Untuk contoh pernyataan kebijakan inline untuk peran ini, lihatAWS CodeStar Kebijakan Peran Pekerja Toolchain (Setelah 6 Desember 2018) PDT.

Peran CloudFormation pekerja menyertakan izin untuk sumber daya terpilih yang didukung oleh AWS CloudFormation, serta izin untuk membuat IAM pengguna, peran, dan kebijakan di tumpukan aplikasi Anda. Ini juga memiliki hubungan kepercayaan yang dibangun dengan AWS CloudFormation. Untuk mengurangi risiko eskalasi hak istimewa dan tindakan destruktif, kebijakan AWS CloudFormation peran mencakup kondisi yang memerlukan batas izin khusus proyek untuk setiap IAM entitas (pengguna atau peran) yang dibuat dalam tumpukan infrastruktur. Untuk contoh pernyataan kebijakan inline untuk peran ini, lihatAWS CloudFormation Kebijakan Peran Pekerja.

Untuk AWS CodeStar proyek yang dibuat sebelum 6 Desember 2018 PDT AWS CodeStar menciptakan peran pekerja individu untuk sumber daya rantai alat seperti CodePipeline CodeBuild,, dan CloudWatch Acara, dan juga menciptakan peran pekerja untuk AWS CloudFormation yang mendukung serangkaian sumber daya terbatas. Masing-masing peran ini memiliki hubungan kepercayaan yang dibangun dengan layanan yang sesuai. Anggota tim proyek (pemilik dan kontributor) dan beberapa peran pekerja lainnya diberikan akses untuk meneruskan peran tersebut ke layanan hilir tepercaya. Izin untuk peran pekerja didefinisikan dalam kebijakan sebaris yang dicakup hingga serangkaian tindakan dasar yang dapat dilakukan peran pada sekumpulan sumber daya proyek. Izin ini statis. Mereka termasuk izin untuk sumber daya yang termasuk dalam proyek saat pembuatan, tetapi tidak diperbarui ketika sumber daya baru ditambahkan ke proyek. Untuk contoh pernyataan kebijakan ini, lihat:

IAMKebijakan untuk Peran Eksekusi

Untuk proyek yang dibuat setelah 6 Desember 2018PDT, AWS CodeStar buat peran eksekusi generik untuk proyek sampel di tumpukan aplikasi Anda. Peran tersebut dicakup ke sumber daya proyek menggunakan kebijakan batas izin. Saat memperluas proyek sampel, Anda dapat membuat IAM peran tambahan, dan kebijakan AWS CloudFormation peran mengharuskan peran ini dicakup menggunakan batas izin untuk menghindari eskalasi hak istimewa. Untuk informasi selengkapnya, lihat Menambahkan Peran IAM ke Proyek.

Untuk proyek Lambda yang dibuat sebelum 6 Desember 2018PDT, AWS CodeStar membuat peran eksekusi Lambda yang memiliki kebijakan sebaris yang dilampirkan dengan izin untuk bertindak atas sumber daya di tumpukan proyek. AWS SAM Saat sumber daya baru ditambahkan ke SAM templat, AWS CodeStar upaya memperbarui kebijakan peran eksekusi Lambda untuk menyertakan izin ke sumber daya baru jika salah satu jenis sumber daya yang didukung.

IAMBatas Izin

Setelah 6 Desember 2018PDT, saat Anda membuat proyek, AWS CodeStar membuat kebijakan yang dikelola pelanggan dan menetapkan kebijakan tersebut sebagai batas IAM izin untuk IAM peran dalam proyek. AWS CodeStarmengharuskan semua IAM entitas yang dibuat di tumpukan aplikasi untuk memiliki batas izin. Batas izin mengontrol izin maksimum yang dapat dimiliki peran, tetapi tidak memberikan peran dengan izin apa pun. Kebijakan izin menentukan izin untuk peran tersebut. Ini berarti bahwa tidak peduli berapa banyak izin tambahan yang ditambahkan ke peran, siapa pun yang menggunakan peran tidak dapat melakukan lebih dari tindakan yang termasuk dalam batas izin. Untuk informasi tentang cara kebijakan izin dan batas izin dievaluasi, lihat Logika Evaluasi Kebijakan di Panduan Pengguna. IAM

AWS CodeStar menggunakan batas izin khusus proyek untuk mencegah eskalasi hak istimewa ke sumber daya di luar proyek. Batas AWS CodeStar izin termasuk ARNs untuk sumber daya proyek. Untuk contoh pernyataan kebijakan ini, lihatAWS CodeStar Kebijakan Batas Izin.

AWS CodeStar Transform akan memperbarui kebijakan ini saat Anda menambahkan atau menghapus sumber daya yang didukung dari proyek melalui tumpukan aplikasi (template.yml).

Tambahkan Batas IAM Izin ke Proyek yang Ada

Jika Anda memiliki AWS CodeStar proyek yang dibuat sebelum 6 Desember 2018PDT, Anda harus menambahkan batas izin secara manual ke IAM peran dalam proyek. Sebagai praktik terbaik, kami merekomendasikan penggunaan batas khusus proyek yang hanya mencakup sumber daya dalam proyek untuk menghindari peningkatan hak istimewa ke sumber daya di luar proyek. Ikuti langkah-langkah ini untuk menggunakan batas izin AWS CodeStar terkelola yang diperbarui saat proyek berkembang.

  1. Masuk ke AWS CloudFormation konsol dan temukan template untuk tumpukan toolchain di proyek Anda. Template ini diberi namaawscodestar-project-id.

  2. Pilih template, pilih Tindakan, dan kemudian pilih Template Lihat/Edit di Desainer.

  3. Temukan Resources bagian, dan sertakan cuplikan berikut di bagian atas bagian.

    PermissionsBoundaryPolicy: Description: Creating an IAM managed policy for defining the permissions boundary for an AWS CodeStar project Type: AWS::IAM::ManagedPolicy Properties: ManagedPolicyName: !Sub 'CodeStar_${ProjectId }_PermissionsBoundary' Description: 'IAM policy to define the permissions boundary for IAM entities created in an AWS CodeStar project' PolicyDocument: Version: '2012-10-17' Statement: - Sid: '1' Effect: Allow Action: ['*'] Resource: - !Sub 'arn:${AWS::Partition}:cloudformation:${AWS::Region}:${AWS::AccountId}:stack/awscodestar-${ProjectId}-*'

    Anda mungkin memerlukan IAM izin tambahan untuk memperbarui tumpukan dari AWS CloudFormation konsol.

  4. (Opsional) Jika Anda ingin membuat IAM peran khusus aplikasi, selesaikan langkah ini. Dari IAM konsol, perbarui kebijakan sebaris yang dilampirkan ke AWS CloudFormation peran proyek Anda untuk menyertakan cuplikan berikut. Anda mungkin memerlukan IAM sumber daya tambahan untuk memperbarui kebijakan.

    { "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::{AccountId}:role/CodeStar-{ProjectId}*", "Effect": "Allow" }, { "Action": [ "iam:CreateServiceLinkedRole", "iam:GetRole", "iam:DeleteRole", "iam:DeleteUser" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "iam:AttachRolePolicy", "iam:AttachUserPolicy", "iam:CreateRole", "iam:CreateUser", "iam:DeleteRolePolicy", "iam:DeleteUserPolicy", "iam:DetachUserPolicy", "iam:DetachRolePolicy", "iam:PutUserPermissionsBoundary", "iam:PutRolePermissionsBoundary" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PermissionsBoundary": "arn:aws:iam::{AccountId}:policy/CodeStar_{ProjectId}_PermissionsBoundary" } }, "Effect": "Allow" }
  5. Dorong perubahan melalui pipeline proyek Anda sehingga AWS CodeStar memperbarui batas izin dengan izin yang sesuai.

Untuk informasi selengkapnya, lihat Menambahkan Peran IAM ke Proyek.