SSM Automation에서 EC2의 IAM Role Policy를 승인한 후 변경
4673 단어 automationSSMAWS
SSM Automation에서 EC2의 IAM Role Policy를 승인한 후 변경
개요
SSM Automation 기능을 사용하여 EC2의 IAM Role Policy 변경
여러 사람의 인정을 받아야만 바뀔 수 있는 절차를 만들어야 합니다.
예를 들어, AWS Systems Manager Session Manager를 일시적으로 실행할 수 있는 권한 등이 있어야 합니다.
작업흐름
작업
EC2 인스턴스 Attach IAM Role
실례의 제작 방법은 생략한다
IAM Role 및 Instance 소개 제작
$ ROLE_AND_PROFILE_NAME=ssm-automation-test-role
$ ASSUME_ROLE_POLICY_DOCUMENT=$(cat << EOS
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
EOS
)
$ aws iam create-role \
--role-name "${ROLE_AND_PROFILE_NAME}" \
--assume-role-policy-document "${ASSUME_ROLE_POLICY_DOCUMENT}"
$ aws iam create-instance-profile \
--instance-profile-name "${ROLE_AND_PROFILE_NAME}"
그리고 실제로 Attach.SSM Automation으로 Attach의 IAM Policy 만들기
$ POLICY_NAME=ssm-automation-test-policy
$ POLICY_JSON=$(cat << EOS
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:DescribeInstances",
"Resource": "*"
}
]
}
EOS
)
$ aws iam create-policy \
--policy-name "${POLICY_NAME}" \
--policy-document "${POLICY_JSON}"
SSM Automation 쓰기 YAML
SSM Automation 프로세스
중간에 승인되지 않은 경우 Automation이 완료됩니다.
작업 내용
$ NOTIFICATION_ARN=[SNSのTopic ARNなど]
$ AWS_ACCOUNT_ID=[自分のAWSのアカウントID]
$ APPROVERS=[承認者のIAM User ARNだったり、IAM GroupのARN]
$ DOCUMENT_CONTENT=$(cat << EOS
---
schemaVersion: "0.3"
description: "Automation Document Example YAML"
mainSteps:
- name: approve_attach
action: aws:approve
timeoutSeconds: 1000
onFailure: Abort
inputs:
NotificationArn: "${NOTIFICATION_ARN}"
Message: "EC2にec2:DescribeInstancesの権限を一時的につけたいです。"
MinRequiredApprovals: 1
Approvers:
- "${APPROVERS}"
- name: attach_policy
action: aws:executeAwsApi
inputs:
Service: iam
Api: AttachRolePolicy
RoleName: "ssm-automation-test"
PolicyArn: "arn:aws:iam::${AWS_ACCOUNT_ID}:policy/ssm-automation-test-policy"
- name: approve_detach
action: aws:approve
timeoutSeconds: 1000
onFailure: Abort
inputs:
NotificationArn: "${NOTIFICATION_ARN}"
Message: "EC2のec2:DescribeInstancesの権限を外したいです。"
MinRequiredApprovals: 1
Approvers:
- "${APPROVERS}"
- name: detach_policy
action: aws:executeAwsApi
onFailure: Continue
inputs:
Service: iam
Api: DetachRolePolicy
RoleName: "ssm-automation-test"
PolicyArn: "arn:aws:iam::${AWS_ACCOUNT_ID}:policy/ssm-automation-test-policy"
EOS
)
$ aws ssm create-document \
--content "${DOCUMENT_CONTENT}" \
--document-type "Automation" \
--name "attach-policy" \
--document-format "YAML"
동작 확인
NOTIFICATION_ARN이 설정한 곳에서 메일이나 알림을 받고 내용을 확인했습니다.
Approve는 다음 단계로 넘어갈 수 있고 Reject는 작업이 멈춘다
IAM Role의 상태를 지켜보면서 하는 게 좋을 것 같아요.
메시지 내용
Reference
이 문제에 관하여(SSM Automation에서 EC2의 IAM Role Policy를 승인한 후 변경), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shigure_onishi/items/f82ad024232cdc9bbcbe텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)