

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

# Amazon Verified Permissions から Cedar 4 へのアップグレードに関するよくある質問
<a name="cedar4-faq"></a>

 Amazon Verified Permissions は、使用する Cedar のバージョンをバージョン 2 からバージョン 4 にアップグレードしています。Cedar は、ポリシーストアでポリシー、ポリシーテンプレート、スキーマを記述するために使用するオープンソース言語です。Verified Permissions での Cedar 4 のサポートにより、`is`演算子タグやエンティティタグなどの新機能を使用して、より表現力の高いポリシーを記述できます。

 Amazon Verified Permissions は、ポリシーストアを Cedar 4 に自動的にアップグレードします。ただし、Cedar 2 用に記述された一部のポリシー、スキーマ、認可リクエストは、Cedar 4 と互換性がありません。ポリシーストアの場合は、自動的にアップグレードされません。Cedar 4 にアップグレードする前に、ポリシー、ポリシーテンプレート、スキーマ、またはアプリケーションコードを変更する必要がある場合があります。

**Topics**
+ [一部のポリシー、ポリシーテンプレート、スキーマが Cedar 4 と互換性がないのはなぜですか?](#why-are-some-policies-not-compatible-with-cedar-4)
+ [ポリシーストアで Cedar 2 と Cedar 4 のどちらを使用しているかを確認するにはどうすればよいですか?](#how-do-i-tell-cedar-2-or-cedar-4)
+ [Cedar 4 にアップグレードするにはどうすればよいですか?](#how-do-i-upgrade-to-cedar-4)
+ [ポリシーストアを Cedar 4 から Cedar 2 にダウングレードできますか?](#can-i-downgrade-from-cedar-4-to-cedar-2)
+ [ポリシーストアが Cedar 2 に設定されているというエラーメッセージが表示されるのはなぜですか?](#why-am-i-receiving-an-error-message-policy-store-configured-for-cedar-4)
+ [スキーマを Cedar 4 と互換性を持たせるにはどうすればよいですか?](#how-do-i-make-my-schema-compatible)
+ [ポリシーとテンプレートを Cedar 4 と互換性を持たせるにはどうすればよいですか?](#how-do-i-make-my-policies-compatible)

## 一部のポリシー、ポリシーテンプレート、スキーマが Cedar 4 と互換性がないのはなぜですか?
<a name="why-are-some-policies-not-compatible-with-cedar-4"></a>

 Cedar チームは、バグを修正し、言語を簡素化するために、Cedar 2 以降、下位互換性のないいくつかの変更を行いました。これらの変更には次の場合が含まれます。
+ ポリシー、ポリシーテンプレート、スキーマの構文の変更
+ より多くのエラーを検出する、より正確なポリシー検証ツール
+ などの組み込み関数の動作に対する変更 `isInRange`

 下位互換性のない変更の完全なリストについては、[Cedar 変更ログ](https://github.com/cedar-policy/cedar/blob/main/cedar-policy/CHANGELOG.md)`(*)`で とマークされた項目を探します。

## ポリシーストアで Cedar 2 と Cedar 4 のどちらを使用しているかを確認するにはどうすればよいですか?
<a name="how-do-i-tell-cedar-2-or-cedar-4"></a>

 ポリシーストアが使用する Cedar のバージョンは、Amazon Verified Permissions コンソールまたは GetPolicyStoreオペレーションを使用して確認できます。

**注記**  
 同じ AWS アカウント およびリージョンのすべてのポリシーストアは、同じバージョンの Cedar を使用します。

------
#### [ Console ]

**Cedar バージョンのポリシーストアを確認するには (コンソール)**

1.  にサインイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/verifiedpermissions/](https://console.aws.amazon.com/verifiedpermissions) で Amazon Verified Permissions コンソールを開きます。

1.  ナビゲーションペインで、**ポリシーストア**を選択し、確認するポリシーストアを選択します。

1.  ナビゲーションペインで **[設定]** を選択します。

1.  **詳細**ボックスで、**Cedar バージョン**フィールドを見つけます。

 フィールドは、ポリシーストアが Cedar 2 を使用している場合と、Cedar 4 `CEDAR_4`を使用している場合に読み取り`CEDAR_2`ます。

------
#### [ CLI ]

**Cedar バージョンのポリシーストアを確認するには (AWS CLI)**

1.  まだインストールしていない場合は、 AWS Command Line Interface (AWS CLI) をインストールして設定します。詳細については、「[AWS CLIの最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1.  `get-policy-store` コマンドを使用します。次の例では、*policy-store-id* をポリシーストアの識別子に置き換えます。

   ```
   aws verifiedpermissions get-policy-store \
     --policy-store-id policy-store-id
   ```

 出力の `cedarVersion`フィールドには、ポリシーストアが使用している Cedar のバージョンが表示されます。例えば、次のようになります。

```
{
    "policyStoreId": "ABCDEFG12345678abcdefg",
    "arn": "arn:aws:verifiedpermissions::111122223333:policy-store/ABCDEFG12345678abcdefg",
    "validationSettings": {
        "mode": "STRICT"
    },
    "createdDate": "2025-06-03T13:09:47.752255+00:00",
    "lastUpdatedDate": "2025-06-03T13:09:47.752255+00:00",
    "deletionProtection": "ENABLED",
    "cedarVersion": "CEDAR_2"
}
```

 フィールドは、ポリシーストアが Cedar 2 を使用している場合と、Cedar 4 `CEDAR_4`を使用している場合に読み取り`CEDAR_2`ます。

------

## Cedar 4 にアップグレードするにはどうすればよいですか?
<a name="how-do-i-upgrade-to-cedar-4"></a>

 Amazon Verified Permissions は、ほとんどの顧客を Cedar 4 にアップグレード済みです。ポリシーストアを作成したことがない場合、作成した新しいポリシーストアは Cedar 4 を使用します。既存のお客様は、すでに Cedar 4 にアップグレードされている可能性があります。ポリシーストアが使用している Cedar のバージョンを確認するには[ポリシーストアで Cedar 2 と Cedar 4 のどちらを使用しているかを確認するにはどうすればよいですか?](#how-do-i-tell-cedar-2-or-cedar-4)、「」を参照してください。

 アップグレードされていない場合、Verified Permissions は、Cedar 4 と互換性のないポリシーストアの 1 つでポリシー、ポリシーテンプレート、スキーマ、または認可リクエストを検出しました。2025 年後半に、互換性のないリソースについて説明する E メール通知が送信されます。より早くアップグレードするには、 でケースを開きます サポート。

**重要**  
 同じ のすべてのポリシーストアは、同じバージョンの Cedar AWS アカウント を使用します。アカウント内の 1 つのポリシーストアが Cedar 4 と互換性がない場合、そのアカウントのどのポリシーストアでも Cedar 4 を使用することはできません。

## ポリシーストアを Cedar 4 から Cedar 2 にダウングレードできますか?
<a name="can-i-downgrade-from-cedar-4-to-cedar-2"></a>

 いいえ。ポリシーストアを Cedar 4 にアップグレードした後に問題が発生した場合は、 でケースを開きます サポート。

## ポリシーストアが Cedar 2 に設定されているというエラーメッセージが表示されるのはなぜですか?
<a name="why-am-i-receiving-an-error-message-policy-store-configured-for-cedar-4"></a>

 Amazon Verified Permissions の一部の機能は、Cedar 4 の新機能に依存しています。ポリシーストアで Cedar 4 が使用されていない場合、次の API フィールドは使用できません。
+  IsAuthorized、BatchIsAuthorized、IsAuthorizedWithTokenおよび BatchIsAuthorizedWithTokenオペレーションの場合: 
  + `datetime`、 `decimal` または `attributes``context`フィールド`duration`の値

 ポリシーストアがアップグレードされるまで、Cedar 2 の後に導入されたポリシー、ポリシーテンプレート、スキーマで構文またはデータ型を使用することはできません。

## スキーマを Cedar 4 と互換性を持たせるにはどうすればよいですか?
<a name="how-do-i-make-my-schema-compatible"></a>

 Verified Permissions コンソールは、スキーマの互換性の問題を自動的に修正できます。スキーマを自動的に修正できない場合、コンソールに手動で修正するエラーのリストが表示されます。

**重要**  
 Amazon Verified Permissions コンソールのコードエディタには、ポリシーストアで Cedar 2 を使用している場合でも、常に Cedar 4 からのエラーと警告が表示されます。**変更の保存**ボタンまたは Verified Permissions API を使用して、Cedar 4 と互換性のないスキーマを引き続き更新できます。

**コンソールを使用してスキーマを修正するには**

1.  にサインイン AWS マネジメントコンソール し、[検証済みのアクセス許可](https://console.aws.amazon.com/verifiedpermissions)で Amazon Verified Permissions コンソールを開きます。

1.  ナビゲーションペインで、**ポリシーストア**を選択し、確認するポリシーストアを選択します。

1.  ナビゲーションペインで**スキーマ**を選択します。

1.  スキーマを自動的に修正できる場合は、「「修正」をクリックして互換性のあるバージョンをプレビューする」というバナーが表示されます。**修正**を選択します。

1.  スキーマに加えられた変更を確認し、**更新されたスキーマのプレビュー**をクリックします。

1.  更新されたスキーマを確認し、**変更の保存**をクリックします。

 スキーマを自動的に修正できない場合は、 コンソールで修正するエラーのリストを確認できます。

1.  上記の説明に従って**、スキーマの編集**ページを開きます。

1.  **JSON モード**を選択します。

1.  コードエディタの左側にあるガーターの赤いエラーアイコンにカーソルを合わせます。エラーメッセージがツールヒントに表示されます。

 発生する可能性のある一般的なエラーとその解決方法は次のとおりです。

**が JSON からスキーマを解析できませんでした: *`field-name*`**  
 Cedar 2 では、Cedar スキーマの一部として意味がない場合でも、型定義などのスキーマの一部に任意のフィールドを含めることができます。Cedar 4 では、これは許可されなくなりました。このエラーを解決するには、JSON スキーマから *field-name* というフィールドを削除します。有効なスキーマフィールドのリストについては、[Cedar のドキュメント](https://docs.cedarpolicy.com/schema/json-schema.html)を参照してください。

**不明な拡張タイプ*「extension-name*」**  
 Cedar 2 では、 `type`が である属性を宣言するときに`Extension`、値が有効な拡張タイプ名であるかどうかにかかわらず、 `name`フィールドに任意の値を指定できます。これは Cedar 4 のエラーになりました。これを解決するには、*extension-name* を有効な拡張タイプ名に置き換えます。有効な拡張タイプ名のリストは、[Cedar ドキュメント](https://docs.cedarpolicy.com/policies/syntax-datatypes.html#datatype-extension)で確認できます。

 スキーマのエラーを解決する方法が不明な場合は、 にお問い合わせください。 サポート 

## ポリシーとテンプレートを Cedar 4 と互換性を持たせるにはどうすればよいですか?
<a name="how-do-i-make-my-policies-compatible"></a>

 Verified Permissions コンソールには、Cedar 4 と互換性のないポリシーまたはテンプレートのエラーが表示されます。

**コンソールでポリシーまたはテンプレートのエラーを表示するには**

1.  にサインイン AWS マネジメントコンソール し、[検証済みのアクセス許可](https://console.aws.amazon.com/verifiedpermissions)で Amazon Verified Permissions コンソールを開きます。

1.  ナビゲーションペインから、**ポリシーストア**を選択し、確認するポリシーストアを選択します。

1.  必要に応じて、ナビゲーションペインで**ポリシー**または**ポリシーテンプレート**を選択します。

1.  互換性のないポリシーまたはテンプレートを選択します。

1.  **[編集]** を選択します。

1.  コードエディタの左側にあるガーターの赤いエラーアイコンにカーソルを合わせます。エラーメッセージがツールヒントに表示されます。

 発生する可能性のある一般的なエラーとその解決方法は次のとおりです。

**空のセットリテラルは ポリシーで禁止されています**  
 Cedar 2 では、 構文を使用して、セットが空かどうか`mySet == []`を確認できます。Cedar 4 では、この構文を使用するポリシーはスキーマに対して検証されなくなりました。ポリシー`mySet == []`の を に置き換えます`mySet.isEmpty()`。