Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
AzureConfiguration.png 78.7 kB 3 05-Dec-2023 05:32 krivacsz
png
AzureConfiguration2.png 77.5 kB 3 05-Dec-2023 05:32 krivacsz
png
AzureConfiguration3.png 27.4 kB 3 05-Dec-2023 05:32 Sandor new UI elements
png
AzurePortalAccessKey.png 57.7 kB 2 05-Dec-2023 05:32 Sandor blurred more
png
SAS.png 97.0 kB 1 05-Dec-2023 05:32 Sandor
png
Screen Shot 2017-08-09 at 9.08... 113.4 kB 1 05-Dec-2023 05:32 krivacsz Azure configuration
png
azureRemoteItem.png 57.5 kB 2 05-Dec-2023 05:32 krivacsz
png
azureRemoteItem2.png 53.5 kB 2 05-Dec-2023 05:32 krivacsz
png
azureRemoteItem3.png 20.3 kB 2 05-Dec-2023 05:32 Sandor new UI elements
png
azure_VFS_SAS.png 26.4 kB 1 05-Dec-2023 05:32 Sandor
png
azure_access_control_roles.png 132.8 kB 1 07-Oct-2024 04:38 krivacsz
png
azure_api_permission_blob.png 130.2 kB 1 07-Oct-2024 04:17 krivacsz
png
azure_blob.png 74.0 kB 3 05-Dec-2023 05:32 krivacsz
png
azure_blob3.png 29.6 kB 4 05-Dec-2023 05:32 Sandor new UI elements
png
azure_blobRemoteItem.png 21.5 kB 4 05-Dec-2023 05:32 Sandor new UI elements
png
azure_refresh_token_form.png 48.4 kB 1 07-Oct-2024 04:50 krivacsz
png
azure_user_impersonation.png 152.5 kB 1 07-Oct-2024 04:17 krivacsz
png
user_delegation_settings.png 94.4 kB 2 07-Oct-2024 04:49 krivacsz

This page (revision-200) was last changed on 12-Aug-2025 02:02 by krivacsz

