Article DetailsDetailsHelp DetailsIt is possible to access files stored in an AWS S3 bucket using LOAD CSV without explicitly supplying AWS credentials such as AWS_ACCESS_KEY, AWS_SECRET_KEY, or AWS_SESSION_TOKEN, or presigned URLs. In this setup, the machine running the Neo4j server—whether it is a VM, host, pod, or container (referred to as the host in this article)—acts as the S3 client. Neo4j relies on the AWS credential resolution chain available on the host rather than on credentials configured within Neo4j itself. Prerequisites The following conditions must be satisfied on the host where Neo4j is running: IAM Role ConfigurationAn appropriate AWS IAM role must be attached to the host, with permissions to access the required S3 bucket and objects. Access Verification via AWS CLIAccess to the S3 bucket must be verifiable from the host using AWS CLI commands (for example, aws s3 ls or aws s3 cp). This confirms that the IAM role is correctly configured and usable. IMDS Hop Limit Configuration (Additional Validation Step)If the host is running on EC2 (or within a containerised environment on EC2), the Instance Metadata Service (IMDS) hop limit must be configured appropriately to allow credential retrieval. This extra hop ensures that credentials are accessible to Neo4j at runtime. Using LOAD CSV Once the above prerequisites are met, the LOAD CSV command can be used exactly as it would be for any other accessible CSV source, pointing directly to the S3 object URL. No APOC procedures or plugins are required for this functionality. References AWS documentation on modifying the IMDS hop limit:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-IMDS-existing-instances.html#modify-PUT-response-hop-limit AWS SDK for Java credential provider chain:https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/credentials-chain.html Neo4j Support article on accessing S3 using an AWS service account:https://support.neo4j.com/s/article/20979837223187-How-to-connect-to-s3-bucket-using-aws-service-account Disclaimer The external links provided above are included for convenience only. Neo4j does not own, control, or maintain these external resources, and their content may change without notice. Neo4j is not responsible for the accuracy or availability of information on third-party websites.InformationTitleAccessing an S3 Bucket via LOAD CSV without Explicit AWS CredentialsArticle Created Date12/15/2025, 5:33 AMURL NameAccessing-an-S3-Bucket-via-LOAD-CSV-without-Explicit-AWS-CredentialsLast Modified Date5/8/2026, 9:09 AM