

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

# 信任的身分
<a name="trusted-identities"></a><a name="account-identity"></a>

透過AWS 管理主控台私有存取，您可以限制哪些 AWS 帳戶和組織身分可以在 VPC 中使用 AWS 管理主控台。這可防止個人帳戶和組織外部帳戶存取 。

AWS 管理主控台和 AWS 登入VPC 端點各支援控制登入帳戶身分的 VPC 端點政策。政策會在登入時進行評估，並定期重新評估現有工作階段。
+ **AWS 管理主控台VPC 端點政策** – 限制哪些登入身分可以透過AWS 管理主控台此端點存取 。使用 `Action: *`和 `Principal: *`，搭配 `aws:PrincipalOrgId`或 `aws:PrincipalAccount`條件索引鍵。
+ **AWS 登入VPC 端點政策 （登入流程）** – 限制誰可以透過AWS 管理主控台此端點登入 ，並在驗證登入資料前後分別進行評估。使用 **，在**輸入登入資料之前封鎖登入嘗試`signin:Authenticate`。**身分驗證後**會在接受登入資料後，以及在 OAuth 權杖交換期間，使用 `signin:AuthorizeOAuth2Access`和 來驗證工作階段`signin:CreateOAuth2Token`。
+ **AWS 登入VPC 端點政策 （註冊流程）** – 控制是否可以從私有網路中存取AWS帳戶註冊流程。支援隱含拒絕`signin:CreateAccount`的動作。

下列範例示範如何依帳戶或組織限制存取。使用適用於每個端點的適當政策格式，將同等限制套用至您的 AWS 管理主控台和 AWS 登入VPC 端點。

**Topics**
+ [AWS 管理主控台VPC 端點範例](#console-vpc-endpoint-examples)
+ [AWS 登入VPC 端點範例](#signin-vpc-endpoint-examples)
+ [存取遭拒錯誤頁面](#access-denied-error)
+ [允許登入服務控制政策](#private-access-with-SCPs)

**注意**  
下列範例是僅供說明的參考政策。對於生產環境，請使用 [aws-samples/data-perimeter-policy-examples](https://github.com/aws-samples/data-perimeter-policy-examples) 儲存庫中的完整資料周邊政策範例，例如[網路周邊 SCP](https://github.com/aws-samples/data-perimeter-policy-examples/blob/main/service_control_policies/network_perimeter_sourcevpc_scp.json)。

## AWS 管理主控台VPC 端點範例
<a name="console-vpc-endpoint-examples"></a>

**範例：僅允許組織中的帳戶**  
此 AWS 管理主控台VPC 端點政策允許AWS 帳戶在指定的AWS組織中存取 ，並封鎖任何其他帳戶。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalOrgId": "o-xxxxxxxxxxx"
        }
      }
    }
  ]
}
```

------

**範例：僅允許特定帳戶**  
此 AWS 管理主控台VPC 端點政策會限制對特定 清單的存取，AWS 帳戶並封鎖任何其他帳戶。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": "*",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalAccount": [ "111122223333", "222233334444" ]
        }
      }
    }
  ]
}
```

------

## AWS 登入VPC 端點範例
<a name="signin-vpc-endpoint-examples"></a>

AWS 登入VPC 端點需要具有適用於每個身分驗證階段之特定登入動作和條件金鑰的政策：
+ **預先驗證階段** – 在建立使用者身分之前進行評估。只有資源型條件索引鍵可用，因為委託人資訊尚不清楚。
  + 支援的動作： `signin:Authenticate`
  + 支援的條件金鑰： `aws:ResourceOrgId`或 `aws:ResourceAccount`
+ **身分驗證後階段** – 登入服務發出工作階段登入資料時，在身分驗證後進行評估。提供完整的委託人資訊。
  + 支援的動作：`signin:AuthorizeOAuth2Access`、 `signin:CreateOAuth2Token`
  + 支援的條件金鑰： `aws:PrincipalOrgId`或 `aws:PrincipalAccount`、`aws:ResourceOrgId`、 `aws:ResourceAccount`

**範例：僅允許您組織中的帳戶登入**  
此 AWS 登入VPC 端點政策使用動作特定的陳述式，允許AWS 帳戶在驗證前和驗證後階段的指定AWS組織中登入 。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PreAuthOrgRestriction",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "signin:Authenticate",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceOrgID": "o-xxxxxxxxxxx"
        }
      }
    },
    {
      "Sid": "PostAuthOrgRestriction",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
        "signin:AuthorizeOAuth2Access",
        "signin:CreateOAuth2Token"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalOrgId": "o-xxxxxxxxxxx"
        }
      }
    }
  ]
}
```

------

**範例：僅允許特定帳戶的登入**  
此 AWS 登入VPC 端點政策使用動作特定的陳述式，將登入限制在驗證前和驗證後階段AWS 帳戶的特定 清單。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "PreAuthAccountRestriction",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "signin:Authenticate",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceAccount": [ "123456789012", "210987654321" ]
        }
      }
    },
    {
      "Sid": "PostAuthAccountRestriction",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
        "signin:AuthorizeOAuth2Access",
        "signin:CreateOAuth2Token"
      ],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalAccount": [ "123456789012", "210987654321" ]
        }
      }
    }
  ]
}
```

------

**控制帳戶註冊流程**  
`signin:CreateAccount` 動作控制是否可以從私有網路內存取AWS帳戶註冊流程。此動作使用匿名主體 （註冊期間不存在帳戶），且不支援條件金鑰。

使用 AWS 登入VPC 端點政策格式時，除非您明確允許，否則註冊流程會被隱含拒絕封鎖。如果您的組織需要從私有網路註冊帳戶，請將下列陳述式新增至您的 AWS 登入VPC 端點政策：

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccountSignup",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "signin:CreateAccount",
      "Resource": "*"
    }
  ]
}
```

------

## 存取遭拒錯誤頁面
<a name="access-denied-error"></a>

如果您連線到不屬於您帳戶的身分，您會看到「您的帳戶沒有使用 AWS 管理主控台私有存取的許可」錯誤。下列螢幕擷取畫面顯示拒絕存取錯誤頁面。

![包含訊息的錯誤頁面，指出您沒有使用 AWS 管理主控台Private Access 的許可。](http://docs.aws.amazon.com/zh_tw/awsconsolehelpdocs/latest/gsg/images/console-private-access-denied.png)


## 允許登入服務控制政策
<a name="private-access-with-SCPs"></a>

如果您的AWS組織使用允許特定服務的服務控制政策 (SCP)，您必須將 `signin:*`新增至允許的動作。需要此許可，因為AWS 管理主控台透過私有存取 VPC 端點登入 會執行 SCP 在沒有許可的情況下封鎖的 IAM 授權。舉例來說，下列服務控制政策允許在組織中使用 Amazon EC2 和 CloudWatch 服務，包括使用 AWS 管理主控台 私人存取端點存取這些服務的情況。

```
{
  "Effect": "Allow",
  "Action": [
    "signin:*",
    "ec2:*",
    "cloudwatch:*",
    ... Other services allowed
  },
  "Resource": "*"
}
```

如需 SCP 的詳細資訊，請參閱《*AWS Organizations 使用者指南*》中的[服務控制政策 (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)。