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-185) was last changed on 12-May-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 one line
__Azure Files:__ [Link| https://learn.microsoft.com/en-us/azure/storage/files/]\\
__Azure Storage:__ [Azure Storage Documentation Link| https://learn.microsoft.com/en-us/azure/storage/]\\
At line 9 added one line
• __dfs.core.windows.net__,__dfs.core.chinacloudapi.cn__ (This applies only to the delete action when working with Data Lake Storage 2)\\
At line 10 removed one line
At line 28 changed one line
Provide the __Storage Account__ name as the __Username__, and the __Access key__ as the __Password__ in the VFS item’s Properties section.\\
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 39 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 42 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 45 changed 2 lines
azure://STORAGE_ACCOUNT_NAME:ACCESSKEY@blob.core.windows.net/BLOB_CONTAINER_NAME/}}}
\\
azure://STORAGE_ACCOUNT_NAME:ACCESSKEY@blob.core.windows.net/BLOB_CONTAINER_NAME/
}}}\\
At line 49 changed 2 lines
}}}
\\
}}}\\
At line 53 changed one line
}}}
}}}\\
At line 52 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.\\
\\
__!!! Note__ : 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 57 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 61 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 63 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 66 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 71 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 77 added 2 lines
Please note that the URL does not include the password section.\\
\\
At line 81 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 84 added 4 lines
The __Share Name__ or __Blob Container Name__ corresponds to the first folder in the URL.\\
\\
__Block Blob__: __!!! Note__ -> 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 90 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 87 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 89 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 92 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 94 changed one line
[attachments|SMTP Microsoft Graph XOAUTH 2 Integration/new_registration.png]\\
__Application registration:__ Navigate to App registrations in the Azure Portal. Click on __New registration__ to create a new application.\\
At line 96 changed one line
Name it. Select the Microsoft account types. The redirect URL must end with "__register_microsoft_graph_api/__". Then click on register.\\
[SharePoint Integration/new_registration.png]\\
At line 106 added 2 lines
The Redirect URL must end with __register_microsoft_graph_api/__.\\
\\
At line 99 changed 2 lines
http://localhost:9090/register_microsoft_graph_api/
}}}
http://localhost:9090/register_microsoft_graph_api/
}}}\\
or
{{{
https://your.crushftp.domain.com/register_microsoft_graph_api/
}}}\\
At line 102 changed one line
[attachments|SMTP Microsoft Graph XOAUTH 2 Integration/register_app.png]\\
__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!\\
At line 104 changed one line
Under the redirect URL configuration enable the __Access Token__ to be issued by the authorization endpoint:\\
[SharePoint Integration/new_secret.png]\\
At line 106 changed one line
[attachments|SMTP Microsoft Graph XOAUTH 2 Integration/enable_access_token.png]\\
[SharePoint Integration/secret_value.png]\\
At line 108 removed one line
Configure the API permissions:\\
At line 127 added 2 lines
Configure the __API permissions__:\\
\\
At line 114 changed one line
On your __Storage Account__ at __Access Control (IAM)__ assign the role "__Storage Account Contributor__" and "__Storage Blob Data Contributor__" to the specified user.\\
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.\\
At line 116 changed one line
__Restriction:__ It only works with blob storage.\\
__Note__: This applies only to __Blob Storage__.\\
At line 120 changed one line
Access the user's VFS settings and configure the Refresh Token for the remote Azure connection. At __User Delegation Settings__ click the "__Get Refresh Token__" button.\\
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.\\
At line 122 changed one line
[attachments|azure_refresh_token_form.png]\\
[attachments|user_delegation_settings.png]\\
At line 145 added one line
__!!! Note__: 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/\\
At line 125 changed one line
__Client id : __ You can find it at Azure portal -> App Registration -> Overview:\\
__Client id : __ See at App Registration -> Overview -> Application (client) ID\\
At line 127 changed 9 lines
[attachments|SharePoint Integration/client_id.png]\\
\\
__Secret key:__ A new client secret also needs to be created. Go to the "__Certificate & secrets__" and generate a new secret key. Click on New client secret.\\
\\
[attachments|SharePoint Integration/new_secret.png]\\
\\
[attachments|SharePoint Integration/secret_value.png]\\
\\
Sign in as the specified Microsoft user grant access, and obtain the refresh token.\\
__Secret key:__ See at App Registration -> Manage -> Certificates & secrets) make sure to copy the __value__ field, not the ID.\\
At line 137 changed one line
[attachments|user_delegation_settings.png]\\
__Tenant:__ See at App Registration -> Overview -> Directory (tenant) ID.\\
At line 139 changed one line
__!!!__Provide the storage account name as the "User name" input field.\\
__Scope:__\\
{{{
https://storage.azure.com/user_impersonation offline_access
}}}
At line 141 changed one line
To get a newly created SAS token for your storage, you need to run the following job example: [CrushTaskExample18]\\
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]\\
At line 163 added 2 lines
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
185 12-May-2025 02:02 9.264 kB krivacsz to previous
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-185) was last changed on 12-May-2025 02:02 by krivacsz
G’day (anonymous guest)
CrushFTP11 | What's New
JSPWiki