kubernetes - iam ConfirmSubscription 权限错误
问题描述
我有一个应用程序正在尝试移动到新的 k8s 集群,但在尝试 ConfirmSubscription 时出现权限问题:
"sns confirmation failed. Reason: AuthorizationError: User: arn:aws:sts::-:assumed-role/-/- is not authorized to perform:
SNS:ConfirmSubscription on resource: arn:aws:sns:-:-:topicname
status code: 403, request id: 000d2844-3a3d-5544-922a-7d9e3db07a16"
该应用程序能够在旧集群中执行确认订阅,所以我认为这是一个 IAM 问题,但它假设的角色策略是:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sns:ConfirmSubscription",
"sns:Subscribe"
],
"Effect": "Allow",
"Resource": [
"arn:aws:sns:::*"
]
}
]
}
我无法诊断 IAM 问题出在哪里。
解决方案
我能够通过完全限定我想确认订阅的 sns 主题来完成这项工作:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sns:ConfirmSubscription",
"sns:Subscribe"
],
"Effect": "Allow",
"Resource": [
"arn:aws:sns:us-east-1:000000000:full-topic-name-no-wildcard"
]
}
]
}
推荐阅读
- java - PostgreSql+Spring:尝试使用 SQL 文件初始化数据库但由于用户身份验证而失败
- ruby-on-rails - 复制空目录的雷神宝石不起作用
- python - Python 字符串替换不适用于特定前缀?
- python - 如何分析 python 性能或每个语句?
- java - 如何找到相同角色的用户
- huawei-mobile-services - 华为移动服务推送消息无法到达中国用户
- r - 有条件地格式化存储为文本的 openxlsx 数字
- c++ - 这是 OpenMP firstprivate 的正确使用吗?
- sql - 将 nvarchar 值“01HP011”转换为数据类型 int 时转换失败
- vue.js - 如何使只有一个元素激活vue js?