

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

# Tutorial IAM: Menggunakan tanda sesi SAML untuk ABAC
<a name="tutorial_abac-saml"></a>

Kontrol akses berbasis atribut (ABAC) adalah strategi otorisasi yang mendefinisikan izin berdasarkan atribut. Dalam AWS, atribut ini disebut tag. Anda dapat melampirkan tag ke sumber daya IAM, termasuk entitas IAM (pengguna atau peran), dan ke AWS sumber daya. Ketika entitas digunakan untuk membuat permintaan AWS, mereka menjadi prinsipal dan prinsipal tersebut menyertakan tag.

Anda juga dapat meneruskan [tanda sesi](id_session-tags.md) saat Anda mengasumsikan peran atau menggabungkan pengguna. Anda dapat menentukan kebijakan yang menggunakan kunci tanda kondisi untuk memberikan izin kepada prinsipal Anda berdasarkan tanda mereka. Saat Anda menggunakan tanda untuk mengontrol akses ke sumber daya AWS , Anda memungkinkan tim dan sumber daya Anda tumbuh dengan lebih sedikit perubahan ke kebijakan AWS . Kebijakan ABAC lebih fleksibel daripada AWS kebijakan tradisional, yang mengharuskan Anda untuk mencantumkan setiap sumber daya individu. Untuk informasi selengkapnya tentang ABAC dan manfaatnya dibandingkan kebijakan tradisional, lihat [Tentukan izin berdasarkan atribut dengan otorisasi ABAC](introduction_attribute-based-access-control.md).

Jika perusahaan Anda menggunakan penyedia identitas (IdP) berbasis SAML untuk mengelola identitas pengguna perusahaan, Anda dapat menggunakan atribut SAML untuk kontrol akses yang lebih mendetail di AWS. Atribut dapat mencakup pengidentifikasi pusat biaya, alamat surel pengguna, klasifikasi departemen, dan penugasan proyek. Saat Anda meneruskan atribut tersebut sebagai tanda sesi, Anda dapat mengontrol akses ke AWS berdasarkan tanda sesi ini.

Untuk menyelesaikan [Tutorial ABAC](tutorial_attribute-based-access-control.md) dengan meneruskan atribut SAML ke penanggung jawab sesi Anda, selesaikan tugas di [Tutorial IAM: Tentukan izin untuk mengakses AWS sumber daya berdasarkan tag](tutorial_attribute-based-access-control.md), dengan perubahan yang disertakan di topik ini.

## Prasyarat
<a name="tutorial_abac-saml-prerequisites"></a>

