

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

# AWS 登入條件金鑰參考
<a name="reference-signin-condition-keys"></a>

此頁面列出您可以在 AWS 登入資源型政策和資源控制政策 (RCPs) 中使用的條件金鑰，並顯示每個金鑰適用的評估階段和動作。只有 `signin:PrincipalArn` 專屬 AWS 於 Sign-In；其他則是 AWS 全域條件金鑰。如需全域金鑰定義，請參閱[AWS 全域條件內容金鑰](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)。

如需服務授權參考中動作和條件索引鍵的完整清單，請參閱 [AWS Sign-In 的動作、資源和條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssignin.html)。

## 網路型條件金鑰
<a name="reference-signin-condition-keys-network"></a>

這些條件索引鍵會檢查請求的來源。 AWS 登入會針對資源型政策和 RCPs 中的所有 AWS 登入動作 (`signin:Authenticate`、 `signin:AuthorizeOAuth2Access`和 `signin:CreateOAuth2Token`) 進行評估。


**網路型條件金鑰**  

| 條件鍵 | 運算子 | 說明 | 使用規則 | 
| --- | --- | --- | --- | 
| aws:SourceIp | IpAddress, NotIpAddress | 公有 IP 地址或 CIDR 範圍 | 當請求使用 VPC 端點時不存在。在相同陳述式中與 VPC 型條件結合使用IfExists運算子。 | 
| aws:SourceVpc | StringEquals, StringNotEquals | VPC ID (vpc-xxxxxxxx) | 只有在請求使用 VPC 端點時才會出現。搭配 使用 aws:RequestedRegion 以防止跨區域 VPC ID 衝突。 | 
| aws:SourceVpce | StringEquals, StringNotEquals | VPC 端點 ID (vpce-xxxxxxxx) | 只有在請求使用 VPC 端點時才會出現。 | 
| aws:VpcSourceIp | IpAddress, NotIpAddress | VPC 內的私有 IP | 一律使用 aws:VpcSourceIp條件金鑰搭配 aws:SourceVpc或 aws:SourceVpce條件金鑰。 | 
| aws:RequestedRegion | StringEquals, StringNotEquals | 目標 AWS 區域碼 | 建議在使用 時aws:SourceVpc防止跨區域 VPC ID 衝突。您可以指定多個區域。 | 

**重要**  
單一請求包含 `aws:SourceIp`（公有網路） 或 `aws:SourceVpc`(VPC 端點），而非兩者。撰寫涵蓋兩個路徑的拒絕政策時，請使用`IfExists`運算子 （例如 `NotIpAddressIfExists`) 或建立個別的陳述式。

## 身分型條件索引鍵
<a name="reference-signin-condition-keys-identity"></a>

這些條件索引鍵會檢查提出請求的人員。它們僅適用於驗證後動作 (`signin:AuthorizeOAuth2Access` 和 `signin:CreateOAuth2Token`)，其中已建立主體身分。


**身分型條件索引鍵**  

| 條件鍵 | 運算子 | 說明 | 範例 | 
| --- | --- | --- | --- | 
| aws:PrincipalArn | ArnEquals, ArnLike, ArnNotEquals, StringEquals, StringLike | 已驗證 IAM 主體的 ARN | arn:aws:iam::123456789012:user/alice, arn:aws:iam::123456789012:role/Admin | 
| aws:PrincipalAccount | StringEquals, StringNotEquals | AWS 委託人的帳戶 ID | 123456789012 | 

## 服務特定條件金鑰：signin：PrincipalArn
<a name="reference-signin-condition-keys-service-specific"></a>

下列條件金鑰專屬 AWS 於 Sign-In，不是全域 AWS 金鑰。僅在驗證前評估期間可用。在身分驗證完成之前`signin:PrincipalArn`，使用 識別起始登入的委託人。這是 的預先驗證對等項目`aws:PrincipalArn`，在驗證之後才能使用。

運算子  
ARN 運算子 (`ArnEquals`、`ArnLike`、`ArnNotEquals`、`ArnNotLike`) 和字串運算子 (`StringEquals`、`StringLike`)。

