You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some text uses hardcoded ordered list numbers and as a result
have duplicate list numbers. Move to use RST ordered lists and
indent the contents of each list item correctly. Fix referenced
list item number in text that pointed to a wrong list item.
Format references to parameter names, user IDs, file names etc
as inline code.
Add prompts to example commands.
Change instances of "rgw" or "Radosgw" in text to "RGW".
Signed-off-by: Ville Ojamo <[email protected]>
Copy file name to clipboardExpand all lines: doc/radosgw/STS.rst
+65-56Lines changed: 65 additions & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
-
===========
2
-
STS in Ceph
3
-
===========
1
+
=============
2
+
STS in Ceph
3
+
=============
4
4
5
5
Secure Token Service is a web service in AWS that returns a set of temporary security credentials for authenticating federated users.
6
6
The link to official AWS documentation can be found here: https://docs.aws.amazon.com/STS/latest/APIReference/Welcome.html.
@@ -14,12 +14,12 @@ STS REST APIs
14
14
15
15
The following STS REST APIs have been implemented in Ceph Object Gateway:
16
16
17
-
1. AssumeRole: Returns a set of temporary credentials that can be used for
18
-
cross-account access. The temporary credentials will have permissions that are
19
-
allowed by both - permission policies attached with the Role and policy attached
20
-
with the AssumeRole API.
17
+
#. AssumeRole: Returns a set of temporary credentials that can be used for
18
+
cross-account access. The temporary credentials will have permissions that are
19
+
allowed by both - permission policies attached with the Role and policy attached
20
+
with the AssumeRole API.
21
21
22
-
Parameters:
22
+
Parameters:
23
23
**RoleArn** (String/ Required): ARN of the Role to Assume.
24
24
25
25
**RoleSessionName** (String/ Required): An Identifier for the assumed role
@@ -39,11 +39,11 @@ Parameters:
39
39
**TokenCode** (String/ Optional): The value provided by the MFA device, if the
40
40
trust policy of the role being assumed requires MFA.
41
41
42
-
2. AssumeRoleWithWebIdentity: Returns a set of temporary credentials for users that
43
-
have been authenticated by a web/mobile app by an OpenID Connect /OAuth2.0 Identity Provider.
44
-
Currently Keycloak has been tested and integrated with RGW.
42
+
#. AssumeRoleWithWebIdentity: Returns a set of temporary credentials for users that
43
+
have been authenticated by a web/mobile app by an OpenID Connect /OAuth2.0 Identity Provider.
44
+
Currently Keycloak has been tested and integrated with RGW.
45
45
46
-
Parameters:
46
+
Parameters:
47
47
**RoleArn** (String/ Required): ARN of the Role to Assume.
48
48
49
49
**RoleSessionName** (String/ Required): An Identifier for the assumed role
@@ -70,7 +70,7 @@ An example of a policy that uses the 'aud' claim in the condition is of the form
70
70
71
71
'''{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Federated":["arn:aws:iam:::oidc-provider/<URL of IDP>"]},"Action":["sts:AssumeRoleWithWebIdentity"],"Condition":{"StringEquals":{"<URL of IDP> :app_id":"<aud>"}}}]}'''
72
72
73
-
The app_id in the condition above must match the 'aud' claim of the incoming token.
73
+
The ``app_id`` in the condition above must match the 'aud' claim of the incoming token.
74
74
75
75
An example of a policy that uses the 'sub' claim in the condition is of the form::
76
76
@@ -81,8 +81,8 @@ Similarly, an example of a policy that uses 'azp' claim in the condition is of t
81
81
"{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"Federated\":[\"arn:aws:iam:::oidc-provider/<URL of IDP>\"]},\"Action\":[\"sts:AssumeRoleWithWebIdentity\"],\"Condition\":{\"StringEquals\":{\"<URL of IDP> :azp\":\"<azp>\"\}\}\}\]\}"
82
82
83
83
A shadow user is created corresponding to every federated user. The user id is derived from the 'sub' field of the incoming web token.
84
-
The user is created in a separate namespace - 'oidc' such that the user id doesn't clash with any other user ids in rgw. The format of the user id
85
-
is - <tenant>$<user-namespace>$<sub> where user-namespace is 'oidc' for users that authenticate with oidc providers.
84
+
The user is created in a separate namespace - 'oidc' such that the user id doesn't clash with any other user ids in RGW. The format of the user id
85
+
is - ``<tenant>$<user-namespace>$<sub>`` where user-namespace is 'oidc' for users that authenticate with oidc providers.
86
86
87
87
RGW now supports Session tags that can be passed in the web token to AssumeRoleWithWebIdentity call. More information related to Session Tags can be found here
88
88
:doc:`session-tags`.
@@ -104,18 +104,19 @@ Notes:
104
104
105
105
Examples
106
106
========
107
-
1. In order to get the example to work, make sure that the user TESTER has the ``roles`` capability assigned:
108
107
109
-
.. code-block:: console
108
+
#. In order to get the example to work, make sure that the user ``TESTER`` has the ``roles`` capability assigned:
0 commit comments