Menggunakan kebijakan berbasis identitas untuk AWS CodeBuild - AWS CodeBuild

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

Menggunakan kebijakan berbasis identitas untuk AWS CodeBuild

Topik ini memberikan contoh kebijakan berbasis identitas yang menunjukkan bagaimana administrator akun dapat melampirkan kebijakan izin ke IAM identitas (yaitu, pengguna, grup, dan peran) dan dengan demikian memberikan izin untuk melakukan operasi pada sumber daya. AWS CodeBuild

penting

Kami menyarankan Anda terlebih dahulu meninjau topik pengantar yang menjelaskan konsep dasar dan opsi yang tersedia untuk mengelola akses ke CodeBuild sumber daya Anda. Untuk informasi selengkapnya, lihat Ikhtisar mengelola izin akses ke sumber daya Anda AWS CodeBuild.

Berikut ini menunjukkan contoh kebijakan izin yang memungkinkan pengguna mendapatkan informasi tentang proyek build hanya di us-east-2 wilayah 123456789012 untuk akun proyek build apa pun yang dimulai dengan nama: my

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetProjects", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Izin yang diperlukan untuk menggunakan konsol AWS CodeBuild

Pengguna yang menggunakan AWS CodeBuild konsol harus memiliki seperangkat izin minimum yang memungkinkan pengguna menjelaskan AWS sumber daya lain untuk AWS akun tersebut. Anda harus memiliki izin dari layanan berikut:

  • AWS CodeBuild

  • Amazon CloudWatch

  • CodeCommit (jika Anda menyimpan kode sumber Anda di AWS CodeCommit repositori)

  • Amazon Elastic Container Registry (AmazonECR) (jika Anda menggunakan lingkungan build yang mengandalkan image Docker di repositori AmazonECR)

    catatan

    Per 26 Juli 2022, IAM kebijakan default telah diperbarui. Untuk informasi selengkapnya, lihat Izin diperlukan untuk terhubung AWS CodeBuild ke Amazon Elastic Container Registry.

  • Amazon Elastic Container Service (AmazonECS) (jika Anda menggunakan lingkungan build yang mengandalkan image Docker di repositori AmazonECR)

  • AWS Identity and Access Management (IAM)

  • AWS Key Management Service (AWS KMS)

  • Amazon Simple Storage Service (Amazon S3)

Jika Anda membuat IAM kebijakan yang lebih ketat daripada izin minimum yang diperlukan, konsol tidak akan berfungsi sebagaimana dimaksud.

Izin diperlukan untuk terhubung AWS CodeBuild ke Amazon Elastic Container Registry

Per 26 Juli 2022, AWS CodeBuild telah memperbarui IAM kebijakan defaultnya untuk ECR izin Amazon. Izin berikut telah dihapus dari kebijakan default:

"ecr:PutImage", "ecr:InitiateLayerUpload", "ecr:UploadLayerPart", "ecr:CompleteLayerUpload"

Untuk CodeBuild proyek yang dibuat sebelum 26 Juli 2022, kami sarankan Anda memperbarui kebijakan Anda dengan ECR kebijakan Amazon berikut:

"Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ]

Untuk informasi selengkapnya tentang memperbarui kebijakan Anda, lihatMemungkinkan pengguna untuk berinteraksi dengan CodeBuild.

Izin yang diperlukan untuk AWS CodeBuild konsol untuk terhubung ke penyedia sumber

AWS CodeBuild Konsol menggunakan API tindakan berikut untuk terhubung ke penyedia sumber (misalnya, GitHub repositori).

  • codebuild:ListConnectedOAuthAccounts

  • codebuild:ListRepositories

  • codebuild:PersistOAuthToken

  • codebuild:ImportSourceCredentials

Anda dapat mengaitkan penyedia sumber (seperti GitHub repositori) dengan proyek build menggunakan konsol. AWS CodeBuild Untuk melakukan ini, Anda harus terlebih dahulu menambahkan API tindakan sebelumnya untuk IAM mengakses kebijakan yang terkait dengan pengguna yang Anda gunakan untuk mengakses konsol. AWS CodeBuild

PersistOAuthTokenAPITindakan ListConnectedOAuthAccountsListRepositories,, dan tidak dimaksudkan untuk dipanggil oleh kode Anda. Oleh karena itu, API tindakan ini tidak termasuk dalam AWS CLI dan AWS SDKs.

AWS kebijakan terkelola (standar) untuk AWS CodeBuild

