AWS S3

통합 버전: 4.0

사용 사례

  1. 버킷 관리
  2. 버킷에서 파일 다운로드
  3. 버킷에 파일 업로드

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}' 버킷 객체

열:

  • 키 (Key로 매핑됨)
  • 최종 수정일 (LastModified로 매핑됨)
  • 크기 (바이트) (크기로 매핑됨)
  • 소유자 (Owner/DisplayName으로 매핑됨)
  • 스토리지 클래스 (스토리지 클래스로 매핑됨)
일반

버킷에서 파일 다운로드

설명

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 전문가로부터 답변을 받으세요.