Python을 활용한 업무의 일부를 공유하는 게시물입니다.
아직 공부하는 입장이기에 부족한 부분이 있을 수 있습니다. 지적해주시면 적극 반영하도록 하겠습니다.
퍼가시거나, 업무에서 도움이 되었다면 댓글 하나씩 부탁드립니다 :) 감사합니다.
Summary
workspace_id를 입력받아서 해당 workspace의 사용자 + 마지막 사용일자를 구하는 코드이다.
그리고 각 정보를 check_workspace_use-yyyy-mm-dd 파일명의 Output으로 생성된다.
#!/usr/bin/python3
import boto3
import json
from datetime import datetime
import sys
#Define AWS Account Profile
PROFILES = 'service-name' <<< 상황에 맞게 수정하시면 됩니다.
AWS_REGION = 'ap-northeast-2' <<< 상황에 맞게 수정하시면 됩니다.
session = boto3.Session(profile_name=PROFILES, region_name=AWS_REGION)
client = session.client('workspaces')
workspace_id = ["ws-xxxxx", "ws-xxxxxx"] <<< 상황에 맞게 수정하시면 됩니다.
file_name = f"check_workspace_use-{datetime.now().strftime('%Y-%m-%d')}" <<< 상황에 맞게 수정하시면 됩니다.
def check_workspace(workspaceid):
"""
: Workspace의 마지막 사용일 확인
"""
response = client.describe_workspaces_connection_status(
WorkspaceIds=[
workspaceid,
]
)
response_meta = response.get("WorkspacesConnectionStatus")
worksapce_id = response_meta[0]['WorkspaceId']
try :
lastuse_time = response_meta[0]['LastKnownUserConnectionTimestamp']
except :
lastuse_time = "no use"
check_workspace_name(workspaceid)
user_name = check_workspace_name(workspaceid)
message = "User Name : {}, Workspace ID : {}, LastuseTIme : {}".format(user_name, worksapce_id, lastuse_time)
sys.stdout = open(file_name, 'a')
print(message)
def check_workspace_name(workspaceid):
"""
:Workspace ID 기반으로 사용자명 확인
"""
response = client.describe_workspaces(
WorkspaceIds=[
workspaceid,
]
)
response_meta = response.get("Workspaces")
user_name = response_meta[0]["UserName"]
return user_name
if __name__ == "__main__":
for id in workspace_id :
check_workspace(id)
sys.stdout.close()
'개발 이모저모 > Python' 카테고리의 다른 글
[Python] CloudFront, ALB WAF 미연결 리소스 찾기 (0) | 2022.12.29 |
---|---|
[Python] ECR Image Trivy 취약점 점검하기 (0) | 2022.12.11 |
[Python] NACL Deny 정책 넣기 (0) | 2022.12.10 |
[Python] VirusTotal API + Response Save Bot 만들기 (0) | 2022.03.12 |