Server

[Powershell] amplify 명령어 ExecutionPolicy 오류

효진인데요 2024. 2. 9. 17:07

 

 

aws-amplify/cli를 전역으로 설치한 뒤 configure 하려고 하는데 

 

error 내용

 

ExecutionPolicy 보안 정책에 걸린다는 오류가 발생했다.

 

검색해 보니 PowerShell의 실행 정책을 변경하면 해결되는 오류라는 것을 알게 되었다.

 

 

 

우선 Get-ExecutionPolicy -List 명령어로 모든 실행 정책을 가져온다.

이때  MachinePolicy, UserPolicy, Process, CurrentUser, LocalMachine  이렇게 다섯 가지 정책 범위를 가져온다.

 

정책 범위를 간단하게 실펴보자면 아래와 같다.

 

MachinePolicy 컴퓨터의 모든 사용자에 대해 그룹 정책에 의해 설정
UserPolicy 컴퓨터의 현재 사용자에 대한 그룹 정책에 의해 설정
Process 현재 PowerShell 세션에만 영향
실행 정책이 환경 변수에 저장되기에 PowerShell 세션 종료 시 변수과 값 삭제
CurrentUser 현재 사용자에게만 영향
LocalMachine 현재 컴퓨터의 모든 사용자에게 영향

 

 

 

이제 각 범위에 설정되어있는 실행 정책을 확인해 보자.

 

AllSigned 스크립트 실행 가능
로컬 컴퓨터에서 작성하는 스크립트 포함, 신뢰할 수 있는 이가 모든 스크립트 및 구성 파일에 서명이 필요
서명되었다고 해도 악의적인 스크립트 실행의 위험 존재 
ByPass 아무것도 차단되지 않음
PowerShell 스크립트가 더 큰 애플리케이션에 기본으로 제공되는 구성의 기초
Default 기본 실행 정책 설정
Restricted Windows 클라이언트의 경우 Windows 서버용 RemoteSigned
RemoteSigned Windows 서버 컴퓨터에 대한 기본 실행 정책
스크립트 실행 가능
인터넷에서 다운로드되는 스크립트 및 구성 파일에 대해 신뢰할 수 있는 게시자의 디지털 서명이 필요
로컬 컴퓨터에 작성되고 인터넷에서 다운로드되지 않은 스크립트에는 디지털 서명이 필요 X
Restricted Windows 클라이언트 컴퓨터에 대한 기본 실행 정책
개별 명령을 허용,  모든 스크립트 파일의 실행 방지 및 스크립트 허용 X
Undefined 현재 범위에는 실행 정책이 설정 X
Unrestricted Windows가 아닌 컴퓨터에 대한 기본 실행 정책이며 변경 불가
로컬 인트라넷 영역이 아닌 스크립트 및 구성 파일을 실행하기 전에 사용자에게 경고

 

 

현재 사용자에게만 영향을 주기 위해 CurrentUser 정책에 대한 설정을 바꾸기로 했다.

 

 

 

 Get-ExecutionPolicy -Scope CurrentUser 

 > 현 사용자에 대한 실행 정책을 확인해 보니 Undefined가 출력되는 것을 확인할 수 있다.

 

 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 

 > 현 사용자에 대한 실행 정책을 RemoteSigned로 재정의 해준다.

 

다시 Get-ExecutionPolicy -List로 확인해 보면 정책이 변경되었음을 확인할 수 있다.

 

 

 

오류가 나던 amplify configure 명령어가 정책 변경 후에는 정상적으로 실행되는 것을 확인할 수 있다.

 

 

728x90

'Server' 카테고리의 다른 글

압축(ZIP) 폴더 오류 / 해결방법  (3) 2023.12.04
[Server]프로젝트 배포 진행  (0) 2023.09.11
[Web] 쿠키와 세션  (0) 2023.09.04
[HTTP] get post 개념과 차이점  (0) 2023.08.18
[서버] IP와 URL  (0) 2023.08.08