翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Macie で S3 バケットインベントリをフィルタリングする
特定の特性を持つバケットを特定し、それに焦点を絞るには、Amazon Macie コンソールで、および Amazon Macie API を使用してプログラムで送信するクエリで S3 バケットインベントリをフィルタリングできます。フィルターを作成するときは、特定のバケット属性を使用して、ビューまたはクエリ結果からバケットを含めるか除外するための基準を定義します。バケット属性は、バケットの特定のメタデータを保存するフィールドです。
Macie では、フィルターは 1 つ以上の条件で設定されます。各条件は、基準とも呼ばれ、3 つの部分で設定されています。
-
バケット名、タグキー、または ジョブで定義されているなどの、属性ベースのフィールド。
-
演算子 (等しい や 等しくない など)。
-
1 つまたは複数の値。値のタイプと数は、選択するフィールドと演算子によって異なります。
フィルター条件の定義および適用方法は、Amazon Macie コンソールと Amazon Macie API のどちらを使用するかによって異なります。
Amazon Macie コンソールでインベントリをフィルタリングする
Amazon Macie コンソールを使用して S3 バケットインベントリをフィルタリングする場合、Macie は個別の条件のフィールド、演算子、値を選択するのに役立つオプションを提供します。これらのオプションにアクセスするには、次のイメージに示すように、S3 バケットページのフィルターバーを使用します。

フィルターボックスにカーソルを置くと、Macie はフィルター条件で使用できるフィールドのリストを表示します。フィールドは論理カテゴリ別に整理されています。たとえば、共通のフィールドカテゴリには S3 バケットに関する一般的な情報を格納するフィールドが含まれます。パブリックアクセスカテゴリには、バケットに適用できるさまざまなタイプのパブリックアクセス設定に関するデータを保存するフィールドが含まれます。フィールドは、各カテゴリ内でアルファベット順に並べ替えられます。
条件を追加するには、まずリストからフィールドを選択します。フィールドを見つけるには、完全なリストを参照するか、フィールド名の一部を入力してフィールドのリストを絞り込みます。
選択したフィールドに応じて、Macie は異なるオプションを表示します。オプションには、選択したフィールドのタイプと性質が反映されます。たとえば、ジョブで定義されているフィールドを選択した場合、Macie は選択する値のリストを表示します。バケット名フィールドを選択した場合、Macie は、バケット名を入力できるテキストボックスを表示します。どのフィールドを選択しても、Macie はフィールドに必要な設定を含む条件を追加するステップを順を追ってガイドします。
条件を追加すると、次の図に示すように、Macie はその条件の基準を適用し、フィルターボックスの下のフィルタートークンに条件を表示します。

