AWS Identity and Access Management(IAM)
통합 버전: 5.0
사용 사례 - Amazon Simple Storage Service (Amazon S3)
John이 aws-s3-bucket이라는 회사를 위해 Amazon S3 버킷을 만들었습니다.
- 사용자 생성(개발자가 회사 버킷에 데이터를 생성할 수 있어야 함)
- 그룹 만들기 (개발자를 그룹으로)
- 정책 만들기 (John이 사용자/그룹에 권한을 할당해야 함)
- 정책 연결 (John이 개발자가 AWS S3에서 객체를 읽고,쓰고,나열할 수 있도록 하는 정책을 그룹에 연결)
- 그룹에서 사용자 추가/삭제 (개발자 중 한 명이 관리자가 되므로 액세스 권한을 변경해야 함)
Google Security Operations에서 AWS Identity and Access Management (IAM) 통합 구성
Google SecOps에서 통합을 구성하는 방법에 대한 자세한 내용은 통합 구성을 참고하세요.
통합 매개변수
다음 매개변수를 사용하여 통합을 구성합니다.
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
AWS 액세스 키 ID | 문자열 | 해당 사항 없음 | 예 | 통합에 사용할 AWS 액세스 키 ID입니다. |
AWS 보안 비밀 키 | 비밀번호 | 해당 사항 없음 | 예 | 통합에 사용할 AWS 보안 비밀 키입니다. |
작업
핑
설명
Google Security Operations Marketplace 탭의 통합 구성 페이지에서 제공된 매개변수를 사용하여 AWS IAM에 대한 연결을 테스트합니다.
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 성공한 경우: '제공된 연결 매개변수를 사용하여 AWS IAM 서버에 연결되었습니다.' 출력 작업이 실패하고 플레이북 실행을 중지합니다. 성공하지 못한 경우: 'AWS IAM 서버에 연결할 수 없습니다. 오류: {0}".format(exception.stacktrace) |
일반 |
사용자 만들기
설명
AWS 계정의 새 IAM 사용자를 만듭니다. 쉼표로 구분된 값을 사용하여 한 번에 여러 사용자를 추가할 수 있습니다. 이 단계에서는 정책이 적용되지 않습니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
사용자 이름 | 문자열 | 해당 사항 없음 | 예 | 생성할 사용자의 이름입니다. 쉼표로 구분된 값입니다. 참고: 사용자 이름에는 공백을 포함할 수 없으며 영숫자 또는 +=.@_-만 포함해야 합니다. 이름은 계정 내에서 고유해야 합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
[{
"Arn":"arn:aws:iam::582302349248:user/ziv",
"CreateDate":"2020-12-03T12:12:20",
"Path":"/",
"UserId":"AIDAYPE7MW7AFMHK4WCHS",
"UserName":"ziv"
}]
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
참고:아무 일도 일어나지 않은 경우: 모든 사용자가 무효/존재/한도 → 작업이 실패해야 함 작업이 실패하고 플레이북 실행을 중지해야 합니다.
참고: 모든 사용자 이름이 잘못된 경우 'Error executing action 'Create a User'. 이유: {invalid usernames}: 사용자 이름에는 영숫자 문자 또는 다음 문자만 포함해야 합니다. +=,.@-. {existing usernames}: 이름은 계정 내에서 고유해야 합니다. |
일반 |
그룹에 사용자 추가
설명
지정된 사용자를 지정된 IAM 그룹에 추가합니다. 그룹을 사용하여 여러 사용자에게 동일한 권한 정책을 한 번에 적용합니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
그룹 이름 | 문자열 | 해당 사항 없음 | 예 | 업데이트할 그룹의 이름입니다. 참고: 그룹 이름에는 공백이 포함될 수 없으며 영숫자 문자 또는 +=.@_-만 포함해야 합니다. |
사용자 이름 | 문자열 | 해당 사항 없음 | 예 | 추가할 사용자의 이름입니다. 참고: 사용자 이름에는 공백을 포함할 수 없으며 영숫자 및 +=.@_-만 포함해야 합니다. 쉼표로 구분된 값입니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지합니다.
|
일반 |
그룹에서 사용자 삭제
설명
지정된 사용자를 지정된 IAM 그룹에 추가합니다. 그룹을 사용하여 여러 사용자에게 동일한 권한 정책을 한 번에 적용합니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
그룹 이름 | 문자열 | 해당 사항 없음 | 예 | 업데이트할 그룹의 이름입니다. 참고: 그룹 이름에는 공백이 포함될 수 없으며 영숫자 문자 또는 +=.@_-만 포함해야 합니다. |
사용자 이름 | 문자열 | 해당 사항 없음 | 예 | 삭제할 사용자의 이름입니다. 참고: 사용자 이름에는 공백을 포함할 수 없으며 영숫자 및 +=.@_-만 포함해야 합니다. 쉼표로 구분된 값입니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지합니다.
|
일반 |
사용자 표시
설명
IAM의 모든 사용자 목록을 가져옵니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
반환할 최대 사용자 수 | 정수 | 50 | 아니요 | 반환할 사용자 수를 지정합니다. 최대 1,000명의 사용자가 참여할 수 있습니다. 기본값은 50입니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
[{
"Arn":"arn:aws:iam::582302349248:user/ziv",
"CreateDate":"2020-12-03T12:12:20",
"Path":"/",
"UserId":"AIDAYPE7MW7AFMHK4WCHS",
"UserName":"ziv"
}]
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 성공한 경우: 'AWS IAM에서 사용 가능한 사용자를 나열했습니다.'를 출력합니다. 사용 가능한 데이터가 없는 경우: 'AWS IAM에서 사용자를 찾을 수 없음'을 출력합니다.
성공하지 못한 경우 (잘못된 사용자 인증 정보, 서버 연결 없음, 기타 서버 오류, max>10000인 경우): '사용자 목록' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {exception.stacktrace} |
일반 |
CSV 표 | 제목: IAM 사용자 열: 사용자 이름 사용자 ID ARN 생성일 |
일반 |
그룹 나열
설명
IAM의 모든 그룹 목록을 가져옵니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
반환할 최대 그룹 수 | 정수 | 50 | 아니요 | 반환할 그룹 수를 지정합니다. 최대 그룹 수는 1,000개입니다. 기본값은 50입니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
[{
"Arn":"arn:aws:iam::582302349248:group/ZivGroup",
"CreateDate":"2020-12-05 16:18:36+00:00",
"Path":"/",
"GroupId":"AGPAYPE7MW7AMKCWMJPMX",
"GroupName":"ZivGroup"
}]
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다. 성공한 경우: 'AWS IAM에서 사용 가능한 그룹을 나열했습니다.'를 출력합니다. 데이터를 사용할 수 없는 경우: 'AWS IAM에서 그룹을 찾을 수 없음'을 출력합니다.
성공하지 못한 경우 (잘못된 사용자 인증 정보, 서버 연결 없음, 기타 서버 오류, '최대 그룹 수' > 1000인 경우): '그룹 나열' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {exception.stacktrace} |
일반 |
CSV 표 | 제목: IAM 그룹 열: 그룹 이름 그룹 ID ARN 생성일 |
일반 |
정책 만들기
설명
AWS 계정에 대한 IAM 고객 관리 정책을 만듭니다. 이 작업은 버전 식별자가 v1인 정책 버전을 만들고 v1을 정책의 기본 버전으로 설정합니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
정책 이름 | 문자열 | 해당 사항 없음 | 예 | 만들려는 정책의 이름입니다. 정책 이름에는 공백이 포함될 수 없으며 영숫자 또는 +=.@_-만 포함해야 합니다. 정책 이름은 계정 내에서 고유해야 합니다. |
정책 문서 | 문자열 | 해당 사항 없음 | 예 | 새 정책의 콘텐츠로 사용할 JSON 정책 문서입니다. |
설명 | 문자열 | 해당 사항 없음 | 아니요 | 정책에 대한 설명입니다.일반적으로 정책에 정의된 권한에 관한 정보를 저장하는 데 사용됩니다. 예를 들어 '프로덕션 DynamoDB 테이블에 대한 액세스 권한을 부여합니다.' 정책 설명은 변경할 수 없습니다. 값이 할당된 후에는 변경할 수 없습니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
{
"PolicyName": "S3-read-only-bucket",
"PolicyId": "ANPAYPE7MW7AFKUDK3HD7",
"Arn": "arn:aws:iam::582302349248:policy/S3-read-only-bucket",
"Path": "/",
"DefaultVersionId": "v1",
"AttachmentCount": 0,
"PermissionsBoundaryUsageCount": 0,
"IsAttachable": true,
"CreateDate": "2020-12-6T17:16:45",
"UpdateDate": "2020-12-6T17:16:45"
}
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지해야 합니다.
실패한 경우 (LimitExceededException, 잘못된 사용자 인증 정보, 연결 없음, 기타 오류): '정책 만들기' 작업을 실행하는 중에 오류가 발생했습니다. 이유: {exception.stacktrace} |
일반 |
그룹 만들기
설명
AWS 계정의 새 IAM 그룹을 만듭니다. 그룹을 설정하려면 그룹을 만들어야 합니다. 그런 다음 그룹의 사용자가 수행할 작업 유형에 따라 그룹에 권한을 부여합니다. 마지막으로 사용자를 그룹에 추가합니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
그룹 이름 | 문자열 | 해당 사항 없음 | 예 | 만들려는 그룹의 이름입니다. 쉼표로 구분된 값입니다. 참고: 그룹 이름에는 공백을 포함할 수 없으며 영숫자 및/또는 +=.@_-만 포함해야 합니다. 이름은 계정 내에서 고유해야 합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
[{
"Arn":"arn:aws:iam::582302349248:group/ZivGroup",
"CreateDate":"2020-12-05 16:18:36+00:00",
"Path":"/",
"GroupId":"'AGPAYPE7MW7AMKCWMJPMX",
"GroupName":"ZivGroup"
}]
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
|
일반 |
정책 나열
설명
자체 고객 정의 관리 정책과 모든 AWS 관리 정책을 비롯하여 AWS 계정에서 사용할 수 있는 모든 관리 정책을 나열합니다. 선택사항인 Only Attached, Scope, Policy Usage 매개변수를 사용하여 반환되는 정책 목록을 필터링할 수 있습니다. 예를 들어 AWS 계정의 고객 관리 정책만 나열하려면 범위를 Local로 설정합니다. AWS 관리 정책만 나열하려면 범위를 AWS로 설정합니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
첨부파일만 | 불리언 | 아니요 | 아니요 | 선택하면 IAM 사용자, 그룹 또는 역할에 연결된 정책만 결과에 필터링됩니다. 선택하지 않으면 모든 정책이 반환됩니다. |
범위 | DDL |
전체 | 아니요 | 결과를 필터링하는 데 사용할 범위입니다. AWS 관리 정책만 나열하려면 범위를 AWS로 설정합니다. AWS 계정의 고객 관리 정책만 나열하려면 범위를 '로컬'로 설정합니다. 기본적으로 모든 정책이 반환됩니다. |
반환할 최대 정책 수 | 정수 | 100 | 아니요 | 반환할 정책 수를 지정합니다. 기본값은 100입니다. 최댓값은 1,000입니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
JSON 결과
[{
'PolicyName': 'string',
'PolicyId': 'string',
'Arn': 'string',
'Path': 'string',
'DefaultVersionId': 'string',
'AttachmentCount': 123,
'PermissionsBoundaryUsageCount': 123,
'IsAttachable': True|False,
'Description': 'string',
'CreateDate': "2020-12-6T17:16:45",
'UpdateDate':"2020-12-6T17:16:45"
}]
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
|
일반 |
CSV 표 | 제목: IAM 정책 열: 정책 이름 정책 ID 생성 날짜 업데이트 날짜 |
일반 |
정책 연결
설명
지정된 관리 정책을 ID (사용자, 그룹, 역할)에 연결합니다.
매개변수
매개변수 표시 이름 | 유형 | 기본값 | 필수 항목 | 설명 |
---|---|---|---|---|
ID 유형 | DDL |
그룹 | 예 | IAM ID 유형입니다. |
ID 이름 | 문자열 | 해당 사항 없음 | 예 | 정책을 연결할 ID의 이름 (ARN이 아닌 별칭)입니다. ID 이름에는 공백이 포함될 수 없으며 영숫자 문자 또는 +=.@_-만 포함해야 합니다. |
정책 이름 | 문자열 | 해당 사항 없음 | 예 | 정책을 연결할 정책의 이름 (ARN이 아닌 친숙한 이름)입니다. 정책 이름에는 공백이 포함될 수 없으며 영숫자 문자 또는 +=.@_-만 포함해야 합니다. |
실행
이 작업은 항목에서 실행되지 않습니다.
작업 결과
스크립트 결과
스크립트 결과 이름 | 값 옵션 |
---|---|
is_success | is_success=False |
is_success | is_success=True |
케이스 월
결과 유형 | 값 / 설명 | 유형 |
---|---|---|
출력 메시지* | 작업이 실패하거나 플레이북 실행을 중지하지 않습니다.
작업이 실패하고 플레이북 실행을 중지합니다.
|
일반 |
사용자 액세스 사용 중지
명시적 인라인 거부 정책을 추가하여 AWS에서 사용자 액세스를 사용 중지합니다.
이 작업은 연동된 사용자 또는 IAM 역할이 아닌 일반 AWS 사용자만 지원합니다.
항목
이 작업은 사용자 항목에서 실행됩니다.
작업 입력
해당 사항 없음
작업 출력
작업 출력 유형 | |
---|---|
케이스 월 연결 | 해당 사항 없음 |
케이스 월 링크 | 해당 사항 없음 |
케이스 월 테이블 | 해당 사항 없음 |
보강 테이블 | 해당 사항 없음 |
JSON 결과 | 사용 가능 |
스크립트 결과 | 사용 가능 |
JSON 결과
[
{
"Entity": "//iam.googleapis.com/projects/example/serviceAccounts/service-account@example.iam.gserviceaccount.com",
"EntityResult": [
{
"fullResourceName": "//iam.googleapis.com/projects/example/serviceAccounts/service-account@example.iam.gserviceaccount.com",
"activityType": "serviceAccountLastAuthentication",
"observationPeriod": {
"startTime": "2023-05-23T07:00:00Z",
"endTime": "2023-08-20T07:00:00Z"
},
"activity": {
"lastAuthenticatedTime": "2023-08-20T07:00:00Z",
"serviceAccount": {
"serviceAccountId": "example-account-id",
"projectNumber": "example-project-id",
"fullResourceName": "//iam.googleapis.com/projects/example/serviceAccounts/service-account@example.iam.gserviceaccount.com"
}
}
}
]
}
]
스크립트 결과
스크립트 결과 이름 | 값 |
---|---|
is_success | True/False |
케이스 월
이 작업은 다음 출력 메시지를 제공합니다.
출력 메시지 | 메시지 설명 |
---|---|
|
작업이 완료되었습니다. |
Successfully added deny policy to the following users in AWS
IAM: USERNAME_LIST |
작업이 실패했습니다. 오류로 인해 제공된 사용자 중 한 명 이상에게 거부 정책을 적용할 수 없습니다. |
Error executing action "Disable User Access". Reason:
ERROR_REASON |
작업이 실패했습니다. 서버, 입력 매개변수 또는 사용자 인증 정보에 대한 연결을 확인합니다. |
도움이 더 필요하신가요? 커뮤니티 회원 및 Google SecOps 전문가로부터 답변을 받으세요.