搭配 IAM 政策使用標籤 - AWS IoT Core

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

搭配 IAM 政策使用標籤

您可以在用於 AWS IoT API 動作IAM的政策中套用標籤型資源層級許可。這可讓您更有效地控制使用者可以建立、修改或使用哪些資源。您可以在IAM政策中使用 Condition元素 (也稱為 Condition區塊) 搭配下列條件內容索引鍵和值,以根據資源的標籤來控制使用者存取 (許可):

  • 使用 aws:ResourceTag/tag-key: tag-value 以允許或拒絕資源上具有特定標籤的使用者動作。

  • 使用 aws:RequestTag/tag-key: tag-value 來要求在API請求建立或修改允許標籤的資源時,使用 (或未使用) 特定標籤。

  • 使用 來aws:TagKeys: [tag-key, ...]要求在API請求建立或修改允許標籤的資源時,使用 (或未使用) 特定的一組標籤金鑰。

注意

IAM 政策中的條件內容索引鍵和值僅適用於能夠標記資源的識別符是必要參數 AWS IoT 的動作。例如,根據條件內容索引鍵和值,DescribeEndpoint不允許或拒絕使用 ,因為在此請求中未參考任何可標記的資源 (群組、物件類型、主題規則、任務或安全設定檔)。如需可標記 AWS IoT 的資源及其支援的條件索引鍵的詳細資訊,請參閱 的動作、資源和條件索引鍵 AWS IoT

如需使用標籤的詳細資訊,請參閱《AWS Identity and Access Management 使用者指南》中的使用標籤控制。該指南的政策IAMJSON參考區段具有 中JSON政策的元素、變數和評估邏輯的詳細語法、描述和範例IAM。

以下範例政策會針對 ThingGroup 動作套用兩個以標籤為基礎的限制。此政策限制IAM的使用者:

  • 無法建立包含 "env=prod" 標籤的物件群組 (在範例中,請參閱行 "aws:RequestTag/env" : "prod")。

  • 無法修改或存取具有現有標籤 "env = prod" 的物件群組 (在範例中,請參閱此行 "aws:ResourceTag/env" : "prod")。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "iot:CreateThingGroup", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/env": "prod" } } }, { "Effect": "Deny", "Action": [ "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:UpdateThingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/env": "prod" } } }, { "Effect": "Allow", "Action": [ "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:UpdateThingGroup" ], "Resource": "*" } ] }

您也可以透過將其包含在清單中,為特定標籤金鑰指定多個標籤值,如下所示:

"StringEquals" : { "aws:ResourceTag/env" : ["dev", "test"] }
注意

如果您允許或拒絕使用者根據標籤存取資源,請務必考慮明確拒絕使用者將這些標籤新增至相同資源或從中移除的能力。否則,使用者可能透過修改標籤來避開您的限制,並取得資源的存取。