

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

# Kebijakan IAM untuk menggunakan status Peta Terdistribusi
<a name="iam-policies-eg-dist-map"></a>

Saat Anda membuat alur kerja dengan konsol Step Functions, Step Functions dapat secara otomatis menghasilkan kebijakan IAM berdasarkan sumber daya dalam definisi alur kerja Anda. Kebijakan yang dihasilkan mencakup hak istimewa paling sedikit yang diperlukan untuk memungkinkan peran mesin status menjalankan tindakan `[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)` API untuk *status Peta Terdistribusi* dan AWS sumber daya akses, seperti bucket dan objek Amazon S3, serta fungsi Lambda.

Kami merekomendasikan untuk memasukkan hanya izin yang diperlukan dalam kebijakan IAM Anda. Misalnya, jika alur kerja Anda menyertakan `Map` status dalam mode Terdistribusi, cakup kebijakan Anda ke bucket dan folder Amazon S3 tertentu yang berisi data Anda.

**penting**  
Jika Anda menentukan bucket dan objek Amazon S3, atau awalan, dengan [jalur referensi](amazon-states-language-paths.md#amazon-states-language-reference-paths) ke pasangan nilai kunci yang ada di input *status Peta Terdistribusi*, pastikan Anda memperbarui kebijakan IAM untuk alur kerja Anda. Cakupan kebijakan hingga ke bucket dan nama objek yang diselesaikan jalur saat runtime.

## Contoh kebijakan IAM untuk menjalankan status Peta Terdistribusi
<a name="iam-policy-run-dist-map"></a>

Bila Anda menyertakan *status Peta Terdistribusi* dalam alur kerja Anda, Step Functions memerlukan izin yang sesuai untuk memungkinkan peran mesin status menjalankan tindakan `[StartExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_StartExecution.html)` API untuk status Peta *Terdistribusi*.

Contoh kebijakan IAM berikut memberikan hak istimewa paling sedikit yang diperlukan untuk peran mesin status Anda untuk menjalankan status Peta *Terdistribusi*.

**catatan**  
Pastikan Anda mengganti `stateMachineName` dengan nama mesin status tempat Anda menggunakan *status Peta Terdistribusi*. Misalnya, `arn:aws:states:region:account-id:stateMachine:mystateMachine`.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution"
      ],
      "Resource": [
        "arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachineName"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeExecution"
      ],
      "Resource": "arn:aws:states:us-east-1:123456789012:execution:myStateMachineName:*"
    }
  ]
}
```

## Contoh kebijakan IAM untuk Peta redriving Terdistribusi
<a name="iam-policy-redrive-dist-map"></a>

[Anda dapat memulai ulang eksekusi alur kerja anak yang gagal di Map Run oleh alur kerja induk [redriving](redrive-executions.md)Anda.](state-map-distributed.md#dist-map-orchestrate-parallel-workloads-key-terms) Alur kerja redriven induk redrives semua status gagal, termasuk Peta Terdistribusi. Pastikan peran eksekusi Anda memiliki hak istimewa paling sedikit yang diperlukan untuk memungkinkannya menjalankan tindakan `[RedriveExecution](https://docs.aws.amazon.com/step-functions/latest/apireference/API_RedriveExecution.html)` API pada alur kerja induk.

Contoh kebijakan IAM berikut memberikan hak istimewa paling sedikit yang diperlukan untuk peran mesin status Anda untuk redriving status Peta *Terdistribusi*.

**catatan**  
Pastikan Anda mengganti `stateMachineName` dengan nama mesin status tempat Anda menggunakan *status Peta Terdistribusi*. Misalnya, `arn:aws:states:region:account-id:stateMachine:mystateMachine`.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:RedriveExecution"
      ],
      "Resource": "arn:aws:states:us-east-2:123456789012:execution:myStateMachineName/myMapRunLabel:*"
    }
  ]
}
```

## Contoh kebijakan IAM untuk membaca data dari kumpulan data Amazon S3
<a name="iam-policy-eg-item-reader"></a>

[Contoh berikut menunjukkan teknik untuk memberikan hak istimewa paling sedikit yang diperlukan untuk mengakses kumpulan data Amazon S3 Anda menggunakan ListObjects tindakan V2 dan API. [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)

**Example kondisi menggunakan objek Amazon S3 sebagai kumpulan data**  
Kondisi berikut memberikan hak istimewa paling sedikit untuk mengakses objek di `processImages` folder bucket Amazon S3.  

```
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ],
"Condition": {
   "StringLike": { 
      "s3:prefix": [ "processImages" ]
   }
}
```

**Example menggunakan file CSV sebagai kumpulan data**  
Contoh berikut menunjukkan tindakan yang diperlukan untuk mengakses file CSV bernama`ratings.csv`.  

```
"Action": [ "s3:GetObject" ],
"Resource": [
   "arn:aws:s3:::amzn-s3-demo-bucket/csvDataset/ratings.csv"
   ]
