

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

# 使用 Aurora DSQL 中的資源型政策封鎖公開存取
<a name="rbp-block-public-access"></a>

封鎖公開存取 (BPA) 是一種功能，可識別和防止連接以資源為基礎的政策，以授予您 AWS 帳戶間 Aurora DSQL 叢集的公開存取權。使用 BPA，您可以防止公開存取您的 Aurora DSQL 資源。BPA 會在建立或修改資源型政策期間執行檢查，並協助改善 Aurora DSQL 的安全狀態。

BPA 會使用[自動推理](https://aws.amazon.com/what-is/automated-reasoning/)技術分析資源型政策授予的存取權，若在管理政策時偵測到此類權限，系統會發出警示通知。分析會驗證所有以資源為基礎的政策陳述、動作，以及您政策中所使用的條件金鑰集合的存取權限。

**重要**  
BPA 可防止透過直接連接到叢集等 Aurora DSQL 資源的資源型政策授予公開存取，以協助保護您的資源。除了使用 BPA 外，請仔細檢查下列政策，確認這些政策未授予公開存取權：  
連接到相關聯 AWS 主體的身分型政策 （例如 IAM 角色）
連接至相關聯 AWS 資源的資源型政策 （例如 AWS ，Key Management Service (KMS) 金鑰）

您必須確保[主體](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)不包含 `*` 項目，或由指定的條件金鑰之一限制主體對資源的存取。如果以資源為基礎的政策跨 AWS 帳戶授予對叢集的公有存取權，Aurora DSQL 會阻止您建立或修改政策，直到政策中的規格更正並視為非公有。

您可以在 `Principal` 區塊內指定一個或多個主體，將政策設為非公開。下列資源型政策範例透過指定兩個主體來阻止公開存取。

```
{
  "Effect": "Allow",
  "Principal": {
    "AWS": [
      "123456789012",
      "111122223333"
    ]
  },
  "Action": "dsql:*",
  "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id"
}
```

指定特定條件金鑰以限制存取的政策，也不會被視為公開。除了評估資源型政策中指定的主體外，下列[受信任條件金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)也用於完成非公開存取的政策評估。
+ `aws:PrincipalAccount`
+ `aws:PrincipalArn`
+ `aws:PrincipalOrgID`
+ `aws:PrincipalOrgPaths`
+ `aws:SourceAccount`
+ `aws:SourceArn`
+ `aws:SourceVpc`
+ `aws:SourceVpce`
+ `aws:UserId`
+ `aws:PrincipalServiceName`
+ `aws:PrincipalServiceNamesList`
+ `aws:PrincipalIsAWSService`
+ `aws:Ec2InstanceSourceVpc`
+ `aws:SourceOrgID`
+ `aws:SourceOrgPaths`

此外，若要使資源型政策為非公開，Amazon Resource Name (ARN) 與字串金鑰的值不得包含萬用字元或變數。若您的資源型政策使用 `aws:PrincipalIsAWSService` 金鑰，您必須確保已將該金鑰值設為 true。

下列政策限制指定帳戶中使用者 `Ben` 的存取權。該條件使 `Principal` 受限，因此不被視為公開。

```
{
  "Effect": "Allow",
  "Principal": {
    "AWS": "*"
  },
  "Action": "dsql:*",
  "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id",
  "Condition": {
    "StringEquals": {
      "aws:PrincipalArn": "arn:aws:iam::123456789012:user/Ben"
    }
  }
}
```

下列非公開的資源型政策範例使用 `StringEquals` 運算子來限制 `sourceVPC`。

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "dsql:*",
      "Resource": "arn:aws:dsql:us-east-1:123456789012:cluster/cluster-id",
      "Condition": {
        "StringEquals": {
          "aws:SourceVpc": [
            "vpc-91237329"
          ]
        }
      }
    }
  ]
}
```