Menggunakan tag untuk mengontrol akses ke AWS CodeBuild sumber daya - AWS CodeBuild

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 kebijakan IAM adalah bagian dari sintaks yang dapat Anda gunakan untuk menentukan izin untuk CodeBuild tindakan berbasis proyek. Anda dapat membuat kebijakan yang mengizinkan atau menolak tindakan pada proyek berdasarkan tag yang terkait dengan proyek tersebut, lalu menerapkan kebijakan tersebut ke grup IAM yang Anda konfigurasikan untuk mengelola pengguna. Untuk informasi tentang menerapkan tag ke proyek menggunakan konsol atau AWS CLI, lihatMembuat proyek pembangunan diAWS CodeBuild. Untuk informasi tentang menerapkan tag menggunakan CodeBuild SDK, lihat CreateProject dan Tag di Referensi CodeBuild API. 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 Pengguna IAM.

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. Production Administrator pengguna harus melampirkan kebijakan IAM 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 kebijakan IAM ini selain kebijakan pengguna terkelola kepada pengguna yang tidak berwenang untuk melakukan tindakan ini. Kunci aws:RequestTag kondisi digunakan untuk mengontrol tag mana yang dapat diteruskan dalam permintaan IAM

{ "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 grup IAM 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 grup IAM yang Anda buat untuk pengembang umum (Pengembang). Anda kemudian perlu memastikan bahwa pengembang yang bekerja pada grup laporan yang diberi tag tersebut bukan anggota grup Pengembang umum tersebut, melainkan milik grup IAM berbeda 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" } } } ] }