기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Macie에서 S3 버킷 인벤토리 필터링
특정 특성을 가진 버킷을 식별하고 집중하기 위해 Amazon Macie 콘솔과 Amazon Macie API를 사용하여 프로그래밍 방식으로 제출하는 쿼리에서 S3 버킷 인벤토리를 필터링할 수 있습니다. 필터를 생성할 때는 특정 버킷 속성을 사용하여 보기 또는 쿼리 결과에서 버킷을 포함하거나 제외하는 기준을 정의합니다. 버킷 속성은 버킷의 특정 메타데이터를 저장하는 필드입니다.
Macie에서 필터는 하나 이상의 조건으로 구성됩니다. 기준이라고도 하는 각 조건은 다음과 같은 세 부분으로 구성됩니다.
-
버킷 이름, 태그 키 또는 작업에 정의됨과 같은 속성 기반 필드.
-
equals 또는 not equals와 같은 연산자입니다.
-
하나 이상의 값입니다. 값의 유형과 개수는 선택한 필드와 연산자에 따라 달라집니다.
필터 조건을 정의하고 적용하는 방법은 Amazon Macie 콘솔을 사용하는지 아니면 Amazon Macie API를 사용하는지에 따라 다릅니다.
Amazon Macie 콘솔에서 인벤토리 필터링
Amazon Macie 콘솔을 사용하여 S3 버킷 인벤토리를 필터링하는 경우, Macie는 개별 조건에 대한 필드, 연산자, 값을 선택하는 데 도움이 되는 옵션을 제공합니다. 다음 이미지와 같이 S3 버킷 페이지의 필터 상자를 사용하여 이러한 옵션에 액세스할 수 있습니다.

필터 상자에 커서를 놓으면 Macie는 필터 조건에서 사용할 수 있는 필드 목록을 표시합니다. 필드는 논리적 범주별로 구성되어 있습니다. 예를 들어, 일반 필드 카테고리에는 S3 버킷에 대한 일반 정보를 저장하는 필드가 포함됩니다. 퍼블릭 액세스 카테고리에는 버킷에 적용할 수 있는 다양한 유형의 퍼블릭 액세스 설정에 대한 데이터를 저장하는 필드가 있습니다. 필드는 각 범주 내에서 알파벳순으로 정렬됩니다.
조건을 추가하려면 먼저 목록에서 필드를 선택합니다. 필드를 찾으려면 전체 목록을 찾아보거나 필드 이름의 일부를 입력하여 필드 목록의 범위를 좁힙니다.
선택한 필드에 따라 Macie는 다른 옵션을 표시합니다. 옵션은 선택한 필드의 유형과 특성을 반영합니다. 예를 들어 공유 액세스 필드를 선택하면 Macie는 선택할 수 있는 값 목록을 표시합니다. 버킷 이름 필드를 선택하면 Macie는 S3 버킷의 이름을 입력할 수 있는 텍스트 상자를 표시합니다. 어떤 필드를 선택하든 Macie는 필드에 필요한 설정이 포함된 조건을 추가하는 단계를 안내합니다.
조건을 추가한 후 Macie는 조건에 대한 기준을 적용하고, 다음 이미지와 같이 필터 상자 아래에 있는 필터 토큰에 조건을 표시합니다.

