You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS部署JIRA遇S3权限及密钥不存在问题求助

解决AWS部署JIRA时的S3相关错误

1. 处理S3 Access Denied错误(无需公开存储桶)

公开存储桶是非常不安全的操作,咱们用IAM权限就能妥善解决这个问题,哪怕是全新堆栈也能搞定:

  • 定位部署实体的IAM角色:不管你是用CloudFormation堆栈、EC2实例直接部署,还是AWS Marketplace的JIRA模板,都会有一个执行部署的IAM实体(比如CloudFormation的执行角色,或是EC2实例关联的IAM角色)。如果是全新堆栈,CloudFormation通常会自动创建带堆栈名称的角色,你可以在IAM控制台的「角色」页面找到它。
  • 添加精准的S3权限策略:给这个角色附加一个自定义IAM策略,允许它访问目标S3桶的必要操作。比如仅需读取桶内文件的话,策略可以这么写:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::你的存储桶名称",
                "arn:aws:s3:::你的存储桶名称/*"
            ]
        }
    ]
}

你可以根据JIRA的实际需求调整Action(比如需要上传配置的话再加s3:PutObject),这样部署进程就能合法访问S3桶,完全不需要开启公开权限。

  • 验证权限关联:确认角色已经正确附加到部署实体上——比如EC2实例的「IAM角色」标签页能看到你配置的角色,CloudFormation堆栈的执行角色也已正确关联。

2. 处理"S3 error: The specified key does not exist"错误

这个错误说明JIRA部署进程尝试访问的S3对象(即具体的文件路径/Key)不存在,你可以按以下步骤排查:

  • 核对S3 Key配置:检查部署时填写的S3路径参数,比如JIRA安装包的存储路径、自定义配置文件的Key,有没有拼写错误、大小写错误(S3的Key是大小写敏感的)。比如你填的是jira/atlassian-jira.tar.gz,但实际桶里是JIRA/Atlassian-Jira.tar.gz,就会触发这个错误。
  • 检查S3桶内文件:直接登录S3控制台,打开目标桶,确认你要访问的文件确实存在,路径和配置的完全一致。如果是部署脚本自动拉取文件,可能脚本指定的Key和实际上传的不符,或是文件还没上传完成。
  • 排查部署模板/脚本逻辑:如果用CloudFormation或自动化脚本部署,查看模板里引用S3对象的部分(比如AWS::CloudFormation::Init里的文件来源),有没有写错桶名或Key。有些模板会用参数传递S3信息,检查参数值是否正确。
  • 查看部署日志:如果是EC2实例部署,查看系统日志或JIRA部署日志,里面会详细记录尝试访问的S3 Key,根据日志里的具体路径去桶里核对,能快速定位问题。

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:51:09