首先检查访问密钥和密钥对是否正确。确保在访问EC2 API时使用的密钥与存储在AWS S3中的密钥相同。如果仍然出现403错误,请检查您的权限和策略设置是否正确。下面是一个示例策略,可在S3桶上授予EC2实例访问权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::your-bucket/*",
"Principal": {
"AWS": [
"arn:aws:iam::your-account-id:instance-profile/your-ec2-instance-profile"
]
}
}
]
}
在“Resource”字段中替换“your-bucket”为S3存储桶的名称,“your-account-id”为AWS账户ID,“your-ec2-instance-profile”为EC2实例配置文件的名称。如果这些步骤无法解决403错误,请确保您的S3存储桶具有正确的CORS配置。可以通过在S3管理控制台中导航到存储桶设置和CORS配置来设置CORS。