

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

# 使用屬性型存取控制 (ABAC) 控制對秘密的存取
<a name="auth-and-access-abac"></a>

屬性型存取控制 (ABAC) 是一種授權策略，可根據使用者、資料或環境的屬性或特性定義許可，例如部門、業務單位或可能影響授權結果的其他因素。在 中 AWS，這些屬性稱為*標籤*。

使用標籤控制許可，在成長快速的環境中相當有幫助，也能在政策管理變得繁瑣時提供協助。ABAC 規則會在執行時間動態評估，這表示使用者對應用程式和資料的存取，以及允許操作的類型會根據政策中的內容因素自動變更。例如，如果使用者變更部門，則會自動調整存取權，而不需要更新許可或請求新角色。如需詳細資訊，請參閱：[什麼是 ABAC AWS？](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)、[根據標籤定義存取秘密的許可，](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)以及[使用 ABAC 搭配 IAM Identity Center 擴展 Secrets Manager 的授權需求](https://aws.amazon.com/blogs/security/scale-your-authorization-needs-for-secrets-manager-using-abac-with-iam-identity-center/)。

## 範例：允許身分存取具有特定標籤的秘密
<a name="tag-secrets-abac"></a>

下列政策允許`DescribeSecret`存取具有金鑰 *ServerName* 和值 *ServerABC* 之標籤的秘密。如果您將此政策連接至身分，則該身分具有帳戶中具有該標籤之任何秘密的許可。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
  "Effect": "Allow",
  "Action": "secretsmanager:DescribeSecret",
  "Resource": "*",
  "Condition": {
    "StringEquals": {
      "secretsmanager:ResourceTag/ServerName": "ServerABC"
      }
    }
  }
}
```

------

## 範例：僅允許存取具有符合秘密標籤之標籤的身分
<a name="auth-and-access_tags2"></a>

下列政策允許帳戶中的任何身分`GetSecretValue`存取帳戶中任何秘密，其中身分*`AccessProject`*標籤的值與秘密的*`AccessProject`*標籤相同。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
  "Effect": "Allow",
  "Principal": {
    "AWS": "123456789012"
  },
  "Condition": {
    "StringEquals": {
      "aws:ResourceTag/AccessProject": "${ aws:PrincipalTag/AccessProject }"
    }
  },
  "Action": "secretsmanager:GetSecretValue",
  "Resource": "*"
  }
}
```

------