ChenSammi commented on code in PR #9223:
URL: https://github.com/apache/ozone/pull/9223#discussion_r2513056450


##########
hadoop-hdds/docs/content/design/ozone-sts.md:
##########
@@ -100,29 +107,34 @@ A sample IAM policy that allows read access to all 
objects in the `example-bucke
 
 ```
 
-## 3.3 SessionToken Format
+## 3.4 SessionToken Format
 
 As mentioned above, one of the return values from the AssumeRole call will be 
the sessionToken. To support not
 storing temporary credentials server-side in Ozone, the sessionToken will 
comprise various components needed to validate
 subsequent S3 calls that use the token.  The sessionToken will have the 
following information encoded:
 
-- The originalAccessKeyId - this is the Kerberos identity of the user that 
created the sessionToken via the AssumeRole call.
+- originalAccessKeyId - this is the Kerberos identity of the user that created 
the sessionToken via the AssumeRole call.
 When the temporary credentials are used to make S3 API calls, this Kerberos 
identity (in conjunction with the role permissions and
-optional session policy) will be used to authorize the call.
-- The roleArn - the role used in the original AssumeRole call
-- The encrypted secretAccessKey - this will be used to validate the AWS 
signature when the temporary credentials are used 
+optional session policy) will be used to authorize the call.  This identity is 
included in the sessionToken because 
+S3 API calls (such as PutObject) require a Kerberos identity, but the 
temporary credentials don't have a
+Kerberos identity associated to them, therefore the Kerberos identity of the 
user that created the token will be used in
+these cases.
+- roleArn - the role used in the original AssumeRole call
+- encrypted secretAccessKey - this will be used to validate the AWS signature 
when the temporary credentials are used 
 to make S3 API calls
-- (Optional) sessionPolicy - when using the RangerOzoneAuthorizer, if Ranger 
successfully authorizes the AssumeRole call,
-it will return a String representing the resources (i.e. buckets, keys, etc.) 
and permissions (i.e. ACLType) that the token
-has been granted access to.  This sessionPolicy will be included in the 
sessionToken sent back to the client so it can be sent to Ranger to 
-authorize subsequent S3 API calls that use the sessionToken.
+- sessionPolicy - when using the RangerOzoneAuthorizer, if Ranger successfully 
authorizes the AssumeRole call,
+it will return a String representing the role the token was authorized for.  
Furthermore, if an AWS IAM Session Policy 
+was included with the AssumeRole request, the String return value will also 
include resources (i.e. buckets, keys, etc.) 
+and permissions (i.e. ACLType) corresponding to the AWS IAM Session Policy.  
These resources and permissions, if present, 
+would further limit the scope of the permissions and resources granted by the 
role in Ranger, such that the temporary 
+credential will have the permissions comprising the intersection of the role 
permissions and the sessionPolicy permissions.
 - HMAC-SHA256 signature - used to ensure the sessionToken was created by Ozone 
and was not altered since it was created.
-- The expiration time of the token (via 
`ShortLivedTokenIdentifier#getExpiry()`)
-- The UUID of the secret key used to sign the sessionToken and encrypt the 
secretAccessKey (via `ShortLivedTokenIdentifier#getSecretKeyId()`)
+- expiration time of the token (via `ShortLivedTokenIdentifier#getExpiry()`)
+- UUID of the OzoneManager private key used to sign the sessionToken and 
encrypt the secretAccessKey (via `ShortLivedTokenIdentifier#getSecretKeyId()`)

Review Comment:
   Previous "secret key" is accurate.  It's not OzoneManager private key. It's 
a symmentic key generated by SCM.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to