From 627005b063e1339746dece1d2255ed006ac1b25f Mon Sep 17 00:00:00 2001 From: Zachary Blasczyk <77289967+wandb-zacharyblasczyk@users.noreply.github.com> Date: Wed, 30 Aug 2023 10:44:31 -0500 Subject: [PATCH] fix: SSE-S3 example (#132) * fix: SSE-S3 example * docs: Update some sse refferences --- examples/byob-sse-s3/README.md | 112 +++++++++++++++++++++++ examples/byob-sse-s3/main.tf | 61 ++++++++++++ examples/byob-sse-s3/sse-s3.png | Bin 0 -> 88256 bytes modules/secure_storage_connector/main.tf | 4 +- 4 files changed, 175 insertions(+), 2 deletions(-) create mode 100644 examples/byob-sse-s3/README.md create mode 100644 examples/byob-sse-s3/main.tf create mode 100644 examples/byob-sse-s3/sse-s3.png diff --git a/examples/byob-sse-s3/README.md b/examples/byob-sse-s3/README.md new file mode 100644 index 00000000..6aa9fb36 --- /dev/null +++ b/examples/byob-sse-s3/README.md @@ -0,0 +1,112 @@ +# BYOB + +## About + +This example does not deploy an instance of Weights & Biases. Instead it is an +example of the resources that need to be created to deploy use with an S3 bucket +for. + +This module uses AE256 Encryption to protect the object store. + +--- + +When using bring your own bucket you will need to grant our account +(`830241207209`) access to an S3 Bucket and KMS Key for encryption and decryption. +decryption + +## Using Terraform + +Terraform is the preferred method for deploying BYOB. + +Infrastructure as code (IaC) tools allow you to manage infrastructure with +configuration files rather than through a graphical user interface. IaC +allows you to build, change, and manage your infrastructure in a safe, +consistent, and repeatable way by defining resource configurations that you +can version, reuse, and share. + +1. Please follow the instructions for install [Terraform + 1.0+](https://learn.hashicorp.com/tutorials/terraform/install-cli) +2. Authenticated with Terraform with AWS. You can do this in many ways learn + more + [here](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#authentication-and-configuration). + It is most common to install and authenticate with [AWS + CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html). +3. Pull terraform-aws-wandb repo and cd to this + [directory](https://github.com/wandb/terraform-aws-wandb/tree/main/examples/byob-sse-s3) +4. Run `terraform init` +5. Run `terraform apply`. If you need to assume a different role, please + configure that in the `main.tf` file before running `apply`. You can learn + more + [here](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#assuming-an-iam-role). +6. Please provide the resulting output to Weights & Biases (bucket name and kms arn) + +## Using AWS Console + +### SSE-S3 encryption + +Amazon S3 now applies server-side encryption with Amazon S3 managed keys (SSE-S3) +as the base level of encryption for every bucket in Amazon S3. Starting January 5, 2023, +all new object uploads to Amazon S3 are automatically encrypted at no additional cost +and with no impact on performance. The automatic encryption status for S3 bucket default +encryption configuration and for new object uploads is available in AWS CloudTrail logs, +S3 Inventory, S3 Storage Lens, the Amazon S3 console, and as an additional Amazon S3 API +response header in the AWS Command Line Interface and AWS SDKs. For more information, see +[Default encryption FAQ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html). + +Do not configure a KMS key on the object store. Your configuration should look like this. + +![sse-s3-default](./sse-s3.png) + +### Creating S3 Bucket + +Lastly, you'll need to create the S3 bucket. Make sure to enable CORS access. Your CORS configuration should look like the following: + +```xml + + + + * + GET + HEAD + PUT + * + ETag + 3000 + + +``` + +As stated above, server side encryption will be handled via SSE-S3 encryption with AE256. + +Finally, grant the Weights & Biases Deployment account access to this S3 bucket: + +```json +{ + "Version": "2012-10-17", + "Id": "WandBAccess", + "Statement": [ + { + "Sid": "WAndBAccountAccess", + "Effect": "Allow", + "Principal": { "AWS": "arn:aws:iam::830241207209:root" }, + "Action": [ + "s3:GetObject*", + "s3:GetEncryptionConfiguration", + "s3:ListBucket", + "s3:ListBucketMultipartUploads", + "s3:ListBucketVersions", + "s3:AbortMultipartUpload", + "s3:DeleteObject", + "s3:PutObject", + "s3:GetBucketCORS", + "s3:GetBucketLocation", + "s3:GetBucketVersioning" + ], + "Resource": [ + "arn:aws:s3:::", + "arn:aws:s3:::/*" + ] + } + ] +} +``` diff --git a/examples/byob-sse-s3/main.tf b/examples/byob-sse-s3/main.tf new file mode 100644 index 00000000..0c3e8708 --- /dev/null +++ b/examples/byob-sse-s3/main.tf @@ -0,0 +1,61 @@ + +variable "bucket_prefix" { + type = string + description = "Prefix of your bucket" +} + +variable "region" { + type = string + description = "AWS region the bucket will live in." +} + +variable "eks_node_role_arn" { + type = string + description = "EKS node role for cross account access." + default = "" +} + +variable "sse_algorithm" { + description = "The server-side encryption algorithm to use. Valid values are `AES256` and `aws:kms`" + type = string + default = "AES256" +} + +variable "create_kms_key" { + description = "If a KMS key should be created to encrypt S3 storage bucket objects. This can only be used when you set the value of sse_algorithm as aws:kms." + type = bool + default = false +} + +provider "aws" { + region = var.region + + default_tags { + tags = { + GithubRepo = "terraform-aws-wandb" + GithubOrg = "wandb" + Enviroment = "BringYourOwnBucket" + Namespace = "WeightsBiases" + } + } +} + +locals { + namespace = var.bucket_prefix + + # Weights & Biases Deployment Account + wandb_deployment_account_id = "830241207209" + wandb_deployment_account_arn = var.eks_node_role_arn == "" ? "arn:aws:iam::${local.wandb_deployment_account_id}:root" : var.eks_node_role_arn +} + +module "secure_storage_connector" { + source = "wandb/wandb/aws//modules/secure_storage_connector" + namespace = local.namespace + aws_principal_arn = local.wandb_deployment_account_arn + sse_algorithm = var.sse_algorithm + create_kms_key = var.create_kms_key +} + +output "bucket_name" { + value = module.secure_storage_connector.bucket.bucket +} diff --git a/examples/byob-sse-s3/sse-s3.png b/examples/byob-sse-s3/sse-s3.png new file mode 100644 index 0000000000000000000000000000000000000000..572f215f71df4c0a71357b24b42c2ffbfa21cc24 GIT binary patch literal 88256 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

$l%q-+1e$)OoTUzp2pXy^B) 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 z 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 YOOGwxqJdt<8 literal 0 HcmV?d00001 diff --git a/modules/secure_storage_connector/main.tf b/modules/secure_storage_connector/main.tf index 89c6545a..11a4da93 100644 --- a/modules/secure_storage_connector/main.tf +++ b/modules/secure_storage_connector/main.tf @@ -37,7 +37,7 @@ module "file_storage" { source = "../../modules/file_storage" namespace = var.namespace - sse_algorithm = "aws:kms" + sse_algorithm = var.sse_algorithm kms_key_arn = var.create_kms_key ? aws_kms_key.key[0].arn : null create_queue = false @@ -80,4 +80,4 @@ resource "aws_s3_bucket_policy" "s3_policy" { data "aws_s3_bucket" "file_storage" { bucket = module.file_storage.bucket_name -} \ No newline at end of file +}