

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

# Kebijakan contoh Izin Terverifikasi Amazon
<a name="policies-examples"></a>

Beberapa contoh kebijakan yang disertakan di sini adalah contoh kebijakan Cedar dasar dan beberapa khusus Izin Terverifikasi. Yang dasar terhubung ke Panduan Referensi bahasa kebijakan Cedar dan disertakan di sana. Untuk informasi selengkapnya tentang sintaks kebijakan Cedar, lihat [Konstruksi kebijakan dasar di Cedar dalam Panduan Referensi](https://docs.cedarpolicy.com/policies/syntax-policy.html) bahasa kebijakan Cedar.

**Contoh kebijakan**
+ [Memungkinkan akses ke entitas individu](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-acces-indivuals)
+ [Memungkinkan akses ke grup entitas](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-acces-groups)
+ [Memungkinkan akses untuk entitas apa pun](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-any)
+ [Memungkinkan akses untuk atribut entitas (ABAC)](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-abac)
+ [Menolak akses](https://docs.cedarpolicy.com/policies/policy-examples.html#deny-access)
+ [Menggunakan notasi braket untuk referensi atribut token](#policies-examples-brackets)
+ [Menggunakan notasi titik untuk referensi atribut](#policies-examples-dot)
+ [Mencerminkan atribut token Amazon Cognito ID](#policies-examples-cognito-id)
+ [Mencerminkan atribut token ID OIDC](#policies-examples-oidc-id)
+ [Mencerminkan atribut token Amazon Cognito akses](#policies-examples-cognito-access)
+ [Mencerminkan atribut token akses OIDC](#policies-examples-oidc-access)

## Menggunakan notasi braket untuk referensi atribut token
<a name="policies-examples-brackets"></a>

Contoh berikut ini menunjukkan bagaimana Anda dapat membuat kebijakan yang menggunakan notasi braket untuk referensi atribut token.

Untuk informasi selengkapnya tentang penggunaan atribut token dalam kebijakan di Izin Terverifikasi, lihat [Memetakan Amazon Cognito token ke skema dan [Memetakan token OIDC](oidc-map-token-to-schema.md) ke skema](cognito-map-token-to-schema.md).

```
permit (
    principal in MyCorp::UserGroup::"us-west-2_EXAMPLE|MyUserGroup",
    action,
    resource
) when {
    principal["cognito:username"] == "alice" &&
    principal["custom:employmentStoreCode"] == "petstore-dallas" &&
    principal has email && principal.email == "alice@example.com" &&
    context["ip-address"] like "192.0.2.*"
};
```

## Menggunakan notasi titik untuk referensi atribut
<a name="policies-examples-dot"></a>

Contoh berikut ini menunjukkan bagaimana Anda dapat membuat kebijakan yang menggunakan notasi titik untuk referensi atribut.

Untuk informasi selengkapnya tentang penggunaan atribut token dalam kebijakan di Izin Terverifikasi, lihat [Memetakan Amazon Cognito token ke skema dan [Memetakan token OIDC](oidc-map-token-to-schema.md) ke skema](cognito-map-token-to-schema.md).

```
permit(principal, action, resource)
when {
    principal.cognito.username == "alice" &&
    principal.custom.employmentStoreCode == "petstore-dallas" &&
    principal.tenant == "x11app-tenant-1" &&
    principal has email && principal.email == "alice@example.com"
};
```

## Mencerminkan atribut token Amazon Cognito ID
<a name="policies-examples-cognito-id"></a>

Contoh berikut ini menunjukkan bagaimana Anda dapat membuat atribut token ID referensi kebijakan dari Amazon Cognito.

Untuk informasi selengkapnya tentang penggunaan atribut token dalam kebijakan di Izin Terverifikasi, lihat [Memetakan Amazon Cognito token ke skema dan [Memetakan token OIDC](oidc-map-token-to-schema.md) ke skema](cognito-map-token-to-schema.md).

```
permit (
    principal in MyCorp::UserGroup::"us-west-2_EXAMPLE|MyUserGroup",
    action,
    resource
) when {
    principal["cognito:username"] == "alice" &&
    principal["custom:employmentStoreCode"] == "petstore-dallas" &&
    principal.tenant == "x11app-tenant-1" &&
    principal has email && principal.email == "alice@example.com"
};
```

## Mencerminkan atribut token ID OIDC
<a name="policies-examples-oidc-id"></a>

Contoh berikut ini menunjukkan bagaimana Anda dapat membuat atribut token ID referensi kebijakan dari penyedia OIDC.

Untuk informasi selengkapnya tentang penggunaan atribut token dalam kebijakan di Izin Terverifikasi, lihat [Memetakan Amazon Cognito token ke skema dan [Memetakan token OIDC](oidc-map-token-to-schema.md) ke skema](cognito-map-token-to-schema.md).

```
permit (
    principal in MyCorp::UserGroup::"MyOIDCProvider|MyUserGroup",
    action,
    resource
) when {
    principal.email_verified == true && principal.email == "alice@example.com" &&
    principal.phone_number_verified == true && principal.phone_number like "+1206*"
};
```

## Mencerminkan atribut token Amazon Cognito akses
<a name="policies-examples-cognito-access"></a>

Contoh berikut ini menunjukkan bagaimana Anda dapat membuat referensi kebijakan atribut token akses dari Amazon Cognito.

Untuk informasi selengkapnya tentang penggunaan atribut token dalam kebijakan di Izin Terverifikasi, lihat [Memetakan Amazon Cognito token ke skema dan [Memetakan token OIDC](oidc-map-token-to-schema.md) ke skema](cognito-map-token-to-schema.md).

```
permit(principal, action in [MyApplication::Action::"Read", MyApplication::Action::"GetStoreInventory"], resource)
when { 
    context.token.client_id == "52n97d5afhfiu1c4di1k5m8f60" &&
    context.token.scope.contains("MyAPI/mydata.write")
};
```

## Mencerminkan atribut token akses OIDC
<a name="policies-examples-oidc-access"></a>

Contoh berikut ini menunjukkan bagaimana Anda dapat membuat referensi kebijakan atribut token akses dari penyedia OIDC.

Untuk informasi selengkapnya tentang penggunaan atribut token dalam kebijakan di Izin Terverifikasi, lihat [Memetakan Amazon Cognito token ke skema dan [Memetakan token OIDC](oidc-map-token-to-schema.md) ke skema](cognito-map-token-to-schema.md).

```
permit(
    principal, 
    action in [MyApplication::Action::"Read", MyApplication::Action::"GetStoreInventory"],
    resource
)
when { 
    context.token.client_id == "52n97d5afhfiu1c4di1k5m8f60" &&
    context.token.scope.contains("MyAPI-read")
};
```