原文(日本語に翻訳)
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種類のエフェクトがあり、forbidがpermitより優先されます。- AWS IAMポリシー(JSON形式)とは別の言語ですので混同しないよう注意してください。