Amazon DynamoDB 如何搭配 使用 IAM - Amazon DynamoDB

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

Amazon DynamoDB 如何搭配 使用 IAM

在您使用 IAM 管理 DynamoDB 的存取權之前,請先了解哪些IAM功能可與 DynamoDB 搭配使用。

若要全面了解 DynamoDB 和其他 AWS 服務如何與大多數IAM功能搭配使用,請參閱 IAM 使用者指南中的 AWS 服務IAM

適用於 DynamoDB 的以身分為基礎的政策

支援身分型政策:

以身分為基礎的政策是您可以連接到身分的JSON許可政策文件,例如IAM使用者、使用者群組或角色。這些政策可控制身分在何種條件下能對哪些資源執行哪些動作。若要了解如何建立身分型政策,請參閱IAM《 使用者指南》中的使用客戶受管政策定義自訂IAM許可

使用 IAM 身分型政策,您可以指定允許或拒絕的動作和資源,以及在何種條件下允許或拒絕動作。您無法在身分型政策中指定主體,因為這會套用至連接的使用者或角色。若要了解您可以在JSON政策中使用的所有元素,請參閱 IAM 使用者指南中的IAMJSON政策元素參考

DynamoDB 以身分為基礎的政策範例

若要檢視 DynamoDB 以身分為基礎的政策範例,請參閱 Amazon DynamoDB 以身分為基礎的政策範例

DynamoDB 內以資源為基礎的政策

支援資源型政策:

資源型政策是您連接至資源JSON的政策文件。資源型政策的範例包括IAM角色信任政策和 Amazon S3 儲存貯體政策。在支援資源型政策的服務中,服務管理員可以使用它們來控制對特定資源的存取權限。對於附加政策的資源,政策會定義指定的主體可以對該資源執行的動作以及在何種條件下執行的動作。您必須在資源型政策中指定主體。委託人可以包括帳戶、使用者、角色、聯合身分使用者或 AWS 服務。

若要啟用跨帳戶存取,您可以指定在其他帳戶內的所有帳戶或 IAM 實體,做為以資源為基礎政策的委託人。新增跨帳戶主體至資源型政策,只是建立信任關係的一半。當委託人和資源位於不同的位置時 AWS 帳戶,信任帳戶中的IAM管理員也必須授予委託人實體 (使用者或角色) 存取資源的許可。其透過將身分型政策連接到實體來授與許可。不過,如果資源型政策會為相同帳戶中的主體授予存取,這時就不需要額外的身分型政策。如需詳細資訊,請參閱IAM《 使用者指南中的跨帳戶資源存取IAM

DynamoDB 的政策動作

支援政策動作:

管理員可以使用 AWS JSON政策來指定誰可以存取內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

JSON 政策的 Action元素說明您可以用來允許或拒絕政策中存取的動作。政策動作通常具有與相關聯 AWS API操作相同的名稱。有一些例外狀況,例如沒有相符API操作的僅限許可動作。也有一些作業需要政策中的多個動作。這些額外的動作稱為相依動作

政策會使用動作來授予執行相關聯動作的許可。

若要查看 DynamoDB 動作的清單,請參閱服務授權參考中的 Amazon DynamoDB 定義的動作

DynamoDB 中的政策動作會在動作之前使用以下字首:

aws

若要在單一陳述式中指定多個動作,請用逗號分隔。

"Action": [ "aws:action1", "aws:action2" ]

若要檢視 DynamoDB 以身分為基礎的政策範例,請參閱 Amazon DynamoDB 以身分為基礎的政策範例

DynamoDB 的政策資源

支援政策資源:

管理員可以使用 AWS JSON政策來指定誰可以存取內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

Resource JSON 政策元素會指定 動作套用的物件。陳述式必須包含 ResourceNotResource 元素。最佳實務是使用其 Amazon Resource Name (ARN) 指定資源。您可以針對支援特定資源類型的動作 (稱為資源層級許可) 來這麼做。

對於不支援資源層級許可的動作 (例如列出操作),請使用萬用字元 (*) 來表示陳述式適用於所有資源。

"Resource": "*"

若要查看 DynamoDB 資源類型及其 的清單ARNs,請參閱服務授權參考中的 Amazon DynamoDB 定義的資源。若要了解您可以使用哪些動作來指定每個資源ARN的 ,請參閱 Amazon DynamoDB 定義的動作

若要檢視 DynamoDB 以身分為基礎的政策範例,請參閱 Amazon DynamoDB 以身分為基礎的政策範例

DynamoDB 的政策條件索引鍵

支援服務特定政策條件金鑰:

管理員可以使用 AWS JSON政策來指定誰可以存取內容。也就是說,哪個主體在什麼條件下可以對什麼資源執行哪些動作

Condition 元素 (或 Condition 區塊) 可讓您指定使陳述式生效的條件。Condition 元素是選用項目。您可以建立使用條件運算子的條件運算式 (例如等於或小於),來比對政策中的條件和請求中的值。

若您在陳述式中指定多個 Condition 元素,或是在單一 Condition 元素中指定多個索引鍵, AWS 會使用邏輯 AND 操作評估他們。如果您為單一條件索引鍵指定多個值, 會使用邏輯OR操作 AWS 評估條件。必須符合所有條件,才會授與陳述式的許可。

