S3 オブジェクトロック保持コンプライアンスモードでの S3 バッチ操作の使用
以下の例は、信頼ポリシーを作成し、オブジェクトに S3 バッチ操作と S3 オブジェクトロックの設定アクセス許可を設定する前の例に基づいています。この例では、保持モードを COMPLIANCE
に、retain
until date
を 2025 年 1 月 1 日に設定しています。この例では、マニフェストバケット内のオブジェクトをターゲットとし、指定したレポートバケットに結果を書き込むジョブを作成します。
次の例を実行するには、
をユーザー自身の情報に置き換えます。user input
placeholders
次の AWS CLI の例は、バッチオペレーションを使用して、複数のオブジェクトに S3 Object Lock 保持コンプライアンスモードを適用する方法を示しています。
例 – 複数のオブジェクトに S3 Object Lock 保持コンプライアンスモードを設定する
export AWS_PROFILE='
aws-user
' export AWS_DEFAULT_REGION='us-west-2
' export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012
:role/batch_operations-objectlock
' read -d ''OPERATION
<<EOF { "S3PutObjectRetention": { "Retention": { "RetainUntilDate":"2025-01-01T00:00:00
", "Mode":"COMPLIANCE" } } } EOF read -d ''MANIFEST
<<EOF { "Spec": { "Format": "S3BatchOperations_CSV_20180820", "Fields": [ "Bucket", "Key" ] }, "Location": { "ObjectArn": "arn:aws:s3:::", "ETag": "
amzn-s3-demo-manifest-bucket
/compliance-objects-manifest.csvYour-manifest-ETag
" } } EOF read -d ''REPORT
<<EOF { "Bucket": "arn:aws:s3:::ReportBucket
", "Format": "Report_CSV_20180820", "Enabled": true, "Prefix": "", "ReportScope": "AllTasks" } EOF aws \ s3control create-job \ --account-id "${
amzn-s3-demo-completion-report-bucket
/compliance-objects-batch-operationsACCOUNT_ID
}" \ --manifest "${MANIFEST
//$'\n'}" \ --operation "${OPERATION
//$'\n'/}" \ --report "${REPORT
//$'\n'}" \ --priority 10 \ --role-arn "${ROLE_ARN
}" \ --client-request-token "$(uuidgen)" \ --region "${AWS_DEFAULT_REGION
}" \ --description "Set compliance retain-until to 1 Jul 2030
";
例 – COMPLIANCE
モードの retain until
date
を 2025 年 1 月 15 日に延長する
以下の例では、COMPLIANCE
モードの retain until date
を 2025 年 1 月 15 日に延長します。
export AWS_PROFILE='
aws-user
' export AWS_DEFAULT_REGION='us-west-2
' export ACCOUNT_ID=123456789012
export ROLE_ARN='arn:aws:iam::123456789012
:role/batch_operations-objectlock
' read -d ''OPERATION
<<EOF { "S3PutObjectRetention": { "Retention": { "RetainUntilDate":"2025-01-15T00:00:00
", "Mode":"COMPLIANCE" } } } EOF read -d ''MANIFEST
<<EOF { "Spec": { "Format": "S3BatchOperations_CSV_20180820", "Fields": [ "Bucket", "Key" ] }, "Location": { "ObjectArn": "arn:aws:s3:::", "ETag": "
amzn-s3-demo-manifest-bucket
/compliance-objects-manifest.csvYour-manifest-ETag
" } } EOF read -d ''REPORT
<<EOF { "Bucket": "arn:aws:s3:::amzn-s3-demo-completion-report-bucket
", "Format": "Report_CSV_20180820", "Enabled": true, "Prefix": "reports/compliance-objects-batch_operations
", "ReportScope": "AllTasks" } EOF aws \ s3control create-job \ --account-id "${ACCOUNT_ID
}" \ --manifest "${MANIFEST
//$'\n'}" \ --operation "${OPERATION
//$'\n'/}" \ --report "${REPORT
//$'\n'}" \ --priority 10 \ --role-arn "${ROLE_ARN
}" \ --client-request-token "$(uuidgen)" \ --region "${AWS_DEFAULT_REGION
}" \ --description "Extend compliance retention to 15 Jan 2025
";
次の AWS SDK for Java の例は、バッチオペレーションを使用して複数のオブジェクトに S3 Object Lock 保持コンプライアンスモードを適用する方法を示しています。これには、保持モードを保持期日がある COMPLIANCE に設定し、COMPLIANCE モードの保持期日を延長する方法が含まれます。
AWS SDK for Java でバッチオペレーションを使用して複数のオブジェクトに S3 Object Lock 保持コンプライアンスモードを適用する方法の例については、「Amazon S3 API リファレンス」の「Use CreateJob with an AWS SDK or CLI」を参照してください。