를 사용한 Amazon S3 Control 예제 AWS CLI - AWS Command Line Interface

이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

를 사용한 Amazon S3 Control 예제 AWS CLI

다음 코드 예제에서는 Amazon S3 Control과 AWS Command Line Interface 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.

작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.

각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.

주제

작업

다음 코드 예시에서는 create-access-point을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트를 생성하려면

다음 create-access-point 예제에서는 계정 123456789012의 버킷business-recordsfinance-ap 대한 라는 액세스 포인트를 생성합니다. 이 예제를 실행하기 전에 액세스 포인트 이름, 버킷 이름 및 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control create-access-point \ --account-id 123456789012 \ --bucket business-records \ --name finance-ap

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Simple Storage Service 개발자 안내서액세스 포인트 생성을 참조하세요.

  • 자세한 API 내용은 명령 참조CreateAccessPoint의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 create-job을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon S3 배치 작업 작업을 생성하려면

다음 create-job 예제에서는 객체를 로 태그 지정하기 위한 Amazon S3 배치 작업 작업을 생성합니다confidential` in the bucket ``employee-records.

aws s3control create-job \ --account-id 123456789012 \ --operation '{"S3PutObjectTagging": { "TagSet": [{"Key":"confidential", "Value":"true"}] }}' \ --report '{"Bucket":"arn:aws:s3:::employee-records-logs","Prefix":"batch-op-create-job", "Format":"Report_CSV_20180820","Enabled":true,"ReportScope":"AllTasks"}' \ --manifest '{"Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},"Location":{"ObjectArn":"arn:aws:s3:::employee-records-logs/inv-report/7a6a9be4-072c-407e-85a2-ec3e982f773e.csv","ETag":"69f52a4e9f797e987155d9c8f5880897"}}' \ --priority 42 \ --role-arn arn:aws:iam::123456789012:role/S3BatchJobRole

출력:

{ "JobId": "93735294-df46-44d5-8638-6356f335324e" }
  • 자세한 API 내용은 명령 참조CreateJob의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 delete-access-point-policy을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 정책을 삭제하려면

다음 delete-access-point-policy 예제에서는 finance-ap 계정 123456789012에 이름이 지정된 액세스 포인트에서 액세스 포인트 정책을 삭제합니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control delete-access-point-policy \ --account-id 123456789012 \ --name finance-ap

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

다음 코드 예시에서는 delete-access-point을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트를 삭제하려면

다음 delete-access-point 예제에서는 계정 123456789012finance-ap에 이름이 지정된 액세스 포인트를 삭제합니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control delete-access-point \ --account-id 123456789012 \ --name finance-ap

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

  • 자세한 API 내용은 명령 참조DeleteAccessPoint의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 delete-public-access-block을 사용하는 방법을 보여 줍니다.

AWS CLI

계정에 대한 퍼블릭 액세스 차단 설정을 삭제하려면

다음 delete-public-access-block 예제에서는 지정된 계정에 대한 퍼블릭 액세스 차단 설정을 삭제합니다.

aws s3control delete-public-access-block \ --account-id 123456789012

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 describe-job을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon S3 배치 작업 작업 설명

다음은 지정된 배치 작업 작업에 대한 구성 파라미터와 상태를 describe-job 제공합니다.

aws s3control describe-job \ --account-id 123456789012 \ --job-id 93735294-df46-44d5-8638-6356f335324e

출력:

{ "Job": { "TerminationDate": "2019-10-03T21:49:53.944Z", "JobId": "93735294-df46-44d5-8638-6356f335324e", "FailureReasons": [], "Manifest": { "Spec": { "Fields": [ "Bucket", "Key" ], "Format": "S3BatchOperations_CSV_20180820" }, "Location": { "ETag": "69f52a4e9f797e987155d9c8f5880897", "ObjectArn": "arn:aws:s3:::employee-records-logs/inv-report/7a6a9be4-072c-407e-85a2-ec3e982f773e.csv" } }, "Operation": { "S3PutObjectTagging": { "TagSet": [ { "Value": "true", "Key": "confidential" } ] } }, "RoleArn": "arn:aws:iam::123456789012:role/S3BatchJobRole", "ProgressSummary": { "TotalNumberOfTasks": 8, "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 8 }, "Priority": 42, "Report": { "ReportScope": "AllTasks", "Format": "Report_CSV_20180820", "Enabled": true, "Prefix": "batch-op-create-job", "Bucket": "arn:aws:s3:::employee-records-logs" }, "JobArn": "arn:aws:s3:us-west-2:123456789012:job/93735294-df46-44d5-8638-6356f335324e", "CreationTime": "2019-10-03T21:48:48.048Z", "Status": "Complete" } }
  • 자세한 API 내용은 명령 참조DescribeJob의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-access-point-policy-status을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 정책 상태를 검색하려면

다음 get-access-point-policy-status 예제에서는 finance-ap 계정 123456789012에 이름이 지정된 액세스 포인트의 액세스 포인트 정책 상태를 검색합니다. 액세스 포인트 정책 상태는 액세스 포인트의 정책이 퍼블릭 액세스를 허용하는지 여부를 나타냅니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control get-access-point-policy-status \ --account-id 123456789012 \ --name finance-ap

출력:

{ "PolicyStatus": { "IsPublic": false } }

액세스 포인트 정책이 퍼블릭으로 간주되는 시기에 대한 자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 '공개'의 의미를 참조하세요.

다음 코드 예시에서는 get-access-point-policy을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 정책을 검색하려면

다음 get-access-point-policy 예제는 finance-ap 계정 123456789012에 이름이 지정된 액세스 포인트에서 액세스 포인트 정책을 검색합니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control get-access-point-policy \ --account-id 123456789012 \ --name finance-ap

출력:

{ "Policy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::123456789012:role/Admin\"},\"Action\":\"s3:GetObject\",\"Resource\":\"arn:aws:s3:us-west-2:123456789012:accesspoint/finance-ap/object/records/*\"}]}" }

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

다음 코드 예시에서는 get-access-point을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 구성 세부 정보를 검색하려면

다음 get-access-point 예제에서는 계정 123456789012finance-ap에 이름이 지정된 액세스 포인트의 구성 세부 정보를 검색합니다. 이 예제를 실행하기 전에 액세스 포인트 이름과 계정 번호를 사용 사례에 적합한 값으로 바꿉니다.

aws s3control get-access-point \ --account-id 123456789012 \ --name finance-ap

출력:

{ "Name": "finance-ap", "Bucket": "business-records", "NetworkOrigin": "Internet", "PublicAccessBlockConfiguration": { "BlockPublicAcls": false, "IgnorePublicAcls": false, "BlockPublicPolicy": false, "RestrictPublicBuckets": false }, "CreationDate": "2020-01-01T00:00:00Z" }

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

  • 자세한 API 내용은 명령 참조GetAccessPoint의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 get-multi-region-access-point-routes을 사용하는 방법을 보여 줍니다.

AWS CLI

현재 다중 리전 액세스 포인트 라우팅 구성을 쿼리하려면

다음 get-multi-region-access-point-routes 예제에서는 지정된 다중 리전 액세스 포인트에 대한 현재 라우팅 구성을 반환합니다.

aws s3control get-multi-region-access-point-routes \ --region Region \ --account-id 111122223333 \ --mrap MultiRegionAccessPoint_ARN

출력:

{ "Mrap": "arn:aws:s3::111122223333:accesspoint/0000000000000.mrap", "Routes": [ { "Bucket": "DOC-EXAMPLE-BUCKET-1", "Region": "ap-southeast-2", "TrafficDialPercentage": 100 }, { "Bucket": "DOC-EXAMPLE-BUCKET-2", "Region": "us-west-1", "TrafficDialPercentage": 0 } ] }

다음 코드 예시에서는 get-public-access-block을 사용하는 방법을 보여 줍니다.

AWS CLI

계정에 대한 퍼블릭 액세스 차단 설정을 나열하려면

다음 get-public-access-block 예제에서는 지정된 계정에 대한 퍼블릭 액세스 차단 설정을 표시합니다.

aws s3control get-public-access-block \ --account-id 123456789012

출력:

{ "PublicAccessBlockConfiguration": { "BlockPublicPolicy": true, "RestrictPublicBuckets": true, "IgnorePublicAcls": true, "BlockPublicAcls": true } }

다음 코드 예시에서는 list-access-points을 사용하는 방법을 보여 줍니다.

AWS CLI

예제 1: 계정의 모든 액세스 포인트 목록을 검색하려면

다음 list-access-points 예제에서는 계정 123456789012에서 소유한 버킷에 연결된 모든 액세스 포인트의 목록을 표시합니다.

aws s3control list-access-points \ --account-id 123456789012

출력:

{ "AccessPointList": [ { "Name": "finance-ap", "NetworkOrigin": "Internet", "Bucket": "business-records" }, { "Name": "managers-ap", "NetworkOrigin": "Internet", "Bucket": "business-records" }, { "Name": "private-network-ap", "NetworkOrigin": "VPC", "VpcConfiguration": { "VpcId": "1a2b3c" }, "Bucket": "business-records" }, { "Name": "customer-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" }, { "Name": "public-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" } ] }

예제 2: 버킷의 모든 액세스 포인트 목록을 검색하려면

다음 list-access-points 예제에서는 계정 123456789012에서 external-docs 소유한 버킷에 연결된 모든 액세스 포인트 목록을 검색합니다.

aws s3control list-access-points \ --account-id 123456789012 \ --bucket external-docs

출력:

{ "AccessPointList": [ { "Name": "customer-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" }, { "Name": "public-ap", "NetworkOrigin": "Internet", "Bucket": "external-docs" } ] }

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

  • 자세한 API 내용은 명령 참조ListAccessPoints의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 list-jobs을 사용하는 방법을 보여 줍니다.

AWS CLI

계정 Amazon S3 배치 작업 작업을 나열하려면

다음 list-jobs 예제에서는 지정된 계정에 대한 모든 최근 배치 작업 작업을 나열합니다.

aws s3control list-jobs \ --account-id 123456789012

출력:

{ "Jobs": [ { "Operation": "S3PutObjectTagging", "ProgressSummary": { "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 8, "TotalNumberOfTasks": 8 }, "CreationTime": "2019-10-03T21:48:48.048Z", "Status": "Complete", "JobId": "93735294-df46-44d5-8638-6356f335324e", "Priority": 42 }, { "Operation": "S3PutObjectTagging", "ProgressSummary": { "NumberOfTasksFailed": 0, "NumberOfTasksSucceeded": 0, "TotalNumberOfTasks": 0 }, "CreationTime": "2019-10-03T21:46:07.084Z", "Status": "Failed", "JobId": "3f3c7619-02d3-4779-97f6-1d98dd313108", "Priority": 42 }, ] }
  • 자세한 API 내용은 명령 참조ListJobs의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 put-access-point-policy을 사용하는 방법을 보여 줍니다.

AWS CLI

액세스 포인트 정책을 설정하려면

다음 put-access-point-policy 예제에서는 finance-ap 계정 123456789012의 액세스 포인트에 대해 지정된 액세스 포인트 정책을 배치합니다. 액세스 포인트에 finance-ap 이미 정책이 있는 경우 이 명령은 기존 정책을 이 명령에 지정된 정책으로 바꿉니다. 이 예제를 실행하기 전에 계정 번호, 액세스 포인트 이름 및 정책 문을 사용 사례에 적합한 값으로 바꿉니다.

aws s3control put-access-point-policy \ --account-id 123456789012 \ --name finance-ap \ --policy file://ap-policy.json

ap-policy.json의 콘텐츠:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Alice" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:us-west-2:123456789012:accesspoint/finance-ap/object/Alice/*" } ] }

이 명령은 출력을 생성하지 않습니다.

자세한 내용은 Amazon Simple Storage Service 개발자 안내서의 Amazon S3 액세스 포인트를 사용한 데이터 액세스 관리를 참조하세요.

다음 코드 예시에서는 put-public-access-block을 사용하는 방법을 보여 줍니다.

AWS CLI

계정의 퍼블릭 액세스 차단 설정을 편집하려면

다음 put-public-access-block 예제에서는 모든 퍼블릭 액세스 차단 설정을 지정된 계정에 true 대해 로 전환합니다.

aws s3control put-public-access-block \ --account-id 123456789012 \ --public-access-block-configuration '{"BlockPublicAcls": true, "IgnorePublicAcls": true, "BlockPublicPolicy": true, "RestrictPublicBuckets": true}'

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 submit-multi-region-access-point-routes을 사용하는 방법을 보여 줍니다.

AWS CLI

다중 리전 액세스 포인트 라우팅 구성을 업데이트하려면

다음 submit-multi-region-access-point-routes 예제에서는 다중 ap-southeast-2 리전 액세스 포인트의 리전DOC-EXAMPLE-BUCKET-2에서 DOC-EXAMPLE-BUCKET-1 및 의 라우팅 상태를 업데이트합니다.

aws s3control submit-multi-region-access-point-routes \ --region ap-southeast-2 \ --account-id 111122223333 \ --mrap MultiRegionAccessPoint_ARN \ --route-updates Bucket=DOC-EXAMPLE-BUCKET-1,TrafficDialPercentage=100 Bucket=DOC-EXAMPLE-BUCKET-2,TrafficDialPercentage=0

이 명령은 출력을 생성하지 않습니다.

다음 코드 예시에서는 update-job-priority을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon S3 배치 작업의 작업 우선 순위를 업데이트하려면

다음 update-job-priority 예제에서는 지정된 작업을 새 우선 순위로 업데이트합니다.

aws s3control update-job-priority \ --account-id 123456789012 \ --job-id 8d9a18fe-c303-4d39-8ccc-860d372da386 \ --priority 52

출력:

{ "JobId": "8d9a18fe-c303-4d39-8ccc-860d372da386", "Priority": 52 }
  • 자세한 API 내용은 명령 참조UpdateJobPriority의 섹션을 참조하세요. AWS CLI

다음 코드 예시에서는 update-job-status을 사용하는 방법을 보여 줍니다.

AWS CLI

Amazon S3 배치 작업의 상태를 업데이트하려면

다음 update-job-status 예제에서는 승인을 기다리는 지정된 작업을 취소합니다.

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 8d9a18fe-c303-4d39-8ccc-860d372da386 \ --requested-job-status Cancelled

출력:

{ "Status": "Cancelled", "JobId": "8d9a18fe-c303-4d39-8ccc-860d372da386" }

다음 update-job-status 예제에서는 승인을 기다리는 지정된 를 확인하고 실행합니다.

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 5782949f-3301-4fb3-be34-8d5bab54dbca \ --requested-job-status Ready Output:: { "Status": "Ready", "JobId": "5782949f-3301-4fb3-be34-8d5bab54dbca" }

다음 update-job-status 예제에서는 실행 중인 지정된 작업을 취소합니다.

aws s3control update-job-status \ --account-id 123456789012 \ --job-id 5782949f-3301-4fb3-be34-8d5bab54dbca \ --requested-job-status Cancelled Output:: { "Status": "Cancelling", "JobId": "5782949f-3301-4fb3-be34-8d5bab54dbca" }
  • 자세한 API 내용은 명령 참조UpdateJobStatus의 섹션을 참조하세요. AWS CLI