

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
<a name="auth-and-access-control-iam-identity-based-access-control"></a>

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

**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](auth-and-access-control-iam-access-control-identity-based.md).

**Topics**
+ [Izin diperlukan untuk menggunakan konsol AWS CodeBuild](#console-permissions)
+ [Izin diperlukan untuk terhubung AWS CodeBuild ke Amazon Elastic Container Registry](#ecr-policies)
+ [Izin yang diperlukan untuk AWS CodeBuild konsol untuk terhubung ke penyedia sumber](#console-policies)
+ [AWS kebijakan terkelola (standar) untuk AWS CodeBuild](#managed-policies)
+ [CodeBuild kebijakan dan pemberitahuan terkelola](#notifications-permissions)
+ [CodeBuild pembaruan kebijakan AWS terkelola](#security-iam-awsmanpol-updates)
+ [Customer-managed contoh kebijakan](#customer-managed-policies)

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`

------
#### [ JSON ]

****  

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

------

## Izin diperlukan untuk menggunakan konsol AWS CodeBuild
<a name="console-permissions"></a>

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 (Amazon ECR) (jika Anda menggunakan lingkungan build yang mengandalkan image Docker di repositori Amazon ECR)
**catatan**  
Per 26 Juli 2022, kebijakan IAM default telah diperbarui. Untuk informasi selengkapnya, lihat [Izin diperlukan untuk terhubung AWS CodeBuild ke Amazon Elastic Container Registry](#ecr-policies).
+ Amazon Elastic Container Service (Amazon ECS) (jika Anda menggunakan lingkungan build yang mengandalkan image Docker di repositori Amazon ECR)
+ AWS Identity and Access Management (IAM)
+ AWS Key Management Service (AWS KMS)
+ Amazon Simple Storage Service (Amazon S3)

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

## Izin diperlukan untuk terhubung AWS CodeBuild ke Amazon Elastic Container Registry
<a name="ecr-policies"></a>

Per 26 Juli 2022, AWS CodeBuild telah memperbarui kebijakan IAM default untuk izin Amazon ECR. 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 kebijakan ECR Amazon berikut:

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

Untuk informasi selengkapnya tentang memperbarui kebijakan Anda, lihat[Memungkinkan pengguna untuk berinteraksi dengan CodeBuild](setting-up-service-permissions-group.md).

## Izin yang diperlukan untuk AWS CodeBuild konsol untuk terhubung ke penyedia sumber
<a name="console-policies"></a>

 AWS CodeBuild Konsol menggunakan tindakan API 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 melakukannya, Anda harus terlebih dahulu menambahkan tindakan API sebelumnya ke kebijakan akses IAM yang terkait dengan pengguna yang Anda gunakan untuk mengakses konsol. AWS CodeBuild 

Tindakan `ListConnectedOAuthAccounts``ListRepositories`,, dan `PersistOAuthToken` API tidak dimaksudkan untuk dipanggil oleh kode Anda. Oleh karena itu, tindakan API ini tidak termasuk dalam AWS CLI dan AWS SDK.

## AWS kebijakan terkelola (standar) untuk AWS CodeBuild
<a name="managed-policies"></a>

AWS mengatasi banyak kasus penggunaan umum dengan menyediakan kebijakan IAM 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 CodeBuild juga memberikan izin untuk melakukan operasi di layanan lain, seperti IAM, Amazon EC2 AWS CodeCommit, Amazon ECR, Amazon SNS, CloudWatch dan Amazon 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 Amazon SNS untuk pemberitahuan tentang peristiwa terkait proyek (topik yang namanya diawali`arn:aws:codebuild:`), serta mengelola proyek dan grup laporan di. CodeBuild Untuk informasi selengkapnya, lihat [Kebijakan Terkelola AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dalam *Panduan Pengguna IAM*.

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 bernama`AmazonS3ReadOnlyAccess`.

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

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

**Topics**
+ [AWSCodeBuildAdminAccess](#admin-access-policy)
+ [AWSCodeBuildDeveloperAccess](#developer-access-policy)
+ [AWSCodeBuildReadOnlyAccess](#read-only-access-policy)

### AWSCodeBuildAdminAccess
<a name="admin-access-policy"></a>

`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.

Untuk kebijakan terkelola lengkap, lihat [ AWSCodeBuildAdminAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodeBuildAdminAccess.html)di referensi kebijakan terkelola IAM.

### AWSCodeBuildDeveloperAccess
<a name="developer-access-policy"></a>

`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.

Untuk kebijakan terkelola lengkap, lihat [ AWSCodeBuildDeveloperAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodeBuildDeveloperAccess.html)di referensi kebijakan terkelola IAM.

### AWSCodeBuildReadOnlyAccess
<a name="read-only-access-policy"></a>

`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. 

Untuk kebijakan terkelola lengkap, lihat [ AWSCodeBuildReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSCodeBuildReadOnlyAccess.xml)di referensi kebijakan terkelola IAM.

## CodeBuild kebijakan dan pemberitahuan terkelola
<a name="notifications-permissions"></a>

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?](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/welcome.html).

### Izin yang terkait dengan notifikasi dalam kebijakan terkelola hanya-baca
<a name="notifications-readonly"></a>

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" : {
            "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*:*:project/*"}
        }
    },    
    {
        "Sid": "CodeStarNotificationsListAccess",
        "Effect": "Allow",
        "Action": [
            "codestar-notifications:ListNotificationRules",
            "codestar-notifications:ListEventTypes",
            "codestar-notifications:ListTargets"
        ],
        "Resource": "*"
    }
```

### Izin terkait notifikasi dalam kebijakan terkelola lainnya
<a name="notifications-otheraccess"></a>

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" : {
            "ArnLike" : {"codestar-notifications:NotificationsForResource" : "arn:aws:codebuild:*:*:project/*"}
        }
    },    
    {
        "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](https://docs.aws.amazon.com/codestar-notifications/latest/userguide/security-iam.html).

## CodeBuild pembaruan kebijakan AWS terkelola
<a name="security-iam-awsmanpol-updates"></a>

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 on. [AWS CodeBuild Riwayat dokumen Panduan Pengguna](history.md)




| Ubah | Deskripsi | Date | 
| --- | --- | --- | 
| `AWSCodeBuildAdminAccess`dan `AWSCodeBuildDeveloperAccess` — Perbarui ke kebijakan yang ada | CodeBuild menambahkan `ssmmessages:OpenDataChannel` izin ke kebijakan ini untuk mendukung debugging build interaktif Session Manager.<br />`AWSCodeBuildDeveloperAccess`Kebijakan `AWSCodeBuildAdminAccess` dan sekarang menyertakan `ssmmessages:OpenDataChannel` tindakan untuk sumber daya sesi Manajer Sesi (`arn:aws:ssm:*:*:session/*`) untuk mendukung penegakan SiGv4 pada API ini WebSocket . | Desember 1, 2025 | 
| `AWSCodeBuildAdminAccess`,`AWSCodeBuildDeveloperAccess`, dan `AWSCodeBuildReadOnlyAccess` — Perbarui ke kebijakan yang ada | CodeBuild memperbarui sumber daya ke kebijakan ini.<br />`AWSCodeBuildReadOnlyAccess`Kebijakan`AWSCodeBuildAdminAccess`,`AWSCodeBuildDeveloperAccess`, dan telah diubah untuk memperbarui sumber daya yang ada. Sumber daya asli `arn:aws:codebuild:*` telah diperbarui ke`arn:aws:codebuild:*:*:project/*`. | November 15, 2024 | 
| `AWSCodeBuildAdminAccess`,`AWSCodeBuildDeveloperAccess`, dan `AWSCodeBuildReadOnlyAccess` — Perbarui ke kebijakan yang ada | CodeBuild menambahkan sumber daya ke kebijakan ini untuk mendukung AWS CodeConnections rebranding.<br />`AWSCodeBuildReadOnlyAccess`Kebijakan`AWSCodeBuildAdminAccess`,`AWSCodeBuildDeveloperAccess`, dan telah diubah untuk menambahkan sumber daya,`arn:aws:codeconnections:*:*:*`. | April 18, 2024 | 
| `AWSCodeBuildAdminAccess`dan `AWSCodeBuildDeveloperAccess` — Perbarui ke kebijakan yang ada | CodeBuild menambahkan izin ke kebijakan ini untuk mendukung jenis pemberitahuan tambahan menggunakan Pengembang Amazon Q di aplikasi obrolan.<br />`AWSCodeBuildDeveloperAccess`Kebijakan `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 | 

## Customer-managed contoh kebijakan
<a name="customer-managed-policies"></a>

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 SDK, atau AWS CLI. Saat menggunakan konsol, Anda harus memberikan izin tambahan khusus konsol. Untuk informasi, lihat [Izin diperlukan untuk menggunakan konsol AWS CodeBuild](#console-permissions).

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

**Topics**
+ [Memungkinkan pengguna untuk mendapatkan informasi tentang proyek build](#customer-managed-policies-example-batch-get-projects)
+ [Memungkinkan pengguna untuk mendapatkan informasi tentang armada](#customer-managed-policies-get-information-about-fleets)
+ [Memungkinkan pengguna untuk mendapatkan informasi tentang grup laporan](#customer-managed-policies-get-information-about-report-group)
+ [Memungkinkan pengguna untuk mendapatkan informasi tentang laporan](#customer-managed-policies-get-information-about-reports)
+ [Izinkan pengguna untuk membuat proyek build](#customer-managed-policies-example-create-project)
+ [Memungkinkan pengguna untuk membuat armada](#customer-managed-policies-example-create-fleet)
+ [Izinkan pengguna membuat grup laporan](#customer-managed-policies-example-create-report-group)
+ [Memungkinkan pengguna untuk menghapus armada](#customer-managed-policies-example-delete-fleet)
+ [Izinkan pengguna menghapus grup laporan](#customer-managed-policies-example-delete-report-group)
+ [Izinkan pengguna untuk menghapus laporan](#customer-managed-policies-example-delete-report)
+ [Izinkan pengguna untuk menghapus proyek build](#customer-managed-policies-example-delete-project)
+ [Izinkan pengguna untuk mendapatkan daftar nama proyek build](#customer-managed-policies-example-list-projects)
+ [Memungkinkan pengguna untuk mengubah informasi tentang proyek build](#customer-managed-policies-example-update-project)
+ [Memungkinkan pengguna untuk mengubah armada](#customer-managed-policies-example-change-fleet)
+ [Izinkan pengguna mengubah grup laporan](#customer-managed-policies-example-change-report-group)
+ [Memungkinkan pengguna untuk mendapatkan informasi tentang build](#customer-managed-policies-example-batch-get-builds)
+ [Izinkan pengguna mendapatkan daftar ID build untuk proyek build](#customer-managed-policies-example-list-builds-for-project)
+ [Izinkan pengguna mendapatkan daftar ID build](#customer-managed-policies-example-list-builds)
+ [Memungkinkan pengguna untuk mendapatkan daftar armada](#customer-managed-policies-example-get-list-of-fleets)
+ [Izinkan pengguna untuk mendapatkan daftar grup laporan](#customer-managed-policies-example-get-list-of-report-groups)
+ [Memungkinkan pengguna untuk mendapatkan daftar laporan](#customer-managed-policies-example-get-list-of-reports)
+ [Memungkinkan pengguna untuk mendapatkan daftar laporan untuk grup laporan](#customer-managed-policies-example-get-list-of-reports-for-report-group)
+ [Memungkinkan pengguna untuk mendapatkan daftar kasus uji untuk laporan](#customer-managed-policies-example-get-list-of-test-cases-for-report)
+ [Izinkan pengguna untuk mulai menjalankan build](#customer-managed-policies-example-start-build)
+ [Izinkan pengguna untuk mencoba menghentikan build](#customer-managed-policies-example-stop-build)
+ [Izinkan pengguna mencoba menghapus build](#customer-managed-policies-example-delete-builds)
+ [Izinkan pengguna untuk mendapatkan informasi tentang gambar Docker yang dikelola oleh CodeBuild](#customer-managed-policies-example-list-curated-environment-images)
+ [Izinkan pengguna menambahkan kebijakan izin untuk peran layanan armada](#customer-managed-policies-example-permission-policy-fleet-service-role)
+ [Izinkan CodeBuild akses ke AWS layanan yang diperlukan untuk membuat antarmuka jaringan VPC](#customer-managed-policies-example-create-vpc-network-interface)
+ [Gunakan pernyataan penolakan untuk mencegah terputusnya sambungan AWS CodeBuild dari penyedia sumber](#customer-managed-policies-example-deny-disconnect)

### Memungkinkan pengguna untuk mendapatkan informasi tentang proyek build
<a name="customer-managed-policies-example-batch-get-projects"></a>

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 nama`my`:

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mendapatkan informasi tentang armada
<a name="customer-managed-policies-get-information-about-fleets"></a>

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

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mendapatkan informasi tentang grup laporan
<a name="customer-managed-policies-get-information-about-report-group"></a>

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

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mendapatkan informasi tentang laporan
<a name="customer-managed-policies-get-information-about-reports"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna untuk membuat proyek build
<a name="customer-managed-policies-example-create-project"></a>

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:

------
#### [ JSON ]

****  

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

------

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. Ini juga memberlakukan bahwa pengguna hanya dapat menggunakan peran layanan yang ditentukan dengan AWS CodeBuild dan bukan AWS layanan lain.

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk membuat armada
<a name="customer-managed-policies-example-create-fleet"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna membuat grup laporan
<a name="customer-managed-policies-example-create-report-group"></a>

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

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk menghapus armada
<a name="customer-managed-policies-example-delete-fleet"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna menghapus grup laporan
<a name="customer-managed-policies-example-delete-report-group"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna untuk menghapus laporan
<a name="customer-managed-policies-example-delete-report"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna untuk menghapus proyek build
<a name="customer-managed-policies-example-delete-project"></a>

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 nama`my`:

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna untuk mendapatkan daftar nama proyek build
<a name="customer-managed-policies-example-list-projects"></a>

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

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mengubah informasi tentang proyek build
<a name="customer-managed-policies-example-update-project"></a>

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:

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mengubah armada
<a name="customer-managed-policies-example-change-fleet"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna mengubah grup laporan
<a name="customer-managed-policies-example-change-report-group"></a>

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

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mendapatkan informasi tentang build
<a name="customer-managed-policies-example-batch-get-builds"></a>

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` dan`my-other-build-project`:

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna mendapatkan daftar ID build untuk proyek build
<a name="customer-managed-policies-example-list-builds-for-project"></a>

Contoh pernyataan kebijakan berikut memungkinkan pengguna untuk mendapatkan daftar ID build di `us-east-2` Region `123456789012` untuk akun proyek build bernama `my-build-project` dan`my-other-build-project`:

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna mendapatkan daftar ID build
<a name="customer-managed-policies-example-list-builds"></a>

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

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mendapatkan daftar armada
<a name="customer-managed-policies-example-get-list-of-fleets"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna untuk mendapatkan daftar grup laporan
<a name="customer-managed-policies-example-get-list-of-report-groups"></a>

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

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mendapatkan daftar laporan
<a name="customer-managed-policies-example-get-list-of-reports"></a>

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

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mendapatkan daftar laporan untuk grup laporan
<a name="customer-managed-policies-example-get-list-of-reports-for-report-group"></a>

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

------
#### [ JSON ]

****  

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

------

### Memungkinkan pengguna untuk mendapatkan daftar kasus uji untuk laporan
<a name="customer-managed-policies-example-get-list-of-test-cases-for-report"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna untuk mulai menjalankan build
<a name="customer-managed-policies-example-start-build"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna untuk mencoba menghentikan build
<a name="customer-managed-policies-example-stop-build"></a>

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`

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna mencoba menghapus build
<a name="customer-managed-policies-example-delete-builds"></a>

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`

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna untuk mendapatkan informasi tentang gambar Docker yang dikelola oleh CodeBuild
<a name="customer-managed-policies-example-list-curated-environment-images"></a>

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

------
#### [ JSON ]

****  

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

------

### Izinkan pengguna menambahkan kebijakan izin untuk peran layanan armada
<a name="customer-managed-policies-example-permission-policy-fleet-service-role"></a>

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

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CodeBuildFleetVpcCreateNI",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface"
            ],
            "Resource": [
                "arn:aws:ec2:{{us-west-2}}:{{111122223333}}:subnet/subnet-id-1",
                "arn:aws:ec2:{{us-west-2}}:{{111122223333}}:security-group/security-group-id-1",
                "arn:aws:ec2:{{us-west-2}}:{{111122223333}}: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:{{us-west-2}}:{{111122223333}}:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "ec2:Subnet": [
                        "arn:aws:ec2:{{us-west-2}}:{{111122223333}}:subnet/subnet-id-1"
                    ]
                }
            }
        }
    ]
}
```

------

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

------
#### [ JSON ]

****  

```
{
    "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:

------
#### [ JSON ]

****  

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

------

### Izinkan CodeBuild akses ke AWS layanan yang diperlukan untuk membuat antarmuka jaringan VPC
<a name="customer-managed-policies-example-create-vpc-network-interface"></a>

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

------
#### [ JSON ]

****  

```
{
    "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:{{us-west-2}}:{{111122223333}}:network-interface/*",
            "Condition": {
                "StringEquals": {
                    "ec2:AuthorizedService": "codebuild.amazonaws.com"
                },
                "ArnEquals": {
                    "ec2:Subnet": [
                        "arn:aws:ec2:{{us-west-2}}:{{111122223333}}:subnet/subnet-id-1",
                        "arn:aws:ec2:{{us-west-2}}:{{111122223333}}:subnet/subnet-id-2"
                    ]
                }
            }
        }
    ]
}
```

------

### Gunakan pernyataan penolakan untuk mencegah terputusnya sambungan AWS CodeBuild dari penyedia sumber
<a name="customer-managed-policies-example-deny-disconnect"></a>

 Contoh pernyataan kebijakan berikut menggunakan pernyataan penolakan untuk mencegah terputus AWS CodeBuild dari penyedia sumber. Ini menggunakan`codebuild:DeleteOAuthToken`, yang merupakan kebalikan dari `codebuild:PersistOAuthToken` dan`codebuild:ImportSourceCredentials`, untuk terhubung dengan penyedia sumber. Untuk informasi selengkapnya, lihat [Izin yang diperlukan untuk AWS CodeBuild konsol untuk terhubung ke penyedia sumber](#console-policies). 

------
#### [ JSON ]

****  

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

------