

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

# IAM 정책을 사용하여 Amazon Neptune 데이터베이스에 대한 액세스 관리
<a name="security-iam-access-manage"></a>

[IAM 정책](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html)은 작업 및 리소스 사용 권한을 정의하는 JSON 객체입니다.

정책을 AWS 생성하고 자격 증명 또는 리소스에 연결하여 AWS 에서 액세스를 제어합니다. 정책은 자격 증명 또는 리소스와 연결될 때 권한을 정의합니다.는 보안 주체가 요청할 때 이러한 정책을 AWS 평가합니다. 대부분의 정책은에 JSON 문서 AWS 로 저장됩니다. JSON 정책 문서에 대한 자세한 내용은 *IAM 사용 설명서*의 [JSON 정책 개요](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) 섹션을 참조하세요.

정책을 사용하여 관리자는 어떤 **보안 주체**가 어떤 **리소스**에 대해 어떤 **조건**에서 **작업**을 수행할 수 있는지 정의하여 누가 무엇을 액세스할 수 있는지 지정합니다.

기본적으로 사용자 및 역할에는 어떠한 권한도 없습니다. IAM 관리자는 IAM 정책을 생성하고 사용자가 수임할 수 있는 역할에 추가합니다. IAM 정책은 작업을 수행하기 위해 사용하는 방법과 관계없이 작업에 대한 권한을 정의합니다.

## 자격 증명 기반 정책
<a name="security_iam_access-manage-id-based-policies"></a>

ID 기반 정책은 ID(사용자, 사용자 그룹 또는 역할)에 연결하는 JSON 권한 정책 문서입니다. 이러한 정책은 자격 증명이 수행할 수 있는 작업, 대상 리소스 및 이에 관한 조건을 제어합니다. ID 기반 정책을 생성하는 방법을 알아보려면 *IAM 사용 설명서*에서 [고객 관리형 정책으로 사용자 지정 IAM 권한 정의](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)를 참조하세요.

ID 기반 정책은 *인라인 정책*(단일 ID에 직접 포함) 또는 *관리형 정책*(여러 ID에 연결된 독립 실행형 정책)일 수 있습니다. 관리형 정책 또는 인라인 정책을 선택하는 방법을 알아보려면 *IAM 사용 설명서*의 [관리형 정책 및 인라인 정책 중에서 선택](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) 섹션을 참조하세요.

## AWS 조직에서 서비스 제어 정책(SCP) 사용
<a name="security_iam_access-manage-scp"></a>

