

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Verified Permissions
<a name="policies-examples"></a>

ここに含まれるポリシーの例の一部は、基本的な Cedar ポリシーの例であり、一部は Verified Permissions 固有です。基本的なものは Cedar ポリシー言語リファレンスガイドにリンクされており、そこに含まれています。Cedar ポリシー構文の詳細については、「Cedar ポリシー言語リファレンスガイド」の「[Cedar における基本的なポリシー構築](https://docs.cedarpolicy.com/policies/syntax-policy.html)」を参照してください。

**ポリシーの例**
+ [個々のエンティティへのアクセスを許可する](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-acces-indivuals)
+ [エンティティのグループへのアクセスを許可する](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-acces-groups)
+ [任意のエンティティへのアクセスを許可する](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-any)
+ [エンティティの属性へのアクセスを許可する (ABAC)](https://docs.cedarpolicy.com/policies/policy-examples.html#allow-abac)
+ [アクセスを拒否する](https://docs.cedarpolicy.com/policies/policy-examples.html#deny-access)
+ [角括弧表記を使用してトークン属性を参照します](#policies-examples-brackets)
+ [ドット表記を使用して属性を参照します](#policies-examples-dot)
+ [Amazon Cognito ID トークン属性を反映](#policies-examples-cognito-id)
+ [OIDC ID トークン属性を反映](#policies-examples-oidc-id)
+ [Amazon Cognito アクセストークン属性を反映](#policies-examples-cognito-access)
+ [OIDC アクセストークン属性を反映](#policies-examples-oidc-access)

## 角括弧表記を使用してトークン属性を参照します
<a name="policies-examples-brackets"></a>

次の例は、角括弧表記を使用してトークン属性を参照するポリシーを作成する方法を示しています。

Verified Permissions のポリシーでトークン属性を使用する方法の詳細については、[「スキーマへの Amazon Cognito トークンのマッピング](cognito-map-token-to-schema.md)」および[「スキーマへの OIDC トークンのマッピング](oidc-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.*"
};
```

## ドット表記を使用して属性を参照します
<a name="policies-examples-dot"></a>

次の例は、ドット表記を使用して属性を参照するポリシーを作成する方法を示しています。

Verified Permissions のポリシーでトークン属性を使用する方法の詳細については、[「スキーマへの Amazon Cognito トークンのマッピング](cognito-map-token-to-schema.md)」および[「スキーマへの OIDC トークンのマッピング](oidc-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"
};
```

## Amazon Cognito ID トークン属性を反映
<a name="policies-examples-cognito-id"></a>

次の例は、ID トークン属性を参照するポリシーを作成する方法を示しています Amazon Cognito。

Verified Permissions のポリシーでトークン属性を使用する方法の詳細については、[「スキーマへの Amazon Cognito トークンのマッピング](cognito-map-token-to-schema.md)」および[「スキーマへの OIDC トークンのマッピング](oidc-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"
};
```

## OIDC ID トークン属性を反映
<a name="policies-examples-oidc-id"></a>

次の例は、OIDC プロバイダーから ID トークン属性を参照するポリシーを作成する方法を示しています。

Verified Permissions のポリシーでトークン属性を使用する方法の詳細については、[「スキーマへの Amazon Cognito トークンのマッピング](cognito-map-token-to-schema.md)」および[「スキーマへの OIDC トークンのマッピング](oidc-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*"
};
```

## Amazon Cognito アクセストークン属性を反映
<a name="policies-examples-cognito-access"></a>

次の例は、アクセストークン属性を参照するポリシーを作成する方法を示しています Amazon Cognito。

Verified Permissions のポリシーでトークン属性を使用する方法の詳細については、[「スキーマへの Amazon Cognito トークンのマッピング](cognito-map-token-to-schema.md)」および[「スキーマへの OIDC トークンのマッピング](oidc-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")
};
```

## OIDC アクセストークン属性を反映
<a name="policies-examples-oidc-access"></a>

次の例は、OIDC プロバイダーからアクセストークン属性を参照するポリシーを作成する方法を示しています。

Verified Permissions のポリシーでトークン属性を使用する方法の詳細については、[「スキーマへの Amazon Cognito トークンのマッピング](cognito-map-token-to-schema.md)」および[「スキーマへの OIDC トークンのマッピング](oidc-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")
};
```