

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AD FS 클레임 규칙 및 SAML 설정
<a name="adfs-claim-rule-saml"></a>

AWS Managed Services(AMS)에 대한 ActiveDirectory Federation Services(AD FS) 클레임 규칙 및 SAML 설정 AWS Managed Services 

AD FS를 설치하고 구성하는 방법에 대한 step-by-step 지침은 [ Windows Active Directory, ADFS 및 SAML 2.0을 사용하여 AWS에 페더레이션 활성화](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/)를 참조하세요.

## ADFS 클레임 규칙 구성
<a name="cust-have-adfs"></a>

ADFS 구현이 이미 있는 경우 다음을 구성합니다.
+ 신뢰 당사자 신뢰
+ 클레임 규칙 

신뢰 당사자 신뢰 및 클레임 규칙 단계는 [ Windows Active Directory, AD FS 및 SAML 2.0 블로그를 사용하여 AWS에 페더레이션 활성화](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/)에서 수행됩니다.
+ 클레임 규칙:
  + **Nameid**: 블로그 게시물당 구성
  + **RoleSessionName**: 다음과 같이 구성
    + **클레임 규칙 이름**: **RoleSessionName**
    + **속성 저장소**: **Active Directory**
    + **LDAP 속성**: **SAM-Account-Name**
    + **발신 클레임 유형**: **https://aws.amazon.com/SAML/Attributes/RoleSessionName**
    + **AD 그룹 가져오기**: [ 블로그 게시물](https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfs-and-saml-2-0/)당 구성
    + **역할 클레임**: 다음과 같이 구성

      ```
      c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-([^d]{12})-"]
      ```

      ```
      => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-([^d]{12})-", "arn:aws:iam::$1:saml-provider/customer-readonly-saml,arn:aws:iam::$1:role/"));    
      ```

## 웹 콘솔
<a name="adfs-web-console"></a>

아래 링크를 사용하여 *[ADFS-FQDN]*을 ADFS 구현의 FQDN으로 대체하여 AWS 웹 콘솔에 액세스할 수 있습니다.

https://*[ADFS-FQDN]*/adfs/ls/IdpInitiatedSignOn.aspx

IT 부서가 그룹 정책을 통해 사용자 집단에 위 링크를 배포할 수 있습니다.

## SAML을 사용한 API 및 CLI 액세스
<a name="api-cli-web-access"></a>

SAML을 사용하여 API 및 CLI 액세스를 구성하는 방법.

Python 패키지는 아래 블로그 게시물에서 제공됩니다.
+ NTLM: [ SAML 2.0 및 AD FS를 사용하여 페더레이션 API 및 CLI 액세스를 구현하는 방법](https://aws.amazon.com/blogs/security/how-to-implement-federated-api-and-cli-access-using-saml-2-0-and-ad-fs/)
+ 양식: [ SAML 2.0을 사용하여 페더레이션 API/CLI 액세스를 위한 일반 솔루션을 구현하는 방법](https://aws.amazon.com/blogs/security/how-to-implement-a-general-solution-for-federated-apicli-access-using-saml-2-0/)
+ PowerShell: [ Windows PowerShell을 사용하여 AWS에 대한 페더레이션 API 액세스를 설정하는 방법](https://aws.amazon.com/blogs/security/how-to-set-up-federated-api-access-to-aws-by-using-windows-powershell/)

### 스크립트 구성
<a name="script-config"></a>

1. Notepad\$1\$1를 사용하여 기본 리전을 올바른 리전으로 변경합니다.

1. Notepad\$1\$1를 사용하여 테스트 및 개발 환경에 대한 SSL 확인 비활성화

1. Notepad\$1\$1를 사용하여 idpentryurl 구성

   `https://[ADFS-FDQN]/adfs/ls/IdpInitiatedSignOn.aspx?loginToRp=urn:amazon:webservices`

### Windows 구성
<a name="win-rule-claim-config"></a>

아래 지침은 python 패키지에 대한 것입니다. 생성된 자격 증명은 1시간 동안 유효합니다.

1. [python(2.7.11) 다운로드 및 설치](https://www.python.org/downloads/)

1. [AWS CLI 도구 다운로드 및 설치](https://aws.amazon.com/cli/)

1. AMS CLI를 설치합니다.

   1. 클라우드 서비스 제공 관리자(CSDM)가 제공한 AMS 배포 가능 zip 파일을 다운로드하고 압축을 풉니다.

      여러 디렉터리와 파일을 사용할 수 있습니다.

   1. 운영 체제에 따라 **관리형 클라우드 배포 가능 -> CLI -> Windows** 또는 **관리형 클라우드 배포 가능 -> CLI -> Linux/MacOS 디렉터리를** 엽니다.

      **Windows**의 경우 적절한 설치 관리자를 실행합니다(이 방법은 Windows 32 또는 64비트 시스템에서만 작동함).
      + 32비트: ManagedCloudAPI\$1x86.msi
      + 64비트: ManagedCloudAPI\$1x64.msi

      **Mac/Linux**의 경우 **MC\$1CLI.sh**라는 파일을 실행합니다. 명령을 실행하여이 작업을 수행할 수 있습니다`sh MC_CLI.sh`. **amscm** 및 **amsskms** 디렉터리와 그 내용은 **MC\$1CLI.sh** 파일과 동일한 디렉터리에 있어야 합니다.

   1. 기업 자격 증명을 AWS와의 페더레이션(AMS 기본 구성)을 통해 사용하는 경우 페더레이션 서비스에 액세스할 수 있는 자격 증명 관리 도구를 설치해야 합니다. 예를 들어이 AWS 보안 블로그 [ SAML 2.0 및 AD FS를 사용하여 연합 API 및 CLI 액세스를 구현하는 방법을](https://blogs.aws.amazon.com/security/post/Tx1LDN0UBGJJ26Q/How-to-Implement-Federated-API-and-CLI-Access-Using-SAML-2-0-and-AD-FS) 사용하여 자격 증명 관리 도구를 구성할 수 있습니다.

   1. 설치 후 `aws amscm help` 및를 실행`aws amsskms help`하여 명령과 옵션을 확인합니다.

1. 필요한 SAML 스크립트 다운로드

   c:\$1aws\$1scripts로 다운로드

1. [PIP 다운로드](https://bootstrap.pypa.io/get-pip.py)

   c:\$1aws\$1downloads로 다운로드

1. PowerShell을 사용하여 PIP 설치

   <pythondir>.\$1python.exe c:\$1aws\$1downloads\$1get-pip.py

1. PowerShell을 사용하여 boto 모듈 설치

   <pythondir\$1scripts>pip 설치 boto

1. PowerShell을 사용하여 요청 모듈 설치

   <pythondir\$1scripts>pip 설치 요청

1. PowerShell을 사용하여 요청 보안 모듈 설치

   <pythondir\$1scripts>pip 설치 요청[보안]

1. PowerShell을 사용하여 beautifulsoup 모듈 설치

   <pythondir\$1scripts>pip 설치 beautifulsoup4

1. PowerShell을 사용하여 사용자 프로필에 .aws라는 폴더를 생성합니다(%userprofile%\$1.aws).

   mkdir .aws

1. PowerShell을 사용하여 .aws 폴더에 자격 증명 파일 생성

   New-Item 자격 증명 -유형 파일 –force

   자격 증명 파일에 파일 확장자가 없어야 합니다.

   파일 이름은 모두 소문자여야 하며 이름 자격 증명이 있어야 합니다.

1. 메모장으로 자격 증명 파일을 열고 올바른 리전을 지정하여 다음 데이터를 붙여 넣습니다.

   ```
   [default]
   output = json
   region = us-east-1
   aws_access_key_id = 
   aws_secret_access_key =
   ```

1. PowerShell, SAML 스크립트 및 로그온 사용

   <pythondir>.\$1python.exe c:\$1aws\$1scripts\$1samlapi.py

   사용자 이름: [USERNAME]@upn

   수임할 역할을 선택합니다.

### Linux 구성
<a name="linux-rule-claim-config"></a>

생성된 자격 증명은 1시간 동안 유효합니다.

1. WinSCP를 사용하여 SAML 스크립트 전송

1. WinSCP를 사용하여 루트 CA 인증서 전송(테스트 및 개발 무시)

1. 신뢰할 수 있는 루트 인증서에 ROOT CA 추가(테스트 및 개발 무시)

   \$1 openssl x509 -in [certname].cer -out certificate.pem에 대한 정보 제공(테스트 및 개발 무시)

   /etc/ssl/certs/ca-bundle.crt 파일의 끝에 certificate.pem의 콘텐츠 추가((테스트 개발의 경우 무시)

1. home/ec2-user 5에서 .aws 폴더 생성

   ```
   [default]
   output = json
   region = us-east-1
   aws_access_key_id = 
   aws_secret_access_key =
   ```

1. WinSCP를 사용하여 자격 증명 파일을 .aws 폴더로 전송합니다.

1. Boto 모듈 설치

   \$1 sudo pip install boto

1. 요청 모듈 설치

   \$1 sudo pip 설치 요청

1. beautifulsoup 모듈 설치

   \$1 sudo pip install beautifulsoup4

1. 스크립트를 home/ec2-user에 복사

   필요한 권한 설정

   스크립트 실행: samlapi.py