ActiveScale Connector
The Globus ActiveScale storage connector can be used for access and sharing of data on ActiveScale Object Storage. The connector is available as an add-on subscription to organizations with a Globus Standard subscription - please contact us for pricing.
This document describes how to use the ActiveScale Connector connector to configure ActiveScale Storage Gateways and Collections. After these steps are complete, any Globus user you have authorized can register a credential to access ActiveScale buckets that they have access to and, if enabled, can create guest collections for sharing access using those credentials by following the instructions in How To Share Data Using Globus.
This document assumes that you or another administrator has already installed Globus Connect Server v5 on one or more data transfer nodes, and that you have an administrator role on that endpoint.
The installation must be done by a system administrator, and has the following distinct set of steps:
-
Create a storage gateway on the endpoint configured to use the ActiveScale Connector.
-
Create a mapped collection using the ActiveScale Storage Gateway to provide access to ActiveScale Storage Gateway data.
Please contact us at support@globus.org if you have questions or need help with installation and use of the ActiveScale Connector.
ActiveScale Connector Virtual Filesystem
The ActiveScale connector provides a distributed object store, where each data object is accessed based on a bucket name and an object name.
The ActiveScale connector attempts to make this look like a regular
filesystem, by treating the bucket name as the name of a directory
in the root of the storage gateway’s file system. For example, if a
user has access to buckets bucket1
and bucket2
, then those buckets
would show up as directories when listing /
.
The ActiveScale connector also treats the /
character as a delimiter
in the S3 API so that it can present something that looks like
subdirectories. For example, the object object1
in bucket1
would
appear as /bucket1/object1
to the ActiveScale connector, and the
object object2/object3
in bucket2
would appear as a file called
object3
in the directory /bucket2/object2
.
Authenticated and Anonymous Access
Each ActiveScale Storage Gateway can be configured to perform either authenticated or unauthenticated access to ActiveScale data. When creating an ActiveScale Storage Gateway, you must choose which type of access to require.
- authenticated
-
Globus users must register an ActiveScale Credential with Globus Connect Server in order to access data on its collections. The credential must be associated with ACLs permitting the desired level of access.
- unauthenticated
-
Globus users can only access ActiveScale Buckets that permit anonymous access.
ActiveScale Configuration Encryption
All configuration information, including ActiveScale secrets and user credential information, is encrypted with a secret key on the node servicing the request before storing it locally and uploading it to GCS cloud services for distribution to other nodes in the endpoint. The encryption key is only available locally to the node and is secured such that only the node admin has access.
Storage Gateway
An ActiveScale Storage Gateway is created with the command globus-connect-server storage-gateway create activescale, and can be updated with the command globus-connect-server storage-gateway update activescale.
Before looking into the policy options specific to the ActiveScale Connector, please familiarize yourself with the Globus Connect Server v5 Data Access Guide which describes the steps to create and update a storage gateway, using the POSIX connector as an example. The commands to create and update a storage gateway for the ActiveScale Connector are similar.
ActiveScale Storage Gateway Policies
The --s3-user-credential, --s3-unauthenticated, --bucket, and --s3-endpoint command-line options control access to an ActiveScale resource.
Endpoint
The --s3-endpoint command-line option is used by Globus Connect Server to contact the ActiveScale S3 API to access data on this storage gateway. This should be the URL of the ActiveScale storage system.
For our example, we’ll use local ActiveScale storage which
is located at https://localhost:8443
--s3-endpoint \https://localhost:8443
Access Mode
The --s3-user-credential and --s3-unauthenticated command-line options are mutually exclusive.
If the --s3-user-credential command-line option is enabled, then each user accessing collections on this storage gateway must register an ActiveScale access key id and secret key with the storage gateway.
The --admin-managed-credential command-line option can also be set to allow admins the ability to register an ActiveScale access key id and secret key for users.
If the --s3-unauthenticated command-line option is enabled, then all accesses to collections on this storage gateway will be done using unauthenticated anonymous access. In this case, the root of the ActiveScale Connector Virtual Filesystem will only be able to list buckets that are explicitly made visible by using the --bucket command-line option.
For our example, we’ll create a Storage Gateway that provides authenticated access to data buckets. Users will need to register credentials with this endpoint using the Globus Web App.
--s3-user-credential
Bucket Restrictions
The --bucket command-line option argument is the name of a bucket which is allowed access by this storage gateway.
For our example, we’ll create a Storage Gateway that restricts access to two buckets: research-data-bucket-1, and research-data-bucket-2. Users will be restricted to only those buckets when using collections created on this storage gateway, and only if their credential has permissions to do so.
--bucket research-data-bucket-1
--bucket research-data-bucket-2
If no buckets are configured, then any buckets accessible using the user’s registered ActiveScale key_id and secret_key may be accessed by collections on this storage gateway. If any are configured, then they act as restrictions to which buckets are visible and accessible on collections on this storage gateway.
Creating the Storage Gateway
Now that we have decided on all our policies, we’ll use the command to create the storage gateway.
% globus-connect-server storage-gateway create activescale \
"ActiveScale Storage Gateway" \
--domain example.org
\
--s3-endpoint \https://localhost:8443
\
--s3-user-credential \
--bucket research-data-bucket-1
--bucket research-data-bucket-2
Storage Gateway Created: 7187a9a0-68e4-48ea-b3b9-7fd06630f8ab
This was successful and outputs the ID of the new storage gateway (
in this case) for our reference. Note that this will always
be a unique value if you run the command. If you forget the id of a storage
gateway, you can always use the command
globus-connect-server storage-gateway
list to get a list of the storage gateways on the endpoint.7187a9a0-68e4-48ea-b3b9-7fd06630f8ab
You can also add other policies to configure additional identity mapping and path restriction policies as described in the Globus Connect Server v5 Data Access Guide.
Note that this creates the storage gateway, but does not yet make it accessible via Globus and HTTPS. You’ll need to follow the steps in the next section.
Collection
An ActiveScale Collection is created with the command globus-connect-server collection create, and can be updated with the command globus-connect-server collection update.
As the ActiveScale Connector does not introduce any policies beyond those used by the base collection type, you can follow the sequence in the Collections Section of the Globus Connect Server v5 Data Access Guide. Recall however, that the paths are interpreted as described above in ActiveScale Connector Virtual Filesystem.
User Credential
As mentioned in above, when the storage gateway is configured to provide authenticated access to ActiveScale, users must register their own ActiveScale keys. These keys must have the appropriate permissions to access the desired buckets.
Appendix A: Document Types for the ActiveScale Connector
ActiveScaleStoragePolicies Document
Connector-specific storage gateway policies for the ActiveScale connector. These are identical to s3 connector’s storage gateway policies.
One of the following schemas:
{
"DATA_TYPE": "s3_storage_policies#1.0.0",
"s3_buckets": [
"string"
],
"s3_endpoint": "https://s3.amazonaws.com",
"s3_user_credential_required": true
}
ActiveScaleUserCredentialPolicies Document
Connector-specific storage gateway policies for the ActiveScale connector. These are identical to s3 connector’s storage gateway policies.
One of the following schemas:
{
"DATA_TYPE": "s3_user_credential_policies#1.0.0",
"s3_key_id": "string",
"s3_secret_key": "string"
}