Untuk melakukan langkah-langkah menggunakan tanda sesi SAML untuk ABAC, Anda harus sudah memiliki hal-hal berikut:
+ Akses ke IdP berbasis SAML tempat Anda dapat membuat uji pengguna dengan atribut khusus. 
+ Kemampuan untuk masuk sebagai pengguna dengan izin administratif.
+ Pengalaman membuat dan mengedit pengguna, peran, dan kebijakan IAM di. Konsol Manajemen AWS Namun, jika Anda memerlukan bantuan mengingat proses manajemen IAM, tutorial ABAC menyediakan tautan di mana Anda dapat melihat step-by-step instruksi.
+ Pengalaman menyiapkan IDP berbasis SAMP di IAM. Untuk melihat perincian lebih lanjut dan tautan ke dokumentasi IAM terperinci, lihat [Melewati tag sesi menggunakan AssumeRoleWith SALL](id_session-tags.md#id_session-tags_adding-assume-role-saml).

## Langkah 1: Buat pengguna uji
<a name="tutorial_abac-saml-step1"></a>

Lewati petunjuk di [Langkah 1: Buat pengguna uji](tutorial_attribute-based-access-control.md#tutorial_abac_step1). Karena identitas Anda ditentukan di penyedia, Anda tidak perlu menambahkan pengguna IAM untuk karyawan Anda. 

## Langkah 2: Buat kebijakan ABAC
<a name="tutorial_abac-saml-step2"></a>

Ikuti petunjuk di [Langkah 2: Buat kebijakan ABAC](tutorial_attribute-based-access-control.md#tutorial_abac_step2) untuk membuat kebijakan pengelolaan khusus di IAM. 

## Langkah 3: Buat dan konfigurasi peran SAML
<a name="tutorial_abac-saml-step3"></a>

Bila Anda menggunakan tutorial ABAC untuk SAMP, Anda harus melakukan langkah-langkah tambahan untuk membuat peran, mengkonfigurasi SAMP iDP, dan mengaktifkan akses. Konsol Manajemen AWS Untuk informasi selengkapnya, lihat [Langkah 3: Buat peran](tutorial_attribute-based-access-control.md#tutorial_abac_step3).

### Langkah 3A: Buat peran SAML.
<a name="tutorial_abac-saml-step3a"></a>

Buat peran tunggal yang memercayai penyedia identitas SAML Anda dan pengguna `test-session-tags` yang Anda buat pada langkah 1. Tutorial ABAC menggunakan peran yang berbeda dengan tanda peran yang berbeda. Karena Anda meneruskan tanda sesi dari IdP SAML Anda, Anda hanya perlu satu peran. Untuk mempelajari cara membuat peran berbasis SAML, lihat [Buat peran untuk federasi SAMP 2.0 (konsol)](id_roles_create_for-idp_saml.md). 

Beri nama peran `access-session-tags`. Lampirkan kebijakan izin `access-same-project-team` ke peran tersebut. Edit kebijakan kepercayaan peran untuk menggunakan kebijakan berikut. Untuk petunjuk terperinci tentang cara mengedit hubungan kepercayaan dari suatu peran, lihat [Memperbarui kebijakan kepercayaan peran](id_roles_update-role-trust-policy.md).

Kebijakan kepercayaan peran berikut memungkinkan penyedia identitas SAML Anda dan pengguna `test-session-tags` untuk mengambil peran tersebut. Saat mereka mengambil peran tersebut, mereka harus meneruskan tiga tanda sesi khusus. Diperlukan tindakan `sts:TagSession` untuk memungkinkan penerusan tanda sesi.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowSamlIdentityAssumeRole",
            "Effect": "Allow",
            "Action": [
                "sts:AssumeRoleWithSAML",
                "sts:TagSession"
            ],
            "Principal": {"Federated":"arn:aws:iam::123456789012:saml-provider/ExampleCorpProvider"},
            "Condition": {
                "StringLike": {
                    "aws:RequestTag/cost-center": "*",
                    "aws:RequestTag/access-project": "*",
                    "aws:RequestTag/access-team": [
                        "eng",
                        "qas"
                    ]
                },
                "StringEquals": {"SAML:aud": "https://signin.aws.amazon.com/saml"}
            }
        }
    ]
}
```

------

`AllowSamlIdentityAssumeRole`Pernyataan tersebut memungkinkan anggota tim Engineering and Quality Assurance untuk mengambil peran ini ketika mereka bergabung AWS dari Example Corporation IDP. Penyedia `ExampleCorpProvider` SALL didefinisikan dalam IAM. Administrator telah mengatur pernyataan SAML untuk meneruskan tiga tanda sesi yang diperlukan. Pernyataan ini dapat meneruskan tanda tambahan, tetapi ketiga tanda ini harus ada. Atribut identitas dapat memiliki nilai apa pun untuk tanda `cost-center` dan `access-project`. Tetapi, nilai atribut `access-team` harus cocok dengan `eng` atau `qas` untuk menunjukkan bahwa identitas ada pada tim Engineering atau Jaminan Kualitas. 

### Langkah 3B: Mengonfigurasi IdP SAML
<a name="tutorial_abac-saml-step3b"></a>

Konfigurasikan IdP SAML Anda untuk meneruskan atribut `cost-center`, `access-project`, dan `access-team` sebagai tanda sesi. Untuk informasi selengkapnya, lihat [Melewati tag sesi menggunakan AssumeRoleWith SALL](id_session-tags.md#id_session-tags_adding-assume-role-saml).

Untuk meneruskan atribut ini sebagai tanda sesi, sertakan elemen berikut dalam pernyataan SAML Anda.

```
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:cost-center">
  <AttributeValue>987654</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:access-project">
  <AttributeValue>peg</AttributeValue>
</Attribute>
<Attribute Name="https://aws.amazon.com/SAML/Attributes/PrincipalTag:access-team">
  <AttributeValue>eng</AttributeValue>
</Attribute>
```

### Langkah 3C: Aktifkan akses konsol
<a name="tutorial_abac-saml-step3b"></a>

Aktifkan akses konsol untuk pengguna SAML gabungan Anda. Untuk informasi selengkapnya, lihat [Mengaktifkan prinsip federasi SAMP 2.0 untuk mengakses Konsol Manajemen AWS](id_roles_providers_enable-console-saml.md).

## Langkah 4: Uji pembuatan rahasia
<a name="tutorial_abac-saml-step4"></a>

Federasi ke dalam Konsol Manajemen AWS menggunakan `access-session-tags` peran. Untuk informasi selengkapnya, lihat [Mengaktifkan prinsip federasi SAMP 2.0 untuk mengakses Konsol Manajemen AWS](id_roles_providers_enable-console-saml.md). Kemudian ikuti petunjuk di [Langkah 4: Uji pembuatan rahasia](tutorial_attribute-based-access-control.md#tutorial_abac_step4) untuk membuat rahasia. Gunakan identitas SAML yang berbeda dengan atribut untuk mencocokkan tanda yang ditunjukkan dalam tutorial ABAC. Untuk informasi selengkapnya, lihat [Langkah 4: Uji pembuatan rahasia](tutorial_attribute-based-access-control.md#tutorial_abac_step4).

## Langkah 5: Uji menampilkan rahasia
<a name="tutorial_abac-saml-step5"></a>

Ikuti petunjuk di [Langkah 5: Uji menampilkan rahasia](tutorial_attribute-based-access-control.md#tutorial_abac_step5) untuk melihat rahasia yang Anda buat di langkah sebelumnya. Gunakan identitas SAML yang berbeda dengan atribut untuk mencocokkan tanda yang ditunjukkan dalam tutorial ABAC.

## Langkah 6: Uji skalabilitas
<a name="tutorial_abac-saml-step6"></a>

Ikuti petunjuk di [Langkah 6: Uji skalabilitas](tutorial_attribute-based-access-control.md#tutorial_abac_step6) untuk menguji skalabilitas. Lakukan ini dengan menambahkan identitas baru di IdP berbasis SAML Anda dengan atribut berikut ini:
+ `cost-center = 101010`
+ `access-project = cen`
+ `access-team = eng`

## Langkah 7: Uji memperbarui dan menghapus rahasia
<a name="tutorial_abac-saml-step7"></a>

Ikuti petunjuk di [Langkah 7: Uji memperbarui dan menghapus rahasia](tutorial_attribute-based-access-control.md#tutorial_abac_step7) untuk memperbarui dan menghapus rahasia. Gunakan identitas SAML yang berbeda dengan atribut untuk mencocokkan tanda yang ditunjukkan dalam tutorial ABAC.

**penting**  
Hapus semua rahasia yang Anda buat untuk menghindari biaya tagihan. Untuk detail tentang harga di Secrets Manager, lihat [AWS Secrets Manager Harga](https://aws.amazon.com/secrets-manager/pricing/).

## Ringkasan
<a name="tutorial-abac-saml-summary"></a>

Anda telah berhasil menyelesaikan semua langkah yang diperlukan untuk menggunakan tanda sesi SAML dan tanda sumber daya untuk manajemen izin.

**catatan**  
Anda menambahkan kebijakan yang memungkinkan tindakan hanya berdasarkan kondisi tertentu. Jika Anda menerapkan kebijakan yang berbeda kepada pengguna atau peran Anda yang memiliki izin lebih luas, maka tindakan tersebut mungkin tidak akan dibatasi untuk memerlukan penandaan. Misalnya, jika Anda memberi pengguna izin administratif penuh menggunakan kebijakan `AdministratorAccess` AWS terkelola, kebijakan ini tidak membatasi akses tersebut. Untuk informasi selengkapnya tentang bagaimana izin ditentukan saat beberapa kebijakan dilibatkan, lihat [Bagaimana logika kode AWS penegakan mengevaluasi permintaan untuk mengizinkan atau menolak akses](reference_policies_evaluation-logic_policy-eval-denyallow.md).