

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

# AWS Payment Cryptography에 대한 리소스 기반 정책
<a name="security_iam_resource-based-policies"></a>

리소스 기반 정책은 AWS Payment Cryptography 키와 같은 리소스에 연결하는 JSON 정책 문서입니다. 리소스 기반 정책에서는 키에 액세스할 수 있는 사용자와 키에서 수행할 수 있는 작업을 지정합니다. 리소스 기반 정책을 사용하여 다음을 수행할 수 있습니다.
+ 여러 사용자 및 역할에 단일 키에 대한 액세스 권한을 부여합니다.
+ 다른 AWS 계정의 사용자 또는 역할에 액세스 권한을 부여합니다.

**Topics**
+ [고려 사항](#security_iam_resource-based-policies-considerations)
+ [리소스 기반 정책 관리](#security_iam_resource-based-policies-manage)
+ [리소스 기반 정책 예제](#security_iam_resource-based-policies-examples)

리소스 기반 정책을 AWS Payment Cryptography 키에 연결하면 AWS Payment Cryptography는 IAM 정책 평가 로직을 사용하여 지정된 보안 주체가 요청된 작업을 수행할 권한이 있는지 확인합니다. 교차 계정 액세스를 활성화하려는 경우, 전체 계정이나 다른 계정의 IAM 엔터티를 [리소스 기반 정책의 위탁자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html)로 지정할 수 있습니다. 교차 계정 액세스에는 다음 두 가지 정책이 필요합니다.

1. *리소스 기반 정책(키 소유자의 계정) -* 키 소유자는 `PutResourcePolicy`를 사용하여 호출자의 계정 또는 IAM 보안 주체에 대한 액세스 권한을 부여합니다.

1. *자격 증명 기반 정책(발신자의 계정) -* 호출자의 IAM 관리자는 호출자의 IAM 정책에서 AWS Payment Cryptography 작업(예: `payment-cryptography:EncryptData`)도 허용해야 합니다.

두 정책 모두 작업을 허용해야 합니다. 둘 중 하나가 누락된 경우에서 교차 계정 요청이 거부됩니다`AccessDeniedException`.

리소스 기반 정책이 동일한 계정의 보안 주체에게 액세스 권한을 부여하는 경우 추가 자격 증명 기반 정책은 필요하지 않습니다. 자세한 내용은 *IAM 사용자 설명서*의 [IAM 역할과 리소스 기반 정책의 차이](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html)를 참조합니다.

**리소스 정책 컨트롤 플레인 작업**  
리소스 기반 정책은 [https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_PutResourcePolicy.html](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_PutResourcePolicy.html), [https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetResourcePolicy.html](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetResourcePolicy.html)및와 같은 리소스 정책 컨트롤 플레인 작업에는 적용되지 않습니다[https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteResourcePolicy.html](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteResourcePolicy.html). 이렇게 하면 리소스 정책이 정책 자체를 수정하거나 제거하는 기능을 거부할 수 있는 잠재적 잠금 시나리오를 방지할 수 있습니다. 이러한 컨트롤 플레인 작업에 대한 액세스는 IAM 자격 증명 기반 정책으로만 관리됩니다.

## 고려 사항
<a name="security_iam_resource-based-policies-considerations"></a>

 AWS Payment Cryptography에서 리소스 기반 정책을 사용할 때는 다음 사항에 유의하세요.
+ AWS Payment Cryptography는 키에 대한 퍼블릭 액세스를 자동으로 적용하지 않습니다. 익명 또는 퍼블릭 보안 주체에게 액세스 권한을 부여하는 리소스 기반 정책은 생성할 수 없습니다. AWS Payment Cryptography 키에 대한 모든 액세스에는 인증된 보안 AWS 주체가 필요하며 퍼블릭 액세스는 항상 차단됩니다.
+ 리소스 기반 정책은 키별로 적용됩니다. 각 AWS Payment Cryptography 키에는 최대 하나의 리소스 기반 정책이 연결될 수 있습니다.
+ 리소스 기반 정책은 별칭에 적용되지 않습니다. 별칭으로 키를 참조하면 기본 키에 연결된 리소스 정책이 평가됩니다.
+ 리소스 기반 정책은 현재 다중 리전 키 복제를 사용하여 생성된 읽기 전용 복제본 리전 키에는 적용되지 않습니다. 리소스 정책은 기본 리전 키에만 연결할 수 있습니다.
+ 리소스 기반 정책의 `Resource` 요소는 정책이 연결된 키의 ARN`"*"`이거나 정확히 일치해야 합니다. 동일한 정책 문서를 여러 키에서 재사용할 수 있으므로를 사용하는 것이 `"*"` 좋습니다.
+ 리소스 정책 관리 APIs(`PutResourcePolicy`, `GetResourcePolicy`및 `DeleteResourcePolicy`)는 키를 소유 AWS 계정 한 로 제한됩니다. 키 소유자 계정 내의 보안 주체만 리소스 정책을 관리할 수 있습니다.

## 리소스 기반 정책 관리
<a name="security_iam_resource-based-policies-manage"></a>

 AWS CLI 또는 AWS API를 사용하여 AWS Payment Cryptography 키에 대한 리소스 기반 정책을 관리할 수 있습니다. 이 명령을 사용하려면 예제 명령의 {{기울임꼴 자리 표시자 텍스트를}} 자신의 정보로 바꿉니다.

**리소스 기반 정책 연결**  
[https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_PutResourcePolicy.html](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_PutResourcePolicy.html) API 작업 또는 [https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/put-resource-policy.html](https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/put-resource-policy.html) CLI 명령을 사용하여 리소스 기반 정책을 키에 연결합니다. 정책이 이미 있는 경우 명령이 정책을 대체합니다.

다음 예제에서는 JSON 파일의 리소스 기반 정책을 키에 연결합니다.

```
aws payment-cryptography put-resource-policy \
    --resource-arn arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{kwapwa6qaifllw2h}} \
    --policy file://{{policy.json}}
```

**리소스 기반 정책 검색**  
[https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetResourcePolicy.html](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_GetResourcePolicy.html) API 작업 또는 [https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/get-resource-policy.html](https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/get-resource-policy.html) CLI 명령을 사용하여 키에 연결된 리소스 기반 정책을 검색합니다.

다음 예시에서는 키에 연결된 리소스 기반 정책을 검색합니다.

```
aws payment-cryptography get-resource-policy \
    --resource-arn arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{kwapwa6qaifllw2h}}
```

응답은 정책 문서를 반환합니다.

```
{
    "Policy": {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "AWS": "arn:aws:iam::{{111122223333}}:role/{{ExampleRole}}"
                },
                "Action": [
                    "payment-cryptography:EncryptData",
                    "payment-cryptography:DecryptData"
                ],
                "Resource": "*"
            }
        ]
    }
}
```

**리소스 기반 정책 삭제**  
[https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteResourcePolicy.html](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DeleteResourcePolicy.html) API 작업 또는 [https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/delete-resource-policy.html](https://docs.aws.amazon.com/cli/latest/reference/payment-cryptography/delete-resource-policy.html) CLI 명령을 사용하여 키에서 리소스 기반 정책을 제거합니다.

다음 예시에서는 키에 연결된 리소스 기반 정책을 삭제합니다.

```
aws payment-cryptography delete-resource-policy \
    --resource-arn arn:aws:payment-cryptography:{{us-east-2}}:{{111122223333}}:key/{{kwapwa6qaifllw2h}}
```

## 리소스 기반 정책 예제
<a name="security_iam_resource-based-policies-examples"></a>

### 키에 대한 교차 계정 액세스 권한 부여
<a name="security_iam_resource-based-policies-cross-account"></a>

다음 리소스 기반 정책은 다른 AWS 계정의 역할에 암호화 작업에 AWS Payment Cryptography 키를 사용할 수 있는 권한을 부여합니다.

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/{{ExampleRole}}"
            },
            "Action": [
                "payment-cryptography:GenerateCardValidationData",
                "payment-cryptography:VerifyCardValidationData"
            ],
            "Resource": "*"
        }
    ]
}
```

### 다른 계정에 다른 권한 부여
<a name="security_iam_resource-based-policies-restrict-actions"></a>

다음 리소스 기반 정책은 별도의 계정의 보안 주체에게 다른 권한을 부여하는 방법을 보여줍니다. 이 예제에서는 한 계정의 3DS Access Control Server(ACS)가 카드 검증 데이터를 생성할 수 있는 반면, 다른 계정의 Payment Authorization 서비스는 3DS 암호화만 검증할 수 있습니다.

```
{
    "Version": "2012-10-17", 		 	 	 
    "Statement": [
        {
            "Sid": "Allow3DSACSToGenerate",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/{{3dsAcsRole}}"
            },
            "Action": [
                "payment-cryptography:GenerateCardValidationData"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowPaymentAuthToVerify",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{444455556666}}:role/{{PaymentAuthRole}}"
            },
            "Action": [
                "payment-cryptography:VerifyAuthRequestCryptogram"
            ],
            "Resource": "*"
        }
    ]
}
```