|
| 1 | +Service account feature for COMS can be enabled by setting s3AccessMode enabled in configuration, it allows automated systems or services to securely interact with the COMS environment using access keys for authentication. Below are the steps for configuring and utilizing s3AccessMode. |
| 2 | + |
| 3 | +### Configuration setting required in COMS hosted environment |
| 4 | + |
| 5 | +In this configuration, s3AccessMode is enabled to allow machines to access the system without individual user authentication. |
| 6 | + |
| 7 | +**Enable s3AccessMode**: Enabling s3AccessMode allows machine-to-machine access via service account credentials (access key and secret). This setting is required to permit service account access to the COMS API. |
| 8 | + |
| 9 | +```sh |
| 10 | +"basicAuth": { "enabled": "false", // Disable Basic Authentication "s3AccessMode": "true" // Enable M2M access using service account credentials} |
| 11 | +``` |
| 12 | +
|
| 13 | +## Service Account API access** |
| 14 | +
|
| 15 | +### Credentials |
| 16 | +
|
| 17 | +For M2M API access, the storage credentials (usually provided by the optimization team) are used to authenticate API requests. These credentials consist of an Access Key ID and Access Key Secret, which are essential for machine-to-machine communication. |
| 18 | +
|
| 19 | +#### Service Account Credentials: |
| 20 | +**accesskeyid:*** The unique identifier for the service account. |
| 21 | +
|
| 22 | +**accesskeysecret:** The associated secret key for the service account. |
| 23 | +
|
| 24 | +
|
| 25 | +#### Set Request Headers and Parameters |
| 26 | +
|
| 27 | +With s3AccessMode enabled, the M2M communication requires specific headers to authenticate and provide access correctly. These headers are typically supplied by the optimization team. |
| 28 | +
|
| 29 | +**Headers to Include**: |
| 30 | +
|
| 31 | +***x-amz-bucket:*** The name of the bucket being accessed by the service account. |
| 32 | +
|
| 33 | +***x-amz-endpoint:*** The endpoint to which the request is directed. |
| 34 | +
|
| 35 | +**Set Required Parameters**: |
| 36 | +
|
| 37 | +You need to specify either the bucketId or objectId in the request parameters. |
| 38 | +
|
| 39 | +**bucketId or objectId:** The unique identifier for the bucket or object being accessed. |
| 40 | + |
| 41 | +
|
| 42 | +### Security Considerations |
| 43 | +
|
| 44 | +* **Store Credentials Securely**: Ensure the accesskeyid and accesskeysecret are stored securely, such as in environment variables or a secure credential vault, to prevent unauthorized access. |
| 45 | + |
| 46 | +* **Use HTTPS**: Make sure that all API requests are made over HTTPS to protect sensitive data during transmission. |
0 commit comments