AWS mengatasi banyak kasus penggunaan umum dengan menyediakan IAM kebijakan mandiri yang dibuat dan dikelola oleh AWS. Kebijakan AWS terkelola ini memberikan izin yang diperlukan untuk kasus penggunaan umum sehingga Anda dapat menghindari keharusan menyelidiki izin apa yang diperlukan. Kebijakan terkelola untuk CodeBuild juga memberikan izin untuk melakukan operasi di layanan lain, seperti IAM AWS CodeCommit, AmazonEC2, AmazonECR, AmazonSNS, dan Amazon CloudWatch Events, sebagaimana diperlukan untuk tanggung jawab bagi pengguna yang telah diberikan kebijakan tersebut. Misalnya, AWSCodeBuildAdminAccess kebijakan tersebut adalah kebijakan pengguna tingkat administratif yang memungkinkan pengguna dengan kebijakan ini membuat dan mengelola aturan CloudWatch Acara untuk pembuatan proyek dan topik SNS Amazon untuk pemberitahuan tentang peristiwa terkait proyek (topik yang namanya diawaliarn:aws:codebuild:), serta mengelola proyek dan grup laporan di. CodeBuild Untuk informasi selengkapnya, lihat Kebijakan AWS Terkelola di Panduan IAM Pengguna.

Kebijakan AWS terkelola berikut, yang dapat Anda lampirkan ke pengguna di akun Anda, khusus untuk AWS CodeBuild.

AWSCodeBuildAdminAccess

Menyediakan akses penuh untuk CodeBuild menyertakan izin untuk mengelola proyek CodeBuild pembangunan.

AWSCodeBuildDeveloperAccess

Menyediakan akses ke CodeBuild tetapi tidak mengizinkan administrasi proyek build.

AWSCodeBuildReadOnlyAccess

Menyediakan akses hanya-baca ke. CodeBuild

Untuk mengakses artefak keluaran build yang CodeBuild dibuat, Anda juga harus melampirkan kebijakan AWS terkelola bernamaAmazonS3ReadOnlyAccess.

Untuk membuat dan mengelola peran CodeBuild layanan, Anda juga harus melampirkan kebijakan AWS terkelola bernamaIAMFullAccess.

Anda juga dapat membuat IAM kebijakan kustom sendiri untuk mengizinkan izin CodeBuild tindakan dan sumber daya. Anda dapat menyematkan kebijakan khusus ini untuk pengguna atau grup yang memerlukan izin tersebut.

AWSCodeBuildAdminAccess

AWSCodeBuildAdminAccessKebijakan ini menyediakan akses penuh ke CodeBuild, termasuk izin untuk mengelola proyek CodeBuild build. Terapkan kebijakan ini hanya kepada pengguna tingkat administratif untuk memberi mereka kontrol penuh atas CodeBuild proyek, grup laporan, dan sumber daya terkait di AWS akun Anda, termasuk kemampuan untuk menghapus proyek dan grup laporan.

