diff --git a/README.md b/README.md index 8ba69b9..6f16288 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ media_storage_providers: endpoint_url: access_key_id: secret_access_key: + session_token: # Server Side Encryption for Customer-provided keys #sse_customer_key: diff --git a/s3_storage_provider.py b/s3_storage_provider.py index 8dfd137..e3ce7f4 100644 --- a/s3_storage_provider.py +++ b/s3_storage_provider.py @@ -81,6 +81,9 @@ class S3StorageProviderBackend(StorageProvider): if "secret_access_key" in config: self.api_kwargs["aws_secret_access_key"] = config["secret_access_key"] + if "session_token" in config: + self.api_kwargs["aws_session_token"] = config["session_token"] + self._s3_client = None self._s3_client_lock = threading.Lock() @@ -181,6 +184,9 @@ class S3StorageProviderBackend(StorageProvider): if "secret_access_key" in config: result["secret_access_key"] = config["secret_access_key"] + if "session_token" in config: + result["session_token"] = config["session_token"] + if "sse_customer_key" in config: result["extra_args"]["SSECustomerKey"] = config["sse_customer_key"] result["extra_args"]["SSECustomerAlgorithm"] = config.get(