At line 1 changed one line |
GDrive requires several steps to configure. |
Google Cloud Storage requires several steps to configure. |
At line 6 changed 2 lines |
You first need to make a project. My example calls this CrushFTP-Test.\\ |
[attachments|create_project.png]\\ |
You need to enable the GoogleStorage API for your account if its not already.\\ |
[https://console.developers.google.com/apis/library/storage-component.googleapis.com/]\\ |
[attachments|clopud_storage_api_enable.png]\\ |
At line 9 changed 2 lines |
Next select create credentials, and choose the Web Application type.\\ |
[attachments|create_credentials.png]\\ |
Create a new project. My example calls this "CrushFTP-Test".\\ |
[attachments|gDriveSetup/create_project.png]\\ |
At line 13 added 5 lines |
!1. Web Application type\\ |
\\ |
Next, click on the "Create Credentials" button, and choose the Web Application type.\\ |
[attachments|gDriveSetup/create_credentials.png]\\ |
\\ |
At line 13 changed one line |
[attachments|oauth_consent.png]\\ |
[attachments|gDriveSetup/oauth_consent.png]\\ |
At line 16 changed one line |
You also need to put in the redirect URL of where google is going to send you back to after approval. This needs to follow the syntax in the example. Specifically your domain needs to end with:\\ |
Configure the redirect URL of where Google will send you back after approval. This needs to follow the syntax in the example. Specifically, your domain needs to end with:\\ |
At line 20 changed one line |
[attachments|credential_config.png]\\ |
[attachments|gDriveSetup/credential_config.png]\\ |
At line 23 changed 2 lines |
[https://console.developers.google.com/apis/library/drive.googleapis.com/]\\ |
[attachments|enable_api.png]\\ |
[https://console.developers.google.com/apis/library/storage-component.googleapis.com/]\\ |
[attachments|clopud_storage_api_enable.png]\\ |
At line 26 changed 14 lines |
Now that the API is enabled, and your credentials are setup, and your redirect domains are configured, you can use the credentials in CrushFTP to get your google auth token and get access.\\ |
In the User Manager, add a new remote VFS item type and set the protocol to be "GDrive".\\ |
Take your google client_id and secret and combine them together with a tilda as separator:\\ |
{{{ |
client_id: 725111111110-7kaimtXXXXXXXXXXXXXXXXXXXXX64m4k.apps.googleusercontent.com |
secret: fEsXXXXXXXXXXXXXXXXPggg7 |
}}} |
results in: |
{{{ |
725111111110-7kaimtXXXXXXXXXXXXXXXXXXXXX64m4k.apps.googleusercontent.com~fEsXXXXXXXXXXXXXXXXPggg7 |
}}} |
That whole long garbage string becomes your "username" to GDrive://.\\ |
Copy and paste it into the user field. Then click "Get Refresh Token" to finish the config.\\ |
[attachments|get_refresh_token.png]\\ |
Now that the API is enabled, your credentials are setup, and your redirect domains are configured, you can use the credentials in CrushFTP to get your Google auth token and get access.\\ |
In the User Manager, add a new remote VFS item type and set the protocol to be "GStorage".\\ |
Click "Get Refresh Token" to finish the config. Provide the client id and secret.\\ |
At line 41 changed 2 lines |
Finally!\\ |
[attachments|test_success.png]\\ |
[attachments|oauth_form.png]\\ |
\\ |
If your domain is not verified you will get a warning message, click on Advanced and proceed further:\\ |
\\ |
[attachments|not_verified_domain.png]\\ |
\\ |
Click on allow:\\ |
\\ |
[attachments|allow_form.png]\\ |
\\ |
The refresh token will be saved as password.\\ |
Provide the bucket and the path.\\ |
It is done! Test the connection and save it!\\ |
[attachments|bucket_and_test.png]\\ |
\\ |
!2. Service Account type\\ |
\\ |
Create Credentials -> Service Account.\\ |
[attachments|service_account.png]\\ |
\\ |
Provide a name and continue.\\ |
[attachments|service_account_details.png]\\ |
\\ |
Configure the service account access.\\ |
[attachments|storage_account_access.png]\\ |
\\ |
Click on the "Done" button.\\ |
\\ |
Navigate to the newly created Service Account. Go to the KEYS tab. Click on the "Add KEY" button, and then select "Create new key".\\ |
[attachments|service_account_new_key.png]\\ |
\\ |
Download the JSON file.\\ |
[attachments|service_account_private_key.png]\\ |
\\ |
__VFS configuration:__\\ |
\\ |
Username:__google_jwt__\\ |
Special user name for Service Account Access.\\ |
Password:__<<the JSON file content>>__\\ |
It authenticates based on the provided JSON file.\\ |
Provide the __bucket__ and the path.\\ |
It is done! Test the connection and save it!\\ |
[attachments|service_acount_vfs_test.png]\\ |
\\ |
!3. Access through S3 API\\ |
\\ |
Generate __Access key__ and __Secret__. Got to [https://console.cloud.google.com/] In the left sidebar of the dashboard, click Google Cloud Storage and then Settings.\\ |
[attachments|cloud_storage_sttings.png]\\ |
Select the Interoperability tab. If you haven't enabled it already, click on __Interoperable Access__. Now you should see an empty list and a __Create New Key__ button. Click the button to create an __Access/Secret key__ pair.\\ |
\\ |
__Google Cloud S3 VFS configuration:__\\ |
__1.__ |
\\Domain:<<Cloud Storage -> Settings -> INTEROPERABILITY -> Domain of __Storage URI__ default is __storage.googleapis.com__>> \\ |
Change the S3 default domain (s3.amazonaws.com) to the domain of Google Cloud Storage domain.\\ |
User name:__<<Access Key>>__\\ |
Password:__<<Secret>>__\\ |
Bucket:__<<Google Cloud Storage Bucket Name>>__\\ |
__SHA256 enabled on signing (Signing Version 4)__:<<Enabled>>\\ |
__!Warning__ Signing version 4 must be enabled, as Google Cloud Storage does not support older signing versions.\\ |
\\ |
[attachments|s3_vfs_settings.png]\\ |
__2.__ |
Select __GStorage__ Item type.\\ |
Enable __S3 API__ flag.\\ |
\\Domain:<<Cloud Storage -> Settings -> INTEROPERABILITY -> Domain of __Storage URI__ default is __storage.googleapis.com__>> \\ |
Change the S3 default domain (s3.amazonaws.com) to the domain of Google Cloud Storage domain.\\ |
User name:__<<Access Key>>__\\ |
Password:__<<Secret>>__\\ |
Bucket:__<<Google Cloud Storage Bucket Name>>__\\ |
__SHA256 enabled on signing (Signing Version 4)__:<<Enabled>>\\ |
__!Warning__ Signing version 4 must be enabled, as Google Cloud Storage does not support older signing versions.\\ |
\\ |
[attachments|gstroage_s3_api_vfs_enabled.png]\\ |
\\ |
More info about s3 VFS configuration: [S3 integration]\\ |
\\ |