이 예제에서는 공개적으로 액세스할 수 있는 모든 버킷을 포함하고 다른 모든 버킷은 제외하도록 조건을 구성합니다. 유효한 권한 필드의 값이 공개와 같은 버킷을 반환합니다.
조건을 추가하면 Macie는 조건을 적용하여 필터 상자 아래에 표시합니다. 여러 개의 조건을 추가하면 Macie는 AND 로직을 사용하여 조건을 결합하고 필터 기준을 평가합니다. 즉, S3 버킷은 필터의 모든 조건과 일치하는 경우에만 필터 기준과 일치합니다. 언제든지 필터 상자 아래 영역을 참조하여 어떤 기준을 적용했는지 확인할 수 있습니다.
콘솔을 사용하여 인벤토리 필터링하기
https://console.aws.amazon.com/macie/
에서 Amazon Macie 콘솔을 엽니다. -
탐색 창에서 S3 버킷을 선택합니다. S3 버킷 페이지에는 버킷 인벤토리가 표시됩니다.
민감한 데이터 자동 검색이 활성화된 경우 기본 보기에는 현재 자동 검색에서 제외된 버킷에 대한 데이터가 표시되지 않습니다. 조직의 Macie 관리자인 경우 현재 자동 검색이 비활성화된 계정의 데이터도 표시되지 않습니다. 이 데이터를 표시하려면 필터 상자 아래의 자동 검색으로 모니터링됨 필터 토큰에서 X를 선택합니다.
-
필요에 따라 페이지 상단에서 새로 고침(
)을 선택하여 Amazon S3에서 최신 버킷 메타데이터를 검색할 수 있습니다.
-
필터 상자에 커서를 놓고 조건에 사용할 필드를 선택합니다.
-
다음 팁을 염두에 두고 필드에 적합한 유형의 값을 선택하거나 입력하세요.
- 날짜, 시간, 시간 범위
-
날짜 및 시간의 경우 시작 및 종료 상자를 사용하여 포함된 시간 범위를 정의합니다.
-
고정된 시간 범위를 정의하려면, 시작 및 종료 상자를 사용하여 범위의 첫 번째 날짜 및 시간과 마지막 날짜 및 시간을 각각 지정합니다.
-
특정 날짜와 시간에 시작하여 현재 시간에 끝나는 상대적인 시간 범위를 정의하려면, 시작 상자에 시작 날짜와 시간을 입력하고 종료 상자의 모든 텍스트를 삭제합니다.
-
특정 날짜 및 시간에 종료되는 상대적 시간 범위를 정의하려면, 종료 상자에 종료 날짜 및 시간을 입력하고 시작 상자의 모든 텍스트를 삭제합니다.
참고로 시간 값은 24시간 표기법을 사용합니다. 날짜 선택기를 사용하여 날짜를 선택하는 경우, 시작 및 종료 상자에 직접 텍스트를 입력하여 값을 조정할 수 있습니다.
-
- 숫자 및 숫자 범위
-
숫자 값의 경우 시작 및 종료 상자를 사용하여 포함된 숫자 범위를 정의하는 정수를 입력합니다.
-
고정된 숫자 범위를 정의하려면 시작 및 종료 상자를 사용하여 범위의 가장 낮은 숫자와 가장 큰 숫자를 각각 지정합니다.
-
특정 값 하나로 제한되는 고정 숫자 범위를 정의하려면 시작 및 종료 상자 모두에 값을 입력합니다. 예를 들어 정확히 15개의 객체를 저장하는 S3 버킷만 포함하려면 시작 및 종료 상자에
15
를 입력합니다. -
특정 숫자에서 시작하는 상대적 숫자 범위를 정의하려면 시작 상자에 숫자를 입력하고 종료 상자에는 텍스트를 입력하지 마세요.
-
특정 숫자에서 끝나는 상대적 숫자 범위를 정의하려면 종료 상자에 숫자를 입력하고 시작 상자에는 텍스트를 입력하지 마세요.
-
- 텍스트(문자열) 값
-
이 유형의 값에는 필드에 대해 완전하고 유효한 값을 입력합니다. 값은 대소문자를 구분합니다.
이 유형의 값에는 부분 값이나 와일드카드 문자를 사용할 수 없다는 점에 유의하세요. 유일한 예외는 버킷 이름 필드입니다. 해당 필드에는 전체 버킷 이름 대신 접두사를 지정할 수 있습니다. 예를 들어 이름이 my-S3로 시작하는 모든 S3 버킷을 찾으려면 버킷 이름 필드에 필터 값으로
my-S3
를 입력합니다.My-s3
또는my*
와 같은 다른 값을 입력하면 Macie는 버킷을 반환하지 않습니다.
-
필드에 값을 모두 추가했으면 적용을 선택합니다. Macie는 필터 기준을 적용하고 필터 상자 아래의 필터 토큰에 조건을 표시합니다.
-
추가할 각 추가 조건에 대해 4~6단계를 반복합니다.
-
조건을 제거하려면 조건에 대한 필터 토큰에서 X를 선택합니다.
-
조건을 변경하려면 조건에 대한 필터 토큰에서 X를 선택하여 조건을 제거합니다. 그런 다음 4~6단계를 반복하여 올바른 설정이 포함된 조건을 추가합니다.
Amazon Macie API를 사용하여 프로그래밍 방식으로 인벤토리를 필터링합니다.
프로그래밍 방식으로 S3 버킷 인벤토리를 필터링하려면 Amazon Macie API의 DescribeBuckets 작업을 사용하여 제출하는 쿼리에 필터 기준을 지정합니다. 이 작업은 객체의 배열을 반환합니다. 각 객체에는 필터 기준과 일치하는 버킷에 대한 통계 데이터 및 기타 정보가 들어 있습니다.
쿼리에서 필터 기준을 지정하려면 요청에 필터 조건 맵을 포함합니다. 각 조건에 대해 필드, 연산자, 하나 이상의 필드 값을 지정합니다. 값의 유형과 개수는 선택한 필드와 연산자에 따라 달라집니다. 조건에서 사용할 수 있는 필드, 연산자 및 값 유형에 대한 자세한 내용은 Amazon Macie API 참조의 Amazon S3 데이터 소스 섹션을 참조하세요.
다음 예제는 AWS Command Line Interface (AWS CLI)를 사용하여 제출하는 쿼리에 필터 기준을 지정하는 방법을 보여줍니다. 다른 AWS 명령줄 도구 또는 AWS SDK의 최신 버전을 사용하거나 Macie에 직접 HTTPS 요청을 전송하여이 작업을 수행할 수도 있습니다. AWS 도구 및 SDKs에 대한 자세한 내용은 빌드 기반 도구를 AWS
예시
이 예제에서는 describe-buckets 명령을 사용합니다. 이 명령이 성공적으로 실행되면 Macie는 buckets
배열을 반환합니다. 배열에는 현재에 AWS 리전 있고 필터 기준과 일치하는 각 버킷에 대한 객체가 포함되어 있습니다. 이 출력의 예를 보려면 다음 섹션을 펼치세요.
이 예제에서 buckets
배열은 쿼리에 지정된 필터 기준과 일치하는 두 버킷에 대한 세부 정보를 제공합니다.
{
"buckets": [
{
"accountId": "123456789012",
"allowsUnencryptedObjectUploads": "FALSE",
"automatedDiscoveryMonitoringStatus": "MONITORED",
"bucketArn": "arn:aws:s3:::amzn-s3-demo-bucket1",
"bucketCreatedAt": "2020-05-18T19:54:00+00:00",
"bucketName": "amzn-s3-demo-bucket1",
"classifiableObjectCount": 13,
"classifiableSizeInBytes": 1592088,
"jobDetails": {
"isDefinedInJob": "TRUE",
"isMonitoredByJob": "TRUE",
"lastJobId": "08c81dc4a2f3377fae45c9ddaexample",
"lastJobRunTime": "2024-05-26T14:55:30.270000+00:00"
},
"lastAutomatedDiscoveryTime": "2024-06-07T19:11:25.364000+00:00",
"lastUpdated": "2024-06-12T07:33:06.337000+00:00",
"objectCount": 13,
"objectCountByEncryptionType": {
"customerManaged": 0,
"kmsManaged": 2,
"s3Managed": 7,
"unencrypted": 4,
"unknown": 0
},
"publicAccess": {
"effectivePermission": "NOT_PUBLIC",
"permissionConfiguration": {
"accountLevelPermissions": {
"blockPublicAccess": {
"blockPublicAcls": true,
"blockPublicPolicy": true,
"ignorePublicAcls": true,
"restrictPublicBuckets": true
}
},
"bucketLevelPermissions": {
"accessControlList": {
"allowsPublicReadAccess": false,
"allowsPublicWriteAccess": false
},
"blockPublicAccess": {
"blockPublicAcls": true,
"blockPublicPolicy": true,
"ignorePublicAcls": true,
"restrictPublicBuckets": true
},
"bucketPolicy": {
"allowsPublicReadAccess": false,
"allowsPublicWriteAccess": false
}
}
}
},
"region": "us-east-1",
"replicationDetails": {
"replicated": false,
"replicatedExternally": false,
"replicationAccounts": []
},
"sensitivityScore": 78,
"serverSideEncryption": {
"kmsMasterKeyId": null,
"type": "NONE"
},
"sharedAccess": "NOT_SHARED",
"sizeInBytes": 4549746,
"sizeInBytesCompressed": 0,
"tags": [
{
"key": "Division",
"value": "HR"
},
{
"key": "Team",
"value": "Recruiting"
}
],
"unclassifiableObjectCount": {
"fileType": 0,
"storageClass": 0,
"total": 0
},
"unclassifiableObjectSizeInBytes": {
"fileType": 0,
"storageClass": 0,
"total": 0
},
"versioning": true
},
{
"accountId": "123456789012",
"allowsUnencryptedObjectUploads": "TRUE",
"automatedDiscoveryMonitoringStatus": "MONITORED",
"bucketArn": "arn:aws:s3:::amzn-s3-demo-bucket2",
"bucketCreatedAt": "2020-11-25T18:24:38+00:00",
"bucketName": "amzn-s3-demo-bucket2",
"classifiableObjectCount": 8,
"classifiableSizeInBytes": 133810,
"jobDetails": {
"isDefinedInJob": "TRUE",
"isMonitoredByJob": "FALSE",
"lastJobId": "188d4f6044d621771ef7d65f2example",
"lastJobRunTime": "2024-04-09T19:37:11.511000+00:00"
},
"lastAutomatedDiscoveryTime": "2024-06-07T19:11:25.364000+00:00",
"lastUpdated": "2024-06-12T07:33:06.337000+00:00",
"objectCount": 8,
"objectCountByEncryptionType": {
"customerManaged": 0,
"kmsManaged": 0,
"s3Managed": 8,
"unencrypted": 0,
"unknown": 0
},
"publicAccess": {
"effectivePermission": "NOT_PUBLIC",
"permissionConfiguration": {
"accountLevelPermissions": {
"blockPublicAccess": {
"blockPublicAcls": true,
"blockPublicPolicy": true,
"ignorePublicAcls": true,
"restrictPublicBuckets": true
}
},
"bucketLevelPermissions": {
"accessControlList": {
"allowsPublicReadAccess": false,
"allowsPublicWriteAccess": false
},
"blockPublicAccess": {
"blockPublicAcls": true,
"blockPublicPolicy": true,
"ignorePublicAcls": true,
"restrictPublicBuckets": true
},
"bucketPolicy": {
"allowsPublicReadAccess": false,
"allowsPublicWriteAccess": false
}
}
}
},
"region": "us-east-1",
"replicationDetails": {
"replicated": false,
"replicatedExternally": false,
"replicationAccounts": []
},
"sensitivityScore": 95,
"serverSideEncryption": {
"kmsMasterKeyId": null,
"type": "AES256"
},
"sharedAccess": "EXTERNAL",
"sizeInBytes": 175978,
"sizeInBytesCompressed": 0,
"tags": [
{
"key": "Division",
"value": "HR"
},
{
"key": "Team",
"value": "Recruiting"
}
],
"unclassifiableObjectCount": {
"fileType": 3,
"storageClass": 0,
"total": 3
},
"unclassifiableObjectSizeInBytes": {
"fileType": 2999826,
"storageClass": 0,
"total": 2999826
},
"versioning": true
}
]
}
필터 기준과 일치하는 버킷이 없는 경우 Macie는 빈 buckets
배열을 반환합니다.
{
"buckets": []
}
예: 버킷 이름으로 버킷 찾기
이 예제에서는 현재에 AWS 리전 있고 이름이 my-S3로 시작하는 버킷에 대한 메타데이터를 쿼리합니다.
Linux, macOS, Unix의 경우:
$
aws macie2 describe-buckets --criteria '{"
bucketName
":{"prefix
":"my-S3
"}}'
Microsoft Windows의 경우:
C:\>
aws macie2 describe-buckets --criteria={\"
bucketName
\":{\"prefix
\":\"my-S3
\"}}
위치:
-
bucketName
은 버킷 이름 필드의 JSON 이름을 지정합니다. -
prefix
는 접두사 연산자를 지정합니다. -
my-S3
는 버킷 이름 필드의 값입니다.
예: 공개적으로 액세스할 수 있는 버킷 찾기
이 예제에서는 현재 AWS 리전 에 있고 권한 설정의 조합에 따라 공개적으로 액세스할 수 있는 버킷에 대한 메타데이터를 쿼리합니다.
Linux, macOS, Unix의 경우:
$
aws macie2 describe-buckets --criteria '{"
publicAccess.effectivePermission
":{"eq
":["PUBLIC
"]}}'
Microsoft Windows의 경우:
C:\>
aws macie2 describe-buckets --criteria={\"
publicAccess.effectivePermission
\":{\"eq
\":[\"PUBLIC
\"]}}
위치:
-
publicAccess.effectivePermission
은 유효한 권한 필드의 JSON 이름을 지정합니다. -
eq
는 등호 연산자를 지정합니다. -
PUBLIC
은 유효한 권한 필드의 열거형 값입니다.
예: 암호화되지 않은 객체를 저장하는 버킷 찾기
이 예제에서는 현재에 AWS 리전 있고 암호화되지 않은 객체를 저장하는 버킷에 대한 메타데이터를 쿼리합니다.
Linux, macOS, Unix의 경우:
$
aws macie2 describe-buckets --criteria '{"
objectCountByEncryptionType.unencrypted
":{"gte
":1
}}'
Microsoft Windows의 경우:
C:\>
aws macie2 describe-buckets --criteria={\"
objectCountByEncryptionType.unencrypted
\":{\"gte
\":1
}}
위치:
-
objectCountByEncryptionType.unencrypted
는 암호화 없음 필드의 JSON 이름을 지정합니다. -
gte
는 크거나 같음 연산자를 지정합니다. -
1
은 암호화 없음 필드의 포괄적이고 상대적 숫자 범위 중 가장 낮은 값입니다.
예: 외부 계정에 데이터를 복제하는 버킷 찾기
이 예제에서는 현재에 AWS 리전 있고 조직의 일부가 AWS 계정 아닌의 버킷에 객체를 복제하도록 구성된 버킷에 대한 메타데이터를 쿼리합니다.
Linux, macOS, Unix의 경우:
$
aws macie2 describe-buckets --criteria '{"
replicationDetails.replicatedExternally
":{"eq
":["true
"]}}'
Microsoft Windows의 경우:
C:\>
aws macie2 describe-buckets --criteria={\"
replicationDetails.replicatedExternally
\":{\"eq
\":[\"true
\"]}}
위치:
-
replicationDetails.replicatedExternally
는 외부에서 복제 필드의 JSON 이름을 지정합니다. -
eq
는 등호 연산자를 지정합니다. -
true
는 외부에서 복제 필드의 부울 값을 지정합니다.
예: 민감한 데이터 검색 작업으로 모니터링되지 않는 버킷 찾기
이 예제에서는 현재에 AWS 리전 있고 주기적인 민감한 데이터 검색 작업과 연결되지 않은 버킷에 대한 메타데이터를 쿼리합니다.
Linux, macOS, Unix의 경우:
$
aws macie2 describe-buckets --criteria '{"
jobDetails.isMonitoredByJob
":{"eq
":["FALSE
"]}}'
Microsoft Windows의 경우:
C:\>
aws macie2 describe-buckets --criteria={\"
jobDetails.isMonitoredByJob
\":{\"eq
\":[\"FALSE
\"]}}
위치:
-
jobDetails.isMonitoredByJob
은 작업을 통해 적극적으로 모니터링됨 필드의 JSON 이름을 지정합니다. -
eq
는 등호 연산자를 지정합니다. -
FALSE
는 작업을 통해 적극적으로 모니터링됨 필드의 열거형 값입니다.
예: 민감한 데이터 자동 검색으로 모니터링되지 않는 버킷 찾기
이 예제에서는 현재에 AWS 리전 있고 민감한 데이터 자동 검색에서 제외된 버킷에 대한 메타데이터를 쿼리합니다.
Linux, macOS, Unix의 경우:
$
aws macie2 describe-buckets --criteria '{"
automatedDiscoveryMonitoringStatus
":{"eq
":["NOT_MONITORED
"]}}'
Microsoft Windows의 경우:
C:\>
aws macie2 describe-buckets --criteria={\"
automatedDiscoveryMonitoringStatus
\":{\"eq
\":[\"NOT_MONITORED
\"]}}
위치:
-
automatedDiscoveryMonitoringStatus
는 자동 검색으로 모니터링 필드의 JSON 이름을 지정합니다. -
eq
는 등호 연산자를 지정합니다. -
NOT_MONITORED
는 자동 검색으로 모니터링됨 필드에 대한 열거 값입니다.
예: 여러 기준에 따라 버킷 찾기
이 예제에서는 현재에 있고 다음 기준 AWS 리전 과 일치하는 버킷에 대한 메타데이터를 쿼리합니다.는 권한 설정의 조합에 따라 공개적으로 액세스할 수 있고, 암호화되지 않은 객체를 저장하며,는 민감한 데이터 정기 검색 작업과 연결되지 않습니다.
Linux, macOS 또는 Unix의 경우, 가독성을 높이기 위해 백슬래시(\) 줄 연속 문자를 사용합니다.
$
aws macie2 describe-buckets \ --criteria '{"
publicAccess.effectivePermission
":{"eq
":["PUBLIC
"]},"objectCountByEncryptionType.unencrypted
":{"gte
":1
},"jobDetails.isMonitoredByJob
":{"eq
":["FALSE
"]}}'
Microsoft Windows의 경우 캐럿(^) 줄 연속 문자를 사용하여 가독성을 개선합니다.
C:\>
aws macie2 describe-buckets ^ --criteria={\"
publicAccess.effectivePermission
\":{\"eq
\":[\"PUBLIC
\"]},\"objectCountByEncryptionType.unencrypted
\":{\"gte
\":1
},\"jobDetails.isMonitoredByJob
\":{\"eq
\":[\"FALSE
\"]}}
위치:
-
publicAccess.effectivePermission
은 유효한 권한 필드의 JSON 이름을 지정합니다.-
eq
는 등호 연산자를 지정합니다. -
PUBLIC
은 유효한 권한 필드의 열거형 값입니다.
-
-
objectCountByEncryptionType.unencrypted
는 암호화 없음 필드의 JSON 이름을 지정합니다.-
gte
는 크거나 같음 연산자를 지정합니다. -
1
은 암호화 없음 필드의 포괄적이고 상대적 숫자 범위 중 가장 낮은 값입니다.
-
-
jobDetails.isMonitoredByJob
은 작업을 통해 적극적으로 모니터링됨 필드의 JSON 이름을 지정합니다.-
eq
는 등호 연산자를 지정합니다. -
FALSE
는 작업을 통해 적극적으로 모니터링됨 필드의 열거형 값입니다.
-