Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan tag untuk mengontrol akses ke AWS CodeBuild sumber daya
Kondisi dalam pernyataan IAM kebijakan adalah bagian dari sintaks yang dapat Anda gunakan untuk menentukan izin untuk tindakan berbasis CodeBuild proyek. Anda dapat membuat kebijakan yang mengizinkan atau menolak tindakan pada proyek berdasarkan tag yang terkait dengan proyek tersebut, lalu menerapkan kebijakan tersebut ke IAM grup yang Anda konfigurasikan untuk mengelola pengguna. Untuk informasi tentang menerapkan tag ke proyek menggunakan konsol atau AWS CLI, lihatBuat proyek build di AWS CodeBuild. Untuk informasi tentang menerapkan tag menggunakan CodeBuild SDK, lihat CreateProject dan Tag di CodeBuildAPIReferensi. Untuk informasi tentang penggunaan tag untuk mengontrol akses ke AWS sumber daya, lihat Mengontrol Akses ke AWS Sumber Daya Menggunakan Tag Sumber Daya di Panduan IAM Pengguna.
penting
Saat menggunakan fitur kapasitas cadangan, data yang di-cache pada instance armada, termasuk file sumber, lapisan Docker, dan direktori cache yang ditentukan dalam buildspec, dapat diakses oleh proyek lain dalam akun yang sama. Ini dirancang dan memungkinkan proyek dalam akun yang sama untuk berbagi instance armada.
contoh Contoh 1: Batasi tindakan CodeBuild proyek berdasarkan tag sumber daya
Contoh berikut menyangkal semua BatchGetProjects
tindakan pada proyek yang ditandai dengan kunci Environment
dengan nilai kunci dari. Production
Administrator pengguna harus melampirkan IAM kebijakan ini selain kebijakan pengguna terkelola untuk pengguna yang tidak sah. Kunci aws:ResourceTag
kondisi digunakan untuk mengontrol akses ke sumber daya berdasarkan tag mereka.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codebuild:BatchGetProjects" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/Environment": "Production" } } } ] }
contoh Contoh 2: Batasi tindakan CodeBuild proyek berdasarkan tag permintaan
Kebijakan berikut menolak izin pengguna untuk CreateProject
tindakan jika permintaan berisi tag dengan kunci Environment
dan nilai Production
kunci. Selain itu, kebijakan mencegah pengguna yang tidak sah ini memodifikasi proyek dengan menggunakan kunci aws:TagKeys
kondisi untuk tidak mengizinkan UpdateProject
jika permintaan berisi tag dengan kunci. Environment
Administrator harus melampirkan IAM kebijakan ini selain kebijakan pengguna yang dikelola kepada pengguna yang tidak berwenang untuk melakukan tindakan ini. Kunci aws:RequestTag
kondisi digunakan untuk mengontrol tag mana yang dapat diteruskan dalam IAM permintaan
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "codebuild:CreateProject" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:RequestTag/Environment": "Production" } } }, { "Effect": "Deny", "Action": [ "codebuild:UpdateProject" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": ["Environment"] } } } ] }
contoh Contoh 3: Tolak atau izinkan tindakan pada grup laporan berdasarkan tag sumber daya
Anda dapat membuat kebijakan yang mengizinkan atau menolak tindakan pada CodeBuild sumber daya (proyek dan grup laporan) berdasarkan AWS tag yang terkait dengan sumber daya tersebut, lalu menerapkan kebijakan tersebut ke IAM grup yang Anda konfigurasikan untuk mengelola pengguna. Misalnya, Anda dapat membuat kebijakan yang menolak semua CodeBuild tindakan pada grup laporan apa pun dengan kunci AWS tag Status
dan nilai kunciSecret
, lalu menerapkan kebijakan tersebut ke IAM grup yang Anda buat untuk pengembang umum (Developers
). Anda kemudian perlu memastikan bahwa pengembang yang mengerjakan grup laporan yang ditandai tersebut bukan anggota jenderal itu Developers
grup, tetapi milik IAM kelompok lain yang tidak memiliki kebijakan restriktif yang diterapkan (SecretDevelopers
).
Contoh berikut menyangkal semua CodeBuild tindakan pada grup laporan yang ditandai dengan kunci Status
dan nilai kunci: Secret
{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Deny", "Action" : [ "codebuild:BatchGetReportGroups," "codebuild:CreateReportGroup", "codebuild:DeleteReportGroup", "codebuild:ListReportGroups", "codebuild:ListReportsForReportGroup", "codebuild:UpdateReportGroup" ] "Resource" : "*", "Condition" : { "StringEquals" : "aws:ResourceTag/
Status
": "Secret
" } } ] }
contoh Contoh 4: Batasi CodeBuild tindakan AWSCodeBuildDeveloperAccess berdasarkan tag sumber daya
Anda dapat membuat kebijakan yang mengizinkan CodeBuild tindakan pada semua grup laporan dan proyek yang tidak ditandai dengan tag tertentu. Misalnya, kebijakan berikut memungkinkan AWSCodeBuildDeveloperAccess izin yang setara untuk semua grup laporan dan proyek kecuali yang ditandai dengan tag yang ditentukan:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codebuild:StartBuild", "codebuild:StopBuild", "codebuild:BatchGet*", "codebuild:GetResourcePolicy", "codebuild:DescribeTestCases", "codebuild:List*", "codecommit:GetBranch", "codecommit:GetCommit", "codecommit:GetRepository", "codecommit:ListBranches", "cloudwatch:GetMetricStatistics", "events:DescribeRule", "events:ListTargetsByRule", "events:ListRuleNamesByTarget", "logs:GetLogEvents", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:ResourceTag/
Status
": "Secret
", "aws:ResourceTag/Team
": "Saanvi
" } } } ] }