您也可以在指定條件時使用預留位置變數。例如,您可以只在使用者使用其 IAM 使用者名稱標記時,將存取資源的許可授予該 IAM 使用者。如需詳細資訊,請參閱IAM《 使用者指南》中的IAM政策元素:變數和標籤

AWS 支援全域條件金鑰和服務特定的條件金鑰。若要查看所有 AWS 全域條件索引鍵,請參閱 IAM 使用者指南中的AWS 全域條件內容索引鍵

如要查看 DynamoDB 條件索引鍵的清單,請參閱《服務授權參考》中的 Amazon DynamoDB 的條件索引鍵。若要了解您可以搭配哪些動作和資源使用條件索引鍵,請參閱 Amazon DynamoDB 定義的動作

若要檢視 DynamoDB 以身分為基礎的政策範例,請參閱 Amazon DynamoDB 以身分為基礎的政策範例

DynamoDB 中的存取控制清單 (ACLs)

支援 ACLs:

存取控制清單 (ACLs) 控制哪些主體 (帳戶成員、使用者或角色) 具有存取資源的許可。 ACLs 類似於以資源為基礎的政策,雖然它們不使用JSON政策文件格式。

使用 DynamoDB 的屬性型存取控制 (ABAC)

支援 ABAC(政策中的標籤):

屬性型存取控制 (ABAC) 是一種根據屬性定義許可的授權策略。在 中 AWS,這些屬性稱為標籤。您可以將標籤連接到IAM實體 (使用者或角色) 和許多 AWS 資源。標記實體和資源是 的第一步ABAC。然後,您可以設計ABAC政策,在主體的標籤符合他們嘗試存取之資源上的標籤時允許操作。

ABAC 有助於快速成長的環境,並有助於處理政策管理變得繁瑣的情況。

如需根據標籤控制存取,請使用 aws:ResourceTag/key-nameaws:RequestTag/key-nameaws:TagKeys 條件索引鍵,在政策的條件元素中,提供標籤資訊。

如果服務支援每個資源類型的全部三個條件金鑰,則對該服務而言,值為 Yes。如果服務僅支援某些資源類型的全部三個條件金鑰,則值為 Partial

如需 的詳細資訊ABAC,請參閱IAM《 使用者指南》中的使用ABAC授權定義許可。若要檢視教學課程,其中包含設定 的步驟ABAC,請參閱 IAM 使用者指南中的使用屬性型存取控制 (ABAC)

將臨時憑證與 DynamoDB 搭配使用

支援臨時憑證:

當您使用臨時登入資料登入時,有些 AWS 服務 無法使用。如需詳細資訊,包括哪些 AWS 服務 使用臨時登入資料,請參閱IAM《 使用者指南》中的AWS 服務 使用 IAM

如果您 AWS Management Console 使用使用者名稱和密碼以外的任何方法登入 ,則會使用臨時登入資料。例如,當您 AWS 使用公司的單一登入 (SSO) 連結存取 時,該程序會自動建立臨時登入資料。當您以使用者身分登入主控台,然後切換角色時,也會自動建立臨時憑證。如需切換角色的詳細資訊,請參閱IAM《 使用者指南》中的從使用者切換到IAM角色 (主控台)

您可以使用 AWS CLI 或 手動建立臨時登入資料 AWS API。然後,您可以使用這些臨時登入資料來存取 AWS。 AWS 建議您動態產生臨時登入資料,而不是使用長期存取金鑰。如需詳細資訊,請參閱 中的臨時安全登入IAM資料。

DynamoDB 的跨服務主體許可

支援轉送存取工作階段 (FAS):

當您使用 IAM 使用者或角色在 中執行動作時 AWS,您會被視為委託人。當您使用某些 服務時,您可以執行 動作,然後啟動不同服務中的另一個動作。 FAS會使用呼叫 的委託人許可 AWS 服務,並結合 對下游服務 AWS 服務 提出請求的請求。FAS只有在服務收到請求時,才會提出請求,要求 與其他 AWS 服務 或 資源的互動完成。在此情況下,您必須具有執行這兩個動作的許可。如需提出FAS請求時的政策詳細資訊,請參閱轉送存取工作階段

DynamoDB 的服務角色

支援服務角色:

服務角色是IAM服務擔任的角色,可代表您執行動作。IAM 管理員可以從 IAM 內建立、修改和刪除服務角色。如需詳細資訊,請參閱IAM《 使用者指南》中的建立角色以將許可委派給 AWS 服務

警告

變更服務角色的許可有可能會讓 DynamoDB 功能出現故障。只有 DynamoDB 提供指引時,才能編輯服務角色。

DynamoDB 的服務連結角色

支援服務連結角色:

服務連結角色是連結至 的服務角色類型 AWS 服務。服務可以擔任代表您執行動作的角色。服務連結角色會出現在您的 中 AWS 帳戶 ,並由服務擁有。IAM 管理員可以檢視,但不能編輯服務連結角色的許可。

如需建立或管理服務連結角色的詳細資訊,請參閱AWS 使用 的服務IAM。在表格中尋找服務,其中包含服務連結角色欄中的 Yes。選擇連結,以檢視該服務的服務連結角色文件。