

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

# Resource-based kebijakan
<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:  
Identity-based kebijakan yang dilampirkan pada AWS prinsipal terkait (misalnya, peran IAM) 
Resource-based kebijakan yang dilampirkan ke AWS sumber daya terkait (misalnya, AWS Key Management Service (AWS KMS) kunci) 
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 melekat 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 SDK](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 VPC](#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 [Identity-basedkebijakan 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 [Resource-based kebijakan](#auth-and-access_resource-policies) dan[Identity-based kebijakan](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 VPC
<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}}"
    }
  }

}
]
}
```