

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

# `DirectoryService` 섹션
<a name="DirectoryService-v3"></a>

**참고**  
 AWS ParallelCluster 버전 3.1.1에서에 대한 지원이 `DirectoryService` 추가되었습니다.

(선택 사항)**** 다중 사용자 액세스를 지원하는 클러스터의 디렉토리 서비스 설정

AWS ParallelCluster 는 [시스템 보안 서비스 데몬(SSSD](https://sssd.io/docs/introduction.html))에서 지원하는 LDAP(Lightweight Directory Access Protocol)를 통해 Active Directory(AD) 클러스터에 대한 여러 사용자 액세스를 지원하는 권한을 관리합니다. 자세한 내용은 *AWS Directory Service 관리 안내서*의 [ What is AWS Directory Service?](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html)를 참조하세요.

잠재적으로 민감한 정보가 암호화된 채널을 통해 전송되도록 하려면 TLS/SSL을 통한 LDAP(줄여서 LDAPS)를 사용하는 것이 좋습니다.

```
DirectoryService:
  DomainName: {{string}}
  DomainAddr: {{string}}
  PasswordSecretArn: {{string}}
  DomainReadOnlyUser: {{string}}
  LdapTlsCaCert: {{string}}
  LdapTlsReqCert: {{string}}
  LdapAccessFilter: {{string}}
  GenerateSshKeysForUsers: {{boolean}}
  AdditionalSssdConfigs: {{dict}}
```

[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

## `DirectoryService` 속성
<a name="DirectoryService-v3.properties"></a>

**참고**  
인터넷에 액세스할 수 없는 단일 서브넷 AWS ParallelCluster 에서를 사용하려는 경우 추가 요구 사항은 섹션을 참조[AWS ParallelCluster 인터넷에 액세스할 수 없는 단일 서브넷의](aws-parallelcluster-in-a-single-public-subnet-no-internet-v3.md)하세요.

`DomainName`(필수****, `String`)  
ID 정보로 사용하는 액티브 디렉터리(AD) 도메인  
`DomainName`은 Fully Qualified Domain Name(FQDN)과 LDAP Distinguished Name(DN) 형식을 모두 허용합니다.  
+ FQDN 예제: `corp.{{example}}.com`
+ LDAP DN 예제: `DC={{corp}},DC={{example}},DC={{com}}`
이 속성은 `ldap_search_base`라는 sssd-ldap 파라미터에 대응합니다.  
[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`DomainAddr`(필수****, `String`)  
LDAP 서버로 사용되는 AD 도메인 컨트롤러를 가리키는 URI 또는 URI입니다. URI는 `ldap_uri`라는 SSSD-LDAP 파라미터에 대응합니다. 값은 쉼표로 구분된 URI 문자열일 수 있습니다. LDAP를 사용하려면 각 URI의 시작 부분에 `ldap://`를 추가해야 합니다.  
예제 값:  

```
ldap://192.0.2.0,ldap://203.0.113.0          # LDAP
ldaps://192.0.2.0,ldaps://203.0.113.0        # LDAPS without support for certificate verification
ldaps://abcdef01234567890.corp.example.com  # LDAPS with support for certificate verification
192.0.2.0,203.0.113.0                        # AWS ParallelCluster uses LDAPS by default
```
인증서 확인과 함께 LDAPS를 사용하는 경우 URI는 호스트 이름이어야 합니다.  
인증서 확인 또는 LDAP 없이 LDAPS를 사용하는 경우 URI는 호스트 이름 또는 IP 주소일 수 있습니다.  
TLS/SSL을 통한 LDAP(LDAPS)를 사용하여 암호와 기타 민감한 정보가 암호화되지 않은 채널을 통해 전송되지 않도록 하세요. AWS ParallelCluster 이 프로토콜을 찾지 못하면 각 URI 또는 호스트 이름의 시작 부분에 `ldaps://`이 추가됩니다.  
[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`PasswordSecretArn`(필수****, `String`)  
`DomainReadOnlyUser` 일반 텍스트 암호가 포함된 AWS Secrets Manager 보안 암호의 Amazon 리소스 이름(ARN)입니다. 암호의 내용은 `ldap_default_authtok`라는 SSSD-LDAP 파라미터에 대응합니다.  
 AWS Secrets Manager 콘솔을 사용하여 보안 암호를 생성할 때는 "기타 보안 암호 유형"을 선택하고 일반 텍스트를 선택한 다음 보안 암호에 암호 텍스트만 포함해야 합니다.  
를 사용하여 보안 암호를 AWS Secrets Manager 생성하는 방법에 대한 자세한 내용은 [AWS Secrets Manager 보안 암호 생성을 참조하세요.](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret)
LDAP 클라이언트는 자격 증명 정보를 요청할 `DomainReadOnlyUser` 때 암호를 사용하여 AD 도메인을 로 인증합니다.  
사용자에게 [https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DescribeSecret.html](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DescribeSecret.html)에 대한 권한이 있는 경우 `PasswordSecretArn`의 유효성이 검사됩니다. 지정된 비밀이 존재할 경우 `PasswordSecretArn`가 유효합니다. 사용자 IAM 정책이 `DescribeSecret`을 포함하지 않는 경우 `PasswordSecretArn`가 검증되지 않고 경고 메시지가 표시됩니다. 자세한 내용은 [기본 AWS ParallelCluster `pcluster` 사용자 정책](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-base-user-policy) 항목을 참조하세요.  
시크릿 값이 변경되더라도 클러스터는 자동으로 업데이트되지 *않습니다*. 새 암호 값에 맞게 클러스터를 업데이트하려면 [`pcluster update-compute-fleet`](pcluster.update-compute-fleet-v3.md) 명령으로 컴퓨팅 플릿을 중지한 다음 헤드 노드 내에서 다음 명령을 실행해야 합니다.  

```
$ sudo /opt/parallelcluster/scripts/directory_service/update_directory_service_password.sh
```
[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`DomainReadOnlyUser`(필수****, `String`)  
클러스터 사용자 로그인을 인증할 때 AD 도메인에 ID 정보를 쿼리하는 데 사용되는 ID입니다. 이는 `ldap_default_bind_dn`라는 SSSD-LDAP 파라미터에 대응합니다. 이 값에는 AD ID 정보를 사용하세요.  
노드에 있는 특정 LDAP 클라이언트에서 요구하는 형식으로 ID를 지정합니다.  
+ MicrosoftAD:

  ```
  cn=ReadOnlyUser,ou=Users,ou=CORP,dc={{corp}},dc={{example}},dc={{com}}
  ```
+ SimpleAD:

  ```
  cn=ReadOnlyUser,cn=Users,dc={{corp}},dc={{example}},dc={{com}}
  ```
[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`LdapTlsCaCert`(선택 사항****, `String`)  
도메인 컨트롤러에 대한 인증서를 발급한 인증 체인의 모든 인증 기관에 대한 인증서가 포함된 인증서 번들의 절대 경로입니다. 이는 `ldap_tls_cacert`라는 SSSD-LDAP 파라미터에 대응합니다.  
인증서 번들은 PEM 형식의 개별 인증서를 연결하여 구성된 파일로, Windows에서는 DER Base64 형식이라고도 합니다. LDAP 서버 역할을 하는 AD 도메인 컨트롤러의 ID를 확인하는 데 사용됩니다.  
AWS ParallelCluster 는 노드에 인증서를 처음 배치할 책임이 없습니다. 클러스터 관리자는 클러스터를 생성한 후 헤드 노드에 인증서를 수동으로 구성하거나 [부트스트랩 스크립트](custom-bootstrap-actions-v3.md)를 사용할 수 있습니다. 또는 헤드 노드에 구성된 인증서가 포함된 Amazon Machine Image(AMI)를 사용할 수 있습니다.  
[Simple AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_simple_ad.html)는 LDAPS를 지원하지 않습니다. Simple AD 디렉터리를와 통합하는 방법을 알아보려면 *AWS 보안 블로그*의 [Simple AD에 대한 LDAPS 엔드포인트를 구성하는 방법을](https://aws.amazon.com/blogs/security/how-to-configure-ldaps-endpoint-for-simple-ad/) AWS ParallelCluster참조하세요.  
[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`LdapTlsReqCert`(선택 사항****, `String`)  
TLS 세션에서 서버 인증서에 대해 수행할 검사를 지정합니다. 이는 `ldap_tls_reqcert`라는 SSSD-LDAP 파라미터에 대응합니다.  
유효한 값: `never`, `allow`, `try`, `demand` 및 `hard`.  
`never`, `allow` 및 `try`는 인증서에 문제가 발견되더라도 연결을 계속할 수 있게 합니다.  
`demand` 및 `hard`는 인증서에 문제가 없는 경우 통신을 계속할 수 있게 합니다.  
클러스터 관리자가 인증서 유효성 검사에 성공할 필요가 없는 값을 사용하는 경우 관리자에게 경고 메시지가 반환됩니다. 보안상의 이유로 인증서 확인을 비활성화하지 않는 것이 좋습니다.  
기본값은 `hard`입니다.  
[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`LdapAccessFilter`(선택 사항****, `String`)  
디렉터리 액세스를 사용자 하위 집합으로 제한하는 필터를 지정합니다. 이 속성은 `ldap_access_filter`라는 SSSD-LDAP 파라미터에 대응합니다. 이를 사용하여 많은 사용자를 지원하는 AD로 쿼리를 제한할 수 있습니다.  
이 필터는 클러스터에 대한 사용자 액세스를 차단할 수 있습니다. 그러나 차단된 사용자의 검색 가능성에는 영향을 미치지 않습니다.  
이 속성이 설정되어 있으면 SSSD 파라미터 `access_provider`은 AWS ParallelCluster 에 의해 내부적으로 `ldap`로 설정되며, [`DirectoryService`](#DirectoryService-v3)/[`AdditionalSssdConfigs`](#yaml-DirectoryService-AdditionalSssdConfigs) 설정에 의해 변경되어서는 안 됩니다.  
이 속성을 생략하고 [`DirectoryService`](#DirectoryService-v3)/[`AdditionalSssdConfigs`](#yaml-DirectoryService-AdditionalSssdConfigs)에 사용자 지정된 사용자 액세스를 지정하지 않으면 디렉터리의 모든 사용자가 클러스터에 액세스할 수 있습니다.  
예시:  

```
"!(cn={{SomeUser*}})"  # denies access to every user with an alias that starts with "SomeUser"
"(cn={{SomeUser*}})"   # allows access to every user with alias that starts with "SomeUser"
"memberOf=cn={{TeamOne}},ou=Users,ou=CORP,dc={{corp}},dc={{example}},dc={{com}}" # allows access only to users in group "TeamOne".
```
[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`GenerateSshKeysForUsers`(선택 사항****, `Boolean`)  
가 헤드 노드에 대한 초기 인증 직후 클러스터 사용자를 위한 SSH 키를 AWS ParallelCluster 생성할지 여부를 정의합니다.  
`true`로 설정하면 헤드 노드에서 첫 인증을 받은 후 SSH 키가 생성되어 존재하지 않는 경우 모든 사용자에 대해 SSH 키가 생성되어 `{{USER_HOME_DIRECTORY}}/.ssh/id_rsa`에 저장됩니다.  

헤드 노드에서 아직 인증되지 않은 사용자의 경우 다음과 같은 경우에 첫 번째 인증이 발생할 수 있습니다.
+ 사용자가 자신의 비밀번호로 헤드 노드에 처음으로 로그인합니다.
+ 헤드 노드에서 sudoer가 처음으로 사용자로 전환합니다: `su {{USERNAME}}`
+ 헤드 노드에서 sudoer가 처음으로 사용자로서 명령을 실행합니다: `su -u {{USERNAME COMMAND}}`
사용자는 클러스터 헤드 노드와 컴퓨팅 노드에 대한 후속 로그인 시 SSH 키를 사용할 수 있습니다. 를 사용하면 클러스터 컴퓨팅 노드에 대한 AWS ParallelCluster암호 로그인이 설계상 비활성화됩니다. 사용자가 헤드 노드에 로그인하지 않은 경우 SSH 키는 생성되지 않으며 사용자는 컴퓨팅 노드에 로그인할 수 없습니다.  
기본값은 `true`입니다.  
[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)

`AdditionalSssdConfigs`(선택 사항****, `Dict`)  
클러스터 인스턴스의 SSSD 구성 파일에 쓸 SSSD 파라미터 및 값을 포함하는 키-값 페어의 사전입니다. SSSD 구성 파일에 대한 전체 설명은 `SSSD` 및 관련 구성 파일의 온 인스턴스 매뉴얼 페이지를 참조하세요.  
SSSD 파라미터 및 값은 다음 목록에 설명된 대로 AWS ParallelCluster SSSD 구성과 호환되어야 합니다.  
+ `id_provider`는에 의해 `ldap` 내부적으로 로 설정 AWS ParallelCluster 되며 수정해서는 안 됩니다.
+ `access_provider`는 /가 [`LdapAccessFilter`](#yaml-DirectoryService-LdapAccessFilter) 지정된 AWS ParallelCluster 경우 `ldap` 내부적으로 [`DirectoryService`](#DirectoryService-v3)에 의해 로 설정되며이 설정은 수정해서는 안 됩니다.

  [`DirectoryService`](#DirectoryService-v3)/[`LdapAccessFilter`](#yaml-DirectoryService-LdapAccessFilter)가 생략되면 그것의 `access_provider` 사양도 생략됩니다. 예를 들어 [`AdditionalSssdConfigs`](#yaml-DirectoryService-AdditionalSssdConfigs)에서 `access_provider`를 `simple`로 설정하면 [`DirectoryService`](#DirectoryService-v3)/[`LdapAccessFilter`](#yaml-DirectoryService-LdapAccessFilter)를 지정해서는 안 됩니다.
다음 구성 스니펫은 `AdditionalSssdConfigs`에 대한 유효한 구성의 예제입니다.  
이 예제는 SSSD 로그의 디버그 수준을 활성화하고, 검색 기준을 특정 조직 단위로 제한하고, 보안 인증 캐싱을 비활성화합니다.  

```
DirectoryService:
  ...
  AdditionalSssdConfigs:
    debug_level: "0xFFF0"
    ldap_search_base: OU=Users,OU=CORP,DC=corp,DC=example,DC=com
    cache_credentials: False
```
이 예제는 SSSD [https://www.mankier.com/5/sssd-simple](https://www.mankier.com/5/sssd-simple) `access_provider`의 구성을 지정합니다. `EngineeringTeam`의 사용자에게 디렉터리 액세스 권한이 제공됩니다. 이 경우 [`DirectoryService`](#DirectoryService-v3)/[`LdapAccessFilter`](#yaml-DirectoryService-LdapAccessFilter)를 설정해서는 안 됩니다.  

```
DirectoryService:
  ...
  AdditionalSssdConfigs:
    access_provider: simple
    simple_allow_groups: EngineeringTeam
```
[업데이트 정책: 업데이트를 위해 이 설정을 변경하려면 컴퓨팅 플릿을 중지해야 합니다.](using-pcluster-update-cluster-v3.md#update-policy-compute-fleet-v3)