AWSCodeBuildAdminAccessKebijakan tersebut berisi pernyataan kebijakan berikut:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSServicesAccess", "Action": [ "codebuild:*", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:ListBranches", "codecommit:ListRepositories", "cloudwatch:GetMetricStatistics", "ec2:DescribeVpcs", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ecr:DescribeRepositories", "ecr:ListImages", "elasticfilesystem:DescribeFileSystems", "events:DeleteRule", "events:DescribeRule", "events:DisableRule", "events:EnableRule", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "events:PutRule", "events:PutTargets", "events:RemoveTargets", "logs:GetLogEvents", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "CWLDeleteLogGroupAccess", "Action": [ "logs:DeleteLogGroup" ], "Effect": "Allow", "Resource": "arn:aws:logs:*:*:log-group:/aws/codebuild/*:log-stream:*" }, { "Sid": "SSMParameterWriteAccess", "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/CodeBuild/*" }, { "Sid": "SSMStartSessionAccess", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": "arn:aws:ecs:*:*:task/*/*" }, { "Sid": "CodeStarConnectionsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-connections:CreateConnection", "codestar-connections:DeleteConnection", "codestar-connections:UpdateConnectionInstallation", "codestar-connections:TagResource", "codestar-connections:UntagResource", "codestar-connections:ListConnections", "codestar-connections:ListInstallationTargets", "codestar-connections:ListTagsForResource", "codestar-connections:GetConnection", "codestar-connections:GetIndividualAccessToken", "codestar-connections:GetInstallationUrl", "codestar-connections:PassConnection", "codestar-connections:StartOAuthHandshake", "codestar-connections:UseConnection" ], "Resource": [ "arn:aws:codestar-connections:*:*:connection/*", "arn:aws:codeconnections:*:*:connection/*" ] }, { "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": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codebuild:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" } ] }

AWSCodeBuildDeveloperAccess

AWSCodeBuildDeveloperAccessKebijakan ini memungkinkan akses ke semua fungsionalitas CodeBuild dan memproyeksikan dan melaporkan sumber daya terkait grup. Kebijakan ini tidak mengizinkan pengguna untuk menghapus CodeBuild proyek atau grup laporan, atau sumber daya terkait di AWS layanan lain, seperti CloudWatch Acara. Kami merekomendasikan bahwa Anda menerapkan kebijakan ini untuk sebagian besar pengguna.

AWSCodeBuildDeveloperAccessKebijakan tersebut berisi pernyataan kebijakan berikut:

{ "Statement": [ { "Sid": "AWSServicesAccess", "Action": [ "codebuild:StartBuild", "codebuild:StopBuild", "codebuild:StartBuildBatch", "codebuild:StopBuildBatch", "codebuild:RetryBuild", "codebuild:RetryBuildBatch", "codebuild:BatchGet*", "codebuild:GetResourcePolicy", "codebuild:DescribeTestCases", "codebuild:DescribeCodeCoverages", "codebuild:List*", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:ListBranches", "cloudwatch:GetMetricStatistics", "events:DescribeRule", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "logs:GetLogEvents", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "SSMParameterWriteAccess", "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/CodeBuild/*" }, { "Sid": "SSMStartSessionAccess", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": "arn:aws:ecs:*:*:task/*/*" }, { "Sid": "CodeStarConnectionsUserAccess", "Effect": "Allow", "Action": [ "codestar-connections:ListConnections", "codestar-connections:GetConnection" ], "Resource": [ "arn:aws:codestar-connections:*:*:connection/*", "arn:aws:codeconnections:*:*:connection/*" ] }, { "Sid": "CodeStarNotificationsReadWriteAccess", "Effect": "Allow", "Action": [ "codestar-notifications:CreateNotificationRule", "codestar-notifications:DescribeNotificationRule", "codestar-notifications:UpdateNotificationRule", "codestar-notifications:Subscribe", "codestar-notifications:Unsubscribe" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codebuild:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource" ], "Resource": "*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics", "sns:GetTopicAttributes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" } ], "Version": "2012-10-17" }

AWSCodeBuildReadOnlyAccess

AWSCodeBuildReadOnlyAccessKebijakan ini memberikan akses hanya-baca ke CodeBuild dan sumber daya terkait di layanan lain. AWS Terapkan kebijakan ini kepada pengguna yang dapat melihat dan menjalankan build, melihat proyek, dan melihat grup laporan, tetapi tidak dapat membuat perubahan apa pun padanya.

AWSCodeBuildReadOnlyAccessKebijakan tersebut berisi pernyataan kebijakan berikut:

{ "Statement": [ { "Sid": "AWSServicesAccess", "Action": [ "codebuild:BatchGet*", "codebuild:GetResourcePolicy", "codebuild:List*", "codebuild:DescribeTestCases", "codebuild:DescribeCodeCoverages", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "cloudwatch:GetMetricStatistics", "events:DescribeRule", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "logs:GetLogEvents" ], "Effect": "Allow", "Resource": "*" }, { "Sid": "CodeStarConnectionsUserAccess", "Effect": "Allow", "Action": [ "codestar-connections:ListConnections", "codestar-connections:GetConnection" ], "Resource": [ "arn:aws:codestar-connections:*:*:connection/*", "arn:aws:codeconnections:*:*:connection/*" ] }, { "Sid": "CodeStarNotificationsPowerUserAccess", "Effect": "Allow", "Action": [ "codestar-notifications:DescribeNotificationRule" ], "Resource": "*", "Condition": { "StringLike": { "codestar-notifications:NotificationsForResource": "arn:aws:codebuild:*" } } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" } ], "Version": "2012-10-17" }

CodeBuild kebijakan dan pemberitahuan terkelola

CodeBuild mendukung pemberitahuan, yang dapat memberi tahu pengguna tentang perubahan penting untuk membangun proyek. Kebijakan terkelola untuk CodeBuild menyertakan pernyataan kebijakan untuk fungsionalitas notifikasi. Untuk informasi selengkapnya, lihat Apa itu notifikasi?.

Izin yang terkait dengan notifikasi dalam kebijakan terkelola akses penuh

Kebijakan terkelola AWSCodeBuildFullAccess mencakup pernyataan berikut untuk mengizinkan akses penuh ke notifikasi. Pengguna yang menerapkan kebijakan terkelola ini juga dapat membuat dan mengelola SNS topik Amazon untuk notifikasi, berlangganan dan berhenti berlangganan pengguna ke topik, mencantumkan topik yang akan dipilih sebagai target aturan notifikasi, dan daftar AWS Chatbot klien yang dikonfigurasi untuk Slack.

{ "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" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListTargets", "codestar-notifications:ListTagsforResource", "codestar-notifications:ListEventTypes" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsSNSTopicCreateAccess", "Effect": "Allow", "Action": [ "sns:CreateTopic", "sns:SetTopicAttributes" ], "Resource": "arn:aws:sns:*:*:codestar-notifications*" }, { "Sid": "SNSTopicListAccess", "Effect": "Allow", "Action": [ "sns:ListTopics" ], "Resource": "*" }, { "Sid": "CodeStarNotificationsChatbotAccess", "Effect": "Allow", "Action": [ "chatbot:DescribeSlackChannelConfigurations", "chatbot:ListMicrosoftTeamsChannelConfigurations" ], "Resource": "*" }

Izin yang terkait dengan notifikasi dalam kebijakan terkelola hanya-baca

Kebijakan terkelola AWSCodeBuildReadOnlyAccess 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" : { "StringLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*"} } }, { "Sid": "CodeStarNotificationsListAccess", "Effect": "Allow", "Action": [ "codestar-notifications:ListNotificationRules", "codestar-notifications:ListEventTypes", "codestar-notifications:ListTargets" ], "Resource": "*" }

Izin terkait notifikasi dalam kebijakan terkelola lainnya

Kebijakan terkelola AWSCodeBuildDeveloperAccess mencakup pernyataan berikut untuk mengizinkan pengguna membuat, mengedit, dan berlangganan notifikasi. Mereka tidak dapat menghapus aturan notifikasi atau mengelola tag untuk sumber daya.

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

Untuk informasi selengkapnya tentang IAM dan notifikasi, lihat Identity and Access Managementuntuk AWS CodeStar Pemberitahuan.

CodeBuild pembaruan kebijakan AWS terkelola

Lihat detail tentang pembaruan kebijakan AWS terkelola CodeBuild sejak layanan ini mulai melacak perubahan ini. Untuk peringatan otomatis tentang perubahan pada halaman ini, berlangganan RSS feed diAWS CodeBuild Riwayat dokumen Panduan Pengguna .

Perubahan Deskripsi Tanggal

AWSCodeBuildAdminAccess,AWSCodeBuildDeveloperAccess, dan AWSCodeBuildReadOnlyAccess — Perbarui ke kebijakan yang ada

CodeBuild menambahkan sumber daya ke kebijakan ini untuk mendukung AWS CodeConnections rebranding.

AWSCodeBuildReadOnlyAccessKebijakanAWSCodeBuildAdminAccess,AWSCodeBuildDeveloperAccess, dan telah diubah untuk menambahkan sumber daya,arn:aws:codeconnections:*:*:connection/*.

April 18, 2024

AWSCodeBuildAdminAccessdan AWSCodeBuildDeveloperAccess — Perbarui ke kebijakan yang ada

CodeBuild menambahkan izin ke kebijakan ini untuk mendukung jenis notifikasi tambahan yang digunakan AWS Chatbot.

AWSCodeBuildDeveloperAccessKebijakan AWSCodeBuildAdminAccess dan telah diubah untuk menambahkan izin,chatbot:ListMicrosoftTeamsChannelConfigurations.

16 Mei 2023

CodeBuild mulai melacak perubahan

CodeBuild mulai melacak perubahan untuk kebijakan yang AWS dikelola.

Mei 16, 2021

Contoh kebijakan yang dikelola pelanggan

Di bagian ini, Anda dapat menemukan contoh kebijakan pengguna yang memberikan izin untuk AWS CodeBuild tindakan. Kebijakan ini berfungsi saat Anda menggunakan CodeBuild API, AWS SDKs, atau AWS CLI. Saat menggunakan konsol, Anda harus memberikan izin tambahan khusus konsol. Untuk informasi, lihat Izin yang diperlukan untuk menggunakan konsol AWS CodeBuild.

Anda dapat menggunakan contoh IAM kebijakan berikut untuk membatasi CodeBuild akses bagi pengguna dan peran Anda.

Topik

Memungkinkan pengguna untuk mendapatkan informasi tentang proyek build

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan informasi tentang proyek build di us-east-2 Wilayah 123456789012 untuk memperhitungkan setiap proyek build yang dimulai dengan namamy:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetProjects", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Memungkinkan pengguna untuk mendapatkan informasi tentang armada

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan informasi tentang armada di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetFleets", "Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*" } ] }

Memungkinkan pengguna untuk mendapatkan informasi tentang grup laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan informasi tentang grup laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetReportGroups", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Memungkinkan pengguna untuk mendapatkan informasi tentang laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan informasi tentang laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetReports", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Izinkan pengguna untuk membuat proyek build

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk membuat proyek build dengan nama apa pun tetapi hanya di us-east-2 Wilayah untuk akun 123456789012 dan hanya menggunakan peran CodeBuild layanan yang ditentukan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/CodeBuildServiceRole" } ] }

Pernyataan kebijakan contoh berikut memungkinkan pengguna untuk membuat proyek build dengan nama apa pun tetapi hanya di us-east-2 Wilayah untuk akun 123456789012 dan hanya menggunakan peran CodeBuild layanan yang ditentukan. Ini juga memberlakukan bahwa pengguna hanya dapat menggunakan peran layanan yang ditentukan dengan AWS CodeBuild dan bukan AWS layanan lain.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/CodeBuildServiceRole", "Condition": { "StringEquals": {"iam:PassedToService": "codebuild.amazonaws.com"} } } ] }}

Memungkinkan pengguna untuk membuat armada

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk membuat armada di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateFleet", "Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*" } ] }

Izinkan pengguna membuat grup laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk membuat grup laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:CreateReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Memungkinkan pengguna untuk menghapus armada

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk menghapus armada di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteFleet", "Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*" } ] }

Izinkan pengguna menghapus grup laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk menghapus grup laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Memungkinkan pengguna untuk menghapus laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk menghapus laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteReport", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Izinkan pengguna untuk menghapus proyek build

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk menghapus proyek build di us-east-2 Wilayah untuk akun 123456789012 untuk setiap proyek build yang dimulai dengan namamy:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DeleteProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Izinkan pengguna untuk mendapatkan daftar nama proyek build

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan daftar nama proyek build untuk akun yang sama:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListProjects", "Resource": "*" } ] }

Memungkinkan pengguna untuk mengubah informasi tentang proyek build

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mengubah informasi tentang proyek build dengan nama apa pun tetapi hanya di us-east-2 Wilayah untuk akun 123456789012 dan hanya menggunakan peran AWS CodeBuild layanan yang ditentukan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:UpdateProject", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/CodeBuildServiceRole" } ] }

Memungkinkan pengguna untuk mengubah armada

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mengubah armada di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:UpdateFleet", "Resource": "arn:aws:codebuild:us-east-2:123456789012:fleet/*" } ] }

Izinkan pengguna mengubah grup laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mengubah grup laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:UpdateReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Memungkinkan pengguna untuk mendapatkan informasi tentang build

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan informasi tentang build di us-east-2 Wilayah 123456789012 untuk akun proyek build bernama my-build-project danmy-other-build-project:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchGetBuilds", "Resource": [ "arn:aws:codebuild:us-east-2:123456789012:project/my-build-project", "arn:aws:codebuild:us-east-2:123456789012:project/my-other-build-project" ] } ] }

Izinkan pengguna mendapatkan daftar build IDs untuk proyek build

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan daftar build IDs di us-east-2 Wilayah 123456789012 untuk akun proyek build bernama my-build-project danmy-other-build-project:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListBuildsForProject", "Resource": [ "arn:aws:codebuild:us-east-2:123456789012:project/my-build-project", "arn:aws:codebuild:us-east-2:123456789012:project/my-other-build-project" ] } ] }

Izinkan pengguna mendapatkan daftar build IDs

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan daftar semua build IDs untuk akun yang sama:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListBuilds", "Resource": "*" } ] }

Memungkinkan pengguna untuk mendapatkan daftar armada

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan daftar armada di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListFleets", "Resource": "*" } ] }

Izinkan pengguna untuk mendapatkan daftar grup laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan daftar grup laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListReportGroups", "Resource": "*" } ] }

Memungkinkan pengguna untuk mendapatkan daftar laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan daftar laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListReports", "Resource": "*" } ] }

Memungkinkan pengguna untuk mendapatkan daftar laporan untuk grup laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan daftar laporan untuk grup laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListReportsForReportGroup", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Memungkinkan pengguna untuk mendapatkan daftar kasus uji untuk laporan

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan daftar kasus uji untuk laporan di us-east-2 Wilayah untuk akun123456789012:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:DescribeTestCases", "Resource": "arn:aws:codebuild:us-east-2:123456789012:report-group/*" } ] }

Izinkan pengguna untuk mulai menjalankan build

Contoh pernyataan kebijakan berikut memungkinkan pengguna menjalankan build di us-east-2 Region 123456789012 untuk akun proyek build yang dimulai dengan nama: my

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:StartBuild", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Izinkan pengguna untuk mencoba menghentikan build

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mencoba menghentikan menjalankan build hanya di us-east-2 wilayah 123456789012 untuk memperhitungkan setiap proyek build yang dimulai dengan nama: my

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:StopBuild", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Izinkan pengguna mencoba menghapus build

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mencoba menghapus build hanya di us-east-2 Region untuk akun 123456789012 untuk setiap proyek build yang dimulai dengan nama: my

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:BatchDeleteBuilds", "Resource": "arn:aws:codebuild:us-east-2:123456789012:project/my*" } ] }

Izinkan pengguna untuk mendapatkan informasi tentang gambar Docker yang dikelola oleh CodeBuild

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan informasi tentang semua gambar Docker yang dikelola oleh CodeBuild:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "codebuild:ListCuratedEnvironmentImages", "Resource": "*" } ] }

Izinkan pengguna menambahkan kebijakan izin untuk peran layanan armada

Contoh pernyataan kebijakan sumber daya berikut memungkinkan pengguna untuk menambahkan kebijakan VPC izin untuk peran layanan armada:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildFleetVpcCreateNI", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:region:account-id:subnet/subnet-id-1", "arn:aws:ec2:region:account-id:security-group/security-group-id-1", "arn:aws:ec2:region:account-id:network-interface/*" ] }, { "Sid": "CodeBuildFleetVpcPermission", "Effect": "Allow", "Action": [ "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Sid": "CodeBuildFleetVpcNIPermission", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission" ], "Resource": "arn:aws:ec2:region:account-id:network-interface/*", "Condition": { "StringEquals": { "ec2:Subnet": [ "arn:aws:ec2:region:account-id:subnet/subnet-id-1" ] } } } ] }

Contoh pernyataan kebijakan sumber daya berikut memungkinkan pengguna menambahkan kebijakan izin Amazon Managed Image (AMI) khusus untuk peran layanan armada:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:DescribeImages", "Resource": "*" } ] }

Contoh pernyataan kebijakan kepercayaan berikut memungkinkan pengguna untuk menambahkan kebijakan izin untuk peran layanan armada:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CodeBuildFleetVPCTrustPolicy", "Effect": "Allow", "Principal": { "Service": "codebuild.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" } } } ] }

Izinkan CodeBuild akses ke AWS layanan yang diperlukan untuk membuat antarmuka VPC jaringan

Contoh pernyataan kebijakan berikut memberikan AWS CodeBuild izin untuk membuat antarmuka jaringan dalam VPC dengan dua subnet:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DeleteNetworkInterface", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeVpcs" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterfacePermission" ], "Resource": "arn:aws:ec2:region:account-id:network-interface/*", "Condition": { "StringEquals": { "ec2:AuthorizedService": "codebuild.amazonaws.com" }, "ArnEquals": { "ec2:Subnet": [ "arn:aws:ec2:region:account-id:subnet/subnet-id-1", "arn:aws:ec2:region:account-id:subnet/subnet-id-2" ] } } } ] }

Gunakan pernyataan penolakan untuk mencegah terputusnya sambungan AWS CodeBuild dari penyedia sumber

Contoh pernyataan kebijakan berikut menggunakan pernyataan penolakan untuk mencegah terputus AWS CodeBuild dari penyedia sumber. Ini menggunakancodebuild:DeleteOAuthToken, yang merupakan kebalikan dari codebuild:PersistOAuthToken dancodebuild:ImportSourceCredentials, untuk terhubung dengan penyedia sumber. Untuk informasi selengkapnya, lihat Izin yang diperlukan untuk AWS CodeBuild konsol untuk terhubung ke penyedia sumber.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "codebuild:DeleteOAuthToken", "Resource": "*" } ] }