Skip to content

Conversation

raethlo
Copy link
Contributor

@raethlo raethlo commented Sep 5, 2025

This PR adds documentation for General Resource Access, new account and resource level setting that enables to fine tune resource access when using resource ids or links.

@apify-service-account
Copy link

Preview for this PR was built for commit a530b98 and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 04599be and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit d4071ff7 and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 462d78ce and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 86ad0afa and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 27ceaec3 and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 40d1e161 and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 9da3219e and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit ca7bc6fd and is ready at https://pr-1894.preview.docs.apify.com!

@raethlo raethlo marked this pull request as ready for review September 10, 2025 09:31
@raethlo raethlo requested a review from TC-MO as a code owner September 10, 2025 09:31
@apify-service-account
Copy link

Preview for this PR was built for commit 978660ec and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 4ec13d82 and is ready at https://pr-1894.preview.docs.apify.com!

@raethlo
Copy link
Contributor Author

raethlo commented Sep 10, 2025

Going over the preview myself:

@apify-service-account
Copy link

Preview for this PR was built for commit d62db4dc and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 0fd7bab3 and is ready at https://pr-1894.preview.docs.apify.com!

Co-authored-by: Michał Olender <92638966+TC-MO@users.noreply.github.com>
@apify-service-account
Copy link

Preview for this PR was built for commit bd0f2fc2 and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 5a6249bb and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit cbcbc98d and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 3a0053fc and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit b96ec6fe and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 9002f6d2 and is ready at https://pr-1894.preview.docs.apify.com!


Thanks to the hard-to-guess, unique IDs, it’s also secure enough for most use cases. However, it doesn't offer features like access revocation and in some cases, you may want to have more direct control over data access and require users to have explicit permissions to your resources.

_General resource access_ is an account setting that defines the default access policy at the account level. You can find general resource access in Apify Console under **Settings → Security & Privacy**. The two following options are supported:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry this should have been bold, my bad


## How restricted access works

If your **General Resource Access** is set to **Anyone with ID can read**, you can just send this link to anybody, and they will be able to download the data even if they don’t have an Apify account. However, once you change the setting to **Restricted**, this API call will require a valid token with access in order to work. In other words, you’ll have to explicitly share the dataset and you can only do that with people who have an Apify account.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the feature is not title cased in UI, we should not title case it in docs either

Suggested change
If your **General Resource Access** is set to **Anyone with ID can read**, you can just send this link to anybody, and they will be able to download the data even if they don’t have an Apify account. However, once you change the setting to **Restricted**, this API call will require a valid token with access in order to work. In other words, you’ll have to explicitly share the dataset and you can only do that with people who have an Apify account.
If your **General resource access** is set to **Anyone with ID can read**, you can just send this link to anybody, and they will be able to download the data even if they don’t have an Apify account. However, once you change the setting to **Restricted**, this API call will require a valid token with access in order to work. In other words, you’ll have to explicitly share the dataset and you can only do that with people who have an Apify account.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch, if it's fine with you, I think actually title casing the references in text seems nicer. Changed in 6934a33

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But it's not title cased in the UI, why would it be then title cased in documentation?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤦🏻 makes sense, amended in f774ce3

Even if your access is set to **Restricted** there are a few built-in exceptions that make collaboration and platform features work seamlessly. These are explained in the sections below.


### Builds of public Actors
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you make all those headings h4? I think this will make them disappear from the right side ToC, and if markdownlint will be screaming then I'll fix the issues

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 6934a33 (made the parent ### Exceptions a h3 and the children h4)


### Builds of public Actors

Builds of **public Actors** are always accessible to anyone who can view the Actor — regardless of the Actor owner’s account **General Resource Access** setting.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason why we are bolding public Actors? also:

Suggested change
Builds of **public Actors** are always accessible to anyone who can view the Actor — regardless of the Actor owner’s account **General Resource Access** setting.
Builds of **public Actors** are always accessible to anyone who can view the Actor — regardless of the Actor owner’s account **General resource access** setting.


Builds of **public Actors** are always accessible to anyone who can view the Actor — regardless of the Actor owner’s account **General Resource Access** setting.

This ensures that public Actors in the Apify Store continue to work as expected. For example, if you open a public Actor in the Console, you’ll also be able to view its build details, download logs, or inspect the source package — without needing extra permissions or a token.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This ensures that public Actors in the Apify Store continue to work as expected. For example, if you open a public Actor in the Console, you’ll also be able to view its build details, download logs, or inspect the source package — without needing extra permissions or a token.
This ensures that public Actors in the Apify Store continue to work as expected. For example, if you open a public Actor in Console, you’ll also be able to view its build details, download logs, or inspect the source package — without needing extra permissions or a token.

- Are scoped to a single resource (prevents access to other records)
- Are ideal for sharing screenshots, reports, or any other one-off files

To generate a pre-signed link, you can use the **Export** button in the Console, or call the appropriate API client method.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To generate a pre-signed link, you can use the **Export** button in the Console, or call the appropriate API client method.
To generate a pre-signed link, you can use the **Export** button in Console, or call the appropriate API client method.


:::info Console links for resources

Resource objects returned by the API and clients (like `apify-client-js`) include a `consoleUrl` property. This provides a stable link to the resource's page in the Apify Console. Unlike a direct API link, the Console link will prompt unauthenticated users to sign in, ensuring they have required permissions to view the resource.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Resource objects returned by the API and clients (like `apify-client-js`) include a `consoleUrl` property. This provides a stable link to the resource's page in the Apify Console. Unlike a direct API link, the Console link will prompt unauthenticated users to sign in, ensuring they have required permissions to view the resource.
Resource objects returned by the API and clients (like `apify-client-js`) include a `consoleUrl` property. This provides a stable link to the resource's page in the Apify Console. Unlike a direct API link, Console link will prompt unauthenticated users to sign in, ensuring they have required permissions to view the resource.

@apify-service-account
Copy link

Preview for this PR was built for commit 6934a332 and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit fef7a2b4 and is ready at https://pr-1894.preview.docs.apify.com!

Co-authored-by: Michał Olender <92638966+TC-MO@users.noreply.github.com>
@apify-service-account
Copy link

Preview for this PR was built for commit 936607f4 and is ready at https://pr-1894.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit f774ce3b and is ready at https://pr-1894.preview.docs.apify.com!

@raethlo raethlo merged commit b0fb4b5 into master Sep 11, 2025
9 checks passed
@raethlo raethlo deleted the feat/general-resource-access branch September 11, 2025 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants