일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- elasticsearch
- ansible
- Linux
- module
- python
- MySQL
- tcp
- 8.0
- apt
- powershell
- 시스템자동화
- Automation
- Selenium
- DB
- ELK
- API
- GIT
- AWS
- EKS
- zabbix
- crawling
- GCP
- kibana
- 데이터 분석
- EC2
- airflow
- 자동화
- sso
- ubuntu
- 5.0
Archives
- Today
- Total
Oops - IT
AWS IAM - AD Federation with Identity Provider 본문
반응형
개요
- AWS IAM의 Identity Provider를 이용하여, Managed AD와 Federation 작업 진행
- AD 계정 기반 SMAL 인증을 통해 AWS 리소스 접근 및 Multi Account 운영 전략
구성
- 테스트 구성으로 AD는 AWS EC2에 Windows 서버 구성 후 진행하였습니다.
- 구성도
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-saml.html
Active Directory 구성
- 서버 정보
- AMI Name: Windows_Server-2022-English-Full-Base-2025.01.15
- 서버 접속 참조
RDP를 사용하여 Windows 인스턴스에 연결 - Amazon Elastic Compute Cloud
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
- [사전 작업] 초기 EC2 생성 후 Computer 이름 변경 및 Administrator 암호를 사전 변경해줍니다.
- 재부팅 완료 후 서버 관리자 -> 역할 및 기능 설치 선택
- "Active Directory Domain Services" 기능 설치
- 나머지는 Default 값으로 선택해주고 Active Directory 설치를 진행합니다.
- 설치가 완료되면, 서버 관리자의 플래그에 도메인 컨트롤러 승격 관련 메세지가 표시되는데요, AD 관리를 위해 도메인 컨트롤러로 해당 서버를 승격해주도록 하겠습니다.
- 현재, 도메인은 신규 도메인으로 Forest 구성이 없으므로, "Add a new forest" 선택 후 신규 도메인 이름을 입력해줍니다.
- DSRM(Domain Services Restore Mode) Password를 입력해줍니다. (AD를 복구 시 부팅모드에서 사용 됩니다.)
- 나머지는, Default 값으로 설치를 진행합니다.
- 도메인 컨트롤러 승격 완료 후 해당 서버 리부팅을 진행합니다.
Active Directory 사용자 및 그룹 구성
- 작업을 진행할 도메인 계정을 하나 생성 후에 해당 계정으로 전환 후 작업하겠습니다.
- "Active Directory Users and Computers" 접속 -> Users -> User 생성
- 작업에 필요한 권한 할당을 위해 아래 그룹의 멤버로 추가해 줍니다.
- Domain Admins
- Enterprise Admins
- Schema Admins
- Remote Desktop Users
- 생성한 계정으로 재접속해 줍니다.
(해당 계정으로 계속 작업을 진행할 것으로, 편의를 위해 Active Directory Users and Computer 같은 App들은 작업 표시줄 고정해주시면 좋습니다.)
- AD Federation에 필요한 OU, 그룹, 유저를 생성해 줍니다.
- 수동 생성 하셔도 되며, 아래 Git의 Powershell 스크립트를 이용하셔도 됩니다.
- "AWS" OU 생성
- "AWS-Admin", "AWS-Dev" 그룹 생성 (AWS IAM Role 역할 전환 시 권한 분리용으로 사용합니다.)
- "awsadmin", "awsuser" 유저 생성
- 유저 들을 알맞은 그룹에 할당
- "awsadmin" -> "AWS-Admin", "AWS-Dev"
- "awsuser" -> "AWS-Dev"
- 생성 완료 모습
- 이제 1차적인 AD 작업은 완료되었습니다. 그러면, AD FS 기능 설치 및 연동을 진행해보겠습니다.
AD FS 구성
- AD FS 구성 시 SSL 인증서를 요구하는데, Public 인증서의 경우 발급에 비용이 들어가니, AD에서 발급하는 사설 인증서를 먼저 발급해보겠습니다.
- 서버 관리자 -> 역할 및 기능 설치 -> "Active Directory Certificate Services" 선택
- Role
- Certification Authority (Default)
- Certification Authority Web Enrollment (추가)
- Role
- 나머지는, Default 선택 후 설치를 진행합니다.
- 설치가 완료되면, CA 설정을 진행해줍니다.
- Role Services -> 기존 선택한 Role 2개 모두 선택
- Enterprise CA 선택
- Enterprise: Active Directory를 필요로 하며, Group Policy를 이용하여 모든 사용자와 컴퓨터를 위해 Root CA 인증서를 자동으로 전파합니다. AD 기반 전사적으로 인증서 기반으로 사용할 때 이용
- Standalone: Active Directory를 필요로 하지 않으며, 이름 그대로 독립적으로 구성될 수 있습니다. 매우 강력한 보안을 필요로 하여 네트워크가 단절된 곳에 Root CA를 설치해야 할 경우 이용
- Root CA 선택
- Create a new private key 선택, Key 암호화 방식 Default 선택
- 나머지, Default 값으로 선택 후 설정 완료해줍니다.
- 생성된 Root CA를 기반으로 사설 SSL 인증서를 발급해 보겠습니다.
- 설치된 IIS APP 접속 -> Server Certification 선택
- 오른쪽 버튼 클릭 후 "Create Cerificate Request" 선택
- 기본 값 선택 후 저장할 위치를 선택해 줍니다. 그러면 Private Key가 txt 파일로 지정한 경로에 생성이 됩니다.
- Web 인증서 등록을 위해 Web 사이트 접속 (URL: http://<Server 도메인>/certsrv
- 위의 과정을 통해, Certificate를 다운로드 했으면, Certifiacte Request를 완료해줍니다.
- 다시 Server Certification으로 돌아와서 "Complete Certifiacte Request" 실행
- 위의 다운로드 받은 Certificate를 등록해줍니다.
- 생성 완료 후 해당 인증서를 Export 해줍니다.
- Export 시 사용할 SSL 인증서의 암호를 입력해줍니다.
- 그러면, 지정한 경로에 *pfx 확장자 파일의 SSL 인증서가 생성이 됩니다.
- 다음으로, AD FS 기능 설치를 진행합니다.
- 기능 설치 시, 아까 생성한 SSL 인증서 정보를 등록해 줍니다.
- 여기서 AD FS 서비스 실행 시 GMSA(Group Managed Service Account)를 사용할 것인데 생성을 위해 Powershell 실행 후 KDS 루트 키를 아래 명령어로 임시로 활성화 해줍니다.
- # add-kdsrootkey -effectivetime (get-date).addhours(-10)
- 그러면, 아래와 같이 GMSA 계정 입력 창이 활성화 됩니다.
- 설치 및 설정 작업을 마무리 합니다.
- AD FS 진행 전, AWS IAM에서 Metadata를 통해 SAML 연동을 하여, 연동 포인트를 우선 생성해주겠습니다.
- https://<서버 FQDN>/FederationMetadata/2007-06/FederationMetadata.xml
- AWS Console -> IAM -> Identity Providers 선택
- 메타데이터 파일 다운로드 후 AWS Identity Providers에서 등록 진행
- AD FS 다시 접속 후 Relying Party Trusts 추가
- https://signin.aws.amazon.com/static/saml-metadata.xml / AWS Federation metadata URL 활용
- Rule#1
- Claim rule template
- Transform an Incoming Claim
- Claim Rule
- Claim rule template
- Rule#2
- Claim rule Template
- Send LDAP Attributes as Claims
- Claim Rule (https://aws.amazon.com/SAML/Attributes/RoleSessionName)
- Claim rule Template
- Rule#3
- Claim rule Template
- Send Claims Using a Custom Rule
- Claim Rule Name
- Get AD Groups
- Custom Rule
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("http://temp/variable"), query = ";tokenGroups;{0}", param = c.Value);
- Claim rule Template
- Rule#4
- Claim rule Template
- Send Claims Using a Custom Rule
- Claim Rule Name
- Role
- Custom Rule
c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::<acccount id>:saml-provider/<provider_name>,arn:aws:iam::<account id>:role/ADFS-"));
- Claim rule Template
- AWS IAM에서 SMAL용 Role을 생성해줍니다.
- ADFS-Admin
- ADFS-Dev
- SSO 사이트 접속 후 역할 전환 확인
- 접속 확인
AWS Federated Authentication with Active Directory Federation Services (AD FS) | Amazon Web Services
Today we’d like to walk you through AWS Identity and Access Management (IAM), federated sign-in through Active Directory (AD) and Active Directory Federation Services (ADFS). With IAM, you can centrally manage users, security credentials such as access k
aws.amazon.com
반응형
'AWS' 카테고리의 다른 글
AMI with Packer (0) | 2025.01.20 |
---|---|
GameLift 알아보기 (0) | 2025.01.16 |
Lambda 사용 해보기 (2) | 2025.01.15 |
EKS 생성하기 - LB를 통한 서비스 외부 노출 (0) | 2025.01.14 |
EKS 생성하기 (0) | 2025.01.14 |