使用屬性進行存取控制 - Amazon Cognito

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

使用屬性進行存取控制

存取控制的屬性基於屬性型存取控制 (ABAC) 的 Amazon Cognito 身份集區實施。您可以使用 IAM 政策,根據使用者屬性,控制透過 Amazon Cognito 身分集區存取 AWS 資源。這些屬性可以向社交和公司身分提供者取得。您可以將供應商存取權杖和 ID 權杖或 SAML 聲明中的屬性,映射至可在 IAM 許可政策中參照的標籤。

您可以選擇預設映射 (default mappings),或在 Amazon Cognito 身分集區中建立自己的自訂映射 (custom mappings)。預設對應可讓您根據固定的使用者屬性集,撰寫 IAM 政策。自訂對應可讓您選取 IAM 許可政策中參照的自訂使用者屬性集。Amazon Cognito 主控台的 Attribute names (屬性名稱) 映射至 Tag key for principal (委託人的標籤索引鍵),這些標籤是 IAM 許可政策中參照的標籤。

舉例來說,假設您有具免費和付費會員資格的媒體串流服務。您可以將媒體檔案存放在 Amazon S3 中,並加上免費或付費標籤。您可以使用存取控制屬性,根據使用者成員資格等級 (屬於使用者描述檔),允許存取免費和付費內容。您可以將成員資格屬性對應至標籤索引鍵,將委託人傳遞至 IAM 許可政策。如此一來,您就可以建立單一許可政策,並根據成員資格等級值和內容檔案的標籤,有條件地允許存取付費內容。

使用屬性控制存取權限有多個好處:

  • 使用存取控制屬性時,可提升管理許可的效率。您可以建立使用使用者屬性的基本許可政策,而不是為不同任務函數建立多個政策。

  • 每當為應用程式新增或移除資源或使用者時,您就不必更新政策。許可政策只會將存取權限授與具相符使用者屬性的使用者。例如,您可能需要根據使用者的職稱,控制特定 S3 儲存貯體的存取權限。在這種情況下,您可以建立許可政策,只允許已定義職稱內的使用者存取這些檔案。如需詳細資訊,請參閱 IAM 教學課程:針對 ABAC 使用 SAML 工作階段標記

  • 屬性可以當作委託人標籤,傳遞至根據這些屬性值允許或拒絕許可的政策。