

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

# Bagaimana AWS CodePipeline bekerja dengan IAM
<a name="security_iam_service-with-iam"></a>

Sebelum Anda menggunakan IAM untuk mengelola akses CodePipeline, Anda harus memahami fitur IAM apa yang tersedia untuk digunakan. CodePipeline Untuk mendapatkan tampilan tingkat tinggi tentang bagaimana CodePipeline dan lainnya Layanan AWS yang bekerja dengan IAM, lihat [Layanan AWS yang bekerja dengan IAM di Panduan Pengguna *IAM*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).

**Topics**
+ [CodePipeline kebijakan berbasis identitas](#security_iam_service-with-iam-id-based-policies)
+ [CodePipeline kebijakan berbasis sumber daya](#security_iam_service-with-iam-resource-based-policies)
+ [Otorisasi berdasarkan tag CodePipeline](#security_iam_service-with-iam-tags)
+ [CodePipeline Peran IAM](#security_iam_service-with-iam-roles)

## CodePipeline kebijakan berbasis identitas
<a name="security_iam_service-with-iam-id-based-policies"></a>

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan tindakan dan sumber daya yang diizinkan atau ditolak, serta kondisi di mana tindakan tersebut diperbolehkan atau ditolak. CodePipeline mendukung tindakan tertentu, sumber daya, dan kunci syarat. Untuk mempelajari semua elemen yang Anda gunakan dalam kebijakan JSON, lihat [Referensi elemen kebijakan IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dalam *Panduan Pengguna IAM*.

### Tindakan
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan. Sertakan tindakan dalam kebijakan untuk memberikan izin untuk melakukan operasi terkait.

Tindakan kebijakan CodePipeline menggunakan awalan berikut sebelum tindakan:`codepipeline:`. 

Misalnya, untuk memberikan izin kepada seseorang untuk melihat pipeline yang ada di akun, Anda menyertakan `codepipeline:GetPipeline` tindakan tersebut dalam kebijakan mereka. Pernyataan kebijakan harus mencakup salah satu `Action` atau `NotAction` elemen. CodePipeline mendefinisikan serangkaian tindakannya sendiri yang menggambarkan tugas yang dapat Anda lakukan dengan layanan ini.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan dengan koma seperti berikut:

```
"Action": [
      "codepipeline:action1",
      "codepipeline:action2"
```

Anda dapat menentukan beberapa tindakan menggunakan wildcard (\$1). Sebagai contoh, untuk menentukan semua tindakan yang dimulai dengan kata `Get`, sertakan tindakan berikut:

```
"Action": "codepipeline:Get*"
```



Untuk daftar tindakan, lihat CodePipeline [Tindakan yang Ditentukan oleh AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions) dalam *Panduan Pengguna IAM*.

### Sumber daya
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```



#### sumber daya dan operasi
<a name="ACP_ARN_Format"></a>

Di, sumber daya utama adalah pipa. Dalam kebijakan, Anda menggunakan Nama Sumber Daya Amazon (ARN) untuk mengidentifikasi sumber daya yang diterapkan kebijakan tersebut. mendukung sumber daya lain yang dapat digunakan dengan sumber daya utama, seperti tahapan, tindakan, dan tindakan kustom. Ini dirujuk sebagai sub-sumber daya. Sumber daya dan subsumber daya ini memiliki Nama Sumber Daya Amazon (ARNs) unik yang terkait dengannya. Untuk informasi selengkapnya ARNs, lihat [Nama Sumber Daya Amazon (ARN) dan Layanan AWS ruang nama](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) di. *Referensi Umum Amazon Web Services* Untuk mendapatkan ARN pipeline yang terkait dengan pipeline Anda, Anda dapat menemukan ARN pipeline di bawah **Pengaturan** di konsol. Untuk informasi selengkapnya, lihat [Lihat ARN pipeline dan peran layanan ARN (konsol)](pipelines-settings-console.md).


| Jenis Sumber Daya | Format ARN | 
| --- | --- | 
|  Pipa  |  arn:aws:codepipeline::: *region* *account* *pipeline-name*  | 
| Stage |  arn:aws:codepipeline:::/*region**account**pipeline-name**stage-name*  | 
| Tindakan |  arn:aws:codepipeline::://*region**account**pipeline-name**stage-name**action-name*  | 
| Tindakan kustom | arn:aws:codepipeline: ::actiontype:///regionaccountownercategoryproviderversion | 
|  Semua sumber daya   |  arn:aws:codepipeline: \$1  | 
|  Semua sumber daya yang dimiliki oleh akun yang ditentukan di Wilayah yang ditentukan  |  arn:aws:codepipeline::: \$1 *region* *account*  | 

**catatan**  
Sebagian besar layanan dalam AWS memperlakukan titik dua (:) atau garis miring (/) sebagai karakter yang sama di ARNs. Namun, menggunakan kecocokan tepat dalam pola dan aturan acara. Pastikan untuk menggunakan karakter ARN yang benar saat membuat pola acara sehingga cocok dengan sintaks ARN di pipeline yang ingin Anda cocokkan.

Di, ada panggilan API yang mendukung izin tingkat sumber daya. Izin tingkat sumber daya menunjukkan apakah panggilan API dapat menentukan ARN sumber daya, atau apakah panggilan API hanya dapat menentukan semua sumber daya menggunakan wildcard. Lihat penjelasan [referensi izin](permissions-reference.md) mendetail tentang izin tingkat sumber daya dan daftar panggilan CodePipeline API yang mendukung izin tingkat sumber daya.

Misalnya, Anda dapat menunjukkan pipeline (*myPipeline*) tertentu dalam pernyataan Anda menggunakan ARN sebagai berikut:

```
"Resource": "arn:aws:codepipeline:us-east-2:111222333444:myPipeline"
```

Anda juga dapat menentukan semua pipeline milik akun tertentu dengan menggunakan karakter wildcard (\$1) sebagai berikut:

```
"Resource": "arn:aws:codepipeline:us-east-2:111222333444:*"
```

Untuk menentukan semua sumber daya, atau jika tindakan API tertentu tidak mendukung ARNs, gunakan karakter wildcard (\$1) dalam `Resource` elemen sebagai berikut:

```
"Resource": "*"
```

**catatan**  
Saat Anda membuat kebijakan IAM, ikuti saran keamanan standar untuk memberikan hak istimewa paling sedikit—yaitu, hanya memberikan izin yang diperlukan untuk melakukan tugas. Jika panggilan API mendukung ARNs, maka panggilan tersebut mendukung izin tingkat sumber daya, dan Anda tidak perlu menggunakan karakter wildcard (\$1).

Beberapa panggilan API menerima beberapa sumber daya (misalnya,`GetPipeline`). Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan ARNs dengan koma, sebagai berikut:

```
"Resource": ["arn1", "arn2"]
```

 menyediakan satu set operasi untuk bekerja dengan sumber daya. Untuk daftar operasi yang tersedia, lihat [referensi izin](permissions-reference.md).

### Kunci syarat
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

CodePipeline mendefinisikan kumpulan kunci kondisinya sendiri dan juga mendukung penggunaan beberapa kunci kondisi global. Untuk melihat semua kunci kondisi AWS global, lihat [Kunci Konteks Kondisi AWS Global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.



 Semua tindakan Amazon EC2 men-support kunci syarat `aws:RequestedRegion` dan `ec2:Region`. Untuk informasi selengkapnya, lihat [Contoh: Membatasi Akses ke Wilayah Tertentu](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-region). 

Untuk melihat daftar kunci CodePipeline kondisi, lihat [Condition Keys untuk AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-policy-keys) di *Panduan Pengguna IAM*. Untuk mempelajari tindakan dan sumber daya yang dapat Anda gunakan kunci kondisi, lihat [Tindakan yang Ditentukan oleh AWS CodePipeline](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscodepipeline.html#awscodepipeline-actions-as-permissions).

### Contoh
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Untuk melihat contoh kebijakan CodePipeline berbasis identitas, lihat. [AWS CodePipeline contoh kebijakan berbasis identitas](security_iam_id-based-policy-examples.md)

## CodePipeline kebijakan berbasis sumber daya
<a name="security_iam_service-with-iam-resource-based-policies"></a>

CodePipeline tidak mendukung kebijakan berbasis sumber daya. Namun, contoh kebijakan berbasis sumber daya untuk layanan S3 yang terkait dengan disediakan. CodePipeline 

### Contoh
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>



Untuk melihat contoh kebijakan CodePipeline berbasis sumber daya, lihat, [AWS CodePipeline contoh kebijakan berbasis sumber daya](security_iam_resource-based-policy-examples.md)

## Otorisasi berdasarkan tag CodePipeline
<a name="security_iam_service-with-iam-tags"></a>

Anda dapat melampirkan tag ke CodePipeline sumber daya atau meneruskan tag dalam permintaan CodePipeline. Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di [elemen kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dari kebijakan menggunakan kunci kondisi `codepipeline:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`. Untuk informasi selengkapnya tentang penandaan sumber daya CodePipeline , lihat [Penandaan pada sumber daya](tag-resources.md).

Untuk melihat contoh kebijakan berbasis identitas untuk membatasi akses ke sumber daya berdasarkan tag pada sumber daya tersebut, lihat [Menggunakan tag untuk mengontrol akses ke CodePipeline sumber daya](tag-based-access-control.md).

## CodePipeline Peran IAM
<a name="security_iam_service-with-iam-roles"></a>

[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) adalah entitas di AWS akun Anda yang memiliki izin tertentu.

### Menggunakan kredensi sementara dengan CodePipeline
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Anda dapat menggunakan kredensial sementara untuk masuk dengan gabungan, menjalankan IAM role, atau menjalankan peran lintas akun. Anda memperoleh kredensil keamanan sementara dengan memanggil operasi AWS STS API seperti [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)atau. [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) 

CodePipeline mendukung penggunaan kredensyal sementara. 

### Peran layanan
<a name="security_iam_service-with-iam-roles-service"></a>

CodePipeline memungkinkan layanan untuk mengambil [peran layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) atas nama Anda. Peran ini mengizinkan layanan untuk mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran layanan muncul di akun IAM Anda dan dimiliki oleh akun tersebut. Ini berarti administrator IAM dapat mengubah izin untuk peran ini. Namun, melakukan hal itu dapat merusak fungsionalitas layanan.

CodePipeline mendukung peran layanan. 