AWS kebijakan yang dikelola (telah ditentukan sebelumnya) untuk CodeDeploy - AWS CodeDeploy

View a markdown version of this page

AWS kebijakan yang dikelola (telah ditentukan sebelumnya) untuk CodeDeploy - AWS CodeDeploy

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

AWS kebijakan yang dikelola (telah ditentukan sebelumnya) untuk CodeDeploy

AWS mengatasi banyak kasus penggunaan umum dengan menyediakan kebijakan IAM mandiri yang dibuat dan dikelola oleh AWS. Kebijakan AWS yang dikelola ini memberikan izin untuk kasus penggunaan umum sehingga Anda dapat menghindari keharusan menyelidiki izin mana yang diperlukan. Untuk informasi selengkapnya, lihat Kebijakan terkelola AWS dalam Panduan Pengguna IAM.

Daftar AWS kebijakan yang dikelola untuk CodeDeploy

Kebijakan ter AWS kelola berikut, yang dapat Anda lampirkan ke pengguna di akun Anda, khusus untuk CodeDeploy:

  • AWSCodeDeployFullAccess: Memberikan akses penuh ke CodeDeploy.

    catatan

    AWSCodeDeployFullAccess tidak memberikan izin untuk operasi di layanan lain yang diperlukan untuk menerapkan aplikasi Anda, seperti Amazon EC2 dan Amazon S3, hanya untuk operasi khusus untuk CodeDeploy.

  • AWSCodeDeployDeployerAccess: Memberikan izin untuk mendaftar dan menyebarkan revisi.

     

  • AWSCodeDeployReadOnlyAccess: Memberikan akses baca-saja ke. CodeDeploy

     

  • AWSCodeDeployRole: Memungkinkan CodeDeploy untuk:

    • membaca tag pada instans Anda atau mengidentifikasi instans Amazon EC2 Anda dengan nama grup Amazon EC2 Auto Scaling

    • membaca, membuat, memperbarui, dan menghapus grup Amazon EC2 Auto Scaling, kait siklus hidup, kebijakan penskalaan, dan fitur kolam hangat

    • mempublikasikan informasi ke topik Amazon SNS

    • mengambil informasi tentang CloudWatch alarm Amazon

    • membaca dan memperbarui sumber daya di layanan Elastic Load Balancing

    Kebijakan ini berisi kode berikut:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "autoscaling:CompleteLifecycleAction", "autoscaling:DeleteLifecycleHook", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeLifecycleHooks", "autoscaling:PutLifecycleHook", "autoscaling:RecordLifecycleActionHeartbeat", "autoscaling:CreateAutoScalingGroup", "autoscaling:CreateOrUpdateTags", "autoscaling:UpdateAutoScalingGroup", "autoscaling:EnableMetricsCollection", "autoscaling:DescribePolicies", "autoscaling:DescribeScheduledActions", "autoscaling:DescribeNotificationConfigurations", "autoscaling:SuspendProcesses", "autoscaling:ResumeProcesses", "autoscaling:AttachLoadBalancers", "autoscaling:AttachLoadBalancerTargetGroups", "autoscaling:PutScalingPolicy", "autoscaling:PutScheduledUpdateGroupAction", "autoscaling:PutNotificationConfiguration", "autoscaling:DescribeScalingActivities", "autoscaling:DeleteAutoScalingGroup", "autoscaling:PutWarmPool", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:TerminateInstances", "tag:GetResources", "sns:Publish", "cloudwatch:DescribeAlarms", "cloudwatch:PutMetricAlarm", "elasticloadbalancing:DescribeLoadBalancers", "elasticloadbalancing:DescribeLoadBalancerAttributes", "elasticloadbalancing:DescribeInstanceHealth", "elasticloadbalancing:RegisterInstancesWithLoadBalancer", "elasticloadbalancing:DeregisterInstancesFromLoadBalancer", "elasticloadbalancing:DescribeTargetGroups", "elasticloadbalancing:DescribeTargetGroupAttributes", "elasticloadbalancing:DescribeTargetHealth", "elasticloadbalancing:RegisterTargets", "elasticloadbalancing:DeregisterTargets" ], "Resource": "*" } ] }

     

  • AWSCodeDeployRoleForLambda: Mem CodeDeploy berikan izin untuk mengakses AWS Lambda dan sumber daya lain yang diperlukan untuk penerapan.

     

  • AWSCodeDeployRoleForECS: Mem CodeDeploy berikan izin untuk mengakses Amazon ECS dan sumber daya lain yang diperlukan untuk penerapan.

     

  • AWSCodeDeployRoleForECSLimited: Memberikan CodeDeploy izin untuk mengakses Amazon ECS dan sumber daya lain yang diperlukan untuk penerapan dengan pengecualian berikut:

    • Di hooks bagian AppSpec file, hanya fungsi Lambda dengan nama yang dimulai dengan yang CodeDeployHook_ dapat digunakan. Untuk informasi selengkapnya, lihat AppSpec Bagian 'kait' untuk penerapan Amazon ECS.

    • Akses bucket S3 terbatas pada bucket S3 dengan tag registrasiUseWithCodeDeploy,, yang memiliki nilaitrue. Untuk informasi selengkapnya, lihat Pen andaan objek.

  • AmazonEC2RoleforAWSCodeDeployLimited: Mem CodeDeploy berikan izin untuk mendapatkan dan membuat daftar objek dalam bucket CodeDeploy Amazon S3. Kebijakan ini berisi kode berikut:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*/CodeDeploy/*" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/UseWithCodeDeploy": "true" } } } ] }

Izin untuk beberapa aspek proses penerapan diberikan kepada dua jenis peran lain yang bertindak atas nama CodeDeploy:

  • Profil instans IAM adalah peran IAM yang Anda lampirkan ke instans Amazon EC2 Anda. Profil ini mencakup izin yang diperlukan untuk mengakses bucket atau GitHub repositori Amazon S3 tempat aplikasi disimpan. Untuk informasi selengkapnya, lihat Langkah 4: Buat profil instans IAM untuk instans Amazon EC2 Anda.

  • Peran layanan adalah peran IAM yang memberikan izin ke AWS layanan sehingga dapat mengakses AWS sumber daya. Kebijakan yang Anda lampirkan ke peran layanan menentukan AWS sumber daya mana yang dapat diakses layanan dan tindakan yang dapat dilakukan dengan sumber daya tersebut. Untuk CodeDeploy, peran layanan digunakan untuk hal berikut:

    • Untuk membaca tag yang diterapkan pada instans atau nama grup Amazon EC2 Auto Scaling yang terkait dengan instans. Hal ini memungkinkan CodeDeploy untuk mengidentifikasi instans yang dapat digunakan untuk menerapkan aplikasi.

    • Untuk melakukan operasi pada instans, grup Amazon EC2 Auto Scaling, dan penyeimbang beban Elastic Load Balancing.

    • Untuk mempublikasikan informasi ke topik Amazon SNS sehingga pemberitahuan dapat dikirim saat terjadi penyebaran atau kejadian instans tertentu.

    • Untuk mengambil informasi tentang CloudWatch alarm untuk mengatur pemantauan alarm untuk penerapan.

    Untuk informasi selengkapnya, lihat Langkah 2: Buat peran layanan untuk CodeDeploy.

Anda juga dapat membuat kebijakan IAM khusus untuk memberikan izin untuk CodeDeploy tindakan dan sumber daya. Anda melampirkan kebijakan kustom ini ke peran IAM, lalu menetapkan peran tersebut ke pengguna atau grup yang memerlukan izin tersebut.

CodeDeploy kebijakan dan pemberitahuan yang dikelola

CodeDeploy mendukung notifikasi untuk membuat pengguna sadar akan perubahan penting pada penerapan. Kebijakan terkelola untuk CodeDeploy menyertakan pernyataan kebijakan untuk fungsionalitas notifikasi. Untuk informasi selengkapnya, lihat Apa itu notifikasi?.

Izin untuk pemberitahuan dalam kebijakan terkelola akses penuh

Kebijakan terkelola AWSCodeDeployFullAccess mencakup pernyataan berikut untuk mengizinkan akses penuh ke notifikasi. Pengguna dengan kebijakan terkelola ini diterapkan juga dapat membuat dan mengelola topik Amazon SNS untuk pemberitahuan, berlangganan dan berhenti berlangganan pengguna ke topik, dan mencantumkan topik untuk dipilih sebagai target aturan pemberitahuan.

{ "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:DeleteNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition" : { "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid" : "CodeStarNotificationsChatbotAccess", "Effect" : "Allow", "Action" : [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource" : "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }

Izin untuk notifikasi dalam kebijakan terkelola baca-saja

Kebijakan terkelola AWSCodeDeployReadOnlyAccess mencakup pernyataan berikut untuk mengizinkan akses penuh ke notifikasi. Pengguna yang menerapkan kebijakan terkelola ini dapat melihat pemberitahuan untuk sumber daya, tetapi tidak dapat membuat, mengelola, atau berlangganan ke sumber daya tersebut.

{ "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition" : { "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules" ], "Resource": "*" }

Izin untuk notifikasi dalam kebijakan terkelola lainnya

Kebijakan AWSCodeDeployDeployerAccess terkelola mencakup pernyataan berikut untuk memungkinkan pengguna membuat, memperbarui, berlangganan, dan melihat pemberitahuan untuk sumber daya, tetapi tidak dapat menghapusnya. Pengguna dengan kebijakan terkelola ini diterapkan juga dapat membuat dan mengelola topik Amazon SNS untuk pemberitahuan.

Kebijakan ini mencakup izin untuk melakukan hal berikut:

  • codestar-notifications:CreateNotificationRule- Memungkinkan kepala sekolah untuk membuat notifikasi.

  • codestar-notifications:DescribeNotificationRule- Memungkinkan kepala sekolah untuk mengambil informasi tentang pemberitahuan.

  • codestar-notifications:UpdateNotificationRule- Memungkinkan kepala sekolah untuk memperbarui pemberitahuan.

  • codestar-notifications:Subscribe- Memungkinkan kepala sekolah untuk berlangganan pembaruan pemberitahuan.

  • codestar-notifications:Unsubscribe— Memungkinkan kepala sekolah untuk berhenti berlangganan pembaruan pemberitahuan.

  • codestar-notifications:ListNotificationRules- Memungkinkan kepala sekolah untuk mengambil daftar aturan notifikasi.

  • codestar-notifications:ListTargets- Memungkinkan kepala sekolah untuk mengambil daftar target.

  • codestar-notifications:ListTagsforResource- Memungkinkan kepala sekolah untuk mengambil daftar tag.

  • codestar-notifications:ListEventTypes- Memungkinkan kepala sekolah untuk mengambil daftar jenis acara.

  • chatbot:DescribeSlackChannelConfiguration- Memungkinkan kepala sekolah untuk mengambil informasi tentang konfigurasi saluran Slack.

  • sns:ListTopics- Memungkinkan kepala sekolah untuk mengambil daftar topik Amazon SNS untuk pemberitahuan.

{ "Sid" : "CodeStarNotificationsReadWriteAccess", "Effect" : "Allow", "Action" : [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource" : "*", "Condition" : { "ArnLike" : { "codestar-notifications:NotificationsForResource" : "arn:aws:codedeploy:*:*:application:*" } } }, { "Sid" : "CodeStarNotificationsListAccess", "Effect" : "Allow", "Action" : [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource" : "*" }, { "Sid" : "CodeStarNotificationsChatbotAccess", "Effect" : "Allow", "Action" : [ "chatbot:DescribeSlackChannelConfigurations" ], "Resource" : "*" }, { "Sid" : "SNSTopicListAccess", "Effect" : "Allow", "Action" : [ "sns:ListTopics" ], "Resource" : "*" }

Untuk informasi selengkapnya, lihat Identitas dan manajemen akses untuk Pember CodeStar itahuan AWS.