AWS AppSync 的動作、資源及條件索引鍵 - 服務授權參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS AppSync 的動作、資源及條件索引鍵

AWS AppSync (服務前置詞:appsync) 提供下列服務特定資源、動作和條件內容金鑰,以供 IAM 權限政策使用。

參考資料:

AWS AppSync 定義的動作

您可在 IAM 政策陳述式的 Action 元素中指定以下動作。使用政策來授予在 AWS 中執行操作的許可。在政策中使用動作時,通常會允許或拒絕存取相同名稱的 API 操作或 CLI 命令。不過,在某些情況下,單一動作可控制對多個操作的存取。或者,某些操作需要多種不同的動作。

「動作」資料表的資源類型欄會指出每個動作是否支援資源層級的許可。如果此欄沒有值,您必須在政策陳述式的 Resource 元素中指定政策適用的所有資源 ("*")。如果資料欄包含資源類型,則您可以在具有該動作的陳述式中指定該類型的 ARN。如果動作具有一或多個必要資源,呼叫者必須具有對這些資源使用動作的許可。表格中的必要資源會以星號 (*) 表示。如果您使用 IAM 政策中的 Resource 元素限制資源存取,則每種必要的資源類型必須要有 ARN 或模式。某些動作支援多種資源類型。如果資源類型是選用 (未顯示為必要),則您可以選擇使用其中一種選用資源類型。

「動作」資料表的條件索引鍵欄包含您可以在政策陳述式的 Condition 元素中指定的索引鍵。如需有關與服務資源相關聯之條件索引鍵的詳細資訊,請參閱「資源類型」資料表的條件索引鍵欄。

注意

資源條件索引鍵會列在資源類型資料表中。您可以在「動作」資料表的資源類型 (*必填) 欄中找到適用於動作的資源類型連結。「資源類型」資料表中的資源類型包括條件索引鍵欄,其中包含套用至「動作」資料表中動作的資源條件索引鍵。

如需下表各欄的詳細資訊,請參閱動作資料表

動作 描述 存取層級 資源類型 (*必填項目) 條件索引鍵 相依動作
AssociateApi 授予將 GraphQL API 附加到自訂網域名稱的權限 AppSync 寫入

domain*

AssociateMergedGraphqlApi 准許將合併的 API 與來源 API 建立關聯 寫入

graphqlapi*

AssociateSourceGraphqlApi 准許將來源 API 與合併的 API 建立關聯 寫入

graphqlapi*

CreateApiCache 授予在中建立 API 快取的權限 AppSync 寫入
CreateApiKey 准許建立唯一金鑰,您可以分配給執行 API 的用戶端 寫入
CreateDataSource 准許建立資料來源 寫入
CreateDomainName 授予在中建立自訂網域名稱的權限 AppSync 寫入
CreateFunction 准許建立新函數 寫入
CreateGraphqlApi 授予建立 GraphQL API (最上層 AppSync 資源) 的權限 寫入

aws:RequestTag/${TagKey}

aws:TagKeys

appsync:Visibility

iam:CreateServiceLinkedRole

CreateResolver 准許建立解析程式。解析程式會將傳入的請求轉換成資料來源可理解的格式,並將資料來源的回應轉換成 GraphQL 寫入
CreateType 准許建立類型 寫入
DeleteApiCache 授予刪除 API 緩存的權限 AppSync 寫入
DeleteApiKey 准許刪除 API 金鑰 寫入
DeleteDataSource 准許刪除資料來源 寫入
DeleteDomainName 授予刪除自訂網域名稱的權限 AppSync 寫入

domain*

DeleteFunction 准許刪除函數 寫入
DeleteGraphqlApi 准許刪除 GraphQL API。這也將清理該 API 下面的每個 AppSync 資源 寫入

graphqlapi*

aws:ResourceTag/${TagKey}

DeleteResolver 准許刪除解析程式 寫入
DeleteResourcePolicy [僅限許可] 准許移除資源政策 寫入
DeleteType 准許刪除類型 寫入
DisassociateApi 授予將 GraphQL API 分離至自訂網域名稱的權限 AppSync 寫入

domain*

DisassociateMergedGraphqlApi 准許從來源 API 識別的合併 API 中移除關聯的來源 API 寫入

mergedApiAssociation*

DisassociateSourceGraphqlApi 准許從來源 API 識別的合併 API 中移除關聯的合併 API 寫入

sourceApiAssociation*

EvaluateCode 准許使用執行時間和相關內容評估程式碼 讀取
EvaluateMappingTemplate 准許評估範本映射 讀取
FlushApiCache 授予刷新 API 緩存的權限 AppSync 寫入
GetApiAssociation 授予讀取自訂網域名稱-GraphQL API 關聯詳細資料的權限 AppSync 讀取

domain*

GetApiCache 授予讀取有關 API 緩存信息的權限 AppSync 讀取
GetDataSource 准許擷取資料來源 讀取
GetDataSourceIntrospection 准許擷取資料來源自我檢查 讀取
GetDomainName 授予讀取有關自訂網域名稱資訊的權限 AppSync 讀取

domain*

GetFunction 准許擷取函數 讀取
GetGraphqlApi 准許擷取 GraphQL API 讀取

graphqlapi*

aws:ResourceTag/${TagKey}

