Modify language for reporting signing state#24932
Conversation
4f0fb1f to
5217fea
Compare
website/docs/plugins/signing.html.md
Outdated
| programatically. To use partner providers in your Terraform configuration, you need to specify the | ||
| provider source, typically this is the namespace and name to download from the registry. | ||
| * **Self-signed** - are built, signed, and supported by a third party. HashiCorp does not provide a verification or chain of trust for the signing. You will want to obtain and validate fingerprints manually if you want to ensure you are using a binary you can trust. | ||
| * **Unsigned** - Terraform does support fetching and using unsigned binaries, but you should take extreme care when doing so as no programatic authentication is performed on the downloaded binary. |
There was a problem hiding this comment.
I'm not sure if this is true, just wanted to cover all the states I saw in code.
There was a problem hiding this comment.
It might, but not from the Registry, which this doc currently lives in the nav hierarchy. Maybe we could clarify that or group them somehow.
There was a problem hiding this comment.
I moved the doc, this is top level now under plugins.
There was a problem hiding this comment.
We don't support fetching unsigned providers. The only non-local sources follow the Registry protocol, and signatures are mandatory.
There was a problem hiding this comment.
I modified it to say this, let me know your thoughts. I wanted to keep it in there, as we will run unsigned, if not fetch them.
website/docs/plugins/signing.html.md
Outdated
| programatically. To use partner providers in your Terraform configuration, you need to specify the | ||
| provider source, typically this is the namespace and name to download from the registry. | ||
| * **Self-signed** - are built, signed, and supported by a third party. HashiCorp does not provide a verification or chain of trust for the signing. You will want to obtain and validate fingerprints manually if you want to ensure you are using a binary you can trust. | ||
| * **Unsigned** - Terraform does support fetching and using unsigned binaries, but you should take extreme care when doing so as no programatic authentication is performed on the downloaded binary. |
There was a problem hiding this comment.
It might, but not from the Registry, which this doc currently lives in the nav hierarchy. Maybe we could clarify that or group them somehow.
alisdair
left a comment
There was a problem hiding this comment.
The structure of the code makes sense to me. I left some comments inline, mostly about the documentation.
| Terraform plugin signing trust levels | ||
| --- | ||
|
|
||
| # Plugin Signing |
There was a problem hiding this comment.
This document describes plugins in general, but Terraform's tiered signature verification only applies to providers specifically.
There was a problem hiding this comment.
Yeah, in this case i was hedging a little on the future, as this is a URL hard coded in to a shipped binary, was making it a bit more future proof. I can add some language though that currently only provider plugins are authenticated.
website/docs/plugins/signing.html.md
Outdated
| verified the ownership of the private key and we provide a chain of trust to the CLI to verify this | ||
| programatically. To use partner providers in your Terraform configuration, you need to specify the | ||
| provider source, typically this is the namespace and name to download from the registry. | ||
| * **Self-signed** - are built, signed, and supported by a third party. HashiCorp does not provide a verification or chain of trust for the signing. You will want to obtain and validate fingerprints manually if you want to ensure you are using a binary you can trust. |
There was a problem hiding this comment.
You will want to obtain and validate fingerprints manually if you want to ensure you are using a binary you can trust.
It's not clear to me how a user could take action on this recommendation, unless we give some more detail about how to obtain the key fingerprint, and how to usefully validate it. As I understand it that is the subject of some unspecified future work. Until we have something more concrete to offer here, I think it's better to omit this sentence.
There was a problem hiding this comment.
Until we offer an ability to authenticate, perhaps we should print a fingerprint for this self-signed category to the output for manual verification?
There was a problem hiding this comment.
@paultyng we need to limit scope creep, but we will definitely consider that suggestion for a future enhancement. We don't have concrete plans yet, but a number of ideas to extend the community provider trust process in later releases.
There was a problem hiding this comment.
I added in this PR to output KeyID when its third party signed, maybe that will be sufficient?
df28d4c to
a141ee7
Compare
Codecov Report
|
alisdair
left a comment
There was a problem hiding this comment.
👍 from me once the remaining minor issues are addressed. Thanks!
cf3fc68 to
8130fae
Compare
Be more explicit about the signing status of fetched plugins and provide documentation about the different signing options.
8130fae to
22ef5cc
Compare
|
The |
justincampbell
left a comment
There was a problem hiding this comment.
Language and docs look good to me!
|
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
Be more explicit about the signing status of fetched plugins and provide documentation about the different signing options.