

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

# Kebijakan berbasis sumber daya
<a name="auth-and-access_resource-policies"></a>

Dalam kebijakan berbasis sumber daya, Anda menentukan siapa yang dapat mengakses rahasia dan tindakan yang dapat mereka lakukan pada rahasia tersebut. Anda dapat menggunakan kebijakan berbasis sumber daya untuk:
+ Berikan akses ke satu rahasia ke beberapa pengguna dan peran. 
+ Berikan akses ke pengguna atau peran di AWS akun lain.

Saat Anda melampirkan kebijakan berbasis sumber daya ke rahasia di konsol, Secrets Manager menggunakan mesin penalaran otomatis [Zelkova](https://aws.amazon.com/blogs/security/protect-sensitive-data-in-the-cloud-with-automated-reasoning-zelkova/) dan API `ValidateResourcePolicy` untuk mencegah Anda memberikan berbagai kepala sekolah IAM akses ke rahasia Anda. Atau, Anda dapat memanggil `PutResourcePolicy` API dengan `BlockPublicPolicy` parameter dari CLI atau SDK. 

**penting**  
Validasi kebijakan sumber daya dan `BlockPublicPolicy` parameter membantu melindungi sumber daya Anda dengan mencegah akses publik diberikan melalui kebijakan sumber daya yang secara langsung melekat pada rahasia Anda. Selain menggunakan fitur-fitur ini, periksa dengan cermat kebijakan berikut untuk mengonfirmasi bahwa mereka tidak memberikan akses publik:  
Kebijakan berbasis identitas yang dilampirkan pada AWS prinsipal terkait (misalnya, peran IAM) 
Kebijakan berbasis sumber daya yang dilampirkan pada AWS sumber daya terkait (misalnya, AWS Key Management Service () kunci)AWS KMS
Untuk meninjau izin ke rahasia Anda, lihat[Tentukan siapa yang memiliki izin untuk rahasia Anda](determine-acccess_examine-iam-policies.md).

**Untuk melihat, mengubah, atau menghapus kebijakan sumber daya untuk rahasia (konsol)**

1. Buka konsol Secrets Manager di [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Dari daftar rahasia, pilih rahasia Anda.

1. Pada halaman detail rahasia, pada tab **Ikhtisar**, di bagian Izin **sumber daya, pilih **Edit izin****.

1. Di bidang kode, lakukan salah satu hal berikut, lalu pilih **Simpan**:
   + Untuk melampirkan atau mengubah kebijakan sumber daya, masukkan kebijakan. 
   + Untuk menghapus kebijakan, kosongkan bidang kode.

## AWS CLI
<a name="auth-and-access_resource_cli"></a>

**Example Mengambil kebijakan sumber daya**  
[https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-resource-policy.html](https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/get-resource-policy.html)Contoh berikut mengambil kebijakan berbasis sumber daya yang dilampirkan pada rahasia.  

```
aws secretsmanager get-resource-policy \
    --secret-id MyTestSecret
```

**Example Menghapus kebijakan sumber daya**  
[https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-resource-policy.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/delete-resource-policy.html)Contoh berikut menghapus kebijakan berbasis sumber daya yang dilampirkan pada rahasia.  

```
aws secretsmanager delete-resource-policy \
    --secret-id MyTestSecret
```

**Example Menambahkan kebijakan sumber daya**  
[https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-resource-policy.html](https://docs.aws.amazon.com//cli/latest/reference/secretsmanager/put-resource-policy.html)Contoh berikut menambahkan kebijakan izin ke rahasia, memeriksa terlebih dahulu bahwa kebijakan tersebut tidak menyediakan akses luas ke rahasia tersebut. Kebijakan dibaca dari file. Untuk informasi selengkapnya, lihat [Memuat AWS CLI parameter dari file](https://docs.aws.amazon.com//cli/latest/userguide/cli-usage-parameters-file.html) di Panduan AWS CLI Pengguna.  

```
aws secretsmanager put-resource-policy \
    --secret-id MyTestSecret \
    --resource-policy file://mypolicy.json \
    --block-public-policy
```
Isi dari `mypolicy.json`:    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:role/MyRole"
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "*"
        }
    ]
}
```

## AWS SDK
<a name="auth-and-access_resource_sdk"></a>

Untuk mengambil kebijakan yang dilampirkan pada rahasia, gunakan [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetResourcePolicy.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetResourcePolicy.html).

Untuk menghapus kebijakan yang dilampirkan pada rahasia, gunakan [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteResourcePolicy.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteResourcePolicy.html).

Untuk melampirkan kebijakan ke rahasia, gunakan [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_PutResourcePolicy.html). Jika sudah ada kebijakan yang dilampirkan, perintah menggantinya dengan kebijakan baru. Kebijakan harus diformat sebagai teks terstruktur JSON. Lihat [Struktur dokumen kebijakan JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies-introduction).

Untuk informasi selengkapnya, lihat [AWS SDKs](asm_access.md#asm-sdks).

## Contoh
<a name="auth-and-access_resource-policy-examples"></a>

**Topics**
+ [Contoh: Izin untuk mengambil nilai rahasia individu](#auth-and-access_examples_read)
+ [Contoh: Izin dan VPCs](#auth-and-access_examples_vpc)
+ [Contoh: Prinsipal layanan](#auth-and-access_service)

### Contoh: Izin untuk mengambil nilai rahasia individu
<a name="auth-and-access_examples_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) dan[Kebijakan berbasis identitas](auth-and-access_iam-policies.md).

Contoh ini berguna ketika Anda ingin memberikan akses ke satu rahasia ke beberapa pengguna atau peran. Untuk memberikan izin untuk mengambil sekelompok rahasia dalam panggilan API batch, lihat[Contoh: Izin untuk mengambil sekelompok nilai rahasia dalam batch](auth-and-access_iam-policies.md#auth-and-access_examples_batch).

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

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/EC2RoleToAccessSecrets"
            },
            "Action": "secretsmanager:GetSecretValue",
            "Resource": "*"
        }
    ]
}
```