```

**Example menggunakan inventaris Amazon S3 sebagai kumpulan data**  
Berikut ini menunjukkan contoh sumber daya untuk manifes inventaris Amazon S3 dan file data.  

```
"Resource": [
   "arn:aws:s3:::myPrefix/amzn-s3-demo-bucket/myConfig-id/YYYY-MM-DDTHH-MMZ/manifest.json",
   "arn:aws:s3:::myPrefix/amzn-s3-demo-bucket/myConfig-id/data/*"
   ]
```

**Example menggunakan ListObjects V2 untuk membatasi ke awalan folder**  
Saat menggunakan [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html), dua kebijakan akan dibuat. Satu diperlukan untuk mengizinkan **daftar** konten bucket (`ListBucket`) dan kebijakan lain akan memungkinkan **pengambilan objek** di bucket (`GetObject`).   
Berikut ini menunjukkan contoh tindakan, sumber daya, dan kondisi:  

```
"Action": [ "s3:ListBucket" ],
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket" ],
"Condition": {
   "StringLike": {
      "s3:prefix": [ "/path/to/your/json/" ]
   }
}
```

```
"Action": [ "s3:GetObject" ],
"Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/path/to/your/json/*" ]
```
Perhatikan bahwa tidak `GetObject` akan dicakup dan Anda akan menggunakan wildcard (`*`) untuk objek.

## Contoh kebijakan IAM untuk menulis data ke bucket Amazon S3
<a name="iam-policy-eg-result-writer"></a>

Contoh kebijakan IAM berikut memberikan hak istimewa paling sedikit yang diperlukan untuk menulis hasil eksekusi alur kerja turunan Anda ke folder bernama dalam bucket *csvJobs* Amazon S3 menggunakan tindakan API. `[PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)`

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObject",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-destination-bucket/csvJobs/*"
            ]
        }
    ]
}
```

### Izin IAM untuk bucket AWS KMS key Amazon S3 terenkripsi
<a name="multiupload-dmap-result-policy"></a>

*Status Peta Terdistribusi* menggunakan unggahan multibagian untuk menulis hasil eksekusi alur kerja turunan ke bucket Amazon S3. Jika bucket dienkripsi menggunakan AWS Key Management Service (AWS KMS) kunci, Anda juga harus menyertakan izin dalam IAM kebijakan untuk melakukan `kms:Decrypt``kms:Encrypt`, dan `kms:GenerateDataKey` tindakan pada kunci tersebut. Izin ini diperlukan karena Amazon S3 harus mendekripsi dan membaca data dari bagian file terenkripsi sebelum menyelesaikan unggahan multibagian.

Contoh kebijakan IAM berikut memberikan izin ke`kms:Decrypt`,`kms:Encrypt`, dan `kms:GenerateDataKey` tindakan pada kunci yang digunakan untuk mengenkripsi bucket Amazon S3 Anda.

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:Decrypt",
      "kms:Encrypt",
      "kms:GenerateDataKey"
    ],
    "Resource": [
      "arn:aws:kms:us-east-1:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
    ]
  }
}
```

Untuk informasi lebih lanjut, lihat [Mengunggah sebuah file besar ke Amazon S3 dengan enkripsi menggunakan AWS KMS key](https://aws.amazon.com/premiumsupport/knowledge-center/s3-large-file-encryption-kms-key/) dalam *AWS Pusat Pengetahuan*.

Jika pengguna atau peran IAM Anda Akun AWS sama denganKMS key, maka Anda harus memiliki izin ini pada kebijakan utama. Jika pengguna atau peran IAM Anda milik akun yang berbeda dari akunKMS key, maka Anda harus memiliki izin pada kebijakan utama dan pengguna atau peran IAM Anda.