aws에서 aws sso로 구글 idp 연동하였습니다. iam user로는 콘솔 접근은 막아놓았는데 aws sso 로 콘솔 접속시 아이피 제한을 할 수 있을까요?
질의 주셔서 감사합니다. 서비스 오픈한지 3째주래서 초기이다보니, 질의 홍보해볼께요.
혹시 불편하시면 알려주세요. 바로 홍보 삭제하겠습니다. ^^
AWS SSO는 기본적으로 IP차단을 지원하지 않습니다.
어슘하는 대상롤에서 IP제어해야 하는데 그도 좋은방법은 아니구요.
최적의 방법은 외부의 idp를 사용하는 방법입니다.
[CloudBro AI Bot Response]
안녕하세요! AWS SSO로 구글 IDP 연동 후, AWS 콘솔 접속 시 IP 제한을 적용하는 방법에 대해 안내드리겠습니다.
1. 문제 요약
- AWS SSO를 통해 구글 IDP로 인증하는 환경
-
- IAM User 콘솔 접근은 차단 완료
-
- AWS SSO(즉, SAML 기반 Federation)로 로그인 시 IP 기반 접속 제한 필요
2. AWS SSO 콘솔 접속 IP 제한 직접 지원 여부
AWS SSO 자체에서는 IP 제한 기능(예: IP 조건으로 접근 제어)을 직접 제공하지 않습니다.
하지만, AWS SSO가 내부적으로 IAM 역할을 통해 권한을 부여하므로, IAM 역할에 조건을 걸어 IP 제한을 구현할 수 있습니다.
3. 해결책: IAM 역할에 조건부 정책 추가 (IP 제한)
AWS SSO에서 사용자에게 할당되는 IAM 역할(즉, SSO가 AssumeRole 하는 역할)에 다음과 같이 조건을 추가합니다.
예시: 특정 IP 대역에서만 콘솔 접근 허용하는 정책 조건
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAccessFromSpecificIPs",
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"NotIpAddress": {
"aws:SourceIp": [
"203.0.113.0/24",
"198.51.100.0/24"
]
}
}
}
]
}
- 위 정책은 지정한 IP 대역이 아닌 곳에서 접속 시 모든 액션을 거부합니다.
-
- 실제 환경에 맞게
aws:SourceIp값을 회사 IP 또는 VPN IP 범위로 변경하세요.
- 실제 환경에 맞게
4. 적용 방법
- AWS SSO 관리 콘솔 → 사용자에게 할당된 IAM 역할 확인
-
- IAM 콘솔 → 해당 역할의 인라인 정책 또는 연결된 정책에 위 조건 추가
-
- 정책 적용 후, SSO 로그인 시 IP 조건을 만족하지 않으면 액션이 거부되어 콘솔 접속이 제한됨
5. 참고 사항 및 한계
- 이 방법은 SSO가 AssumeRole 하는 IAM 역할에 조건을 거는 방식으로 IP 제한을 구현하는 것입니다.
-
- IP 제한 조건은 AWS에서
aws:SourceIp를 통해 요청의 출발지 IP를 확인합니다.
- IP 제한 조건은 AWS에서
-
- VPN 사용 시 VPN 서버의 공인 IP 대역을 포함시켜야 정상 작동합니다.
-
- SSO 로그인 페이지 자체(IP 제한) 차단은 불가능하며, 로그인 후 역할 권한에서 제한이 걸립니다.
-
- 만약 로그인 자체를 IP 제한하고 싶다면, 별도의 네트워크 레벨(예: 회사 방화벽, VPN 정책)에서 제어해야 합니다.
6. 추가 학습 리소스
7. 실무 팁: 정책 적용 시 주의사항
- 정책 적용 후 본인의 IP에서 테스트하여 정상 접근 가능한지 꼭 확인하세요.
-
- IP 대역이 넓거나 VPN IP가 자주 바뀌는 경우 정책 유지보수가 필요합니다.
-
- 정책 적용 시 권한이 너무 제한적이면 서비스 이용에 불편이 생길 수 있으니, 단계별로 점진 적용 권장합니다.
필요시 정책 예시 작성 및 적용 방법을 좀 더 상세히 안내해드릴 수 있으니, 추가 질문 주세요!
답변 감사드립니다.
어슘하는 롤에서 ip 제어하는건 왜 좋은 방법이 아닌지도 궁금합니다.
idp에서 하려면 결국 구글 워크스페이스에 돈을 내야하는군요..
어슘에서 제어하는게 좋지않은 이유는 sso 역할은 sso 계정에서 자동으로 만들어지는데 이역할에 아이피제어를 넣으려면 별도로 아이피제어 정책을 넣어서 관리하는형태가 되어야합니다. 멀티어카운트면 어카운트마다 아이피정책을 만들어야하고, 사용자 계정별로 제어하려면 또 복잡성이 늘게됩니다.
사용자체는 할수있으나 지속하기 어려운방식으로 이해하시면 될것같네요.
ZeroTrust 모델을 고려했을 때 IDP레벨에서 하는 보안(e.g Okta)와 SP레벨에서 하는 보안(e.g Identity Center)가 다릅니다. IDP레벨에서는 일반적으로 접근제어(접근하는 네트웤, 접근하는 기기의 보안상태 등)를 구축하는게 권장되고, SP레벨에서는 권한관리와 Service 내에서의 로그를 통한 보안감사 등이 있을 수 있습니다.