本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon DynamoDB 動作、資源和條件索引鍵
Amazon DynamoDB (服務字首:dynamodb) 提供可用於 IAM 許可政策的下列服務特定資源、動作和條件內容金鑰。
參考資料:
-
了解如何設定此服務。
-
檢視可供此服務使用的 API 操作清單。
-
了解如何使用 IAM 許可政策來保護此服務及其資源。
Amazon DynamoDB 定義的動作
您可在 IAM 政策陳述式的 Action 元素中指定以下動作。使用政策來授予在 AWS中執行操作的許可。在政策中使用動作時,通常會允許或拒絕存取相同名稱的 API 操作或 CLI 命令。不過,在某些情況下,單一動作可控制對多個操作的存取。或者,某些操作需要多種不同的動作。
動作資料表的存取層級欄說明動作的分類方式 (列出、讀取、許可管理或標記)。此分類可協助您了解在政策中使用某動作時,該動作授予您的存取層級。如需存取層級的詳細資訊,請參閱政策摘要中的存取層級。
「動作」資料表的資源類型欄會指出每個動作是否支援資源層級的許可。如果此欄沒有值,您必須在政策陳述式的 Resource 元素中指定政策適用的所有資源 ("*")。如果資料欄包含資源類型,則您可以在具有該動作的陳述式中指定該類型的 ARN。如果動作具有一或多個必要資源,呼叫者必須具有對這些資源使用動作的許可。表格中的必要資源會以星號 (*) 表示。如果您使用 IAM 政策中的 Resource 元素限制資源存取,則每種必要的資源類型必須要有 ARN 或模式。某些動作支援多種資源類型。如果資源類型是選用 (未顯示為必要),則您可以選擇使用其中一種選用資源類型。
「動作」資料表的條件索引鍵欄包含您可以在政策陳述式的 Condition 元素中指定的索引鍵。如需有關與服務資源相關聯之條件索引鍵的詳細資訊,請參閱「資源類型」資料表的條件索引鍵欄。
動作資料表的相依動作欄會顯示成功呼叫動作所需的其他許可。除了 動作本身的許可之外,還可能需要這些許可。當動作指定相依動作時,這些相依性可能適用於針對該動作定義的其他資源,而不只是資料表中列出的第一個資源。
注意
資源條件索引鍵會列在資源類型資料表中。您可以在「動作」資料表的資源類型 (*必填) 欄中找到適用於動作的資源類型連結。「資源類型」資料表中的資源類型包括條件索引鍵欄,其中包含套用至「動作」資料表中動作的資源條件索引鍵。
如需下表各欄的詳細資訊,請參閱動作資料表。
| 動作 | 描述 | 存取層級 | 資源類型 (*必填項目) | 條件索引鍵 | 相依動作 |
|---|---|---|---|---|---|
| BatchGetItem | 准許從一或多個資料表傳回一或多個項目的屬性 | 閱讀 | |||
| BatchWriteItem | 准許在一或多個資料表中放置或刪除多個項目 | 寫入 | |||
| ConditionCheckItem | 准許 ConditionCheckItem 操作使用指定的主索引鍵來檢查項目是否有一組屬性 | 閱讀 | |||
| CreateBackup | 准許為現有的資料表建立備份 | 寫入 | |||
| CreateGlobalTable | 准許從現有資料表建立全域資料表 | 寫入 | |||
| CreateGlobalTableWitness [僅限許可] | 准許將見證新增至全域資料表 | 寫入 | |||
| CreateTable | 准許 CreateTable 操作將新的資料表新增到帳戶 | 寫入 | |||
| CreateTableReplica [僅限許可] | 准許新增複本資料表 | 寫入 | |||
| DeleteBackup | 准許刪除資料表的現有備份 | 寫入 | |||
| DeleteGlobalTableWitness [僅限許可] | 准許從全域資料表中移除見證 | 寫入 | |||
| DeleteItem | 准許透過主索引鍵刪除資料表中的單一項目 | 寫入 | |||
| DeleteResourcePolicy | 准許刪除連接至資源的資源型政策 | 許可管理 | |||
| DeleteTable | 准許 DeleteTable 操作刪除資料表及其所有項目 | 寫入 | |||
| DeleteTableReplica [僅限許可] | 准許刪除複本資料表及其所有項目 | 寫入 | |||
| DescribeBackup | 准許描述資料表的現有備份 | 閱讀 | |||
| DescribeContinuousBackups | 准許在指定的資料表檢查備份還原設定狀態 | 閱讀 | |||
| DescribeContributorInsights | 准許描述特定資料表或全域次要索引的參與者洞察狀態和相關詳細資訊 | 閱讀 | |||
| DescribeEndpoints | 准許傳回區域端點的相關資訊 | 閱讀 | |||
| DescribeExport | 准許描述資料表的現有匯出 | 閱讀 | |||
| DescribeGlobalTable | 准許傳回指定全域資料表的相關資訊 | 閱讀 | |||
| DescribeGlobalTableSettings | 准許傳回指定全域資料表的設定資訊 | 閱讀 | |||
| DescribeImport | 准許描述現有的匯入 | 閱讀 | |||
| DescribeKinesisStreamingDestination | 准許授權描述 Kinesis 串流狀態和指定資料表的相關詳細資訊 | 閱讀 | |||
| DescribeLimits | 准許傳回 AWS 帳戶 區域中 的目前佈建容量限制,包括整個區域和您在該區域中建立的任何一個 DynamoDB 資料表 | 閱讀 | |||
| DescribeReservedCapacity [僅限許可] | 准許描述一或多個購買的預留容量 | 閱讀 | |||
| DescribeReservedCapacityOfferings [僅限許可] | 准許描述可供購買的預留容量產品 | 閱讀 | |||
| DescribeStream | 傳回串流相關資訊,包含目前串流狀態,其 Amazon Resource Name (ARN)、構成的碎片數量,以及其對應的 DynamoDB 資料表 | 閱讀 | |||
| DescribeTable | 准許傳回資料表的相關資訊 | 閱讀 | |||
| DescribeTableReplicaAutoScaling | 准許描述全域資料表所有複本的自動擴展設定 | 閱讀 | |||
| DescribeTimeToLive | 准許在指定資料表提供存留時間 (TTL) 的狀態描述 | 閱讀 | |||
| DisableKinesisStreamingDestination | 准許授權停止從 DynamoDB 資料表複寫到 Kinesis 資料串流 | 寫入 | |||
| EnableKinesisStreamingDestination | 准許授權在啟用工作流程期間選擇的時間戳記開始將資料表資料複寫到指定 Kinesis 資料串流 | 寫入 | |||
| ExportTableToPointInTime | 准許啟動從 DynamoDB 資料表到 S3 的匯出 | 寫入 | |||
| GetAbacStatus [僅限許可] | 准許檢視帳戶的屬性型存取控制狀態 | 閱讀 | |||
| GetItem | 准許 GetItem 操作會為具有指定主索引鍵的項目傳回一組屬性 | 閱讀 | |||
| GetRecords | 准許從指定碎片擷取串流記錄 | 閱讀 | |||
| GetResourcePolicy | 准許檢視資源的資源型政策 | 閱讀 | |||
| GetShardIterator | 准許傳回碎片迭代器 | 閱讀 | |||
| ImportTable | 准許啟動從 S3 匯入至 DynamoDB 資料表 | 寫入 | |||
| ListBackups | 准許列出與帳戶和端點相關聯的備份 | 列出 | |||
| ListContributorInsights | 准許列出與目前帳戶和端點相關聯的所有資料表和全域次要索引的 ContributorInsightsSummary | 列出 | |||
| ListExports | 准許列出與帳戶和端點相關聯的匯出 | 列出 | |||
| ListGlobalTables | 准許列出在指定區域擁有複本的所有全域資料表 | 清單 | |||
| ListImports | 准許列出與帳戶和端點相關聯的匯入 | 清單 | |||
| ListStreams | 准許傳回與目前帳戶及端點相關聯的串流 ARN 陣列 | 閱讀 | |||
| ListTables | 准許傳回與目前帳戶及端點相關聯的資料表名稱陣列 | 列出 | |||
| ListTagsOfResource | 准許列出 Amazon DynamoDB 資源上所有標籤 | 閱讀 | |||
| PartiQLDelete | 准許透過主索引鍵刪除表格中的單個項目 | 寫入 | |||
| PartiQLInsert | 准許在表格中不存在具有相同主索引鍵的項目時,建立新的項目 | 寫入 | |||
| PartiQLSelect | 准許從表格或索引讀取項目的一組屬性 | 讀取 | |||
| PartiQLUpdate | 准許編輯現有項目的屬性 | 寫入 | |||
| PurchaseReservedCapacityOfferings [僅限許可] | 准許購買預留容量,與您的帳戶搭配使用 | 寫入 | |||
| PutItem | 准許建立新項目,或以新項目取代舊項目 | 寫入 | |||
| PutResourcePolicy | 准許將資源型政策連接至資源 | 許可管理 | |||
| Query | 准許使用資料表的主索引鍵或次要索引,直接從資料表或索引存取項目 | 閱讀 | |||
| RestoreTableFromAwsBackup [僅限許可] | 准許從 AWS Backup 上的復原點建立新的資料表 | 寫入 | |||
| RestoreTableFromBackup | 准許從現有備份建立新資料表 | 寫入 |
dynamodb:BatchWriteItem dynamodb:DeleteItem dynamodb:GetItem dynamodb:PutItem dynamodb:Query dynamodb:Scan dynamodb:UpdateItem |
||
| RestoreTableToPointInTime | 准許將資料表還原至特定時間點 | 寫入 |
dynamodb:BatchWriteItem dynamodb:DeleteItem dynamodb:GetItem dynamodb:PutItem dynamodb:Query dynamodb:Scan dynamodb:UpdateItem |
||
| Scan | 准許存取資料表中的每個項目或次要索引,以傳回一或多個項目和項目屬性 | 閱讀 | |||
| StartAwsBackupJob [僅限許可] | 准許在啟用進階功能的 AWS Backup 上建立備份 | 寫入 | |||
| TagResource | 准許將一組標籤與 Amazon DynamoDB 資源建立關聯 | 標記 | |||
| UntagResource | 准許從 Amazon DynamoDB 資源移除標籤關聯 | 標記 | |||
| UpdateAbacStatus [僅限許可] | 准許更新帳戶的屬性型存取控制狀態 | 許可管理 | |||
| UpdateContinuousBackups | 准許啟用或停用連續備份 | 寫入 | |||
| UpdateContributorInsights | 准許更新特定資料表或全域次要索引的參與者洞察狀態 | 寫入 | |||
| UpdateGlobalTable | 准許在指定的全域資料表新增或移除複本 | 寫入 | |||
| UpdateGlobalTableSettings | 准許更新指定全域資料表的設定 | 寫入 | |||
| UpdateGlobalTableVersion [僅限許可] | 准許更新指定全域資料表的版本 | 寫入 | |||
| UpdateItem | 准許編輯現有項目的屬性,或是在新項目尚未存在時,將新項目加入到資料表 | 寫入 | |||
| UpdateKinesisStreamingDestination | 准許更新指定 Kinesis 資料串流的資料複寫組態 | 寫入 | |||
| UpdateTable | 准許修改佈建輸送量設定、全域次要索引,或是指定資料表的 DynamoDB Streams 設定 | 寫入 | |||
| UpdateTableReplicaAutoScaling | 准許更新複本列表的自動擴展設定 | 寫入 | |||
| UpdateTimeToLive | 准許啟用或停用指定資料表的 TTL | 寫入 |
Amazon DynamoDB 定義的資源類型
此服務會定義下列資源類型,並可用在 IAM 許可政策陳述式的 Resource 元素中。動作表格中的每個動作都代表可使用該動作指定的資源類型。資源類型也能定義您可以在政策中包含哪些條件索引鍵。這些索引鍵都會顯示在「資源類型」資料表的最後一欄。如需下表各欄的詳細資訊,請參閱資源類型資料表。
| 資源類型 | ARN | 條件索引鍵 |
|---|---|---|
| index |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/index/${IndexName}
|
|
| stream |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/stream/${StreamLabel}
|
|
| table |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}
|
|
| backup |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/backup/${BackupName}
|
|
| export |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/export/${ExportName}
|
|
| global-table |
arn:${Partition}:dynamodb::${Account}:global-table/${GlobalTableName}
|
|
| import |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/import/${ImportName}
|
Amazon DynamoDB 的條件索引鍵
Amazon DynamoDB 會定義下列條件金鑰,可用於 IAM 政策的 Condition 元素。您可以使用這些索引鍵來縮小套用政策陳述式的條件。如需下表各欄的詳細資訊,請參閱條件索引鍵表。
若要檢視所有 服務可用的全域條件索引鍵,請參閱AWS 全域條件內容索引鍵。
注意
如需關於如何透過 IAM 政策使用內容金要來強化 DynamoDB 存取,請參閱 Amazon DynamoDB 開發人員指南 的 使用 IAM 政策金鑰以強化精細存取控制。
| 條件索引鍵 | 描述 | 類型 |
|---|---|---|
| aws:RequestTag/${TagKey} | 依要求中傳遞的標籤來篩選存取權 | 字串 |
| aws:ResourceTag/${TagKey} | 依與資源關聯的標籤來篩選存取權 | 字串 |
| aws:TagKeys | 依要求中傳遞的標籤索引鍵來篩選存取權 | ArrayOfString |
| dynamodb:Attributes | 依資料表的屬性 (欄位或資料欄) 名稱篩選存取權 | ArrayOfString |
| dynamodb:EnclosingOperation | 透過封鎖 Transaction API 呼叫並允許非 Transaction API 呼叫,來篩選存取權 | String |
| dynamodb:FullTableScan | 透過封鎖完整資料表掃描來篩選存取權 | Bool |
| dynamodb:LeadingKeys | 依資料表的分區索引鍵篩選存取權 | ArrayOfString |
| dynamodb:ReturnConsumedCapacity | 依請求中的 ReturnConsumedCapacity 參數篩選存取權。包含「TOTAL」或「NONE」 | String |
| dynamodb:ReturnValues | 依請求中的 ReturnValues 參數篩選存取權。包含以下其中一項:「ALL_OLD」、「UPDATED_OLD」、「ALL_NEW」、「UPDATED_NEW」或「NONE」 | String |
| dynamodb:Select | 依 Query 或 Scan 請求的 Select 參數篩選存取權 | String |