Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

document S3 RBAC preference on v5.14+ #11111

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

donsizemore
Copy link
Contributor

@donsizemore donsizemore commented Dec 19, 2024

What this PR does / why we need it:

explicitly document v5.14+'s preference, to make it clear for administrators

Which issue(s) this PR closes:

Special notes for your reviewer:

none

Suggestions on how to test this:

(Jim) - I'd suggest no testing as this is just a doc update. I'd merge it now but I don't want to run anything during the break.

add/remove roles to/from EC2 instance in AWS when the Dataverse instance in question is configured to use an S3 bucket

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

no

Is there a release notes update needed for this change?:

no

Additional documentation:

Preview at https://dataverse-guide--11111.org.readthedocs.build/en/11111/installation/config.html#amazon-s3-storage-or-compatible

@pdurbin pdurbin requested a review from nightowlaz December 19, 2024 16:34
Copy link

@nightowlaz nightowlaz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very clear, especially with the link to the AWS docs on instance profiles. Thanks for the tip on the local configs as well.

@donsizemore
Copy link
Contributor Author

@nightowlaz the link and most of the text was already there, just farther down and not as insistent. I moved it up top and changed "you may use RBAC" to "Dataverse WILL use RBAC, like it or not."

@nightowlaz
Copy link

Yes, sorry, I saw that previous section in the diff code, but just emphasizing that it was good! =)

@@ -1093,6 +1093,8 @@ The Dataverse Software S3 driver supports multi-part upload for large files (ove
First: Set Up Accounts and Access Credentials
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**Note:** As of version 5.14, if Dataverse is running in an EC2 instance it will prefer RBAC for the S3 default profile, even if administrators configure Dataverse with programmatic access keys. This is preferential from a security perspective as there are no keys to rotate or have stolen. If you intend to assign a role to your EC2 instance, you will still need the ``~/.aws/config`` file to specify the region but you need not generate credentials for the default profile. For more information please see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update. Minor text edit suggestions below.

Note: As of version 5.14, if Dataverse is running in an EC2 instance it will prefer Role Based Access Control (RBAC) over the S3 default profile, even if administrators configure Dataverse with programmatic access keys. (Named profiles can still be used to override RBAC for specific stores.) RBAC is preferential from a security perspective as there are no keys to rotate or have stolen. If you intend to assign a role to your EC2 instance, you will still need the ~/.aws/config file to specify the region but you need not generate credentials for the default profile. For more information please see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html

@@ -1093,6 +1093,8 @@ The Dataverse Software S3 driver supports multi-part upload for large files (ove
First: Set Up Accounts and Access Credentials
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

**Note:** As of version 5.14, if Dataverse is running in an EC2 instance it will prefer RBAC for the S3 default profile, even if administrators configure Dataverse with programmatic access keys. Named profiles can still be used to override RBAC for specific datastores. This is preferential from a security perspective as there are no keys to rotate or have stolen. If you intend to assign a role to your EC2 instance, you will still need the ``~/.aws/config`` file to specify the region but you need not generate credentials for the default profile. For more information please see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry - there was more changed than just the part in parens (which I was suggesting to keep). In line 1 I changed 'for the S3 default profile' to say 'over' instead of 'for', I spelled out RBAC the first time as Role Based Access Control, and in the third sentence I changed 'This' to 'RBAC' Since the sentence about named profiles made 'This' ambiguous.

Copy link
Member

@qqmyers qqmyers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

@qqmyers qqmyers added the Size: 0.5 A percentage of a sprint. 0.35 hours label Dec 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Size: 0.5 A percentage of a sprint. 0.35 hours
Projects
Status: Ready for QA ⏩
Development

Successfully merging this pull request may close these issues.

document RBAC preference in S3 access
3 participants