

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

# Kebijakan berbasis identitas
<a name="auth-and-access_iam-policies"></a>

Anda dapat melampirkan kebijakan izin ke [identitas IAM: pengguna, grup pengguna,](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) dan peran. Dalam kebijakan berbasis identitas, Anda menentukan rahasia mana yang dapat diakses identitas dan tindakan yang dapat dilakukan identitas pada rahasia. Untuk informasi selengkapnya, lihat [Menambahkan dan menghapus izin identitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

Anda dapat memberikan izin untuk peran yang mewakili aplikasi atau pengguna di layanan lain. Misalnya, aplikasi yang berjalan pada instans Amazon EC2 mungkin memerlukan akses ke database. Anda dapat membuat peran IAM yang dilampirkan ke profil instans EC2 dan kemudian menggunakan kebijakan izin untuk memberikan akses peran ke rahasia yang berisi kredensil untuk database. Untuk informasi selengkapnya, lihat [Menggunakan peran IAM untuk memberikan izin ke aplikasi yang berjalan di instans Amazon EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html). Layanan lain yang dapat Anda lampirkan peran untuk menyertakan [Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c-getting-started-using-spectrum.html), [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-permissions.html), dan [Amazon](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) ECS.

Anda juga dapat memberikan izin kepada pengguna yang diautentikasi oleh sistem identitas selain IAM. Misalnya, Anda dapat mengaitkan peran IAM ke pengguna aplikasi seluler yang masuk dengan Amazon Cognito. Peran tersebut memberikan kredensi sementara aplikasi dengan izin dalam kebijakan izin peran. Kemudian Anda dapat menggunakan kebijakan izin untuk memberikan akses peran ke rahasia. Untuk informasi selengkapnya, lihat [Penyedia identitas dan federasi](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html).

Anda dapat menggunakan kebijakan berbasis identitas untuk:
+ Berikan akses identitas ke beberapa rahasia.
+ Kontrol siapa yang dapat membuat rahasia baru, dan siapa yang dapat mengakses rahasia yang belum dibuat.
+ Berikan akses grup IAM ke rahasia.

**Topics**
+ [Contoh: Izin untuk mengambil nilai rahasia individu](#auth-and-access_examples_identity_read)
+ [Contoh: Izin untuk membaca dan menggambarkan rahasia individu](#auth-and-access_examples-read-and-describe)
+ [Contoh: Izin untuk mengambil sekelompok nilai rahasia dalam batch](#auth-and-access_examples_batch)
+ [Contoh: Wildcard](#auth-and-access_examples_wildcard)
+ [Contoh: Izin untuk membuat rahasia](#auth-and-access_examples_create)
+ [Contoh: Tolak AWS KMS kunci tertentu untuk mengenkripsi rahasia](#auth-and-access_examples_kmskey)

## Contoh: Izin untuk mengambil nilai rahasia individu
<a name="auth-and-access_examples_identity_read"></a>

Untuk memberikan izin untuk mengambil nilai rahasia, Anda dapat melampirkan kebijakan ke rahasia atau identitas. Untuk bantuan menentukan jenis kebijakan yang akan digunakan, lihat Kebijakan berbasis [identitas dan kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html). Untuk informasi tentang cara melampirkan kebijakan, lihat [Kebijakan berbasis sumber daya](auth-and-access_resource-policies.md) dan[Kebijakan berbasis identitas](#auth-and-access_iam-policies).

Contoh ini berguna ketika Anda ingin memberikan akses ke grup IAM. Untuk memberikan izin untuk mengambil sekelompok rahasia dalam panggilan API batch, lihat[Contoh: Izin untuk mengambil sekelompok nilai rahasia dalam batch](#auth-and-access_examples_batch).

**Example Baca rahasia yang dienkripsi menggunakan kunci yang dikelola pelanggan**  
Jika rahasia dienkripsi menggunakan kunci yang dikelola pelanggan, Anda dapat memberikan akses untuk membaca rahasia dengan melampirkan kebijakan berikut ke identitas. \$1    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Effect": "Allow",
  "Action": "secretsmanager:GetSecretValue",
  "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
},
{
  "Effect": "Allow",
  "Action": "kms:Decrypt",
  "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id"
}
]
}
```

## Contoh: Izin untuk membaca dan menggambarkan rahasia individu
<a name="auth-and-access_examples-read-and-describe"></a>

**Example Baca dan jelaskan satu rahasia**  
Anda dapat memberikan akses ke rahasia dengan melampirkan kebijakan berikut ke identitas.    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
  {
    "Effect": "Allow",
    "Action": [
      "secretsmanager:GetSecretValue",
      "secretsmanager:DescribeSecret"
      ],
      "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName-AbCdEf"
    }
]
}
```

## Contoh: Izin untuk mengambil sekelompok nilai rahasia dalam batch
<a name="auth-and-access_examples_batch"></a>

**Example Baca sekelompok rahasia dalam satu batch**  
Anda dapat memberikan akses untuk mengambil grup rahasia dalam panggilan API batch dengan melampirkan kebijakan berikut ke identitas. Kebijakan membatasi pemanggil sehingga mereka hanya dapat mengambil rahasia yang ditentukan oleh*SecretARN1*,, dan *SecretARN2**SecretARN3*, bahkan jika panggilan batch menyertakan rahasia lain. Jika penelepon juga meminta rahasia lain dalam panggilan API batch, Secrets Manager tidak akan mengembalikannya. Untuk informasi lebih lanjut, lihat [`BatchGetSecretValue`.](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_BatchGetSecretValue.html) .     
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Effect": "Allow",
  "Action": [
    "secretsmanager:BatchGetSecretValue",
    "secretsmanager:ListSecrets"
  ],
  "Resource": "*"
},
{
  "Effect": "Allow",
  "Action": [
    "secretsmanager:GetSecretValue"
  ],
  "Resource": [
    "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName1-AbCdEf",
    "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName2-AbCdEf",
    "arn:aws:secretsmanager:us-east-1:123456789012:secret:secretName3-AbCdEf"
    ]
}
]
}
```

## Contoh: Wildcard
<a name="auth-and-access_examples_wildcard"></a>

Anda dapat menggunakan wildcard untuk menyertakan sekumpulan nilai dalam elemen kebijakan. 

**Example Akses semua rahasia di jalur**  
Kebijakan berikut memberikan akses untuk mengambil semua rahasia dengan nama yang diawali dengan "”*TestEnv/*.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": {
        "Effect": "Allow",
        "Action": "secretsmanager:GetSecretValue",
        "Resource": "arn:aws:secretsmanager:us-east-1:123456789012:secret:TestEnv/*"
    }
}
```

**Example Akses metadata pada semua rahasia**  
Pemberian `DescribeSecret` dan izin kebijakan berikut dimulai dengan`List`: `ListSecrets` dan. `ListSecretVersionIds`    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": {
"Effect": "Allow",
"Action": [
  "secretsmanager:DescribeSecret",
  "secretsmanager:List*"
],
"Resource": "*"
}
}
```

**Example Cocokkan nama rahasia**  
Kebijakan berikut memberikan semua izin Secrets Manager untuk rahasia berdasarkan nama. Untuk menggunakan kebijakan ini, lihat[Kebijakan berbasis identitas](#auth-and-access_iam-policies).  
Untuk mencocokkan nama rahasia, Anda membuat ARN untuk rahasia dengan menyusun Region, ID Akun, nama rahasia, dan wildcard (`?`) untuk mencocokkan karakter acak individual. Secrets Manager menambahkan enam karakter acak ke nama rahasia sebagai bagian dari ARN mereka, sehingga Anda dapat menggunakan wildcard ini untuk mencocokkan karakter tersebut. Jika Anda menggunakan sintaks`"another_secret_name-*"`, Secrets Manager tidak hanya cocok dengan rahasia yang dimaksudkan dengan 6 karakter acak, tetapi juga cocok`"another_secret_name-<anything-here>a1b2c3"`.   
Karena Anda dapat memprediksi semua bagian ARN rahasia kecuali 6 karakter acak, menggunakan `'??????'` sintaks karakter wildcard memungkinkan Anda memberikan izin dengan aman ke rahasia yang belum ada. Namun, ketahuilah, jika Anda menghapus rahasia dan membuatnya kembali dengan nama yang sama, pengguna secara otomatis menerima izin untuk rahasia baru, meskipun 6 karakter berubah.     
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "secretsmanager:*",
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:a_specific_secret_name-a1b2c3",
                "arn:aws:secretsmanager:us-east-1:123456789012:secret:another_secret_name-??????"
            ]
        }
    ]
}
```

## Contoh: Izin untuk membuat rahasia
<a name="auth-and-access_examples_create"></a>

Untuk memberikan izin pengguna untuk membuat rahasia, kami sarankan Anda melampirkan kebijakan izin ke grup IAM milik pengguna. Lihat [grup pengguna IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html).

**Example Buat rahasia**  
Kebijakan berikut memberikan izin untuk membuat rahasia dan melihat daftar rahasia. Untuk menggunakan kebijakan ini, lihat[Kebijakan berbasis identitas](#auth-and-access_iam-policies).    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Effect": "Allow",
  "Action": [
    "secretsmanager:CreateSecret",
    "secretsmanager:ListSecrets"
  ],
  "Resource": "*"
}
]
}
```

## Contoh: Tolak AWS KMS kunci tertentu untuk mengenkripsi rahasia
<a name="auth-and-access_examples_kmskey"></a>

**penting**  
Untuk menolak kunci yang dikelola pelanggan, kami sarankan Anda membatasi akses menggunakan kebijakan kunci atau hibah kunci. Untuk informasi selengkapnya, lihat [Otentikasi dan kontrol akses AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html) di *Panduan AWS Key Management Service Pengembang*.

**Example Tolak kunci yang AWS dikelola `aws/secretsmanager`**  
Kebijakan berikut menyangkal penggunaan Kunci yang dikelola AWS `aws/secretsmanager` untuk membuat atau memperbarui rahasia. Kebijakan ini memerlukan rahasia untuk dienkripsi menggunakan kunci yang dikelola pelanggan. Kebijakan ini mencakup dua pernyataan:  

1. Pernyataan pertama,`Sid: "RequireCustomerManagedKeysOnSecrets"`, menyangkal permintaan untuk membuat atau memperbarui rahasia menggunakan file. Kunci yang dikelola AWS `aws/secretsmanager`

1. Pernyataan kedua,`Sid: "RequireKmsKeyIdParameterOnCreate"`, menolak permintaan untuk membuat rahasia yang tidak menyertakan kunci KMS, karena Secrets Manager akan default menggunakan file. Kunci yang dikelola AWS `aws/secretsmanager`  
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
  {
      "Sid": "RequireCustomerManagedKeysOnSecrets",
      "Effect": "Deny",
      "Action": [
          "secretsmanager:CreateSecret",
          "secretsmanager:UpdateSecret"
      ],
      "Resource": "*",
      "Condition": {
          "StringLikeIfExists": {
              "secretsmanager:KmsKeyArn": "<key_ARN_of_the_AWS_managed_key>"
          }
      }
  },
  {
      "Sid": "RequireKmsKeyIdParameterOnCreate",
      "Effect": "Deny",
      "Action": "secretsmanager:CreateSecret",
      "Resource": "*",
      "Condition": {
          "Null": {
              "secretsmanager:KmsKeyArn": "true"
          }
      }
  }
]
}
```