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

能否在IAM策略语句中使用AWS托管SQS密钥?别名ARN尝试失败

解决IAM策略中使用AWS托管SQS KMS密钥的问题

你需要用AWS托管SQS密钥的实际密钥ARN替换策略里的别名ARN,因为IAM策略的Resource字段必须指定KMS密钥的真实ARN,不能用别名ARN、别名名称或密钥ID。

步骤1:获取托管SQS密钥的实际ARN

有两种方式获取:

  • AWS控制台:进入KMS控制台,切换到「AWS托管的密钥」标签,筛选服务为SQS,找到对应的密钥,复制它的ARN(格式为arn:aws:kms:<region>:<account-id>:key/<key-id>)。
  • AWS CLI:执行以下命令:
    aws kms list-aliases --alias-name alias/aws/sqs
    
    从返回结果中提取TargetKeyId字段的值,然后拼接成完整ARN:arn:aws:kms:<region>:<account-id>:key/<TargetKeyId>

步骤2:修改IAM策略

把策略里的Resource替换为刚才获取的实际密钥ARN,修改后的策略示例:

PolicyDocument:
  Statement:
    - Effect: Allow
      Principal:
        Service: s3.amazonaws.com
      Action:
        - kms:Encrypt
        - kms:Decrypt
      Resource: arn:aws:kms:<region>:<account-id>:key/<actual-key-id>

这样修改后,S3就能正常使用该托管密钥向SQS队列发送事件了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:57:05