Dell DX6004S DX Object Storage Application Guide - Page 52

About Authorization Header Evaluation

Page 52 highlights

• Castor-Authorization: cluster.example.com/mybucket enables only users in the cluster.example.com/mybucket realm to perform operations on an object. All other users are prevented from performing any operation on the object. • Castor-Authorization: view=cluster.example.com, change=cluster.example.com/mybucket enables users in the cluster.example.com/ mybucket realm to change the object but any user in the cluster.example.com realm to view the object. • Castor-Authorization: view=cluster.example.com, [email protected] enables only the user named john.smith in the cluster.example.com realm to change the object but any user in the cluster.example.com realm can view the object. • Castor-Authorization: post=cluster.example.com/mybucket, delete=cluster.example.com/mybucket, get=cluster.example.com, head= enables users in the cluster.example.com/mybucket realm to post and delete objects. It allows anyone in the cluster.example.com realm to get objects. Anyone can head objects without authenticating. Castor-Authorization: head=, get=cluster.example.com, post=cluster.example.com/mybucket, delete=cluster.example.com/mybucket is equivalent to the preceding example. • Castor-Authorization: post=owner@, change=@owner enables the user who created the object to post, and any user in the same realm to change the object. Any user can get or head the object without authenticating. Non-recommended example: Castor-Authorization: view=cluster.example.com/ mybucket, view=cluster.example.com Only domain managers have rights to view the object. Users in the cluster.example.com (and all other realms) have no access to the object. For more information, see the next section. Additional examples can be found in Chapter 13, Managing Security for Application Developers and Chapter 14, Managing Security for Domain Managers. 12.5. About Authorization Header Evaluation If there is more than one authorization header stored with the object, DX Storage first forms a single, comma-separated list of values. DX Storage then finds a realm in which to authenticate the request using the requested method name and searches in the following order: 1. If there is a method operation (put, copy, append, get, head, or delete) in one of the authorization headers that exactly matches (ignoring case) the requested method, that realm name is chosen and the search terminates. 2. If the requested method is get or head, the search continues using the generic method view. All other methods (except post) are mapped to the generic method change. 3. If there is a generic operation (view or change) in one of the authorization headers that exactly matches (ignoring case) the requested generic method, that realm name is chosen and the search terminates. 4. If there is a default realm name in an authorization header, that realm is chosen. Copyright © 2010 Caringo, Inc. All rights reserved 47 Version 5.0 December 2010

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81

Copyright © 2010 Caringo, Inc.
All rights reserved
47
Version 5.0
December 2010
Castor-Authorization: cluster.example.com/mybucket
enables only users in the
cluster.example.com/mybucket
realm to perform operations on an object. All other users
are prevented from performing any operation on the object.
Castor-Authorization: view=cluster.example.com,
change=cluster.example.com/mybucket
enables users in the
cluster.example.com/
mybucket
realm to change the object but any user in the
cluster.example.com
realm to view
the object.
Castor-Authorization: view=cluster.example.com,
enables only the user named
john.smith
in the
cluster.example.com
realm to change the object but any user in the
cluster.example.com
realm can view the object.
Castor-Authorization: post=cluster.example.com/mybucket,
delete=cluster.example.com/mybucket, get=cluster.example.com, head=
enables users in the
cluster.example.com/mybucket
realm to
post
and
delete
objects. It
allows anyone in the
cluster.example.com
realm to get objects.
Anyone can
head
objects without authenticating.
Castor-Authorization: head=, get=cluster.example.com,
post=cluster.example.com/mybucket, delete=cluster.example.com/mybucket
is
equivalent to the preceding example.
Castor-Authorization: post=owner@, change=@owner
enables the user who created
the object to
post
, and any user in the same realm to
change
the object.
Any user can
get
or
head
the object without authenticating.
Non-recommended example
:
Castor-Authorization: view=cluster.example.com/
mybucket, view=cluster.example.com
Only domain managers have rights to view the object. Users in the
cluster.example.com
(and
all other realms) have no access to the object. For more information, see the next section.
Additional examples can be found in
Chapter 13,
Managing Security for Application Developers
and
Chapter 14,
Managing Security for Domain Managers
.
12.5. About Authorization Header Evaluation
If there is more than one authorization header stored with the object, DX Storage first forms a single,
comma-separated list of values. DX Storage then finds a realm in which to authenticate the request
using the requested method name and searches in the following order:
1. If there is a method operation (
put
,
copy
,
append
,
get
,
head
, or
delete
) in one of the
authorization headers that exactly matches (ignoring case) the requested method, that realm
name is chosen and the search terminates.
2. If the requested method is
get
or
head
, the search continues using the generic method
view
. All
other methods (except
post
) are mapped to the generic method
change
.
3. If there is a generic operation (
view
or
change
) in one of the authorization headers that exactly
matches (ignoring case) the requested generic method, that realm name is chosen and the
search terminates.
4. If there is a default realm name in an authorization header, that realm is chosen.