# Installing FileMage Gateway on IBM Cloud
FileMage Gateway, a FTP and SFTP server backed by IBM Cloud Object Storage, is available on IBM Cloud as a virtual machine (VM) image. This virtual machine image is fully functional upon launch and requires no additional configuration to use. However, you may need to make certain changes depending on your specific use case.
When deploying a Linux image, SFTP is running on port 2222.
# Creating a Virtual Machine
We provide a virtual machine image of FileMage Gateway for IBM Cloud. No installation is required. You just need to create a virtual machine from the IBM Cloud Marketplace. This virtual machine image is fully functional upon launch and requires no additional configuration to use. However, you may need to make certain changes depending on your specific use case.
You can quickly find the FileMage Gateway catalog entry in the IBM Cloud console by typing filemage into the Search resources and offerings... search bar at the top of the page.
IBM Cloud uses IBM Cloud Schematics to provision catalog entries using Terraform. The FileMage Gateway Terraform templates for IBM Cloud are available at https://github.com/filemage/ibmcloud-schematics-filemage. For more information about IBM Cloud schematics see https://cloud.ibm.com/docs/schematics.
# IBM Cloud IAM Permissions
FileMage Gateway requires the following IAM roles to function:
- Content Reader
- Content Writer
- Object Writer
If you wish to configure a custom role with more granular permissions the actions in the table below are required.
|cloud-object-storage.bucket.get||List all the objects in a bucket.|
|cloud-object-storage.bucket.head||View bucket metadata.|
|cloud-object-storage.bucket.get_location||View the location and storage class of a bucket.|
|cloud-object-storage.object.get||View and download objects.|
|cloud-object-storage.object.head||Read an object's metadata.|
|cloud-object-storage.object.put||Write and upload objects.|
|cloud-object-storage.object.post_initiate_upload||Initiate multipart uploads.|
|cloud-object-storage.object.put_part||Upload an object part.|
|cloud-object-storage.object.copy_part||Copy (write) an object part.|
|cloud-object-storage.object.copy_part_get||Copy (read) an object part.|
|cloud-object-storage.object.post_complete_upload||Complete a multipart upload.|
|cloud-object-storage.object.copy||Copy (write) an object from one bucket to another.|
|cloud-object-storage.object.copy_get||Copy (read) an object from one bucket to another.|
|cloud-object-storage.object.delete||Delete an object.|
|cloud-object-storage.object.get_uploads||List parts of a multi-part object upload.|
|cloud-object-storage.object.delete_upload||Abort a multipart upload.|
|cloud-object-storage.object.post_multi_delete||Delete multiple objects.|