### Contoh: Izin dan VPCs
<a name="auth-and-access_examples_vpc"></a>

Jika Anda perlu mengakses Secrets Manager dari dalam VPC, Anda dapat memastikan bahwa permintaan ke Secrets Manager berasal dari VPC dengan menyertakan kondisi dalam kebijakan izin Anda. Untuk informasi selengkapnya, lihat [Batasi permintaan dengan kondisi titik akhir VPC](best-practices.md#iam-contextkeys-vpcendpoint) dan [Menggunakan titik akhir AWS Secrets Manager VPC](vpc-endpoint-overview.md).

Pastikan bahwa permintaan untuk mengakses rahasia dari AWS layanan lain juga berasal dari VPC, jika tidak kebijakan ini akan menolak akses mereka.

**Example Memerlukan permintaan untuk datang melalui titik akhir VPC**  
Kebijakan berikut memungkinkan pengguna untuk melakukan operasi Secrets Manager hanya ketika permintaan datang melalui titik akhir VPC. *`vpce-1234a5678b9012c`*    
****  

```
{
"Id": "example-policy-1",
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "RestrictGetSecretValueoperation",
  "Effect": "Deny",
  "Principal": "*",
  "Action": "secretsmanager:GetSecretValue",
  "Resource": "*",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpce": "vpce-12345678"
    }
  }
}
]
}
```

**Example Memerlukan permintaan untuk datang dari VPC**  
Kebijakan berikut memungkinkan perintah untuk membuat dan mengelola rahasia hanya ketika mereka berasal*`vpc-12345678`*. Selain itu, kebijakan memungkinkan operasi yang menggunakan akses nilai terenkripsi rahasia hanya ketika permintaan berasal. `vpc-2b2b2b2b` Anda mungkin menggunakan kebijakan seperti ini jika Anda menjalankan aplikasi dalam satu VPC, tetapi Anda menggunakan VPC kedua yang terisolasi untuk fungsi manajemen.     
****  

```
{
"Id": "example-policy-2",
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Sid": "AllowAdministrativeActionsfromONLYvpc-12345678",
  "Effect": "Deny",
  "Principal": "*",
  "Action": [
    "secretsmanager:Create*",
    "secretsmanager:Put*",
    "secretsmanager:Update*",
    "secretsmanager:Delete*",
    "secretsmanager:Restore*",
    "secretsmanager:RotateSecret",
    "secretsmanager:CancelRotate*",
    "secretsmanager:TagResource",
    "secretsmanager:UntagResource"
  ],
  "Resource": "*",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpc": "vpc-12345678"
    }
  }
},
{
  "Sid": "AllowSecretValueAccessfromONLYvpc-2b2b2b2b",
  "Effect": "Deny",
  "Principal": "*",
  "Action": [
    "secretsmanager:GetSecretValue"
  ],
  "Resource": "*",
  "Condition": {
    "StringNotEquals": {
      "aws:sourceVpc": "vpc-2b2b2b2b"
    }
  }
}
]
}
```

### Contoh: Prinsipal layanan
<a name="auth-and-access_service"></a>

Jika kebijakan sumber daya yang dilampirkan ke rahasia Anda menyertakan [prinsip AWS layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#principal-services), kami sarankan Anda menggunakan kunci kondisi SourceAccount global [aws: SourceArn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) [dan aws:](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount). ARN dan nilai akun disertakan dalam konteks otorisasi hanya ketika permintaan datang ke Secrets Manager dari layanan lain. AWS Kombinasi kondisi ini menghindari [skenario wakil yang berpotensi membingungkan](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html). 

Jika ARN sumber daya menyertakan karakter yang tidak diizinkan dalam kebijakan sumber daya, Anda tidak dapat menggunakan ARN sumber daya tersebut dalam nilai kunci kondisi. `aws:SourceArn` Sebagai gantinya, gunakan tombol `aws:SourceAccount` kondisi. Untuk informasi selengkapnya, lihat [persyaratan IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-names).

Prinsipal layanan biasanya tidak digunakan sebagai prinsipal dalam kebijakan yang melekat pada rahasia, tetapi beberapa layanan memerlukannya. AWS Untuk informasi tentang kebijakan sumber daya yang diharuskan layanan untuk Anda lampirkan ke rahasia, lihat dokumentasi layanan.

**Example Izinkan layanan mengakses rahasia menggunakan kepala layanan**    
****  

```
{
"Version":"2012-10-17",		 	 	 
"Statement": [
{
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "s3.amazonaws.com"
    ]
  },
  "Action": "secretsmanager:GetSecretValue",
  "Resource": "*",
  "Condition": {
    "ArnLike": {
      "aws:sourceArn": "arn:aws:s3::123456789012:*"
    },
    "StringEquals": {
      "aws:sourceAccount": "123456789012"
    }
  }

}
]
}
```