기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Gremlin Amazon S3 내보내기 기능에 대한 액세스 권한 부여
필수 IAM 정책
-
Neptune 쿼리 읽기 액세스
{ "Sid": "NeptuneQueryRead", "Effect": "Allow", "Action": ["neptune-db:Read*"], "Resource": "arn:aws:neptune-db:us-east-1:123456789012:cluster-ABCD12/*" }필요한 이유: 이 권한은 내보내질 Gremlin 쿼리를 실행하는 데 필요한 Neptune 데이터베이스의 데이터 읽기를 허용합니다. 이전 예제에서는 읽기 쿼리를 허용합니다. 읽기/쓰기 쿼리의 경우 쓰기/삭제 권한이 필요합니다.
-
Amazon S3 내보내기 권한
{ "Sid": "NeptuneS3Export", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:AbortMultipartUpload", "s3:GetBucketPublicAccessBlock" ], "Resource": "arn:aws:s3:::neptune-export-bucket/*" }각 권한이 필요한 이유:
-
s3:ListBucket: 버킷 존재를 확인하고 콘텐츠를 나열하는 데 필요합니다. -
s3:PutObject: 내보낸 데이터를 Amazon S3에 쓰는 데 필요합니다. -
s3:AbortMultipartUpload: 내보내기가 실패할 경우 불완전 멀티파트 업로드를 정리하는 데 필요합니다. -
s3:GetBucketPublicAccessBlock: 데이터를 내보내기 전에 버킷이 퍼블릭 버킷이 아닌지 확인하기 위한 보안 조치로 필요합니다.
-
-
AWS KMSpermissios - 선택 사항입니다. 사용자 지정 AWS KMS 암호화를 사용하는 경우에만 필요합니다.
{ "Sid": "NeptuneS3ExportKMS", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:DescribeKey" ], "Resource": "arn:aws:kms:<REGION>:<AWS_ACCOUNT_ID>:key/mrk-48971c37" "Condition": { "StringEquals": { "kms:ViaService": [ "s3.<REGION>.amazonaws.com", "rds.<REGION>.amazonaws.com" ] } } }각 권한이 필요한 이유:
-
kms:Decrypt: 데이터 암호화를 위한 AWS KMS키를 복호화하는 데 필요합니다. -
kms:GenerateDataKey: 내보낸 데이터를 암호화하기 위한 데이터 키를 생성하는 데 필요합니다. -
kms:DescribeKey: AWS KMS키에 대한 정보를 확인하고 검색하는 데 필요합니다. -
kms:ViaService:이 역할이 다른 AWS서비스에 키를 사용할 수 없도록 하여 보안을 강화합니다.
-
중요 사전 조건
-
IAM 인증: 이러한 권한을 적용하려면 Neptune 클러스터에서 활성화해야 합니다.
-
VPC 엔드포인트: )
-
Neptune이 Amazon S3와 통신할 수 있으려면 Amazon S3용 게이트웨이 유형 VPC 엔드포인트가 필요합니다.
-
쿼리에서 사용자 지정 AWS KMS암호화를 사용하려면 Neptune이 통신할 수 있도록 하려면에 대한 인터페이스 유형 VPC 엔드포인트AWS KMS가 필요합니다AWS KMS.
-
-
Amazon S3 버킷 구성:
-
퍼블릭이 아니어야 합니다.
-
불완전 멀티파트 업로드를 정리하는 수명 주기 규칙이 있어야 합니다.
-
새 객체를 자동으로 암호화합니다.
-
이러한 권한 및 사전 조건은 적절한 액세스 제어 및 데이터 보호 조치를 유지하면서 Gremlin 쿼리 결과의 안전하고 안정적인 내보내기를 보장합니다.