Implement security #1

Closed
opened 2021-11-19 16:49:27 +00:00 by brajkovic · 0 comments
Owner

Description

There should be support for multiple ways of securing resource manager upload and copy functionality, there should also be a way to secure presign and get endpoints but this should be separated from upload.

Security methods

Security type is defined in profile

Currently there is a goal to support at least two types

Basic auth - request should come with user:pass in Authentication header. This credentials should be loaded from BASIC_AUTH_CREDENTIALS environment variable.

Api keys - request come with Authorization: Api {api_key}. This credentials should be loaded from API_CREDENTIALS list of keys separated by ,

Presigning

When using AWS S3 for downloading presigning is already handled by S3 itself, to add support for this on local storage this should be implemented with a jwt token.

Token should contain:

  • path to file
  • expiration

This should be appended to get endpoint as token={jwt_token}query param

### Description There should be support for multiple ways of securing resource manager upload and copy functionality, there should also be a way to secure presign and get endpoints but this should be separated from upload. ### Security methods Security type is defined in profile Currently there is a goal to support at least two types Basic auth - request should come with user:pass in Authentication header. This credentials should be loaded from BASIC_AUTH_CREDENTIALS environment variable. Api keys - request come with `Authorization: Api {api_key}`. This credentials should be loaded from API_CREDENTIALS list of keys separated by `,` #### Presigning When using AWS S3 for downloading presigning is already handled by S3 itself, to add support for this on local storage this should be implemented with a jwt token. Token should contain: * path to file * expiration This should be appended to get endpoint as `token={jwt_token}`query param
brajkovic self-assigned this 2021-11-19 17:56:57 +00:00
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: brajkovic/resource_manager#1
No description provided.