AWS S3
통합 버전: 4.0
사용 사례
- 버킷 관리
- 버킷에서 파일 다운로드
- 버킷에 파일 업로드
Google Security Operations에서 AWS S3 통합 구성
Google SecOps에서 통합을 구성하는 방법에 대한 자세한 내용은 통합 구성을 참고하세요.
통합 매개변수
다음 매개변수를 사용하여 통합을 구성합니다.
| 매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 인스턴스 이름 | 문자열 | 해당 사항 없음 | No | 통합을 구성할 인스턴스의 이름입니다. |
| 설명 | 문자열 | 해당 사항 없음 | No | 인스턴스에 대한 설명입니다. |
| AWS 액세스 키 ID | 문자열 | 해당 사항 없음 | 예 | 통합에 사용할 AWS 액세스 키 ID입니다. |
| AWS 보안 비밀 키 | 비밀번호 | 해당 사항 없음 | 예 | 통합에 사용할 AWS 보안 비밀 키입니다. |
| AWS 기본 리전 | 문자열 | 해당 사항 없음 | 예 | 통합에 사용할 AWS 기본 리전입니다(예: us-west-2). |
| 원격 실행 | 체크박스 | 선택 해제 | No | 구성된 통합을 원격으로 실행하려면 필드를 선택합니다. 선택하면 원격 사용자(에이전트)를 선택하는 옵션이 나타납니다. |
작업
핑
설명
Google Security Operations Marketplace 탭의 통합 구성 페이지에서 제공된 매개변수를 사용하여 AWS S3에 대한 연결을 테스트합니다.
사용 사례
연결을 테스트합니다.
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 성공한 경우: '제공된 연결 매개변수를 사용하여 AWS S3 서버에 성공적으로 연결되었습니다.' 작업이 실패하고 플레이북 실행을 중지합니다. 실패한 경우: 'AWS S3 서버에 연결할 수 없습니다. 오류: {0}".format(exception.stacktrace) |
일반 |
버킷 나열
설명
AWS S3에서 버킷 목록을 가져옵니다.
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 결과
{
"Buckets": [
{
"CreationDate": %Y-%m-%dT%H:%M:%S,
"Name": "testsiemplify"
}
],
"Owner": {
"DisplayName": "lab_aws",
"ID": "935dc3fed0e1d2c5b12242cf9927370824f2438681a2d3c0523f254dbde41aba"
},
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 상태 코드 == 200 (is_success = true)인 경우 'AWS S3에서 사용 가능한 버킷을 나열했습니다.' 다른 상태 코드인 경우 (is_success=false): '작업에서 AWS S3의 사용 가능한 버킷을 나열할 수 없습니다. 작업이 실패하고 플레이북 실행을 중지합니다. 잘못된 사용자 인증 정보, 서버 연결 없음과 같은 치명적인 오류가 보고되는 경우: ''버킷 나열' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace) |
일반 |
버킷 정책 가져오기
설명
AWS S3에서 버킷 정책에 관한 정보를 가져옵니다.
매개변수
| 매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 버킷 이름 | 문자열 | 해당 사항 없음 | 예 | 정책 정보를 가져올 버킷의 이름을 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 결과
{
"Policy": {
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::testsiemplify/*"
}
]
}
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 상태 코드가 200인 경우 (is_success = true) 'AWS S3에서 '{0}' 버킷의 정책에 관한 정보를 가져왔습니다.'.format(bucket_name) 다른 상태 코드인 경우 (is_success=false): '작업에서 AWS S3의 '{0}' 버킷 정책에 관한 정보를 반환할 수 없습니다.'.format(bucket_name) 작업이 실패하고 플레이북 실행을 중지합니다. 잘못된 사용자 인증 정보, 서버 연결 없음과 같은 치명적인 오류: ''버킷 정책 가져오기' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace) |
일반 |
버킷 정책 설정
설명
AWS S3의 버킷에 정책을 설정합니다.
매개변수
| 매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 버킷 이름 | 문자열 | 해당 사항 없음 | 예 | 정책을 업데이트할 버킷의 이름을 지정합니다. |
| 정책 JSON 객체 | 문자열 | 해당 사항 없음 | 예 | 버킷에 설정할 정책의 JSON 객체를 지정합니다. 예는 https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html에서 확인할 수 있습니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 결과
bucket_policy = {
'Version': '2012-10-17',
'Statement': [{
'Sid': 'AddPerm',
'Effect': 'Allow',
'Principal': '*',
'Action': ['s3:GetObject'],
'Resource': f'arn:aws:s3:::{bucket_name}/*'
}]
}
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 상태 코드 == 204 (is_success = true인 경우) 'AWS S3에서 '{0}' 버킷의 정책을 업데이트했습니다.'.format(bucket_name) 다른 상태 코드인 경우 (is_success=false): '작업에서 AWS S3의 '{0}' 버킷 정책을 업데이트하지 못했습니다.'.format(bucket_name) 작업이 실패하고 플레이북 실행을 중지합니다. 잘못된 사용자 인증 정보, 서버 연결 없음과 같은 치명적인 오류의 경우: ''버킷 정책 설정' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace) |
버킷 객체 나열
설명
사용자가 사용자 계정을 비활성화할 수 있도록 지원합니다. 요청 본문에는 사용 중지할 사용자가 포함됩니다. 계정의 account enabled 속성은 false로 설정해야 합니다.
매개변수
| 매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 버킷 이름 | 문자열 | 해당 사항 없음 | 예 | 객체를 가져올 버킷의 이름을 지정합니다. |
| 반환할 최대 객체 수 | 정수 | 해당 사항 없음 | 아니요 | 반환할 객체 수를 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 결과
"Contents": [
{
"Key": "text.txt",
"LastModified": %Y-%m-%dT%H:%M:%S,
"ETag": "d41d8cd98f00b204e9800998ecf8427e",
"Size": 0,
"StorageClass": "STANDARD",
"Owner": {
"DisplayName": "lab_aws",
"ID": "935dc3fed0e1d2c5b12242cf9927370824f2438681a2d3c0523f254dbde41aba"
}
},
{
"Key": "text_1.txt",
"LastModified": %Y-%m-%dT%H:%M:%S,
"ETag": "d41d8cd98f00b204e9800998ecf8427e",
"Size": 0,
"StorageClass": "STANDARD",
"Owner": {
"DisplayName": "lab_aws",
"ID": "935dc3fed0e1d2c5b12242cf9927370824f2438681a2d3c0523f254dbde41aba"
}
}
]
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 상태 코드 == 200 (is_success = true)인 경우 'AWS S3에서 '{0}' 버킷의 객체를 반환했습니다.'.format(bucket_name) 다른 상태 코드인 경우 (is_success=false): '작업에서 AWS S3의 '{0}' 버킷 객체를 반환할 수 없습니다.'.format(bucket_name) 작업이 실패하고 플레이북 실행을 중지합니다. 잘못된 사용자 인증 정보, 서버 연결 없음과 같은 치명적인 오류가 보고되는 경우: ''버킷 객체 나열' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace) |
일반 |
| 케이스 월 테이블 | 표 이름: '{0}' 버킷 객체 열:
|
일반 |
버킷에서 파일 다운로드
설명
AWS S3의 버킷에서 파일을 다운로드합니다.
매개변수
| 매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 버킷 파일 경로 | 문자열 | s3://{bucket_name}/{file_name} | 예 | 버킷에 있는 파일의 경로를 지정합니다. 예: s3://siemplify/syslog/log.txt |
| 다운로드 경로 | 문자열 | 해당 사항 없음 | 예 | 파일을 다운로드할 경로를 지정합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 결과
{
"bucket_file_path": "s3://testsiemplify/test/123.txt"
"download_path": "/usr/bin/share/download.txt"
}
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 상태 코드 == 200 (is_success = true)인 경우 'AWS S3에서 '{0}'을 다운로드했습니다.'.format(bucket_file_path) 다른 상태 코드인 경우 (is_success=false): 'AWS S3에서 '{0}'을 다운로드할 수 없습니다. 이유: 해당 다운로드 경로에 파일이 이미 있습니다.' 작업이 실패하고 플레이북 실행을 중지합니다. 잘못된 사용자 인증 정보, 서버 연결 없음과 같은 치명적인 오류, SDK 오류가 보고되는 경우: ''버킷에서 파일 다운로드' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace) |
일반 |
버킷에 파일 업로드
설명
AWS S3의 버킷에 파일을 업로드합니다.
매개변수
| 매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
|---|---|---|---|---|
| 파일 경로 | 문자열 | 해당 사항 없음 | 예 | 업로드해야 하는 파일의 경로를 지정합니다. |
| 버킷 업로드 경로 | 문자열 | s3://{bucket_name}/{file_name} | 예 | 경로를 업로드해야 하는 버킷의 경로를 지정합니다. 예: s3://siemplify/syslog/log.txt |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
| 스크립트 결과 이름 | 값 옵션 | 예 |
|---|---|---|
| is_success | True/False | is_success:False |
JSON 결과
{
"bucket_upload_path": "s3://testsiemplify/test/123.txt"
"file_path": "/usr/bin/share/download.txt"
}
케이스 월
| 결과 유형 | 값 / 설명 | 유형 |
|---|---|---|
| 출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 상태 코드 == 200(is_success = true인 경우) '{0}을(를) AWS S3 {1} 버킷에 업로드했습니다.'.format(file_path, bucket name aka first string after s3://) 파일이 없는 경우(is_success = false) '작업이 '{0}'을(를) AWS S3에 업로드할 수 없습니다. 이유: 해당 업로드 경로의 파일이 존재하지 않습니다.' 작업이 실패하고 플레이북 실행을 중지합니다. 잘못된 사용자 인증 정보, 서버 연결 없음과 같은 치명적인 오류, SDK 오류인 경우: ''버킷에 파일 업로드' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {0}'.format(error.Stacktrace) |
일반 |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.