Conversation
|
Thanks for the proposal. I can see the need for StsCredentialsOptions in the internal implementation of the Auth library, but I would expect that the API we would expose to gRPC applications would be of the form : StsCredentials mySTScreds = You can imagine replacing "ALTS" with other creds types that are relevant. |
L50-cpp-sts-creds-api.md
Outdated
|
|
||
| ## Background | ||
|
|
||
| [OAuth 2.0 Token Exchange](https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16) is the proposed standard for exchanging tokens, for scenarios where a client needs to access a resource that does not natively accept the credentials created by the authentication system used by the client. In these settings, enabling credential exchange can provide better security: Otherwise, the client needs to acquire a different set of credentials to access the resource, and the new credentials must be managed securely. |
There was a problem hiding this comment.
Consider using reference-style links to minimize duplication of the addresses:
[OAuth 2.0 Token Exchange][oauth-token-exchange] is the proposed...
[oauth-token-exchange]: https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
L50-cpp-sts-creds-api.md
Outdated
|
|
||
| ## Background | ||
|
|
||
| [OAuth 2.0 Token Exchange](https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16) is the proposed standard for exchanging tokens, for scenarios where a client needs to access a resource that does not natively accept the credentials created by the authentication system used by the client. In these settings, enabling credential exchange can provide better security: Otherwise, the client needs to acquire a different set of credentials to access the resource, and the new credentials must be managed securely. |
There was a problem hiding this comment.
Minor: Remove the comma in " ...exchanging tokens, for scenarios ..."?
L50-cpp-sts-creds-api.md
Outdated
|
|
||
| [OAuth 2.0 Token Exchange](https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16) is the proposed standard for exchanging tokens, for scenarios where a client needs to access a resource that does not natively accept the credentials created by the authentication system used by the client. In these settings, enabling credential exchange can provide better security: Otherwise, the client needs to acquire a different set of credentials to access the resource, and the new credentials must be managed securely. | ||
|
|
||
| For instance, Kubernetes workloads can securely obtain credentials from their platform, and they can use these to authenticate to other entities in the cluster, or to the Kubernetes API itself. However, if a Kubernetes workload requires access to a cloud provider's API, it needs a separate set of secrets, and a way to deploy these secrets securely. With credential exchange this is no longer necessary: The workload credential can be directly exchanged for a short-lived token for the cloud API. We expect this type of interaction to become a best practice, as it eliminates a number of problematic patterns, such as secrets checked into code repos, or stored in improperly ACL'ed files. |
There was a problem hiding this comment.
Minor: Remove the comma in "cluster, or to the Kubernetes API itself."?
L50-cpp-sts-creds-api.md
Outdated
| * Status: Draft | ||
| * Implemented in: core, cpp | ||
| * Last updated: May 20, 2019 | ||
| * Discussion at: <google group thread> (filled after thread exists) |
There was a problem hiding this comment.
Is there a thread for this yet? Can you start one?
There was a problem hiding this comment.
Just did:
https://groups.google.com/forum/#!topic/grpc-io/Bam9eLaI62Q
Thanks for the reminder!
L50-cpp-sts-creds-api.md
Outdated
|
|
||
| [OAuth 2.0 Token Exchange](https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16) is the proposed standard for exchanging tokens, for scenarios where a client needs to access a resource that does not natively accept the credentials created by the authentication system used by the client. In these settings, enabling credential exchange can provide better security: Otherwise, the client needs to acquire a different set of credentials to access the resource, and the new credentials must be managed securely. | ||
|
|
||
| For instance, Kubernetes workloads can securely obtain credentials from their platform, and they can use these to authenticate to other entities in the cluster, or to the Kubernetes API itself. However, if a Kubernetes workload requires access to a cloud provider's API, it needs a separate set of secrets, and a way to deploy these secrets securely. With credential exchange this is no longer necessary: The workload credential can be directly exchanged for a short-lived token for the cloud API. We expect this type of interaction to become a best practice, as it eliminates a number of problematic patterns, such as secrets checked into code repos, or stored in improperly ACL'ed files. |
There was a problem hiding this comment.
Minor: Remove the comma in "set of secrets, and a way to deploy"?
L50-cpp-sts-creds-api.md
Outdated
|
|
||
| [OAuth 2.0 Token Exchange](https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16) is the proposed standard for exchanging tokens, for scenarios where a client needs to access a resource that does not natively accept the credentials created by the authentication system used by the client. In these settings, enabling credential exchange can provide better security: Otherwise, the client needs to acquire a different set of credentials to access the resource, and the new credentials must be managed securely. | ||
|
|
||
| For instance, Kubernetes workloads can securely obtain credentials from their platform, and they can use these to authenticate to other entities in the cluster, or to the Kubernetes API itself. However, if a Kubernetes workload requires access to a cloud provider's API, it needs a separate set of secrets, and a way to deploy these secrets securely. With credential exchange this is no longer necessary: The workload credential can be directly exchanged for a short-lived token for the cloud API. We expect this type of interaction to become a best practice, as it eliminates a number of problematic patterns, such as secrets checked into code repos, or stored in improperly ACL'ed files. |
There was a problem hiding this comment.
Minor: Remove the comma in "code repos, or stored"?
- Also changing the numbering to L51 as opposed to L50 since there's already a PR with an L51 proposal.
|
@a11r Do you want me to reply on this PR or on the https://groups.google.com/forum/#!topic/grpc-io/Bam9eLaI62Q thread? |
No description provided.