S3 Batch Operations를 S3 Object Lock 보존 컴플라이언스 모드와 함께 사용하기
S3 Batch Operations를 S3 Object Lock 보존 컴플라이언스 모드와 함께 사용하기
컴플라이언스(COMPLIANCE) 모드는 보존 기간을 사용자도 함부로 바꾸거나 지울 수 없는 가장 강한 보호 모드예요. 이 예제는 보존 모드를 COMPLIANCE로, 보존 기한을 2025년 1월 1일로 설정하는 Batch Operations 작업을 만들어요.
출처: 문서
본문
다음 예제는 신뢰 정책을 만들고 객체에 S3 Batch Operations 및 S3 Object Lock 구성 권한을 설정한 이전 예제를 바탕으로 해요. 이 예제는 보존 모드를 COMPLIANCE로, 보존 기한(retain until date)을 2025년 1월 1일로 설정해요. 매니페스트 버킷의 객체를 대상으로 하고, 지정한 보고 버킷에 결과를 보고하는 작업을 만들어요.
이 예제들을 사용하려면 사용자 입력 플레이스홀더를 자신의 정보로 바꾸세요.
다음 AWS CLI 예제들은 여러 객체에 S3 Object Lock 보존 컴플라이언스 모드를 적용하도록 Batch Operations를 사용하는 방법을 보여줘요.
예제 — 여러 객체에 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:::amzn-s3-demo-manifest-bucket/compliance-objects-manifest.csv",
"ETag": "Your-manifest-ETag"
}
}
EOF
read -d '' REPORT <<EOF
{
"Bucket": "arn:aws:s3:::ReportBucket",
"Format": "Report_CSV_20180820",
"Enabled": true,
"Prefix": "amzn-s3-demo-completion-report-bucket/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 "Set compliance retain-until to 1 Jul 2030";
예제 — COMPLIANCE 모드의 보존 기한을 2025년 1월 15일로 연장하기
다음 예제는 COMPLIANCE 모드의 보존 기한을 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:::amzn-s3-demo-manifest-bucket/compliance-objects-manifest.csv",
"ETag": "Your-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 보존 컴플라이언스 모드를 적용하도록 Batch Operations를 사용하는 방법을 보여줘요. 보존 모드를 보존 기한과 함께 COMPLIANCE로 설정하는 것과, COMPLIANCE 모드 보존 기한을 연장하는 것이 포함돼요. AWS SDK for Java로 여러 객체에 S3 Object Lock 보존 컴플라이언스 모드를 적용하는 예제는 Amazon S3 API Reference의 Use CreateJob with an AWS SDK or CLI 문서를 참고하세요.