This page was created on 05-Dec-2023 05:32 by Halmágyi Árpád

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 2 changed 2 lines
__'' General restrictions''__: Azure storage is not a file system, but an object storage. The folder is more like a prefix of the object name. That is why renaming folders is not supported. Folder moves are only possible through copy and deletion.\\
\\
__Azure Storage:__ [Azure Storage Documentation Link| https://learn.microsoft.com/en-us/azure/storage/]\\
----
__⚠️ General restrictions__: Azure Storage is not a traditional file system but an object storage service. What appears to be a __folder__ is actually just a prefix in the object’s name. As a result, renaming folders is not supported. To __move__ a folder, you must copy all the objects to the new location and then delete them from the original one.\\
----
__⚠️ Proxy Configuration:__ If your server accesses the internet through a proxy, make sure to whitelist the following domains to allow Azure API access:\\
• __file.core.windows.net__ or __privatelink.file.core.windows.net__\\
• __blob.core.windows.net__, __blob.core.chinacloudapi.cn__ or __privatelink.blob.core.windows.net__\\
• __dfs.core.windows.net__,__dfs.core.chinacloudapi.cn__ (This applies only to the delete action when working with Data Lake Storage 2)\\
----
At line 6 changed one line
CrushFTP supports Microsoft Azure Shares as a VFS item, it requires a __Storage Account:__ [https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview]. About Azure file share: [https://learn.microsoft.com/en-us/azure/storage/files/storage-how-to-create-file-share?tabs=azure-portal]\\
CrushFTP supports Microsoft Azure Shares as a [VFS] item, it requires a __Storage Account:__ [Storage account overview Link| https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview].\\
More Info: [Azure File Share Link|https://learn.microsoft.com/en-us/azure/storage/files/storage-how-to-create-file-share?tabs=azure-portal]\\
At line 8 changed one line
The URL should look like (Replace the URL with your corresponding data!):\\
The URL should follow this structure (replace the placeholders with your actual values):\\
At line 11 changed one line
azure://STORAGE_ACCOUNT_NAME:ACCESSKEY@file.core.windows.net/SHARE_NAME/}}}
azure://<<STORAGE_ACCOUNT_NAME>>:<<ACCESSKEY>>@file.core.windows.net/<<SHARE_NAME>>/
or
azure://<<STORAGE_ACCOUNT_NAME>>:<<ACCESSKEY>>@privatelink.file.core.windows.net/<<SHARE_NAME>>/
}}}\\
At line 13 changed one line
You can find those on the Azure portal, under __Storage Account__. From the left-side menu select __Access keys__ to reveal them.\\
You can find the required details in the __Azure Portal__. Navigate to your __Storage Account__, then select __Access keys__ from the left-hand menu to view the credentials.\\
At line 17 changed one line
Then paste them on the appropriate fields in CrushFTP.\\
In the VFS item’s Properties section, provide the __Storage Account__ name as the __Username__ and the __Access key__ as the __Password__. The __Share Name__ corresponds to the first folder in the URL.\\
At line 21 changed one line
When using “Browse…” in the Jobs interface, or plugin interfaces, the UI is slightly different:\\
When using the __Browse…__ option in the Jobs interface or plugin interfaces, the user interface differs slightly:\\
At line 23 changed one line
There is an input field for the file service share: Share Name \\
There is an input field specifically for the file service share, labeled __Share Name__.\\
At line 28 changed 2 lines
CrushFTP supports __Azure Blobs__([https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction]) as VFS item, it requires a __Storage Account:__ [https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview]. \\
Azure Blob Storage is __not like a normal filesystem__ with folders and deeper levels you can go into.  It's more like S3 where a file’s name contains slashes, which simulate a folder structure but with many limitations when it comes to renaming and truly simulating a normal file system. Folder rename is not supported.\\
CrushFTP supports __Azure Blobs__ ([Introduction to Azure Blob Storage Link|https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-introduction]) as VFS item, it requires a __Storage Account:__ [Storage account overview Link|https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview].\\
At line 31 changed 2 lines
The URL should look like this (Replace the URL with your corresponding data!):\\
The URL should follow this structure (replace the placeholders with your actual values):\\
At line 34 changed one line
azure://STORAGE_ACCOUNT_NAME:ACCESSKEY@blob.core.windows.net/BLOB_CONTAINER_NAME/}}}
azure://<<STORAGE_ACCOUNT_NAME>>:<<ACCESSKEY>>@blob.core.windows.net/<<BLOB_CONTAINER_NAME>>/
or
azure://<<STORAGE_ACCOUNT_NAME>>:<<ACCESSKEY>>@blob.core.chinacloudapi.cn/<<BLOB_CONTAINER_NAME>>/
or
azure://<<STORAGE_ACCOUNT_NAME>>:<<ACCESSKEY>>@privatelink.blob.core.windows.net/<<BLOB_CONTAINER_NAME>>/
}}}\\
At line 53 added 4 lines
In the VFS item’s Properties section, provide the __Storage Account__ name as the __Username__ and the __Access key__ as the __Password__. The __Blob Container Name__ corresponds to the first folder in the URL.\\
\\
__⚠️ Important__ : You need to select the appropriate blob type—__Append Blob__ or __Block Blob__—as specified when the blob was created in Azure. Page Blobs are not supported.\\
\\
At line 38 changed 3 lines
__Data Lake storage Gen2__: More info on the official website: [https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction].\\
Turn on the flag if the storage type is the data lake. It connects through __Azure Blob Storage REST API__ [https://learn.microsoft.com/en-us/rest/api/storageservices/blob-service-rest-api].\\
(This is not Azure Data Lake Storage Gen2 REST API: [https://learn.microsoft.com/en-us/rest/api/storageservices/data-lake-storage-gen2])\\
__Data Lake storage Gen2__: More info on the official website: [Data Lake Storage Introduction Link|https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction].\\
Turn on the flag if the storage type is the data lake. It connects using the __Azure Blob Storage REST API__ ( More info: [Blob Service REST API Link|https://learn.microsoft.com/en-us/rest/api/storageservices/blob-service-rest-api]), but does not support the Azure Data Lake Storage Gen2 REST API. (More info: [Azure Data Lake Storage Gen2 REST API Link|https://learn.microsoft.com/en-us/rest/api/storageservices/data-lake-storage-gen2])\\
At line 42 changed one line
When using “Browse…” in the Jobs interface, or plugin interfaces, the UI is slightly different:\\
When using the __Browse…__ option in the Jobs interface or plugin interfaces, the user interface differs slightly:\\
At line 44 changed one line
To specify the blob container use the input field: Share Name \\
To specify the __Blob Container Name__, use the __Share Name__ input field.\\
\\
At line 47 removed 3 lines
You need to select the blob type (append blob or block blobs - page blobs are not supported) specified when creating the blob on Azure.
At line 52 changed one line
Azure also can delegate access with a shared access signature (SAS) [https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview].\\
Azure also can delegate access with a shared access signature (SAS) [Storage SAS Overview Link|https://learn.microsoft.com/en-us/azure/storage/common/storage-sas-overview].\\
At line 55 changed 4 lines
azure://STORAGE_ACCOUNT_NAME:@blob.core.windows.net/BLOB_CONTAINER_NAME/}}}\\
Or
{{{
azure://STORAGE_ACCOUNT_NAME:@file.core.windows.net/SHARE_NAME/}}}\\
azure://<<STORAGE_ACCOUNT_NAME>>:@blob.core.windows.net/<<BLOB_CONTAINER_NAME>>/
or
azure://<<STORAGE_ACCOUNT_NAME>>:@file.core.windows.net/<<SHARE_NAME>>/
}}}\\
At line 80 added 2 lines
__⚠️ Note:__ that the URL does not include the password section.\\
\\
At line 62 changed one line
The __password field should be empty__ and put the SAS token to the "__Shared access signature token__" input field.\\
Provide the Storage Account name as the Username.\\
The __Password__ field should be left empty, and the __SAS token__ should be entered in the __Shared access signature token__ input field.\\
At line 87 added 4 lines
The __Share Name__ or __Blob Container Name__ corresponds to the first folder in the URL.\\
\\
__Block Blob__: __⚠️ Important__ -> You need to select the appropriate blob type—__Append Blob__ or __Block Blob__—as specified when the blob was created in Azure. Page Blobs are not supported.\\
\\
At line 93 added 2 lines
When using the Browse… option in the Jobs interface or plugin interfaces, the user interface differs slightly. See at [1.Azure File Share Link|https://www.crushftp.com/crush11wiki/Wiki.jsp?page=Azure%20Integration#section-Azure+Integration-1.AzureFileShare] or at [2. Azure Blob Container Link|https://www.crushftp.com/crush11wiki/Wiki.jsp?page=Azure%20Integration#section-Azure+Integration-2.AzureBlobContainer].\\
\\
At line 68 changed one line
Azure Storage supports using Microsoft Entra ID to authorize requests to blob data. (see more info : [https://learn.microsoft.com/en-us/azure/storage/blobs/authorize-access-azure-active-directory])\\
Azure Storage supports using Microsoft Entra ID to authorize requests to blob data. (More info : [Authorize Access Azure Active Directory Link|https://learn.microsoft.com/en-us/azure/storage/blobs/authorize-access-azure-active-directory])\\
At line 70 changed 2 lines
You will start at the Microsoft Azure portal:\\
[https://azure.microsoft.com/en-us/features/azure-portal/]\\
__⚠️ Proxy Configuration:__ If your server accesses the internet through a proxy, make sure to whitelist the following domains to allow authentication and Microsoft Graph API access:\\
• login.microsoftonline.com\\
• graph.microsoft.com\\
At line 73 changed one line
__Application registration: __Go to the App registrations and click on New registration:\\
Open the __Microsoft Azure Portal__: [Link|https://azure.microsoft.com/en-us/features/azure-portal]\\
At line 75 changed one line
Name it. Select the Microsoft account types. The redirect URL must end with register_microsoft_graph_api/. Then click on register.\\
__Application registration:__ Navigate to App registrations in the Azure Portal. Click on __New registration__ to create a new application.\\
At line 77 changed one line
[attachments|SMTP Microsoft Graph XOAUTH 2 Integration/new_registration.png]]\\
[SharePoint Integration/new_registration.png]\\
At line 79 changed one line
Under the redirect URL configuration enable the __Access Token__ to be issued by the authorization endpoint:\\
In the Redirect URI section, for Platform configuration, select __Web__. The Redirect URL must end with __register_microsoft_graph_api/__.\\
At line 81 changed one line
[attachments|SMTP Microsoft Graph XOAUTH 2 Integration/enable_access_token.png]\\
{{{
http://localhost:9090/register_microsoft_graph_api/
or
https://your.crushftp.domain.com/register_microsoft_graph_api/
}}}\\
At line 119 added 44 lines
__Secret key__: A new client secret must be created. Go to Certificates & secrets, and generate a new client secret by clicking on New client secret. ⚠️ Ensure you copy over the __value__ immediately!\\
\\
[SharePoint Integration/new_secret.png]\\
\\
[SharePoint Integration/secret_value.png]\\
\\
Configure the __API permissions__:\\
\\
[attachments|azure_api_permission_blob.png]\\
\\
[attachments|azure_user_impersonation.png]\\
\\
In your __Storage Account__, navigate to __Access Control (IAM)__ and assign the roles __Storage Account Contributor__ and __Storage Blob Data Contributor__ to the specified user.\\
\\
__⚠️ Important__: This applies only to __Blob Storage__.\\
\\
[attachments|azure_access_control_roles.png]\\
\\
Access the user’s __VFS settings__ and configure the __Refresh Token__ for the remote Azure connection.\\
• Provide the __Storage Account Name__ in the __Username__ input field.\\
• Under __User Delegation Settings__, click the __Get Refresh Token__ button.\\
\\
[attachments|user_delegation_settings.png]\\
\\
__⚠️ Important__: To obtain the __Refresh Token__, the CrushFTP WebInterface’s host and port must match the __Redirect URL__ specified in the __Azure App Registration__. In our example, it was: http://localhost:9090 or https://your.crushftp.domain.com/\\
\\
__Client id : __ See at App Registration -> Overview -> Application (client) ID\\
\\
__Secret key:__ See at App Registration -> Manage -> Certificates & secrets) make sure to copy the __value__ field, not the ID.\\
\\
__Tenant:__ See at App Registration -> Overview -> Directory (tenant) ID.\\
\\
__Scope:__\\
{{{
https://storage.azure.com/user_impersonation offline_access
}}}
\\
Click OK. Sign in with the specified Microsoft account to grant access and obtain the refresh token. __⚠️ Note__: Be sure to sign in with the Microsoft Account that has the necessary permissions, as configured in the Azure App Registration mentioned above. This will automatically configure the __User Delegation Settings__.\\
[attachments|azure_refresh_token_form.png]\\
\\
__⚠️ Important__: To generate a new SAS token for your storage account, run the following job example: [Renew Azure SAS token via Azure User impersonation|CrushTaskExample18]\\
\\
Version Date Modified Size Author Changes ... Change note
200 12-Aug-2025 02:02 9.416 kB krivacsz to previous
199 15-Jul-2025 02:07 9.398 kB krivacsz to previous | to last
198 15-Jul-2025 02:07 9.398 kB krivacsz to previous | to last
197 15-Jul-2025 02:06 9.398 kB krivacsz to previous | to last
196 13-Jun-2025 01:55 9.398 kB krivacsz to previous | to last
195 09-Jun-2025 03:13 9.325 kB krivacsz to previous | to last
194 20-May-2025 06:59 9.305 kB krivacsz to previous | to last
193 20-May-2025 06:41 9.304 kB krivacsz to previous | to last
192 20-May-2025 02:50 9.308 kB krivacsz to previous | to last
191 19-May-2025 10:05 9.3 kB krivacsz to previous | to last
190 19-May-2025 10:04 9.302 kB krivacsz to previous | to last
189 19-May-2025 04:15 9.306 kB krivacsz to previous | to last
188 19-May-2025 04:13 9.27 kB krivacsz to previous | to last
187 19-May-2025 04:12 9.288 kB krivacsz to previous | to last
186 19-May-2025 04:11 9.264 kB krivacsz to previous | to last
185 12-May-2025 02:02 9.264 kB krivacsz to previous | to last
184 12-May-2025 02:01 9.213 kB krivacsz to previous | to last
183 12-May-2025 01:56 9.217 kB krivacsz to previous | to last
182 12-May-2025 01:55 9.164 kB krivacsz to previous | to last
181 12-May-2025 01:53 9.123 kB krivacsz to previous | to last
« This page (revision-200) was last changed on 12-Aug-2025 02:02 by krivacsz
G’day (anonymous guest)
CrushFTP11 | What's New

Referenced by
LeftMenu
VFS Protocols

JSPWiki