기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
암호화된 Amazon S3 객체 분석
에 대해 Amazon Macie를 활성화하면 AWS 계정 Macie는 사용자를 대신하여 Amazon Simple Storage Service(Amazon S3) 및 기타를 호출하는 데 필요한 권한을 Macie AWS 서비스 에 부여하는 서비스 연결 역할을 생성합니다. 서비스 연결 역할은 사용자를 대신하여 작업을 완료하기 위해 서비스에 대한 권한을 수동으로 추가할 필요가 AWS 서비스 없으므로를 설정하는 프로세스를 간소화합니다. 이러한 유형의 역할에 대해 자세히 알아보려면 AWS Identity and Access Management 사용 설명서의 IAM 역할을 참조하세요.
Macie 서비스 연결 역할(AWSServiceRoleForAmazonMacie
)에 대한 권한 정책을 통해 Macie는 S3 버킷 및 객체에 대한 정보 검색, S3 버킷의 객체 검색 및 분석 등의 작업을 수행할 수 있습니다. 사용자 계정이 조직의 Macie Administrator 계정인 경우, 그 정책을 사용하면 Macie가 사용자를 대신하여 조직의 구성원 계정에 대해 이러한 작업을 수행할 수도 있습니다.
S3 객체가 암호화된 경우, Macie 서비스 연결 역할의 권한 정책은 일반적으로 Macie에게 객체 암호 해독에 필요한 권한을 부여하는 것입니다. 하지만, 이는 사용된 암호화 유형에 따라 달라질 수 있습니다. 또한 Macie가 적절한 암호화 키를 사용할 수 있는지 여부에 따라서도 달라질 수 있습니다.
Amazon S3 객체의 암호화 옵션
Amazon S3는 S3 객체에 대한 여러 암호화 옵션을 지원합니다. 이러한 옵션 대부분에서 Amazon Macie는 계정의 Macie 서비스 연결 역할을 사용하여 객체를 복호화할 수 있습니다. 하지만, 이는 객체를 암호화하는 데 사용된 암호화 유형에 따라 달라질 수 있습니다.
- Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3)
-
Amazon S3 관리형 키(SSE-S3)를 사용하여 서버 측 암호화를 통해 객체가 암호화된 경우 Macie는 객체를 복호화할 수 있습니다.
이 암호화 유형에 대해 자세히 알아보려면 Amazon Simple Storage Service 사용 설명서의 Amazon S3 관리형 키를 사용하여 서버 측 암호화 사용을 참조하세요.
- 를 사용한 서버 측 암호화 AWS KMS keys (DSSE-KMS 및 SSE-KMS)
-
이중 계층 서버 측 암호화 또는 AWS 관리형 AWS KMS key (DSSE-KMS 또는 SSE-KMS)을 사용한 서버 측 암호화를 사용하여 객체를 암호화하는 경우 Macie는 객체를 복호화할 수 있습니다.
이중 계층 서버 측 암호화 또는 고객 관리형 AWS KMS key (DSSE-KMS 또는 SSE-KMS)을 사용한 서버 측 암호화를 사용하여 객체를 암호화하는 경우 Macie는 Macie가 키를 사용하도록 허용하는 경우에만 객체를 복호화할 수 있습니다. 이는 전적으로 내부에서 관리되는 KMS 키 AWS KMS 와 외부 키 스토어의 KMS 키로 암호화된 객체의 경우입니다. Macie가 해당 KMS 키를 사용할 수 없는 경우 Macie는 객체에 대한 메타데이터만 저장하고 보고할 수 있습니다.
이러한 유형의 암호화에 대한 자세한 내용은 Amazon Simple Storage Service 사용 설명서의 AWS KMS keys로 이중 계층 서버 측 암호화 사용 및 AWS KMS keys로 서버 측 암호화 사용을 참조하세요.
작은 정보
Macie가 계정의 S3 버킷에 AWS KMS keys 있는 객체를 분석하기 위해 액세스해야 하는 모든 고객 관리형 목록을 자동으로 생성할 수 있습니다. 이렇게 하려면 GitHub의 Amazon Macie Scripts 리포지토리에서 사용할 수 있는 AWS KMS Permission Analyzer 스크립트를 실행합니다. Amazon Macie
스크립트는 AWS Command Line Interface (AWS CLI) 명령의 추가 스크립트를 생성할 수도 있습니다. 선택적으로 이러한 명령을 실행하여 지정한 KMS 키의 필수 구성 설정 및 정책을 업데이트할 수 있습니다. - 고객 제공 키를 사용한 서버 측 암호화(SSE-C)
-
고객 제공 키(SSE-C)를 사용한 서버 측 암호화를 사용하여 객체를 암호화하는 경우, Macie는 객체를 해독할 수 없습니다. Macie는 객체에 대한 메타데이터만 저장하고 보고할 수 있습니다.
이러한 유형의 암호화에 대해 알아보려면 Amazon Simple Storage Service 사용 설명서의 고객 제공 키를 사용한 서버 측 암호화 사용을 참조하세요.
- 클라이언트측 암호화
-
클라이언트측 암호화를 사용하여 객체가 암호화된 경우, Macie는 객체를 복호화할 수 없습니다. Macie는 객체에 대한 메타데이터만 저장하고 보고할 수 있습니다. 예를 들어, Macie는 객체의 크기 및 객체와 관련된 태그를 보고할 수 있습니다.
Amazon S3와 관련된 이러한 유형의 암호화에 대해 알아보려면 Amazon Simple Storage Service 사용 설명서의 클라이언트 측 암호화를 사용하여 데이터 보호를 참조하세요.
Macie에서 버킷 인벤토리를 필터링하여 특정 유형의 암호화를 사용하는 객체를 저장하는 S3 버킷을 확인할 수 있습니다. 또한 새 객체를 저장할 때 어떤 버킷이 특정 유형의 서버 측 암호화를 기본적으로 사용하는지 결정할 수 있습니다. 다음 표에는 이 정보를 찾기 위해 버킷 인벤토리에 적용할 수 있는 필터 예제가 나와 있습니다.
버킷을 표시하려면... | 이 필터 적용... |
---|---|
SSE-C 암호화를 사용하는 객체 저장 | 암호화별 객체 수는 고객 제공 및 From = 1 |
DSSE-KMS 또는 SSE-KMS 암호화를 사용하는 객체 저장 | 암호화에 따른 객체 수는 AWS KMS 관리형 및 From = 1 |
SSE-S3 암호화를 사용하는 객체 저장 | 암호화에 따른 객체 수는 Amazon S3 관리형 및 From = 1 |
클라이언트측 암호화를 사용하는(또는 암호화되지 않은) 객체 저장 | 암호화에 따른 객체 수는 암호화 안함이고 From = 1 |
기본적으로 DSSE-KMS 암호화를 사용하여 새 객체를 암호화합니다 | 기본 암호화 = aws:kms:dsse |
기본적으로 SSE-KMS 암호화를 사용하여 새 객체를 암호화합니다 | 기본 암호화 = aws:kms |
기본적으로 SSE-S3 암호화를 사용하여 새 객체를 암호화합니다 | 기본 암호화 = AES256 |
버킷이 DSSE-KMS 또는 SSE-KMS 암호화를 사용하여 기본적으로 새 객체를 암호화하도록 구성된 경우 AWS KMS key 가 사용되는 객체를 결정할 수도 있습니다. 이렇게 하려면 S3 버킷 페이지에서 버킷을 선택합니다. 버킷 세부 정보 패널의 서버 측 암호화 아래에서 AWS KMS key를 참조하세요. 이 필드에는 키의 Amazon 리소스 이름(ARN) 또는 고유 식별자(키 ID)가 표시됩니다.
Macie가 고객 관리형를 사용하도록 허용 AWS KMS key
Amazon S3 객체가 이중 계층 서버 측 암호화 또는 고객 관리형 AWS KMS key (DSSE-KMS 또는 SSE-KMS)을 사용한 서버 측 암호화를 사용하여 암호화되는 경우 Amazon Macie는 키 사용이 허용된 경우에만 객체를 복호화할 수 있습니다. 이 액세스를 제공하는 방법은 키를 소유한 계정이 객체를 저장하는 S3 버킷도 소유하고 있는지 여부에 따라 달라집니다.
-
동일한 계정이 AWS KMS key 및 버킷을 소유한 경우 계정 사용자는 키의 정책을 업데이트해야 합니다.
-
한 계정이를 소유하고 AWS KMS key 다른 계정이 버킷을 소유하는 경우 키를 소유한 계정의 사용자는 키에 대한 교차 계정 액세스를 허용해야 합니다.
이 주제에서는 이러한 작업을 수행하는 방법을 설명하고 두 시나리오를 위한 예를 제공합니다. 고객 관리형 액세스 허용에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 KMS 키 액세스 및 권한을 AWS KMS keys참조하세요.
고객 관리형 키에 대한 동일 계정 액세스 허용
동일한 계정이 AWS KMS key 및 S3 버킷을 모두 소유한 경우 계정 사용자는 키에 대한 정책에 문을 추가해야 합니다. 추가 문은 계정에 대한 Macie 서비스 연결 역할이 키를 사용하여 데이터를 해독할 수 있도록 허용해야 합니다. 키 정책을 수정하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 정책 변경을 참조하세요.
성명문에서:
-
Principal
요소는 AWS KMS key 및 S3 버킷을 소유한 계정에 대한 Macie 서비스 연결 역할의 Amazon 리소스 이름(ARN)을 지정해야 합니다.계정이 옵트인 상태인 경우 ARN AWS 리전에는 해당 리전에 대한 적절한 리전 코드도 포함되어야 합니다. 예를 들어 계정이 리전 코드 me-south-1인 중동(바레인) 리전에 있는 경우,
Principal
요소에서arn:aws:iam::
을(를) 지정해야 하는데,123456789012
:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie123456789012
는 해당 계정의 계정 ID입니다. 현재 Macie를 사용할 수 있는 리전의 리전 코드 목록은 AWS 일반 참조의 Amazon Macie 엔드포인트 및 할당량을 참조하세요. -
Action
배열은kms:Decrypt
작업을 지정해야 합니다. 이는 Macie가 키로 암호화된 S3 객체를 복호화하기 위해 수행해야 하는 유일한 AWS KMS 작업입니다.
다음은 AWS KMS key에 대한 정책에 추가할 문의 예입니다.
{ "Sid": "Allow the Macie service-linked role to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie" }, "Action": [ "kms:Decrypt" ], "Resource": "*" }
이전 예제에서:
-
Principal
요소의AWS
필드는 계정의 Macie 서비스 연결 역할(AWSServiceRoleForAmazonMacie
)의 ARN을 지정합니다. 이 정책을 사용하면 Macie Service 연결 역할이 정책 성명문에 의해 지정된 작업을 수행할 수 있습니다.123456789012
는 예시 계정 ID입니다. 이 값을 KMS 키와 S3 버킷을 소유한 계정의 계정 ID로 바꿉니다. -
Action
배열은 Macie 서비스 연결 역할이 KMS 키를 사용하여 수행할 수 있는 작업, 즉 키로 암호화된 사이퍼텍스트를 해독하는 작업을 지정합니다.
이 성명문을 키 정책에 추가하는 위치는 정책에 현재 포함되어 있는 구조 및 요소에 따라 달라집니다. 정책에 성명문을 추가할 때 구문이 올바른지 확인합니다. 키 정책은 JSON 형식입니다. 즉, 정책에 성명문을 추가하는 위치에 따라 명령문 앞이나 뒤에 쉼표를 추가해야 합니다.
고객 관리형 키에 대한 크로스 계정 액세스 허용
한 계정이 AWS KMS key (키 소유자)를 소유하고 다른 계정이 S3 버킷(버킷 소유자)을 소유하는 경우 키 소유자는 버킷 소유자에게 KMS 키에 대한 교차 계정 액세스 권한을 제공해야 합니다. 이를 위해 키 소유자는 먼저 키 정책이 버킷 소유자가 키를 사용하고 키에 대한 권한 부여를 생성하는 것을 허용하는 지 확인해야 합니다. 그러면 버킷 소유자가 키에 대한 권한 부여를 생성합니다. 권한 부여는 AWS 보안 주체가 암호화 작업에서 KMS 키를 사용할 수 있도록 하는 정책 도구입니다. 이 경우 권한 부여는 버킷 소유자의 계정에 대한 Macie 서비스 연결 역할에 관련 권한을 위임합니다.
키 정책을 수정하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 정책 변경을 참조하세요. 권한 부여에 대해 자세히 알아보려면 AWS Key Management Service 개발자 안내서의 AWS KMS권한 부여를 참조하세요.
1단계: 키 정책 업데이트
키 정책에서 키 소유자는 정책에 두 가지 문이 포함되도록 해야 합니다.
-
첫 번째 성명문은 버킷 소유자가 키를 사용하여 데이터를 해독할 수 있도록 허용합니다.
-
두 번째 문은 버킷 소유자가 자신(버킷 소유자)의 계정에 대한 Macie 서비스 연결 역할 권한을 생성할 수 있도록 합니다.
첫 번째 성명문에서 Principal
요소는 버킷 소유자 계정의 ARN을 지정해야 합니다. Action
배열은 kms:Decrypt
작업을 지정해야 합니다. 이는 Macie가 키로 암호화된 객체를 복호화하기 위해 수행해야 하는 유일한 AWS KMS 작업입니다. 다음은 AWS KMS key에 대한 정책에서 이 문의 예입니다.
{ "Sid": "Allow account
111122223333
to use the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333
:root" }, "Action": [ "kms:Decrypt" ], "Resource": "*" }
이전 예제에서:
-
Principal
요소의AWS
필드는 버킷 소유자 계정(111122223333
)의 ARN을 지정합니다. 이 정책을 사용하여 버킷 소유자는 정책 성명문이 지정한 작업을 수행할 수 있습니다.111122223333
은 예시 계정 ID입니다. 이 값을 버킷 소유자 계정의 계정 ID로 바꿉니다. -
Action
배열은 버킷 소유자가 키로 암호화된 KMS 키-암호 해독 사이퍼텍스트를 사용하여 수행할 수 있는 작업을 지정합니다.
키 정책의 두 번째 성명문은 버킷 소유자가 버킷 소유자 계정의 Macie 서비스 연결 역할에 대한 권한 부여를 생성할 수 있도록 허용합니다. 이 성명문에서 Principal
요소는 버킷 소유자 계정의 ARN을 지정해야 합니다. Action
배열은 kms:CreateGrant
작업을 지정해야 합니다. Condition
요소는 성명문에서 지정된 kms:CreateGrant
작업에 대한 액세스를 필터링할 수 있습니다. 다음은 AWS KMS key에 대한 정책에서 이 문의 예입니다.
{ "Sid": "Allow account
111122223333
to create a grant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333
:root" }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:GranteePrincipal": "arn:aws:iam::111122223333
:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie" } } }
이전 예제에서:
-
Principal
요소의AWS
필드는 버킷 소유자 계정(111122223333
)의 ARN을 지정합니다. 이 정책을 사용하여 버킷 소유자는 정책 성명문이 지정한 작업을 수행할 수 있습니다.111122223333
은 예시 계정 ID입니다. 이 값을 버킷 소유자 계정의 계정 ID로 바꿉니다. -
Action
배열은 버킷 소유자가 KMS 키에 대해 수행할 수 있는 작업(키에 대한 권한 부여 생성)을 지정합니다. -
Condition
요소는StringEquals
조건 연산자kms:GranteePrincipal
와 조건 키를 사용하여 정책 성명문에 지정된 작업에 대한 액세스를 필터링합니다. 이 경우 버킷 소유자는 계정에 대한 Macie 서비스 연결 역할의 ARN인 지정된GranteePrincipal
에 대해서만 권한 부여를 생성할 수 있습니다. 해당 ARN에서111122223333은
예시계정 ID입니다. 이 값을 버킷 소유자 계정의 계정 ID로 바꿉니다.버킷 소유자의 계정이 옵트인 상태인 경우 Macie 서비스 연결 역할의 ARN에 적절한 리전 코드 AWS 리전도 포함합니다. 예를 들어 계정이 리전 코드 me-south-1인 중동(바레인) 리전에 있는 경우 ARN에서
macie.amazonaws.com
을macie.me-south-1.amazonaws.com
으로 바꾸세요. 현재 Macie를 사용할 수 있는 리전의 리전 코드 목록은 AWS 일반 참조의 Amazon Macie 엔드포인트 및 할당량을 참조하세요.
이 성명문 소유자는 이 성명문은 키 정책에 추가하는 위치는 정책에 현재 포함되어 있는 구조 및 요소에 따라 달라집니다. 키 소유자가 문을 추가할 때는 구문이 유효한지 확인해야 합니다. 키 정책에는 JSON 형식이 사용됩니다. 이는 키 소유자가 정책에서 문을 추가하는 위치에 따라 각 문 앞이나 뒤에 쉼표도 추가해야 함을 의미합니다.
2단계: 권한 부여 생성
키 소유자가 필요에 따라 키 정책을 업데이트한 후, 버킷 소유자는 그 키에 대한 권한 부여를 생성해야 합니다. 권한 부여는 관련 권한을 버킷 소유자 계정의 Macie 서비스 연결 역할에 위임합니다. 버킷 소유자는 권한 부여를 생성하기 전에 자신의 계정에 대한 kms:CreateGrant
작업을 수행하도록 허용되었는지 확인해야 합니다. 이 작업을 통해 기존 고객 관리형 AWS KMS key에 권한 부여를 추가할 수 있습니다.
권한 부여를 생성하기 위해 버킷 소유자는 AWS Key Management Service API의 CreateGrant 작업을 사용할 수 있습니다. 버킷 소유자는 권한 부여를 생성할 때 필수 파라미터에 다음 값을 지정해야 합니다.
-
KeyId
- KMS 키의 ARN. KMS 키에 대한 크로스 계정 액세스의 경우 이 값은 ARN이어야 합니다. 키 ID일 수 없습니다. -
GranteePrincipal
- 계정에 대한 Macie 서비스 연결 역할(AWSServiceRoleForAmazonMacie
)의 ARN 이 값은arn:aws:iam::
이어야 하며, 여기서111122223333
:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie111122223333
은 버킷 소유자 계정의 계정 ID입니다.계정이 옵트인 리전에 있는 경우 ARN에 해당 리전 코드가 포함되어야 합니다. 예를 들어 계정이 중동(바레인) 리전에 있고 리전 코드가 me-south-1인 경우 ARN은
arn:aws:iam::
가 되어야 하며, 여기서111122223333
:role/aws-service-role/macie.me-south-1.amazonaws.com/AWSServiceRoleForAmazonMacie111122223333
은 버킷 소유자 계정의 계정 ID입니다. -
Operations
- AWS KMS 복호화 작업(Decrypt
). 이는 KMS 키로 암호화된 객체를 복호화하기 위해 Macie가 수행할 수 있어야 하는 유일한 AWS KMS 작업입니다.
AWS Command Line Interface (AWS CLI)를 사용하여 고객 관리형 KMS 키에 대한 권한 부여를 생성하려면 create-grant 명령을 실행합니다. 다음 예에서는 이 작업을 수행하는 방법을 보여줍니다. 이 예제는 Microsoft Windows용으로 포맷되었으며 가독성을 높이기 위해 캐럿 (^) 줄 연속 문자를 사용합니다.
C:\>
aws kms create-grant ^ --key-id
arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab
^ --grantee-principalarn:aws:iam::111122223333:role/aws-service-role/macie.amazonaws.com/AWSServiceRoleForAmazonMacie
^ --operations "Decrypt"
위치:
-
key-id
권한 부여를 적용할 KMS 키의 ARN을 지정합니다. -
grantee-principal
은 권한 부여로 지정된 작업을 수행할 수 있는 계정에 대한 Macie 서비스 연결 역할의 ARN을 지정합니다. 이 값은 키 정책의 두 번째 문의kms:GranteePrincipal
조건에 지정된 ARN과 일치해야 합니다. -
operations
는 지정된 주체가 권한을 통해 수행할 수 있는 작업(KMS 키로 암호화된 사이퍼텍스트 해독)을 지정합니다.
이 명령이 성공적으로 실행되면 다음과 비슷한 출력이 표시됩니다.
{
"GrantToken": "<grant token>",
"GrantId": "1a2b3c4d2f5e69f440bae30eaec9570bb1fb7358824f9ddfa1aa5a0dab1a59b2"
}
여기서 GrantToken
은 생성된 권한 부여를 나타내는 고유하고 암호화되지 않은 가변 길이 base64 인코딩 문자열이며 GrantId
은 권한 부여의 고유 식별자입니다.