서비스 제어 정책(SCPs)은의 조직 또는 조직 단위(OU)에 대한 최대 권한을 지정하는 JSON 정책입니다[AWS Organizations](https://aws.amazon.com/organizations/). AWS Organizations 는 기업이 소유한 여러 AWS 계정을 그룹화하고 중앙에서 관리하기 위한 서비스입니다. 조직에서 모든 기능을 활성화할 경우, 서비스 제어 정책(SCP)을 임의의 또는 모든 계정에 적용할 수 있습니다. SCP는 각 계정 루트 사용자를 포함하여 멤버 AWS 계정의 엔터티에 대한 권한을 제한합니다. 조직 및 SCPs에 대한 자세한 내용은 AWS Organizations 사용 설명서의 [ SCPs 작동 방식을 참조하세요](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_about-scps.html).

 AWS 조직 내 AWS 계정에 Amazon Neptune을 배포하는 고객은 SCPs 활용하여 Neptune을 사용할 수 있는 계정을 제어할 수 있습니다. 멤버 계정 내에서 Neptune에 액세스하려면 다음을 수행해야 합니다.
+  Neptune 데이터베이스 작업에 대한 `rds:*` 및 `neptune-db:*` 액세스를 허용합니다. Neptune 데이터베이스에 Amazon RDS 권한이 필요한 이유에 대한 자세한 내용은 [Neptune 데이터베이스를 사용하는 데 Amazon RDS 권한과 리소스가 필요한 이유는 무엇입니까?](https://aws.amazon.com/neptune/faqs/)를 참조하세요.
+  Neptune Analytics 작업을 위해 `neptune-graph:*`에 대한 액세스를 허용합니다.

## Amazon Neptune 콘솔 사용에 필요한 권한
<a name="security-iam-access-manage-console"></a>

Amazon Neptune 콘솔에서 작업하려면 최소한의 권한이 사용자에게 필요합니다. 이러한 권한이 있어야만 사용자가 자신의 AWS 계정에서 사용할 Neptune 리소스를 설명하고, Amazon EC2 보안 및 네트워크 정보를 포함하는 다른 관련 정보를 제공할 수 있습니다.

최소 필수 권한보다 더 제한적인 IAM 정책을 만들면 콘솔은 해당 IAM 정책에 연결된 사용자에 대해 의도대로 작동하지 않습니다. 사용자가 Neptune 콘솔을 사용할 수 있도록 하려면 `NeptuneReadOnlyAccess` 관리형 정책을 사용자에게 연결합니다([AWS 관리형 정책을 사용하여 Amazon Neptune 데이터베이스 액세스](security-iam-access-managed-policies.md) 참조).

 AWS CLI 또는 Amazon Neptune API만 호출하는 사용자에게는 최소 콘솔 권한을 허용할 필요가 없습니다.

## IAM 정책을 IAM 사용자에게 연결
<a name="iam-auth-policy-attaching"></a>

관리형 정책 또는 사용자 지정 정책을 적용하려면 IAM 사용자에게 연결합니다. 이번 주제에 대한 자습서는 *IAM 사용자 안내서*의 [첫 번째 고객 관리형 정책 생성 및 연결](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html)을 참조하세요.

자습서를 읽어보면 이번 단원에서 소개하는 정책 예제 중 한 가지를 출발점으로 자신만의 요건에 따라 지정하여 사용할 수 있습니다. 자습서를 끝까지 따르다 보면 연결된 정책을 통해 `neptune-db:*` 작업이 가능한 IAM 사용자를 얻게 됩니다.

**중요**  
IAM 정책에 대한 변경 사항을 지정된 Neptune 리소스에 적용하는 데 최대 10분이 소요됩니다.
Neptune DB 클러스터에 적용되는 IAM 정책은 해당 클러스터의 모든 인스턴스에 적용됩니다.

## Neptune에 대한 액세스를 제어하는 데 다양한 종류의 IAM 정책 사용
<a name="iam-auth-policy"></a>

Neptune 관리 작업 또는 Neptune DB 클러스터의 데이터에 대한 액세스를 제공하려면 정책을 IAM 사용자 또는 역할에 연결합니다. IAM 정책을 사용자에게 연결하는 방법에 대한 자세한 내용은 [IAM 정책을 IAM 사용자에게 연결](#iam-auth-policy-attaching)을 참조하세요. 역할에 정책을 연결하는 방법에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM 정책 추가 및 제거](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)를 참조하세요.

Neptune에 대한 일반 액세스의 경우 Neptune의 [관리형 정책](security-iam-access-managed-policies.md) 중 하나를 사용할 수 있습니다. 액세스를 추가로 제한하려면 Neptune이 지원하는 [관리 작업](neptune-iam-admin-actions.md) 및 [리소스](iam-admin-resources.md)를 사용하여 사용자 지정 정책을 만들 수 있습니다.

사용자 지정 IAM 정책에서는 Neptune DB 클러스터에 대한 다양한 액세스 모드를 제어하는 두 종류의 정책문을 사용할 수 있습니다.
+ [관리 정책문](iam-admin-policies.md)   –   관리 정책문은 DB 클러스터와 해당 인스턴스를 생성, 구성 및 관리하는 데 사용하는 [Neptune 관리 API](api.md)에 대한 액세스를 제공합니다.

  Neptune은 Amazon RDS와 기능을 공유하므로, Neptune 정책의 관리 작업, 리소스 및 조건 키는 설계상 `rds:` 접두사를 사용합니다.
+ [데이터 액세스 정책문](iam-data-access-policies.md)   –   데이터 액세스 정책문은 [데이터 액세스 작업](iam-dp-actions.md), [리소스](iam-data-resources.md) 및 [조건 키](iam-data-condition-keys.md#iam-neptune-condition-keys)를 사용하여 DB 클러스터에 포함된 데이터에 대한 액세스를 제어합니다.

  Neptune 데이터 액세스 작업, 리소스 및 조건 키는 `neptune-db:` 접두사를 사용합니다.

## Amazon Neptune에서 IAM 조건 컨텍스트 키 사용
<a name="iam-using-condition-keys"></a>

Neptune에 대한 액세스를 제어하는 IAM 정책문에 조건을 지정할 수 있습니다. 이 정책문은 조건이 true일 때만 유효합니다.

예를 들어, 특정 날짜 이후에만 정책문이 적용되기를 원하거나 요청에 특정 값이 있는 경우에만 액세스를 허용하기를 원할 수 있습니다.

조건을 표시하려면 같음, 미만 등 [IAM 조건 정책 연산자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)와 함께 정책문의 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) 요소에서 미리 정의된 조건 키를 사용합니다.

한 문에서 여러 `Condition` 요소를 지정하거나 단일 `Condition` 요소에서 여러 키를 지정하는 경우, AWS 는 논리적 `AND` 작업을 사용하여 평가합니다. 단일 조건 키에 여러 값을 지정하는 경우는 논리적 `OR` 작업을 사용하여 조건을 AWS 평가합니다. 문의 권한을 부여하기 전에 모든 조건을 충족해야 합니다.

 조건을 지정할 때 자리 표시자 변수를 사용할 수도 있습니다. 예를 들어, IAM 사용자에게 IAM 사용자 이름으로 태그가 지정된 경우에만 리소스에 액세스할 수 있는 권한을 부여할 수 있습니다. 자세한 정보는 *IAM 사용 설명서*의 [IAM 정책 요소: 변수 및 태그](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html)를 참조하세요.

조건 키의 데이터 유형은 요청의 값을 정책문의 값과 비교하는 데 사용할 수 있는 조건 연산자를 결정합니다. 해당 데이터 유형과 호환되지 않는 조건 연산자를 사용하면 매치가 항상 실패하고 정책문이 적용되지 않습니다.

Neptune은 관리 정책문에 대해 데이터 액세스 정책문과 다른 조건 키 세트를 지원합니다.
+ [관리 정책문의 조건 키](iam-admin-condition-keys.md)
+ [데이터 액세스 정책문의 조건 키](iam-data-condition-keys.md#iam-neptune-condition-keys)

## Amazon Neptune의 IAM 정책 및 액세스 제어 기능에 대한 지원
<a name="neptune-iam-policy-support"></a>

다음 표에는 Neptune이 관리 정책문 및 데이터 액세스 정책문에 지원하는 IAM 기능이 나와 있습니다.


**Neptune을 통해 사용할 수 있는 IAM 기능**  

| IAM 특성 | 관리 | 데이터 액세스 | 
| --- | --- | --- | 
| [자격 증명 기반 정책](#security_iam_access-manage-id-based-policies) | 예 | 예 | 
| [리소스 기반 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) | 아니요 | 아니요 | 
| [정책 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_action.html) | 예 | 예 | 
| [정책 리소스](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_resource.html) | 예 | 예 | 
| [전역 조건 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) | 예 | (하위 세트) | 
| [태그 기반 조건 키](iam-admin-condition-keys.md#iam-rds-tag-based-condition-keys) | 예 | 아니요 | 
| [액세스 제어 목록(ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html) | 아니요 | 아니요 | 
| [서비스 제어 정책(SCP)](#security_iam_access-manage-scp) | 예 | 예 | 
| [서비스 연결 역할](security-iam-service-linked-roles.md) | 예 | 아니요 | 

## IAM 정책 제한
<a name="iam-policy-limits"></a>

IAM 정책에 대한 변경 사항을 지정된 Neptune 리소스에 적용하는 데 최대 10분이 소요됩니다.

Neptune DB 클러스터에 적용되는 IAM 정책은 해당 클러스터의 모든 인스턴스에 적용됩니다.

Neptune은 현재 데이터 플레인 수준에서 교차 계정 액세스 제어를 지원하지 않습니다. 교차 계정 액세스 제어는 대량 로드 및 역할 체인을 사용할 때만 지원됩니다. 자세한 내용은 [대량 로드 튜토리얼](https://docs.aws.amazon.com//neptune/latest/userguide/bulk-load-tutorial-chain-roles.html#bulk-load-tutorial-chain-cross-account)을 참조하세요.