Skip to content

原文(日本語に翻訳)

Cedarポリシーファイル(.cedar.cedarpolicy)のシンタックスハイライトを追加しました。

原文(英語)

Added syntax highlighting for Cedar policy files (.cedar, .cedarpolicy)

概要

AWSが開発したアクセス制御言語「Cedar」のポリシーファイル(.cedarおよび.cedarpolicy拡張子)に対してシンタックスハイライトが適用されるようになりました。Cedarは、Amazon Verified PermissionsやAmazon Bedrock AgentCoreなどで採用されているオープンソースの認可ポリシー言語です。シンタックスハイライトにより、ポリシーの可読性が向上し、Claudeとのポリシー編集作業がより快適になります。

基本的な使い方

.cedarまたは.cedarpolicy拡張子のファイルを開くと、自動的にシンタックスハイライトが適用されます。

cedar
// example_policy.cedar
permit(
  principal == User::"alice",
  action == Action::"view",
  resource == Document::"budget.pdf"
);

Claudeに編集を依頼する場合:

policies/my-policy.cedar を読み込んで、
admin ロールに対して DeleteDocument アクションを
許可するポリシーを追加してください。

実践例

基本的なCedarポリシーの作成

cedar
// role-based-access.cedar

// 管理者はすべてのドキュメントへのフルアクセス
permit(
  principal in Role::"admin",
  action in [Action::"view", Action::"edit", Action::"delete"],
  resource in DocumentCollection::"all"
);

// 一般ユーザーは閲覧のみ
permit(
  principal in Role::"user",
  action == Action::"view",
  resource in DocumentCollection::"public"
);

// 全ユーザーの削除を禁止(より強い禁止ルール)
forbid(
  principal,
  action == Action::"delete",
  resource
) unless {
  principal in Role::"admin"
};

Amazon Verified Permissionsでの活用

cedar
// verified-permissions.cedarpolicy

// マルチテナントSaaSのアクセス制御
permit(
  principal == User::"user-123",
  action in [Action::"read", Action::"write"],
  resource in Tenant::"tenant-456"::Documents
) when {
  principal.department == resource.department
};

Amazon Bedrock AgentCoreでのポリシー

cedar
// bedrock-agentcore.cedar

// エージェントのアクションを制限
permit(
  principal == Agent::"my-agent",
  action == Action::"invoke",
  resource == Tool::"search-documents"
);

forbid(
  principal == Agent::"my-agent",
  action == Action::"delete",
  resource
);

Claudeを使ったポリシーのレビュー

policies/access-control.cedar を分析して:
1. セキュリティ上の問題点を特定
2. 最小権限の原則に違反している箇所を指摘
3. 改善案を提示してください

注意点

  • Cedarのシンタックスハイライトは.cedar.cedarpolicyの両拡張子に対応しています。
  • Cedarはピリオドで終わる文(;ではなく)の後にが必要)という独自の構文を持ちます。
  • permit(許可)とforbid(禁止)の2種類のエフェクトがあり、forbidpermitより優先されます。
  • AWS IAMポリシー(JSON形式)とは別の言語ですので混同しないよう注意してください。

関連情報