View a markdown version of this page

AWS 登入條件金鑰參考 - AWS 登入

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

AWS 登入條件金鑰參考

此頁面列出您可以在 AWS 登入資源型政策和資源控制政策 (RCPs) 中使用的條件金鑰,並顯示每個金鑰適用的評估階段和動作。只有 signin:PrincipalArn 專屬 AWS 於 Sign-In;其他則是 AWS 全域條件金鑰。如需全域金鑰定義,請參閱AWS 全域條件內容金鑰

如需服務授權參考中動作和條件索引鍵的完整清單,請參閱 AWS Sign-In 的動作、資源和條件索引鍵

網路型條件金鑰

這些條件索引鍵會檢查請求的來源。 AWS 登入會針對資源型政策和 RCPs 中的所有 AWS 登入動作 (signin:Authenticatesignin:AuthorizeOAuth2Accesssignin: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:SourceVpcaws:SourceVpce條件金鑰。
aws:RequestedRegion StringEquals, StringNotEquals 目標 AWS 區域碼 建議在使用 時aws:SourceVpc防止跨區域 VPC ID 衝突。您可以指定多個區域。
重要

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

身分型條件索引鍵

這些條件索引鍵會檢查提出請求的人員。它們僅適用於驗證後動作 (signin:AuthorizeOAuth2Accesssignin: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

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

運算子

ARN 運算子 (ArnEqualsArnLikeArnNotEqualsArnNotLike) 和字串運算子 (StringEqualsStringLike)。

可用性

AWS 登入會在驗證前階段 ( signin:Authenticate動作) 的請求內容中包含此金鑰。它不適用於驗證後動作 (signin:AuthorizeOAuth2Accesssignin: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使用 在身分驗證後豁免相同的委託人。請參閱 政策範例

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

依動作的條件索引鍵可用性
條件鍵 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。沒有與之相關聯的服務特定條件索引鍵。請參閱主控台私有存取