)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"433bac75c88f4985f94a01148ae73c007c32f73e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Florent Flament \u003cflorent.flament-ext@cloudwatt.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-01-24 21:35:34 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Doc - Detailing  objects\u0027 attributees available for policy.json"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adding to documentation (\"Configuring Keystone\" part) details about"},{"line_number":10,"context_line":"target objects attributes, that are available to customize access"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUH%2F%2BbXg%3D","line":7,"updated":"2014-01-26 23:26:27.000000000","message":"s/attributees/attributes","commit_id":"39d740dacd8d27ac3f353e0bb4c3d0b5e09e7619"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"3b9b0ed45928f0c180ae3154b667185d74f8ec5e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Florent Flament \u003cflorent.flament-ext@cloudwatt.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-01-24 21:35:34 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Doc - Detailing  objects\u0027 attributees available for policy.json"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adding to documentation (\"Configuring Keystone\" part) details about"},{"line_number":10,"context_line":"target objects attributes, that are available to customize access"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUH%2F%2BaSg%3D","line":7,"in_reply_to":"AAAAUH%2F%2BbXg%3D","updated":"2014-01-27 08:19:14.000000000","message":"nice catch.","commit_id":"39d740dacd8d27ac3f353e0bb4c3d0b5e09e7619"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"c268206e35b90970e80d61decf53f112995c6336","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Adding to documentation (\"Configuring Keystone\" part) details about"},{"line_number":10,"context_line":"target objects attributes, that are available to customize access"},{"line_number":11,"context_line":"policies in the policy.json."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I3799942230062f4feaa9faf59097bf0ef8bc139b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUH%2F%2BbHw%3D","line":12,"updated":"2014-01-27 02:05:12.000000000","message":"add a DocImpact tag.","commit_id":"39d740dacd8d27ac3f353e0bb4c3d0b5e09e7619"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"3b9b0ed45928f0c180ae3154b667185d74f8ec5e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Adding to documentation (\"Configuring Keystone\" part) details about"},{"line_number":10,"context_line":"target objects attributes, that are available to customize access"},{"line_number":11,"context_line":"policies in the policy.json."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I3799942230062f4feaa9faf59097bf0ef8bc139b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUH%2F%2BaSw%3D","line":12,"in_reply_to":"AAAAUH%2F%2BbHw%3D","updated":"2014-01-27 08:19:14.000000000","message":"Agree, I guess it will allow updating other docs.","commit_id":"39d740dacd8d27ac3f353e0bb4c3d0b5e09e7619"}],"doc/source/configuration.rst":[{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"0226bdccfb4a131919dba11551d7cfd96ec202fa","unresolved":false,"context_lines":[{"line_number":894,"context_line":""},{"line_number":895,"context_line":"Detail of target objects attributes available:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* When involving a `role` (e.g. with the `identity:create_grant` action):"},{"line_number":898,"context_line":"    * target.role.id"},{"line_number":899,"context_line":"    * target.role.name"},{"line_number":900,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"AAAAUH%2F%2Bhx4%3D","line":897,"updated":"2014-01-24 18:08:31.000000000","message":"please remove the \"when involving a\".\nListing role, user etc is more effective and concise.\nThanks.","commit_id":"2ae2a650498a843ed7e9aaa5c378e82898384e02"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"433bac75c88f4985f94a01148ae73c007c32f73e","unresolved":false,"context_lines":[{"line_number":892,"context_line":"  would ensure that the user object that is being deleted is in the same"},{"line_number":893,"context_line":"  domain as the token provided."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"Detail of target objects attributes available:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* role:"},{"line_number":898,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAUH%2F%2BbXk%3D","line":895,"updated":"2014-01-26 23:26:27.000000000","message":"suggest rename to:\n\nList of object attributes:","commit_id":"39d740dacd8d27ac3f353e0bb4c3d0b5e09e7619"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"3b9b0ed45928f0c180ae3154b667185d74f8ec5e","unresolved":false,"context_lines":[{"line_number":892,"context_line":"  would ensure that the user object that is being deleted is in the same"},{"line_number":893,"context_line":"  domain as the token provided."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"Detail of target objects attributes available:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* role:"},{"line_number":898,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":2,"id":"AAAAUH%2F%2BaSc%3D","line":895,"in_reply_to":"AAAAUH%2F%2BbXk%3D","updated":"2014-01-27 08:19:14.000000000","message":"ok.","commit_id":"39d740dacd8d27ac3f353e0bb4c3d0b5e09e7619"},{"author":{"_account_id":8810,"name":"Francisco Demontiê dos Santos Junior","email":"demontie@lsd.ufcg.edu.br","username":"demontiejr"},"change_message_id":"8843b5af8c522600376554a4b0b541fd8c7202ee","unresolved":false,"context_lines":[{"line_number":892,"context_line":"  would ensure that the user object that is being deleted is in the same"},{"line_number":893,"context_line":"  domain as the token provided."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"List of object attributes:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* role:"},{"line_number":898,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAUH%2F%2BY3I%3D","line":895,"updated":"2014-01-27 13:20:35.000000000","message":"I think it would be good, if possible, to explain the semantics a little bit. For example, whats the difference between using \"target.user.id\" and \"user_id\"?\n\nDoes it make sense for you?","commit_id":"3677f7b846bd1dac6f40b4facc5df2346e909c9c"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"20875d071c4c34101332df9165f4a4a96daf8879","unresolved":false,"context_lines":[{"line_number":892,"context_line":"  would ensure that the user object that is being deleted is in the same"},{"line_number":893,"context_line":"  domain as the token provided."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"List of object attributes:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* role:"},{"line_number":898,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAUH%2F%2BXQQ%3D","line":895,"updated":"2014-01-27 17:51:30.000000000","message":"It just occurred to me that there is a pattern in the way these attributes are identified. I was wondering if it would make sense to describe that the attribute have the form:\ntarget.\u003centity\u003e.\u003cattribute\u003e\nand then introduce this list with the values, this would allow people to deduct new attributes and entities without the need of an exhaustive list.","commit_id":"3677f7b846bd1dac6f40b4facc5df2346e909c9c"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"0760ba12b1a1ef2ac5249f10bea248ea1fd1a658","unresolved":false,"context_lines":[{"line_number":892,"context_line":"  would ensure that the user object that is being deleted is in the same"},{"line_number":893,"context_line":"  domain as the token provided."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"List of object attributes:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* role:"},{"line_number":898,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAUH%2F%2BLxE%3D","line":895,"in_reply_to":"AAAAUH%2F%2BU3U%3D","updated":"2014-01-29 10:29:37.000000000","message":"ok","commit_id":"3677f7b846bd1dac6f40b4facc5df2346e909c9c"},{"author":{"_account_id":7052,"name":"Fabio Giannetti","email":"fgiannet@cisco.com","username":"fabgia"},"change_message_id":"0bcdc5a2287cd9946ca1bae044463f345e0f1556","unresolved":false,"context_lines":[{"line_number":892,"context_line":"  would ensure that the user object that is being deleted is in the same"},{"line_number":893,"context_line":"  domain as the token provided."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"List of object attributes:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* role:"},{"line_number":898,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAUH%2F%2BU3U%3D","line":895,"in_reply_to":"AAAAUH%2F%2BWRY%3D","updated":"2014-01-28 00:28:01.000000000","message":"Ok, so I think your explanation should go in the document. For instance state that target.\u003centity\u003e.id and target.\u003centity\u003e.name are always available and the other attributes are coming from a database and subsequent filter.","commit_id":"3677f7b846bd1dac6f40b4facc5df2346e909c9c"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"602dd471d9bd1926df08a6896ff08e8fe9e96719","unresolved":false,"context_lines":[{"line_number":892,"context_line":"  would ensure that the user object that is being deleted is in the same"},{"line_number":893,"context_line":"  domain as the token provided."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"List of object attributes:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* role:"},{"line_number":898,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAUH%2F%2BWRY%3D","line":895,"in_reply_to":"AAAAUH%2F%2BXEQ%3D","updated":"2014-01-27 20:13:45.000000000","message":"Well, I wouldn\u0027t say that there really is a pattern (at least that I know of). All objects do have an \u0027id\u0027 and a \u0027name\u0027, but then other attributes vary from object to object. These attributes are retrieved from the database (and go through filters - e.g. password field is removed from `user`), so I guess that they may slightly move in the future.","commit_id":"3677f7b846bd1dac6f40b4facc5df2346e909c9c"},{"author":{"_account_id":8810,"name":"Francisco Demontiê dos Santos Junior","email":"demontie@lsd.ufcg.edu.br","username":"demontiejr"},"change_message_id":"ad0c1bfccbe3c9dba485a2117ecea4f6df84e084","unresolved":false,"context_lines":[{"line_number":892,"context_line":"  would ensure that the user object that is being deleted is in the same"},{"line_number":893,"context_line":"  domain as the token provided."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"List of object attributes:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* role:"},{"line_number":898,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAUH%2F%2BXEQ%3D","line":895,"in_reply_to":"AAAAUH%2F%2BXQQ%3D","updated":"2014-01-27 18:24:29.000000000","message":"^ +1","commit_id":"3677f7b846bd1dac6f40b4facc5df2346e909c9c"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"9c787177b6b5af4cd731f2335123530a093f3a10","unresolved":false,"context_lines":[{"line_number":892,"context_line":"  would ensure that the user object that is being deleted is in the same"},{"line_number":893,"context_line":"  domain as the token provided."},{"line_number":894,"context_line":""},{"line_number":895,"context_line":"List of object attributes:"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"* role:"},{"line_number":898,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":3,"id":"AAAAUH%2F%2BYuU%3D","line":895,"in_reply_to":"AAAAUH%2F%2BY3I%3D","updated":"2014-01-27 13:54:53.000000000","message":"Hi Francisco,\n\nAbsolutely, although this patch focuses on providing details about object fields available to build policy rules, I will try to explain the difference between matching \"user.id\" and \"target.user.id\" in a next patch.\n\nBasically, \"user.id\" allows to check the \"user.id\" field of the json message received for a given API call (typically used for a create_user action). On the other hand, \"target.user.id\" allows to check the \"user.id\" field of a user impacted by an API call (the data checked has been loaded from the database) (used for actions involving a user. e.g delete_user).","commit_id":"3677f7b846bd1dac6f40b4facc5df2346e909c9c"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"a9b3bb22df831a29648fbde5d36cee7cbb167f6d","unresolved":false,"context_lines":[{"line_number":903,"context_line":""},{"line_number":904,"context_line":"Every target object has an `id` and a `name` available as"},{"line_number":905,"context_line":"`target.\u003cobject\u003e.id` and `target.\u003cobject\u003e.name`. Other attributes are"},{"line_number":906,"context_line":"retrieved from the database and vary from one object to the"},{"line_number":907,"context_line":"other. Some database fields are filtered out, like users\u0027 passwords."},{"line_number":908,"context_line":""},{"line_number":909,"context_line":"List of target object attributes:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAUX%2F%2F5Ro%3D","line":906,"updated":"2014-02-10 05:13:06.000000000","message":"[NIT]: suggest change \"vary from one object to the other\" to \"vary between object types.\". \n\nMy thinking on the rephrasing is that users will typically have the same attributes, but the attribute between a user and a domain would be different and it makes it easier to understand.","commit_id":"ca9d15437cb95b2c6e23364f3613c77f8abf89c3"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"a9b3bb22df831a29648fbde5d36cee7cbb167f6d","unresolved":false,"context_lines":[{"line_number":904,"context_line":"Every target object has an `id` and a `name` available as"},{"line_number":905,"context_line":"`target.\u003cobject\u003e.id` and `target.\u003cobject\u003e.name`. Other attributes are"},{"line_number":906,"context_line":"retrieved from the database and vary from one object to the"},{"line_number":907,"context_line":"other. Some database fields are filtered out, like users\u0027 passwords."},{"line_number":908,"context_line":""},{"line_number":909,"context_line":"List of target object attributes:"},{"line_number":910,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAUX%2F%2F5Q4%3D","line":907,"updated":"2014-02-10 05:13:06.000000000","message":"[NIT]: suggest replace \", like users\u0027 passwords.\" with \"(e.g. password on user objects).\" or something similar.","commit_id":"ca9d15437cb95b2c6e23364f3613c77f8abf89c3"},{"author":{"_account_id":2903,"name":"Morgan Fainberg","email":"morgan.fainberg@gmail.com","username":"mdrnstm"},"change_message_id":"a9b3bb22df831a29648fbde5d36cee7cbb167f6d","unresolved":false,"context_lines":[{"line_number":906,"context_line":"retrieved from the database and vary from one object to the"},{"line_number":907,"context_line":"other. Some database fields are filtered out, like users\u0027 passwords."},{"line_number":908,"context_line":""},{"line_number":909,"context_line":"List of target object attributes:"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"* role:"},{"line_number":912,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAUX%2F%2F5SU%3D","line":909,"updated":"2014-02-10 05:13:06.000000000","message":"Do we want to make this list \"authoritative\"?\n\nIs this list complete and fully inclusive (all objects and attributes that can be used in policy)?  If not we need to indicate as much.","commit_id":"ca9d15437cb95b2c6e23364f3613c77f8abf89c3"},{"author":{"_account_id":8996,"name":"Florent Flament","email":"contact@florentflament.com","username":"florent"},"change_message_id":"9a52bba235100600c0673b52391d9e28cb77e96e","unresolved":false,"context_lines":[{"line_number":906,"context_line":"retrieved from the database and vary from one object to the"},{"line_number":907,"context_line":"other. Some database fields are filtered out, like users\u0027 passwords."},{"line_number":908,"context_line":""},{"line_number":909,"context_line":"List of target object attributes:"},{"line_number":910,"context_line":""},{"line_number":911,"context_line":"* role:"},{"line_number":912,"context_line":"    * target.role.id"}],"source_content_type":"text/x-rst","patch_set":4,"id":"AAAAUX%2F%2F394%3D","line":909,"in_reply_to":"AAAAUX%2F%2F5SU%3D","updated":"2014-02-10 08:44:47.000000000","message":"This is an exhaustive list of Keystone context attributes available to the policy engine (I think I didn\u0027t miss any). This list may have to be synchronized from time to time.","commit_id":"ca9d15437cb95b2c6e23364f3613c77f8abf89c3"}]}
