AWS Appsync - IAM 权限
AWS Appsync - IAM permission
我正在尝试使用 IAM 保护我的 AWS Appsync API。在查询级别上一切都很好,但是 是否也可以在类型级别(return 类型的字段)限制客户端?
这是一个架构:
type Query {
getUserById(id: String): User
}
type User {
id: String!
email: String
firstName: String
lastName: String
}
以及所需的 IAM 权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "appsync:GraphQL",
"Resource": [
"arn:aws:appsync:REG:ACCNO:apis/APIID/types/Query/fields/getUserById",
"arn:aws:appsync:REG:ACCNO:apis/APIID/types/User/fields/id",
"arn:aws:appsync:REG:ACCNO:apis/APIID/types/User/fields/email"
],
"Effect": "Allow"
}
]
}
我希望客户端只能获取用户 ID 和电子邮件。不是名字,也不是姓氏。
怎么做?
- 无论是否可行,我都无法在文档中找到任何信息。
- 基于此博客:https://aws.amazon.com/blogs/mobile/graphql-security-appsync-amplify/ 似乎有可能,但并不明确。
仅顶级字段,因此可以使用 AWS IAM 策略限制在查询、变更、订阅类型中定义的所有内容。
因此无法使用 AWS IAM 策略限制 ID 和电子邮件。
我正在尝试使用 IAM 保护我的 AWS Appsync API。在查询级别上一切都很好,但是 是否也可以在类型级别(return 类型的字段)限制客户端?
这是一个架构:
type Query {
getUserById(id: String): User
}
type User {
id: String!
email: String
firstName: String
lastName: String
}
以及所需的 IAM 权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "appsync:GraphQL",
"Resource": [
"arn:aws:appsync:REG:ACCNO:apis/APIID/types/Query/fields/getUserById",
"arn:aws:appsync:REG:ACCNO:apis/APIID/types/User/fields/id",
"arn:aws:appsync:REG:ACCNO:apis/APIID/types/User/fields/email"
],
"Effect": "Allow"
}
]
}
我希望客户端只能获取用户 ID 和电子邮件。不是名字,也不是姓氏。 怎么做?
- 无论是否可行,我都无法在文档中找到任何信息。
- 基于此博客:https://aws.amazon.com/blogs/mobile/graphql-security-appsync-amplify/ 似乎有可能,但并不明确。
仅顶级字段,因此可以使用 AWS IAM 策略限制在查询、变更、订阅类型中定义的所有内容。
因此无法使用 AWS IAM 策略限制 ID 和电子邮件。