You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: sources/platform/collaboration/general-resource-access.md
+22-29Lines changed: 22 additions & 29 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -130,12 +130,9 @@ Even when a resource is restricted, you might still want to share it with someon
130
130
#### How pre-signed URLs work
131
131
132
132
A pre-signed URL is a regular HTTPS link that includes a cryptographic signature verifying that access has been explicitly granted by someone with valid permissions.
133
-
When the signed URL is used, Apify validates the signature and grants access - no API token required.
133
+
When a pre-signed URL is used, Apify validates the signature and grants access without requiring an API token.
134
134
135
-
**Key properties**:
136
-
137
-
-**Works with restricted resources** – Even if “General resource access” is set to **Restricted**, the signed URL will work without asking for API token.
138
-
-**Time-limited or permantent** – Links can be either **temporary** (expiring after a specified duration) or **permanent**, depending on how they’re generated.
135
+
The signature can be temporary (set to expire after a specified duration) or permanent, depending on the expiration date set when it's generated.
139
136
140
137
#### What links can be pre-signed
141
138
@@ -168,40 +165,38 @@ The response also contains:
168
165
169
166
:::
170
167
171
-
#### How to generate pre-signed URLs
172
-
173
168
You can create pre-signed URLs either through the Apify Console or programmatically via the Apify API client.
174
169
175
-
**In console:**
170
+
#### How to generate pre-signed URLs in Apify Console
176
171
177
172
To generate a pre-signed link, you can use the **Export** button in Console, or call the appropriate API client method.
178
173
179
-
**1. Using the Apify Console**
180
-
181
174
:::note
182
175
183
176
The link will include a signature **only if the general resource access is set to Restricted**. For unrestricted datasets, the link will work without a signature.
184
177
185
178
:::
186
179
187
-
-**Dataset items:**
188
-
1. Click the **Export** button.
189
-
2. In the modal that appears, click **Copy shareable link**.
180
+
**Dataset items:**
190
181
191
-

182
+
1. Click the **Export** button.
183
+
2. In the modal that appears, click **Copy shareable link**.
192
184
193
-
-**Key-value store records:**
194
-
1. Open a key-value store.
195
-
2. Navigate to the record you want to share.
196
-
3. In the **Actions** column, click the link icon to **copy signed link**.
185
+

197
186
198
-

187
+
**Key-value store records:**
199
188
200
-
**2. Using the Apify Client**
189
+
1. Open a key-value store.
190
+
2. Navigate to the record you want to share.
191
+
3. In the **Actions** column, click the link icon to **copy signed link**.
192
+
193
+

194
+
195
+
#### How to generate pre-signed URLs using Apify Client
201
196
202
197
You can generate pre-signed URLs programmatically for datasets and key-value stores:
@@ -240,7 +235,7 @@ If the `expiresInSecs` option is not specified, the generated link will be **per
240
235
241
236
:::
242
237
243
-
**3. Signing URLs manually (Advanced)**
238
+
####Signing URLs manually
244
239
245
240
If you need finer control - for example, generating links without using Apify client — you can sign URLs manually using our reference implementation.
246
241
@@ -275,13 +270,13 @@ Keep in mind that when users run your public Actor, the Actor makes API calls un
275
270
276
271
:::
277
272
278
-
### How to migrate Actors to support **Restricted** general resource access
273
+
### Migration guide to support restricted general resource access
279
274
280
275
This section provides a practical guide and best practices to help you update your public Actors so they fully support **Restricted general resource access**.
281
276
282
277
---
283
278
284
-
#### 1. Always authenticate API requests
279
+
#### Always authenticate API requests
285
280
286
281
All API requests from your Actor should be authenticated.
287
282
When using the [Apify SDK](https://docs.apify.com/sdk/js/) or [Apify Client](https://docs.apify.com/api/client/js/), this is done automatically.
@@ -294,12 +289,10 @@ If your Actor makes direct API calls, include the API token manually:
294
289
});
295
290
```
296
291
297
-
#### 2. Generate pre-signed URLs for external sharing
292
+
#### Generate pre-signed URLs for external sharing
298
293
299
294
If your Actor outputs or shares links to storages (such as datasets or key-value store records), make sure to generate pre-signed URLs instead of hardcoding API URLs.
300
295
301
-
Pre-signed URLs allow secure, tokenless access for external users.
0 commit comments