

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

# AWS Transfer Family 標籤型政策範例
<a name="security_iam_tag-based-policy-examples"></a>

以下是如何根據標籤控制 AWS Transfer Family 資源存取的範例。

## 使用標籤控制對 AWS Transfer Family 資源的存取
<a name="tag-access-control"></a>

IAM 政策中的條件是您用來指定 AWS Transfer Family 資源許可的語法的一部分。您可以根據這些 AWS Transfer Family 資源上的標籤來控制對資源 （例如使用者、伺服器、角色和其他實體） 的存取。標籤均為金鑰值對。如需標記資源的詳細資訊，請參閱《》中的[標記 AWS 資源](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)*AWS 一般參考*。

在 中 AWS Transfer Family，資源可以有標籤，有些動作可以包含標籤。建立 IAM 政策時，可使用標籤條件索引鍵來控制以下項目：
+ 哪些使用者可以根據 AWS Transfer Family 資源擁有的標籤，對資源執行動作。
+ 可在動作請求中傳遞的標記。
+ 請求中是否可使用特定的標籤鍵。

透過使用標籤型存取控制，您可以套用比 API 層級更精細的控制。您也可以套用比使用資源型存取控制更多的動態控制。您可以建立 IAM 政策，根據請求中提供的標籤 （請求標籤） 來允許或拒絕 操作。您也可以根據正在操作的資源 （資源標籤） 上的標籤建立 IAM 政策。一般而言，資源標籤適用於已在資源上的標籤，當您將標籤新增至資源或從資源中移除標籤時，請求標籤適用於 。

如需標籤條件索引鍵的完整語法和語意，請參閱《*IAM 使用者指南*》中的[使用資源標籤控制 AWS 對資源的存取](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)。如需使用 API Gateway 指定 IAM 政策的詳細資訊，請參閱《[API Gateway 開發人員指南》中的使用 IAM 許可控制對 API 的存取](https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html)。 **

### 範例 1：根據資源標籤拒絕動作
<a name="transfer-deny-actions-resource-tag"></a>

您可以拒絕根據標籤對資源執行動作。如果使用者或伺服器資源以金鑰 和值 標記，則下列範例政策會拒絕 `DescribeServer`、、`TagResource``UntagResource``StartServer``StopServer`、 `stage` 和 `DescribeUser`操作`prod`。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "transfer:TagResource",
                "transfer:UntagResource",
                "transfer:StartServer",
                "transfer:StopServer",
                "transfer:DescribeServer",
                "transfer:DescribeUser"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/stage": "prod"
                }
            }
        }
    ]
}
```

### 範例 2：根據資源標籤允許動作
<a name="transfer-allow-actions-resource-tag"></a>

您可以允許根據標籤對資源執行動作。下列範例政策允許 `TagResource`、`UntagResource`、`DescribeServer`、、 和 `StartServer` `StopServer``DescribeUser`操作，如果使用者或伺服器資源以 金鑰`stage`和 值 標記`prod`。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "transfer:TagResource",
                "transfer:UntagResource",
                "transfer:StartServer",
                "transfer:StopServer",
                "transfer:DescribeServer",
                "transfer:DescribeUser"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/stage": "prod"
                }
            }
        }
    ]
}
```

### 範例 3：根據請求標籤拒絕建立使用者或伺服器
<a name="transfer-deny-server-creation-tag"></a>

下列範例政策包含兩個陳述式。如果標籤的成本中心索引鍵沒有值，則第一個陳述式會拒絕對所有資源執行 `CreateServer` 操作。

如果標籤的成本中心索引鍵包含除 1、2 或 3 以外的任何其他值，則第二個陳述式會拒絕`CreateServer`操作。

**注意**  
此政策允許建立或刪除資源，其中包含名為 的金鑰`costcenter`和 `1`、 `2`或 的值`3`。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        { 
            "Effect": "Deny",
            "Action": [
                "transfer:CreateServer"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "Null":  {
                    "aws:RequestTag/costcenter": "true"
                }
            }
        },
        {
            "Effect": "Deny",
            "Action": "transfer:CreateServer",
            "Resource": [
                "*"
            ],
            "Condition": {
                "ForAnyValue:StringNotEquals": {
                    "aws:RequestTag/costcenter": [
                        "1",
                        "2",
                        "3"
                    ]
                }
            }
        }           
    ]
}
```