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.
Topik
- Izin yang diperlukan untuk menggunakan konsol AWS CodeBuild
- Izin diperlukan untuk terhubung AWS CodeBuild ke Amazon Elastic Container Registry
- Izin yang diperlukan untuk AWS CodeBuild konsol untuk terhubung ke penyedia sumber
- AWS kebijakan terkelola (standar) untuk AWS CodeBuild
- CodeBuild kebijakan dan pemberitahuan terkelola
- CodeBuild pembaruan kebijakan AWS terkelola
- Contoh kebijakan yang dikelola pelanggan
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
PersistOAuthToken
APITindakan ListConnectedOAuthAccounts
ListRepositories
,, 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
AWSCodeBuildAdminAccess
Kebijakan 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.
AWSCodeBuildAdminAccess
Kebijakan 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
AWSCodeBuildDeveloperAccess
Kebijakan 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.
AWSCodeBuildDeveloperAccess
Kebijakan 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
AWSCodeBuildReadOnlyAccess
Kebijakan 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.
AWSCodeBuildReadOnlyAccess
Kebijakan 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 mencantumkan 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 Management untuk 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 Panduan Pengguna riwayat dokumen .
Perubahan | Deskripsi | Tanggal |
---|---|---|
|
CodeBuild menambahkan sumber daya ke kebijakan ini untuk mendukung AWS CodeConnections rebranding.
|
April 18, 2024 |
|
CodeBuild menambahkan izin ke kebijakan ini untuk mendukung jenis pemberitahuan tambahan yang digunakan AWS Chatbot.
|
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 Anda 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
- Memungkinkan pengguna untuk mendapatkan informasi tentang armada
- Memungkinkan pengguna untuk mendapatkan informasi tentang grup laporan
- Memungkinkan pengguna untuk mendapatkan informasi tentang laporan
- Izinkan pengguna membuat proyek pembangunan
- Memungkinkan pengguna untuk membuat armada
- Izinkan pengguna membuat grup laporan
- Memungkinkan pengguna untuk menghapus armada
- Izinkan pengguna menghapus grup laporan
- Memungkinkan pengguna untuk menghapus laporan
- Izinkan pengguna untuk menghapus proyek build
- Izinkan pengguna untuk mendapatkan daftar nama proyek build
- Memungkinkan pengguna untuk mengubah informasi tentang proyek build
- Memungkinkan pengguna untuk mengubah armada
- Izinkan pengguna mengubah grup laporan
- Memungkinkan pengguna untuk mendapatkan informasi tentang build
- Izinkan pengguna mendapatkan daftar build IDs untuk proyek build
- Izinkan pengguna untuk mendapatkan daftar build IDs
- Memungkinkan pengguna untuk mendapatkan daftar armada
- Izinkan pengguna untuk mendapatkan daftar grup laporan
- Memungkinkan pengguna untuk mendapatkan daftar laporan
- Memungkinkan pengguna untuk mendapatkan daftar laporan untuk grup laporan
- Memungkinkan pengguna untuk mendapatkan daftar kasus uji untuk laporan
- Izinkan pengguna untuk mulai menjalankan build
- Izinkan pengguna untuk mencoba menghentikan build
- Izinkan pengguna mencoba menghapus build
- Izinkan pengguna untuk mendapatkan informasi tentang gambar Docker yang dikelola oleh CodeBuild
- Izinkan pengguna menambahkan kebijakan izin untuk peran layanan armada
- Izinkan CodeBuild akses ke AWS layanan yang diperlukan untuk membuat antarmuka VPC jaringan
- Gunakan pernyataan penolakan untuk mencegah terputusnya sambungan AWS CodeBuild dari penyedia sumber
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 membuat proyek pembangunan
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
Region 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 untuk mendapatkan daftar build IDs
Contoh pernyataan kebijakan berikut memungkinkan pengguna 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": "*" } ] }