cedar-policy 4.10.0

Cedar is a language for defining permissions as policies, which describe who should have access to what.
Documentation
type Address = {
    "street": String,
    "city": String,
    "zipcode": String
};

entity Address = {
    "e_street": String,
    "e_city": String,
    "e_zipcode": String
};

entity User = {
    "address": Address,
    "active": Bool
};

action updateContact appliesTo {
    principal: [User],
    resource: [User],
    context: {
        addy: Address
    }
};