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 peran dan kebijakan IAM yang Anda perlukan untuk mengelola sumber daya proyek Anda. Kebijakan tersebut terbagi dalam tiga kategori:

  • Kebijakan IAM untuk anggota tim proyek.

  • Kebijakan IAM untuk peran pekerja.

  • Kebijakan IAM untuk peran eksekusi runtime.

Kebijakan IAM 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 kebijakan IAM untuk tiga tingkat akses ini. Tingkat akses ini spesifik proyek dan ditentukan oleh kebijakan terkelola IAM dengan nama standar, di mana project-id adalah ID proyek (misalnya,): AWS CodeStar my-first-projec

  • CodeStar_project-id_Owner

  • CodeStar_project-id_Contributor

  • CodeStar_project-id_Viewer

penting

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

Saat Anda menambahkan anggota tim (pengguna IAM) ke proyek dan memilih tingkat akses mereka, kebijakan terkait dilampirkan ke pengguna IAM, 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 langsung di IAM. Melampirkan kebijakan tingkat AWS CodeStar akses secara manual ke pengguna IAM 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.

Pengguna IAM dengan kebijakan ini dapat melakukan semua AWS CodeStar tindakan dalam proyek, tetapi tidak seperti pengguna IAM dengan AWSCodeStarFullAccess kebijakan tersebut, 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.

Kebijakan IAM untuk Peran Pekerja

Jika Anda membuat AWS CodeStar proyek setelah PDT 6 Desember 2018, AWS CodeStar membuat dua peran pekerja, CodeStar-project-id-ToolChain danCodeStar-project-id-CloudFormation. Peran pekerja adalah peran IAM 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 pengguna, peran, dan kebijakan IAM 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 entitas IAM (pengguna atau peran) yang dibuat dalam tumpukan infrastruktur. Untuk contoh pernyataan kebijakan inline untuk peran ini, lihatAWS CloudFormation Kebijakan Peran Pekerja.

Untuk CodeStar proyek AWS yang dibuat sebelum 6 Desember 2018, PDT AWS CodeStar membuat peran pekerja individu untuk sumber daya rantai alat seperti CodePipeline CodeBuild,, dan CloudWatch Acara, dan juga menciptakan peran pekerja 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:

Kebijakan IAM untuk Peran Eksekusi

Untuk proyek yang dibuat setelah 6 Desember 2018 PDT, AWS CodeStar membuat 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 peran IAM 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 2018 PDT, 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 template SAM, AWS CodeStar upaya memperbarui kebijakan peran eksekusi Lambda untuk menyertakan izin ke sumber daya baru jika salah satu jenis sumber daya yang didukung.

Batas Izin IAM

Setelah 6 Desember 2018 PDT, saat Anda membuat proyek AWS CodeStar membuat kebijakan yang dikelola pelanggan dan menetapkan kebijakan tersebut sebagai batas izin IAM untuk peran IAM dalam proyek. AWS CodeStar mengharuskan semua entitas IAM yang dibuat di tumpukan aplikasi 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 disertakan 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 peningkatan hak istimewa ke sumber daya di luar proyek. Batas CodeStar izin AWS mencakup ARN untuk sumber daya proyek. Untuk contoh pernyataan kebijakan ini, lihatKebijakan Batas CodeStar Izin AWS.

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

Tambahkan Batas Izin IAM ke Proyek yang Ada

Jika Anda memiliki CodeStar proyek AWS yang dibuat sebelum PDT 6 Desember 2018, Anda harus menambahkan batas izin secara manual ke peran IAM 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 CodeStar terkelola AWS 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, lalu 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 izin IAM tambahan untuk memperbarui tumpukan dari konsol. AWS CloudFormation

  4. (Opsional) Jika Anda ingin membuat peran IAM khusus aplikasi, selesaikan langkah ini. Dari konsol IAM, perbarui kebijakan sebaris yang dilampirkan ke AWS CloudFormation peran proyek Anda untuk menyertakan cuplikan berikut. Anda mungkin memerlukan sumber daya IAM 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.