~openstack-gd/nova/lp785816-joinedload

« back to all changes in this revision

Viewing changes to doc/source/devref/auth.rst

  • Committer: Todd Willey
  • Date: 2010-11-07 19:51:40 UTC
  • mto: (386.2.41 trunkdoc)
  • mto: This revision was merged to the branch mainline in revision 398.
  • Revision ID: todd@ansolabs.com-20101107195140-djbg5mkmbz0jc03w
Merge lp:~termie/nova/trunkdoc (via patch, since bzr though it was already merged)

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
.. _auth:
19
19
 
20
 
Authentication and Authorization Programming Guide
21
 
==================================================
 
20
Authentication and Authorization
 
21
================================
22
22
 
23
 
The :mod:`quota` Module
 
23
The :mod:`nova.quota` Module
24
24
-----------------------
25
25
 
26
26
.. automodule:: nova.quota
28
28
    :undoc-members:
29
29
    :show-inheritance:
30
30
 
 
31
 
 
32
The :mod:`nova.auth.signer` Module
 
33
~~~~~~~~~~~~~~~~~~~~~~~~
 
34
 
 
35
.. automodule:: nova.auth.signer
 
36
    :members:
 
37
    :undoc-members:
 
38
    :show-inheritance:
 
39
 
 
40
 
31
41
Auth Manager
32
42
------------
33
43
 
34
 
The :mod:`manager` Module
 
44
The :mod:`nova.auth.manager` Module
35
45
~~~~~~~~~~~~~~~~~~~~~~~~~
36
46
 
37
47
.. automodule:: nova.auth.manager
39
49
    :undoc-members:
40
50
    :show-inheritance:
41
51
 
42
 
Drivers
43
 
-------
44
52
 
45
 
The :mod:`ldapdriver` Module
 
53
The :mod:`nova.auth.ldapdriver` Driver
46
54
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47
55
 
48
56
.. automodule:: nova.auth.ldapdriver
50
58
    :undoc-members:
51
59
    :show-inheritance:
52
60
 
53
 
The :mod:`dbdriver` Module
 
61
The :mod:`nova.auth.dbdriver` Driver
54
62
~~~~~~~~~~~~~~~~~~~~~~~~~~
55
63
 
56
64
.. automodule:: nova.auth.dbdriver
58
66
    :undoc-members:
59
67
    :show-inheritance:
60
68
 
61
 
API Integration
62
 
---------------
63
 
 
64
 
The :mod:`signer` Module
65
 
~~~~~~~~~~~~~~~~~~~~~~~~
66
 
 
67
 
.. automodule:: nova.auth.signer
68
 
    :members:
69
 
    :undoc-members:
70
 
    :show-inheritance:
71
 
 
72
 
Related Tests
73
 
-------------
 
69
 
 
70
Tests
 
71
-----
 
72
 
74
73
 
75
74
The :mod:`auth_unittest` Module
76
75
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
80
79
    :undoc-members:
81
80
    :show-inheritance:
82
81
 
 
82
 
83
83
The :mod:`access_unittest` Module
84
84
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
85
85
 
88
88
    :undoc-members:
89
89
    :show-inheritance:
90
90
 
 
91
 
91
92
The :mod:`quota_unittest` Module
92
93
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
93
94
 
96
97
    :undoc-members:
97
98
    :show-inheritance:
98
99
 
99
 
legacy docs
 
100
 
 
101
Legacy Docs
100
102
-----------
101
103
 
102
104
Nova provides RBAC (Role-based access control) of the AWS-type APIs. We define the following roles:
104
106
Roles-Based Access Control of AWS-style APIs using SAML Assertions
105
107
“Achieving FIPS 199 Moderate certification of a hybrid cloud environment using CloudAudit and declarative C.I.A. classifications”
106
108
 
 
109
 
107
110
Introduction
108
111
------------
109
112
 
110
113
We will investigate one method for integrating an AWS-style API with US eAuthentication-compatible federated authentication systems, to achieve access controls and limits based on traditional operational roles.
111
114
Additionally, we will look at how combining this approach, with an implementation of the CloudAudit APIs, will allow us to achieve a certification under FIPS 199 Moderate classification for a hybrid cloud environment.
112
115
 
 
116
 
113
117
Relationship of US eAuth to RBAC
114
118
--------------------------------
115
119
 
125
129
 
126
130
.. _auth_roles:
127
131
 
 
132
 
128
133
Roles
129
134
-----
130
135
 
172
177
 
173
178
*       All permissions
174
179
 
 
180
 
175
181
Enhancements
176
182
------------
177
183
 
182
188
Wrapping the SAML token into the API calls.
183
189
Then store the UID (fetched via backchannel) into the instance metadata, providing end-to-end auditability of ownership and responsibility, without PII.
184
190
 
 
191
 
185
192
CloudAudit APIs
186
193
---------------
187
194
 
192
199
CloudAudit queries may spawn long-running processes (similar to launching instances, etc.) They need to return a ReservationId in the same fashion, which can be returned in further queries for updates.
193
200
RBAC of CloudAudit API calls is critical, since detailed system information is a system vulnerability.
194
201
 
 
202
 
195
203
Type declarations
196
204
-----------------
197
205
*       Data declarations – Volumes and Objects
203
211
 
204
212
These additional parameters would also apply to creation of block storage volumes (along with the existing parameter of ‘size’), and creation of object storage ‘buckets’. (C.I.A. classifications on a bucket would be inherited by the keys within this bucket.)
205
213
 
 
214
 
206
215
Request Brokering
207
216
-----------------
208
217
 
209
 
 *      Cloud Interop
210
 
 *      IMF Registration / PubSub
211
 
 *      Digital C&A
 
218
*       Cloud Interop
 
219
*       IMF Registration / PubSub
 
220
*       Digital C&A
212
221
 
213
222
Establishing declarative semantics for individual API calls will allow the cloud environment to seamlessly proxy these API calls to external, third-party vendors – when the requested CIA levels match.
214
223
 
215
224
See related work within the Infrastructure 2.0 working group for more information on how the IMF Metadata specification could be utilized to manage registration of these vendors and their C&A credentials.
216
225
 
 
226
 
217
227
Dirty Cloud – Hybrid Data Centers
218
228
---------------------------------
219
229
 
226
236
 
227
237
Network discovery protocols (ARP, CDP) can be applied in this case, and existing protocols (SNMP location data, DNS LOC records) overloaded to provide CloudAudit information.
228
238
 
 
239
 
229
240
The Details
230
241
-----------
231
242
 
232
 
 *      Preliminary Roles Definitions
233
 
 *      Categorization of available API calls
234
 
 *      SAML assertion vocabulary
 
243
*       Preliminary Roles Definitions
 
244
*       Categorization of available API calls
 
245
*       SAML assertion vocabulary
 
246
 
235
247
 
236
248
System limits
237
249
-------------
249
261
 
250
262
Further Challenges
251
263
------------------
252
 
 *      Prioritization of users / jobs in shared computing environments
253
 
 *      Incident response planning
254
 
 *      Limit launch of instances to specific security groups based on AMI
255
 
 *      Store AMIs in LDAP for added property control
256
 
 
257
 
 
258
 
 
 
264
 
 
265
*       Prioritization of users / jobs in shared computing environments
 
266
*       Incident response planning
 
267
*       Limit launch of instances to specific security groups based on AMI
 
268
*       Store AMIs in LDAP for added property control