

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS 로그인 조건 키 참조
<a name="reference-signin-condition-keys"></a>

이 페이지에는 AWS 로그인 리소스 기반 정책 및 리소스 제어 정책(RCPs)에서 사용할 수 있는 조건 키가 나열되며 각 키가 적용되는 평가 단계와 작업이 표시됩니다. `signin:PrincipalArn` 만 AWS 로그인에만 해당되며 다른는 AWS 전역 조건 키입니다. 전역 키 정의는 [AWS 전역 조건 컨텍스트 키를](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) 참조하세요.

서비스 승인 참조의 작업 및 조건 키의 전체 목록은 [AWS 로그인에 사용되는 작업, 리소스 및 조건 키를](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 엔드포인트를 사용하는 경우에만 표시됩니다. 리전 간 VPC ID 충돌aws:RequestedRegion을 방지하려면와 함께 사용합니다. | 
| aws:SourceVpce | StringEquals, StringNotEquals | VPC 엔드포인트 ID(vpce-xxxxxxxx) | 요청이 VPC 엔드포인트를 사용하는 경우에만 표시됩니다. | 
| aws:VpcSourceIp | IpAddress, NotIpAddress | VPC 내 프라이빗 IP | 항상 aws:SourceVpc 또는 aws:VpcSourceIp 조건 키와 함께 aws:SourceVpce 조건 키를 사용합니다. | 
| aws:RequestedRegion | StringEquals, StringNotEquals | 대상 AWS 리전 코드 | 리전 간 VPC ID 충돌을 방지하기 aws:SourceVpc 위해를 사용할 때 권장됩니다. 여러 리전을 지정할 수 있습니다. | 

**중요**  
단일 요청에는 `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 로그인에만 적용되며 글로벌 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>


**작업별 조건 키 가용성**  

| 조건 키 | 로그인:인증 | 로그인:AuthorizeOAuth2Access | 로그인: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 Management Console 프라이빗 액세스](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 로그인에 사용되는 작업, 리소스 및 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssignin.html)