I found some information that might help you. Prefect allows you to share storage and infrastructure configuration between your deployments. Every storage block exposes a base path, such as an S3 bucket name. If you want to share this block across multiple deployments, you can store each deployment in a subpath of the storage block's base path to ensure independence. Deployments expose a path field that can be set to a subpath of the storage block's base path (
source).
However, the documentation doesn't explicitly mention sharing storage blocks between different Prefect Cloud accounts and workspaces. You might be able to share the S3 bucket and its access credentials with someone who has a different Prefect Cloud account and workspace, but they would need to configure their own storage block with the shared S3 bucket information.
Here's an example of how to create an S3 storage block in Prefect:
python
from prefect.filesystems import S3
block = S3(
bucket_path="my-bucket/a-sub-directory",
aws_access_key_id="foo",
aws_secret_access_key="bar"
)
block.save("example-block")
This block configuration can be used by anyone with appropriate access to your Prefect API (
source).
Keep in mind that sharing access credentials might not be the most secure way to share resources. It's always a good idea to follow best practices for security and access management when sharing resources between different accounts and workspaces.