この例では、パブリックアクセス可能なすべてのバケットが含まれ、他のすべてのバケットを除外するように条件が設定されています。有効なアクセス許可フィールドの値 と等しい パブリックの場合、バケットが返されます。
条件を追加すると、Macie はその基準を適用し、それらをフィルターボックスの下に表示します。複数の条件を追加する場合、Macie は AND ロジックを使用して条件を結合し、フィルター基準を評価します。これは、バケットは、すべてのフィルター内の条件に一致した場合にのみ、フィルター基準を満たすことを意味します。フィルターボックスの下の領域をいつでも参照して、適用した基準を確認できます。
コンソールを使用してインベントリをフィルタリングするには
Amazon Macie コンソール (https://console.aws.amazon.com/macie/
) を開きます。 -
ナビゲーションペインで、S3 バケットを選択します。S3 バケットページにはバケットインベントリが表示されます。
機密データ自動検出が有効な場合、デフォルトのビューには、現在自動検出から除外されているバケットのデータは表示されません。お客様が組織の Macie 管理者である場合、自動検出が現在無効になっているアカウントのデータも表示されません。このデータを表示するには、フィルターボックスの下にある [自動検出によってモニタリング] フィルタートークンで X を選択します。
-
ページの上部で、必要に応じて、更新
を選択して、Amazon S3 から最新のバケットメタデータを取得します。
-
フィルターボックスにカーソルを置き、条件に使用するフィールドを選択します。
-
次のヒントを念頭に置いて、フィールドに適切な値のタイプを選択または入力します。
- 日付、時刻、および時間範囲
-
日付と時刻では、From および To ボックスを使用して、包括的な時間範囲を定義します。
-
固定時間範囲を定義するには、From および To ボックスを使用して、範囲内の最初の日時と最後の日時をそれぞれ指定します。
-
特定の日時に開始し、現在の時刻で終了する相対時間範囲を定義するには、開始日時を From ボックスに入力し、To ボックス内のテキストを削除します。
-
特定の日時に終了する相対時間範囲を定義するには、終了日時を To ボックスに入力し、From ボックス内のテキストを削除します。
時間値は 24 時間表記を使用することに注意してください。日付ピッカーを使用して日付を選択する場合は、テキストをFrom および To ボックスに直接入力して、値を絞り込むことができます。
-
- 数値および数値範囲
-
数値では、From と To ボックスを使用して、包括的な数値範囲を定義する整数を入力します。
-
固定数値範囲を定義するには、From と To ボックスを使用して、範囲内の最小と最大の数値をそれぞれ指定します。
-
1 つの特定の値に制限される固定数値範囲を定義するには、From と To 両方のボックスに値を入力します。例えば、ちょうど 15 個のオブジェクトが保存されている S3 バケットのみを含めるには、[From] と [To] ボックスに
15
と入力します。 -
特定の数値で始まる相対数値範囲を定義するには、From ボックスに数値を入力し、To ボックスにテキストは入力しないでください。
-
特定の数値で終わる相対数値範囲を定義するには、To ボックスに数値を入力し、From ボックスにテキストは入力しないでください。
-
- テキスト (文字列) 値
-
このタイプの値では、フィールドに完全で有効な値を入力します。値は大文字と小文字が区別されます。
このタイプの値では、部分的な値またはワイルドカード文字を使用することはできないことに注意してください。唯一の例外は バケット名フィールドです。そのフィールドでは、完全なバケット名の代わりにプレフィックスを指定できます。たとえば、名前が my-S3 で始まるすべての S3 バケットを見つけるには、バケット名 フィールドのフィルター値として
my-S3
と入力します。My-s3
やmy*
などの他の値を入力した場合、Macie はバケットを返しません。
-
フィールドの値の追加が終了したら、適用を選択します。Macie はフィルター基準を適用し、フィルターボックスの下のフィルタートークンに条件を表示します。
-
追加する追加の条件ごとに、ステップ 4~6 を繰り返します。
-
条件を削除するには、条件のフィルタートークンの X を選択します。
-
条件を変更するには、条件のフィルタートークンの X を選択して条件を削除します。次に、ステップ 4~6 を繰り返して、正しい設定を持つ条件を追加します。
Amazon Macie API を用いてインベントリをプログラムでフィルタリングする
S3 バケットインベントリをプログラムでフィルタリングするには、Amazon Macie APIの DescribeBuckets オペレーションを使用して、送信するクエリでフィルター基準を指定します。このオペレーションは、オブジェクトの配列を返します。各オブジェクトには、フィルター基準と一致するバケットに関する統計データおよびその他の情報が含まれます。
クエリでフィルター基準を指定するには、リクエストにフィルター基準のマップを含めます。条件ごとに、フィールド、演算子、およびフィールドの 1 つ以上の値を指定します。値のタイプと数は、選択するフィールドと演算子によって異なります。条件で使用できるフィールド、演算子、および値のタイプについては、Amazon Macie API リファレンスのAmazon S3 データソースを参照してください。
次の例は、AWS Command Line InterfaceAWS CLI を使用して送信するクエリでフィルター基準を指定する方法を示しています。これを行うには、別の AWS コマンドラインツールまたは AWS SDK の最新バージョンを使用するか、HTTPS リクエストを Macie に直接送信します。 AWS ツールと SDKs「構築するツール AWS
例
この例では、describe-buckets コマンドを使用します。コマンドが正常に実行された場合、Macie は、buckets
配列を返します。配列には、現在の にあり AWS リージョン 、フィルター条件に一致する各バケットのオブジェクトが含まれます。この出力の例では、以下のセクションを展開します。
この例では、buckets
配列は、クエリで指定されたフィルター基準と一致する 2 つのバケットの詳細を提供します。
{
"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
は 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
は Replicated externally (外部でレプリケートされた) フィールドの 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
は ジョブによって積極的にモニタリングされているフィールドの列挙値です。
-