

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

# 標籤型存取控制的政策
<a name="security-iam-TBAC"></a>

您可以在身分型政策中使用條件，根據標籤控制對應用程式和任務執行的存取。

下列範例示範使用 EMR Serverless 條件索引鍵的條件運算子的不同案例和方法。這些 IAM 政策陳述式僅作示範用途，不應用於生產環境。有多種方法可以結合政策陳述式，以根據您的需求授予和拒絕許可。如需規劃和測試 IAM 政策的詳細資訊，請參閱 [IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)。

**重要**  
標記動作的明確拒絕許可是項重要的考量條件。這可防止使用者標記資源並將您無意授予的許可授予給他們。如果未拒絕資源的標記動作，使用者可以修改標籤並規避標籤型政策的意圖。如需拒絕標記動作的政策範例，請參閱 [拒絕新增和移除標籤的存取權](#security-iam-TBAC-deny)。

以下範例示範用於控制 EMR Serverless 應用程式所允許之動作的身分型許可政策。

## 僅在具有特定標籤值的資源上允許動作
<a name="security-iam-TBAC-allow"></a>

在下列政策範例中，`StringEquals`條件運算子會嘗試`dev`符合標籤部門的值。如果標籤部門尚未新增至應用程式，或不包含值 `dev`，則政策不適用，且此政策不允許這些動作。如果沒有其他政策陳述式允許動作，則使用者只能使用具有此值之此標籤的應用程式。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "emr-serverless:GetApplication"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/department": "dev"
        }
      },
      "Sid": "AllowEMRSERVERLESSGetapplication"
    }
  ]
}
```

------

您也可以使用條件運算子來指定多個標籤值。例如，若要在`department`標籤包含 值`dev`或 的應用程式上允許動作`test`，請將先前範例中的條件區塊取代為下列項目。

```
"Condition": {
        "StringEquals": {
          "emr-serverless:ResourceTag/department": ["dev", "test"]
        }
      }
```

## 建立資源時需要進行標記
<a name="security-iam-TBAC-require"></a>

在下面的範例中，建立應用程式時需要套用標籤。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "emr-serverless:CreateApplication"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestedRegion": "us-east-1"
        }
      },
      "Sid": "AllowEMRSERVERLESSCreateapplication"
    }
  ]
}
```

------

下列政策陳述式僅允許使用者在應用程式具有標籤時建立應用程式，該`department`標籤可包含任何值。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "emr-serverless:CreateApplication"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEquals": {
          "aws:RequestedRegion": ["us-east-1", "us-west-2"]
        }
      },
      "Sid": "AllowEMRSERVERLESSCreateapplication"
    }
  ]
}
```

------

## 拒絕新增和移除標籤的存取權
<a name="security-iam-TBAC-deny"></a>

此政策可防止使用者在具有值不是 之標籤的 EMR Serverless 應用程式上新增或移除`department`標籤`dev`。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "emr-serverless:TagResource",
        "emr-serverless:UntagResource"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringNotEquals": {
          "aws:PrincipalTag/department": "dev"
        }
      },
      "Sid": "AllowEMRSERVERLESSTagresource"
    }
  ]
}
```

------