可用性  
AWS 登入會在驗證前階段 ( `signin:Authenticate`動作） 的請求內容中包含此金鑰。它不適用於驗證後動作 (`signin:AuthorizeOAuth2Access` 和 `signin:CreateOAuth2Token`)。

資料類型  
ARN。使用 ARN 運算子而非字串運算子。

值類型  
單一值。

支援於  
以資源為基礎的政策和 RCPs。

使用 ARN 運算子來比較值。您可以指定下列委託人類型：
+ AWS 帳戶 根使用者 (`arn:aws:iam::123456789012:root`)
+ IAM 使用者 (`arn:aws:iam::123456789012:user/{{user-name}}`)
+ IAM 角色 (`arn:aws:iam::123456789012:role/{{role-name}}`)

**使用案例：**將排除的主體身分排除在網路限制之外，防止鎖定，同時仍對所有其他存取嘗試強制執行網路控制。

**範例 – 拒絕來自未經授權網路的預先驗證存取，根使用者除外：**

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": { "AWS": "*" },
      "Action": ["signin:Authenticate"],
      "Resource": "*",
      "Condition": {
        "ArnNotEquals": {
          "signin:PrincipalArn": "arn:aws:iam::123456789012:root"
        },
        "NotIpAddress": {
          "aws:SourceIp": "203.0.113.0/24"
        },
        "StringEquals": {
          "aws:ResourceAccount": "123456789012"
        }
      }
    },
    {
      "Effect": "Deny",
      "Principal": { "AWS": "*" },
      "Action": ["signin:CreateOAuth2Token", "signin:AuthorizeOAuth2Access"],
      "Resource": "*",
      "Condition": {
        "ArnNotEquals": {
          "aws:PrincipalArn": "arn:aws:iam::123456789012:root"
        },
        "NotIpAddress": {
          "aws:SourceIp": "203.0.113.0/24"
        },
        "StringEquals": {
          "aws:ResourceAccount": "123456789012"
        }
      }
    }
  ]
}
```

此政策拒絕從 `203.0.113.0/24` IP 範圍以外的主控台存取，但帳戶根使用者除外。預先驗證陳述式使用 在身分驗證完成之前`signin:PrincipalArn`豁免根使用者。身分驗證後陳述式會在 OAuth 權杖交換期間，`aws:PrincipalArn`使用 在身分驗證後豁免相同的委託人。請參閱 [政策範例](console-access-control.md#console-access-control-policy-examples)。

## 依動作的條件索引鍵可用性
<a name="reference-signin-condition-keys-availability"></a>


**依動作的條件索引鍵可用性**  

| 條件鍵 | Signin：Authenticate | 登入：AuthorizeOAuth2Access | signin：CreateOAuth2Token | 
| --- | --- | --- | --- | 
| aws:SourceIp | 是 | 是 | 是 | 
| aws:SourceVpc | 是 | 是 | 是 | 
| aws:SourceVpce | 是 | 是 | 是 | 
| aws:VpcSourceIp | 是 | 是 | 是 | 
| aws:RequestedRegion | 是 | 是 | 是 | 
| aws:PrincipalArn | – | 是 | 是 | 
| aws:PrincipalAccount | – | 是 | 是 | 
| signin:PrincipalArn | 是 | – | – | 

**注意**  
`signin:CreateAccount` 動作僅用於主控台私有存取的 VPC 端點政策，不適用於資源型政策或 RCPs。沒有與之相關聯的服務特定條件索引鍵。請參閱[主控台私有存取](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/console-private-access.html)。

## 相關資訊
<a name="reference-signin-condition-keys-related"></a>
+ [使用以資源為基礎的政策和資源控制政策來控制主控台存取](console-access-control.md)
+ [AWS 管理主控台 私有存取](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/console-private-access.html)
+ [AWS 全域條件內容鍵](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)
+ [AWS Sign-In 的動作、資源和條件索引鍵](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssignin.html)