

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

# Opsi 2: Aplikasi hanya dapat mengambil peran yang diizinkan oleh kebijakan kepercayaan
<a name="option-2"></a>

Dalam skenario ini, dua sertifikat telah disediakan di AWS Certificate Manager (ACM) dari AWS Private Certificate Authority dan dibagikan dengan aplikasi yang memerlukan akses ke sumber daya. AWS **Aplikasi 1** hanya dapat mengasumsikan **Peran 1**, dan **Aplikasi 2** hanya dapat mengasumsikan **Peran 2**. Dalam kebijakan kepercayaan peran, Anda mengonfigurasi bidang subjek sertifikat sebagai kondisi. Kondisi ini memungkinkan aplikasi untuk mengambil hanya peran tertentu. Karena izin peran, hanya **Aplikasi 1 yang dapat mengakses **Bucket 1****, dan hanya **Aplikasi 2** yang dapat mengakses **Bucket 2**. Gambar berikut menunjukkan akses yang dimiliki setiap aplikasi.

![Aplikasi yang menggunakan sertifikat yang berbeda dan hanya dapat mengambil peran tertentu.](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/certificate-based-access-controls/images/option-2-overview.png)


Dalam opsi ini, Anda mengonfigurasi kebijakan kepercayaan untuk mengizinkan `AssumeRole` hanya jika atribut sertifikat tertentu terpenuhi. Contoh kebijakan kepercayaan peran menunjukkan cara mengonfigurasi `Condition` bagian agar memerlukan nama umum sertifikat tertentu (`CN`), yang berbeda untuk **Peran 1 dan Peran** **2**. Setiap aplikasi dapat mengambil peran tertentu karena IAM Roles Anywhere memiliki hubungan jangkar kepercayaan dengan AWS Private CA. Pendekatan ini membantu mencegah akses tidak sah ke peran dan data karena aplikasi tidak dapat mengambil peran apa pun yang ditautkan ke profil target. Misalnya, Anda dapat memisahkan data bisnis ke dalam bucket yang berbeda, mengonfigurasi peran untuk mengizinkan akses hanya ke salah satu bucket tersebut, dan kemudian menggunakan kontrol akses berbasis sertifikat dalam kebijakan kepercayaan untuk menentukan peran mana yang dapat diasumsikan oleh aplikasi.

Contoh kebijakan kepercayaan berikut untuk **Peran 1** memiliki kondisi yang mengizinkan asumsi peran hanya jika nama sertifikat adalah `application-1.com` dan jika jangkar kepercayaan Amazon Resource Name (ARN) cocok:

```
{
  "Version": "2012-10-17", 		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "rolesanywhere.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:SetSourceIdentity",
        "sts:TagSession"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/x509Subject/CN": "application-1.com"
        },
        "ArnEquals": {
          "aws:SourceArn": [
            "arn:aws:rolesanywhere:<region>:<account-ID>:trust-anchor/<TA_ID>"
          ]
        }
      }
    }
  ]
}
```

Contoh kebijakan kepercayaan berikut untuk **Peran 2** memiliki kondisi yang memungkinkan asumsi peran hanya jika nama sertifikat adalah `application-2.com` dan jika jangkar kepercayaan ARN cocok:

```
{
    "Version": "2012-10-17", 		 	 	 		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "rolesanywhere.amazonaws.com"
            },
            "Action": [
                "sts:AssumeRole",
                "sts:SetSourceIdentity",
                "sts:TagSession"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalTag/x509Subject/CN": "application-2.com"
                },
                "ArnEquals": {
                    "aws:SourceArn": [
                        "arn:aws:rolesanywhere:<region>:<account-ID>:trust-anchor/<TA_ID>"
                    ]
                }
            }
        }
    ]
}
```

Untuk informasi selengkapnya tentang kebijakan kepercayaan peran dan cara mengubah sampel ini, lihat [Kebijakan kepercayaan](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/trust-model.html#trust-policy) dalam IAM Roles Anywhere dokumentasi.

Contoh kebijakan peran dan profil untuk **Aplikasi 1** dan **Aplikasi 2** disertakan dalam bagian [Lampiran: Profil sampel dan kebijakan peran](appendix-sample-policies.md) dari panduan ini.  