GetGraphqlApiEnvironmentVariables 授予擷取 GraphQL API 環境變數的權限 讀取
GetIntrospectionSchema 准許擷取 GraphQL API 的內部檢查結構描述 讀取
GetResolver 准許擷取解析程式 讀取
GetResourcePolicy [僅限許可] 准許讀取資源政策 讀取
GetSchemaCreationStatus 准許擷取結構描述建立操作的最新狀態 讀取
GetSourceApiAssociation 准許讀取有關合併 API 相關來源 API 的資訊 讀取

sourceApiAssociation*

GetType 准許擷取類型 讀取
GraphQL 准許將 GraphQL 查詢傳送至 GraphQL API 寫入

field*

graphqlapi*

ListApiKeys 准許列出指定 API 的 API 金鑰 列出
ListDataSources 准許列出指定 API 的資料來源 清單
ListDomainNames 授予列舉自訂網域名稱的權限 AppSync 清單
ListFunctions 准許列出指定 API 的功能 列出
ListGraphqlApis 准許列出 GraphQL API 列出
ListResolvers 准許列出指定 API 和類型的解析程式 列出
ListResolversByFunction 准許列出與特定函數相關聯的解析程式 清單
ListSourceApiAssociations 准許列出與指定合併 API 相關聯的來源 API 清單
ListTagsForResource 准許列出資源的標籤 讀取

graphqlapi

aws:ResourceTag/${TagKey}

ListTypes 准許列出指定 API 的類型 清單
ListTypesByAssociation 准許列出指定合併 API 和來源 API 關聯的類型 清單
PutGraphqlApiEnvironmentVariables 授予更新 GraphQL API 環境變數的權限 寫入
PutResourcePolicy [僅限許可] 准許設定資源政策 寫入
SetWebACL 准許設定 web ACL 寫入
SourceGraphQL [僅限許可] 准許將 GraphQL 查詢傳送至合併 API 之來源 API 寫入

field*

graphqlapi*

StartDataSourceIntrospection 准許自我檢查資料來源 寫入
StartSchemaCreation 准許將新結構描述新增至 GraphQL API。此操作是異步的- GetSchemaCreationStatus 可以顯示何時完成 寫入
StartSchemaMerge 准許對指定合併 API 和關聯來源 API 啟動結構描述合併 寫入

sourceApiAssociation*

TagResource 准許標記資源 標記

graphqlapi*

graphqlapi

aws:RequestTag/${TagKey}

aws:ResourceTag/${TagKey}

aws:TagKeys

UntagResource 准許取消標記資源 標記

graphqlapi*

graphqlapi

aws:TagKeys

UpdateApiCache 授予更新 API 快取的權限 AppSync 寫入
UpdateApiKey 准許更新指定 API 的 API 金鑰 寫入
UpdateDataSource 准許更新資料來源 寫入
UpdateDomainName 授予更新自訂網域名稱的權限 AppSync 寫入

domain*

UpdateFunction 准許更新現有函數 寫入
UpdateGraphqlApi 准許更新 GraphQL API 寫入

graphqlapi*

iam:CreateServiceLinkedRole

aws:ResourceTag/${TagKey}

UpdateResolver 准許更新解析程式 寫入
UpdateSourceApiAssociation 准許更新合併 API 來源 API 關聯 寫入

sourceApiAssociation*

UpdateType 准許更新類型 寫入

AWS AppSync 定義的資源類型

此服務會定義下列資源類型,並可用在 IAM 許可政策陳述式的 Resource 元素中。動作資料表中的每個動作都會指明可使用該動作指定的資源類型。資源類型也能定義您可以在政策中包含哪些條件索引鍵。這些索引鍵都會顯示在「資源類型」資料表的最後一欄。如需下表各欄的詳細資訊,請參閱資源類型資料表

資源類型 ARN 條件索引鍵
datasource arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/datasources/${DatasourceName}
domain arn:${Partition}:appsync:${Region}:${Account}:domainnames/${DomainName}
graphqlapi arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}

aws:ResourceTag/${TagKey}

field arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/types/${TypeName}/fields/${FieldName}
type arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/types/${TypeName}
function arn:${Partition}:appsync:${Region}:${Account}:apis/${GraphQLAPIId}/functions/${FunctionId}
sourceApiAssociation arn:${Partition}:appsync:${Region}:${Account}:apis/${MergedGraphQLAPIId}/sourceApiAssociations/${Associationid}
mergedApiAssociation arn:${Partition}:appsync:${Region}:${Account}:apis/${SourceGraphQLAPIId}/mergedApiAssociations/${Associationid}

AWS AppSync 的條件索引鍵

AWS AppSync 定義下列可用於 IAM 政策Condition元素的條件金鑰。您可以使用這些索引鍵來縮小套用政策陳述式的條件。如需下表各欄的詳細資訊,請參閱條件索引鍵資料表

若要檢視所有服務都可使用的全域條件索引鍵,請參閱可用全域條件索引鍵

條件索引鍵 描述 Type
appsync:Visibility 依 API 的可見性篩選存取權 字串
aws:RequestTag/${TagKey} 依請求中的標籤鍵值組篩選存取權 字串
aws:ResourceTag/${TagKey} 依連接到資源的標籤鍵值對篩選存取權 字串
aws:TagKeys 依請求中是否存在標籤索引鍵來篩選存取 ArrayOfString