{
  "id": "llm/llamaindex-index-persistence-s3",
  "signature": "botocore.exceptions.ClientError: An error occurred (AccessDenied) when calling the PutObject operation: Access Denied",
  "signature_zh": "botocore异常：调用PutObject操作时发生访问被拒绝错误。",
  "regex": "AccessDenied.*PutObject",
  "domain": "llm",
  "category": "auth_error",
  "subcategory": null,
  "root_cause": "Insufficient IAM permissions for the S3 bucket when LlamaIndex attempts to persist index data to cloud storage.",
  "root_cause_type": "generic",
  "root_cause_zh": "当LlamaIndex尝试将索引数据持久化到云存储时，IAM权限不足以访问S3存储桶。",
  "versions": [
    {
      "version": "llama-index 0.10.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "llama-index 0.10.1",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "boto3 1.34.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "Setting AWS region to us-east-1 in boto3 config",
      "why_fails": "Region mismatch doesn't cause AccessDenied; it's a permission issue, not location.",
      "fail_rate": 0.95,
      "condition": "",
      "sources": []
    },
    {
      "action": "Adding public access to S3 bucket",
      "why_fails": "Public access violates security best practices and doesn't address missing IAM policy.",
      "fail_rate": 0.85,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "Update IAM policy to include s3:PutObject and s3:PutObjectAcl permissions for the specific bucket: {\"Effect\": \"Allow\", \"Action\": [\"s3:PutObject\"], \"Resource\": \"arn:aws:s3:::your-bucket/*\"}",
      "success_rate": 0.95,
      "how": "Update IAM policy to include s3:PutObject and s3:PutObjectAcl permissions for the specific bucket: {\"Effect\": \"Allow\", \"Action\": [\"s3:PutObject\"], \"Resource\": \"arn:aws:s3:::your-bucket/*\"}",
      "condition": "",
      "sources": []
    },
    {
      "action": "Switch to local persistence: storage_context.persist(persist_dir='./storage') instead of S3",
      "success_rate": 0.9,
      "how": "Switch to local persistence: storage_context.persist(persist_dir='./storage') instead of S3",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "Update IAM policy to include s3:PutObject and s3:PutObjectAcl permissions for the specific bucket: {\"Effect\": \"Allow\", \"Action\": [\"s3:PutObject\"], \"Resource\": \"arn:aws:s3:::your-bucket/*\"}",
    "Switch to local persistence: storage_context.persist(persist_dir='./storage') instead of S3"
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-denied.html",
  "official_doc_section": null,
  "error_code": "AccessDenied",
  "verification_tier": "ai_generated",
  "confidence": 0.9,
  "fix_success_rate": 0.9,
  "resolvable": "true",
  "first_seen": "2024-03-10",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}