

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

# Izin peran eksekusi fungsi rotasi Lambda untuk AWS Secrets Manager
<a name="rotating-secrets-required-permissions-function"></a>

Karena[Rotasi dengan fungsi Lambda](rotate-secrets_lambda.md), ketika Secrets Manager menggunakan fungsi Lambda untuk memutar rahasia, Lambda mengasumsikan [peran eksekusi IAM](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) dan memberikan kredensil tersebut ke kode fungsi Lambda. Untuk petunjuk tentang cara mengatur rotasi otomatis, lihat: 
+ [Rotasi otomatis untuk rahasia database (konsol)](rotate-secrets_turn-on-for-db.md)
+ [Rotasi otomatis untuk rahasia non-database (konsol)](rotate-secrets_turn-on-for-other.md)
+ [Rotasi otomatis (AWS CLI)](rotate-secrets_turn-on-cli.md)

Contoh berikut menunjukkan kebijakan inline untuk peran eksekusi fungsi rotasi Lambda. Untuk membuat peran eksekusi dan melampirkan kebijakan izin, lihat [peran AWS Lambda eksekusi](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html).

**Topics**
+ [Kebijakan untuk peran eksekusi fungsi rotasi Lambda](#rotating-secrets-required-permissions-function-example)
+ [Pernyataan kebijakan untuk kunci yang dikelola pelanggan](#rotating-secrets-required-permissions-function-cust-key-example)
+ [Pernyataan kebijakan untuk strategi pengguna bergantian](#rotating-secrets-required-permissions-function-alternating-example)

## Kebijakan untuk peran eksekusi fungsi rotasi Lambda
<a name="rotating-secrets-required-permissions-function-example"></a>

Contoh kebijakan berikut memungkinkan fungsi rotasi untuk:
+ Jalankan operasi Secrets Manager untuk*SecretARN*.
+ Buat kata sandi baru.
+ Siapkan konfigurasi yang diperlukan jika database atau layanan Anda berjalan di VPC. Lihat [Mengonfigurasi fungsi Lambda untuk mengakses sumber daya](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html) di VPC.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue",
                "secretsmanager:UpdateSecretVersionStage"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword"
            ],
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DetachNetworkInterface"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

## Pernyataan kebijakan untuk kunci yang dikelola pelanggan
<a name="rotating-secrets-required-permissions-function-cust-key-example"></a>

Jika rahasia dienkripsi dengan kunci KMS selain Kunci yang dikelola AWS `aws/secretsmanager`, maka Anda perlu memberikan izin peran eksekusi Lambda untuk menggunakan kunci tersebut. Anda dapat menggunakan konteks [enkripsi secretArn](security-encryption.md#security-encryption-encryption-context) untuk membatasi penggunaan fungsi dekripsi, sehingga peran fungsi rotasi hanya memiliki akses untuk mendekripsi rahasia yang bertanggung jawab untuk berputar. Contoh berikut menunjukkan pernyataan untuk ditambahkan ke kebijakan peran eksekusi untuk mendekripsi rahasia menggunakan kunci KMS.

```
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:GenerateDataKey"
            ],
            "Resource": "KMSKeyARN",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:SecretARN": "SecretARN"
                }
            }
        }
```

Untuk menggunakan fungsi rotasi untuk beberapa rahasia yang dienkripsi dengan kunci yang dikelola pelanggan, tambahkan pernyataan seperti contoh berikut untuk memungkinkan peran eksekusi mendekripsi rahasia.

```
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:GenerateDataKey"
            ],
            "Resource": "KMSKeyARN",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:SecretARN": [
                        "arn1",
                        "arn2"
                    ]
                }
            }
        }
```

## Pernyataan kebijakan untuk strategi pengguna bergantian
<a name="rotating-secrets-required-permissions-function-alternating-example"></a>

Untuk informasi tentang *strategi rotasi pengguna bergantian*, lihat[Strategi rotasi fungsi Lambda](rotation-strategy.md).

Untuk rahasia yang berisi kredensi Amazon RDS, jika Anda menggunakan strategi pengguna bergantian dan rahasia superuser dikelola [oleh Amazon RDS](rotate-secrets_managed.md), maka Anda juga harus mengizinkan fungsi rotasi untuk memanggil read-only di APIs Amazon RDS sehingga bisa mendapatkan informasi koneksi untuk database. Kami sarankan Anda melampirkan kebijakan AWS terkelola [Amazon RDSRead OnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSReadOnlyAccess.html).

Contoh kebijakan berikut memungkinkan fungsi untuk:
+ Jalankan operasi Secrets Manager untuk*SecretARN*.
+ Ambil kredensialnya di rahasia superuser. Secrets Manager menggunakan kredensil dalam rahasia superuser untuk memperbarui kredensil dalam rahasia yang diputar.
+ Buat kata sandi baru.
+ Siapkan konfigurasi yang diperlukan jika database atau layanan Anda berjalan di VPC. Untuk informasi selengkapnya, lihat [Mengonfigurasi fungsi Lambda untuk mengakses sumber daya](https://docs.aws.amazon.com/lambda/latest/dg/vpc.html) di VPC.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:DescribeSecret",
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue",
                "secretsmanager:UpdateSecretVersionStage"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetRandomPassword"
            ],
            "Resource": "*"
        },
        {
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DetachNetworkInterface"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------