3.6. 매핑
Ansible Automation Platform 서버에 허용되는 사용자를 제어하고 특성(예: 사용자 이름 및 이메일 주소) 또는 해당 그룹에 속하는 그룹을 기반으로 Ansible Automation Platform 조직 또는 팀에 배치하려면 인증자 맵을 구성할 수 있습니다.
Authenticator 맵을 사용하면 리소스 유형에 대한 사용자가 제공되거나 거부되기 전에 충족해야 하는 조건을 추가할 수 있습니다. Authenticator 맵은 인증자와 연결되며 주문이 제공됩니다. 사용자가 로그인할 때 맵은 순서대로 처리됩니다. 방화벽 규칙 또는 메일 필터와 같이 간주할 수 있습니다.
3.6.1. 인증자 매핑 이해
- 인증
- 일반적으로 사용자 이름과 암호 또는 신뢰 시스템을 통해 사용자 ID를 검증합니다.
- 권한 부여
- 인증된 사용자가 인증되면 수행할 수 있는 작업을 결정합니다.
Ansible Automation Platform에서 인증자는 인증을 관리하고, 사용자를 검증하고, 사용자 이름, 이메일, 그룹 멤버십(예: LDAP 그룹)과 같은 세부 정보를 반환합니다. 권한 부여는 인증자의 관련 맵에서 제공됩니다.
인증 프로세스 중에 사용자가 인증된 후 권한 부여 시스템이 메모리의 기본 권한 세트로 시작됩니다. 그런 다음 인증기 맵이 순차적으로 처리되고 트리거 조건에 따라 권한을 조정합니다. 모든 인증자 맵이 처리되면 사용자 권한의 메모리 내 표현이 기존 권한과 조정됩니다.
예를 들어 다음과 같이 기본 권한의 단순화된 메모리 내 표현은 다음과 같습니다.
Access allowed = True Superuser permission = Undefined Admin of teams = None
Access allowed = True
Superuser permission = Undefined
Admin of teams = None
또한 처리해야 하는 맵이 다음과 같은 순서로 처리될 수 있습니다.
- 규칙 세트를 never로 허용
- 그룹을 기반으로 하는 규칙 허용
- 사용자 속성을 기반으로 하는 슈퍼유저 규칙
- 사용자 그룹을 기반으로 하는 팀 관리자 규칙
첫 번째 허용 맵은 never로 설정하고 시스템에 대한 액세스를 거부하고 메모리 내 표현은 다음과 같습니다.
Access allowed = False Superuser permission = Undefined Admin of teams = None
Access allowed = False
Superuser permission = Undefined
Admin of teams = None
그러나 사용자가 두 번째 허용 맵(그룹 기반 허용)과 일치하는 경우 권한이 다음으로 변경됩니다.
Access allowed = True Superuser permission = Undefined Admin of teams = None
Access allowed = True
Superuser permission = Undefined
Admin of teams = None
사용자에게 필요한 그룹이 있기 때문에 Ansible Automation Platform에 대한 액세스 권한이 부여되는 경우입니다.
다음으로 슈퍼유저 맵은 사용자 속성을 확인합니다. 일치하는 항목이 없으면 기본적으로 기존 권한을 취소하지 않습니다. 따라서 권한은 이전 맵의 결과와 동일하게 유지됩니다.
Access allowed = True Superuser permission = Skipped Admin of teams = None
Access allowed = True
Superuser permission = Skipped
Admin of teams = None
슈퍼유저 액세스를 취소하려면 슈퍼유저 맵에서 Revoke 옵션을 선택할 수 있습니다. 이렇게 하면 사용자가 특성 기준을 충족하지 않으면 권한에서 다음과 같이 False로 업데이트됩니다.
Access allowed = True Superuser permission = False Admin of teams = None
Access allowed = True
Superuser permission = False
Admin of teams = None
최종 팀 맵은 팀 "내 팀"에서 관리자 액세스를 위해 인증자에서 제공되는 사용자의 그룹을 확인합니다. 사용자에게 필요한 그룹이 있는 경우 권한이 다음과 같이 업데이트됩니다.
Access allowed = True Superuser permission = False Admin of teams = “My Team”
Access allowed = True
Superuser permission = False
Admin of teams = “My Team”
사용자에게 필요한 그룹이 없는 경우 맵에서 Revoke 옵션을 선택하지 않으면 권한이 변경되지 않은 상태로 유지됩니다. 이 경우 권한이 다음과 같이 업데이트됩니다.
Access allowed = True Superuser permission = False Admin of teams = Revoke admin of “My Team”
Access allowed = True
Superuser permission = False
Admin of teams = Revoke admin of “My Team”
정의된 순서대로 모든 맵을 처리하면 최종 권한이 조정되어 맵 규칙에 따라 사용자의 액세스 권한을 업데이트합니다.
간단히 말해, 인증자는 사용자를 검증하고 시스템 권한 부여를 인증자 맵에 위임합니다. Authenticator 맵은 모든 맵이 실행된 후 실제 권한으로 조정되는 사용자 권한의 메모리 내 표현을 생성하기 위해 실행됩니다.
기본적으로 인증기 맵은 ALLOW 또는 SKIPPED 를 반환합니다.
- 허용
- 일치 항목이 감지되고 플랫폼에서 해당 역할 또는 권한(예: 슈퍼유저 또는 팀 멤버)에 대한 사용자 액세스 권한을 부여해야 함을 의미합니다.
- SKIPPED
- 즉, 사용자가 맵의 트리거와 일치하지 않았으며 플랫폼은 이 맵 처리를 건너뛰고 나머지 맵을 계속 확인합니다. 이 기능은 인증자 맵을 변경하지 않고도 사용자에게 시스템에 추가 권한을 부여하려는 경우 유용합니다.
그러나 Revoke 옵션을 선택하면 SKIPPED 가 DENY 가 되고 필요한 트리거 기준을 충족하지 않는 사용자는 해당 역할 또는 권한에 대한 액세스가 거부됩니다. 이렇게 하면 트리거 조건이 일치하는 사용자에게만 액세스 권한이 부여됩니다.
3.6.2. Authenticator 맵 유형
Ansible Automation Platform은 다음 규칙 유형을 지원합니다.
- 허용
- 사용자가 시스템에 로그인할 수 있는지 확인합니다.
- 조직
- 사용자를 조직에 배치해야 하는지 확인합니다.
- 팀
- 사용자가 팀의 멤버여야 하는지 확인합니다.
- Role
- 사용자가 역할의 멤버인지 확인합니다(예: 시스템 감사자).
- 슈퍼유저입니다.
- 사용자가 시스템의 슈퍼유저인지 확인합니다.
이러한 인증 맵 유형은 모든 유형의 인증자와 함께 사용할 수 있습니다.
3.6.3. Authenticator 맵 트리거
각 맵에는 맵을 true로 평가해야 할 시기를 정의하는 트리거가 있습니다. 트리거 유형에는 다음이 포함됩니다.
- Always
- 트리거는 항상 실행되어야 합니다.
- Never
- 트리거는 절대 해고해서는 안 됩니다.
- 그룹
맵은 소스 시스템에 그룹이 없거나 없거나 그룹이 있는 사용자를 기반으로 true 또는 false입니다. 그룹 트리거 사용에 대한 자세한 내용은 Authenticator map 예제 를 참조하십시오.
그룹 트리거를 정의할 때 인증 매핑은 다음 선택을 포함하도록 확장됩니다.
작업: 이 필드에는 지정된 그룹 기준에 따라 규칙 처리를 트리거하는 조건부 설정이 포함됩니다. 선택 항목에는 및 또는 가 포함됩니다. 예를 들어, 을 선택하면 사용자 로그인이 이 트리거가 true 되려면 그룹 필드에 지정된 모든 그룹의 멤버여야 합니다. 또는 사용자 로그인이 트리거를 실행하려면 지정된 그룹의 멤버여야 합니다.
참고한 그룹에서만 키를 끄는 경우 "and" 또는 " 또는" 를 선택하면 중요하지 않습니다.
groups : 사용자가 멤버여야 하는 인증 시스템에서 제공하는 하나 이상의 그룹 목록입니다. Groups 항목을 처음 생성하는 경우 수동으로 값을 입력해야 합니다. 입력한 후에는 그룹 목록에서 해당 선택을 사용할 수 있습니다.
트리거에 둘 이상의 그룹이 지정된 경우 Operation 필드를 참조하여 트리거의 동작을 확인합니다.
참고그룹 식별자는 소문자로 입력해야 합니다. 예를 들어
cn=johnsmith,dc=example,dc=com
대신CN=johnsmith,DC=example,DC=com
입니다.
- 속성
맵은 소스 시스템에서 들어오는 사용자 속성을 기반으로 true 또는 false입니다. 특성 트리거 사용에 대한 자세한 내용은 Authenticator 맵 예제 를 참조하십시오.
특성 트리거를 정의할 때 인증 매핑은 다음 선택을 포함하도록 확장됩니다.
작업: 이 필드에는 지정된 특성 기준에 따라 규칙 처리를 트리거하는 조건부 설정이 포함됩니다. 버전 2.5에서 이 필드는 소스 시스템이 단일 값 대신 속성 목록을 반환하면 어떤 일이 발생하는지를 나타냅니다. 예를 들어 소스 시스템이 사용자에 대한 여러 이메일을 반환하고 Operation 이 및 로 설정된 경우 지정된 모든 이메일이 트리거의 Comparison 과 일치해야 합니다. Operation 이 또는 로 설정된 경우 반환된 이메일 중 하나라도 트리거가 트리거의 Comparison 과 일치하면 True 로 설정됩니다.
참고여러 특성 맵을 실험하려면 API를 통해 이를 수행할 수 있지만 UI 양식은 인증자가 UI를 통해 저장된 경우 다중 속성 맵을 제거합니다. 맵에 여러 특성을 추가하면 Operation 이 속성에도 적용됩니다.
-
특성: 이 트리거가 실행될 소스 시스템에서 제공되는 속성의 이름입니다. 예를 들어 사용자의 성을 기반으로 트리거가 실행되고 소스 시스템의 마지막 이름 필드를
users_last_name
이라고 하는 경우 이 필드에 'users_last_name' 값을 입력합니다. 비교: 사용자 값을 평가하는 방법을 트리거합니다. 소스 시스템의 특성 과 트리거에 지정된 값 과 비교됩니다. 사용 가능한 옵션은 contains, matches, ends with, in 또는 equals 입니다. 다음은 각 비교 유형에 대한 분석입니다.
- Value의 지정된 문자 시퀀스는 소스에서 반환된 특성 값에 포함됩니다.The specified character sequence in Value is contained within the attributes value returned from the source. 예를 들어 소스에서 'John'의 속성 값이 있는 경우 Comparison이 포함된 Comparison 은 트리거 값을 'Jo'로 설정하고 트리거 값이 'Joy'인 경우 False 로 트리거를 True 로 설정합니다.
- matches: 트리거의 값은 python 정규식으로 처리되며 지정된 값 과 소스 시스템에서 반환된 값 간에 정규식 일치(re.match) 를 (re.match에서 무시)합니다. 예를 들어 트리거의 값이 'Jo'인 경우 트리거는 소스의 값이 'John' 또는 'Joanne'이거나 정규식 'Jo'와 일치하는 다른 값이면 True 를 반환합니다. 'Dan'이 정규식 'Jo'와 일치하지 않기 때문에 트리거는 속성의 소스 값이 'Dan'인 경우 False 를 반환합니다.
- 트리거는 소스에서 제공하는 값이 지정된 트리거의 값으로 끝나는지 여부를 확인합니다. 예를 들어 소스에서 'John' 값을 제공한 경우 값이 'n' 또는 'on'로 설정된 경우 트리거는 True 가 됩니다. 소스에서 들어오는 'John' 값이 트리거에서 지정한 'z' 값으로 끝나지 않기 때문에 해당 값이 'z'로 설정된 경우 트리거는 False 가 됩니다.
- 트리거는 소스에서 제공하는 값이 트리거의 지정된 값 과 동일한지 확인합니다. 예를 들어 소스가 'John' 값을 반환하면 Value 가 'John'으로 설정된 경우 트리거가 True 가 됩니다. 소스에서 반환된 'John' 이외의 값은 이 트리거를 False 로 설정합니다.
- in 조건은 값이 여러 값 중 하나와 일치하는지 확인합니다. in 을 Comparison 으로 지정하면 Value 필드는 쉼표로 구분된 목록일 수 있습니다. 예를 들어 트리거에 'John,Do going'의 값이 있는 경우 소스에서 들어오는 속성에 'John' 또는 'Dobut' 값이 있는 경우 트리거가 True 가 됩니다. 그렇지 않으면 트리거가 False 입니다.
value: Comparison 필드를 기반으로 users 속성이 일치하는 값 입니다. 이 섹션의 비교 정의의 예를 참조하십시오.
참고Comparison 유형이 에 있는 경우 이 필드는 쉼표로 구분된 목록(페어 제외)일 수 있습니다.
3.6.4. Authenticator 맵 예
다음 예제를 사용하여 플랫폼에 대한 사용자 액세스를 제어하기 위해 구현할 수 있는 그룹 및 속성 값과 같은 다양한 조건을 살펴봅니다.
속성을 기반으로 조직에 사용자 추가
이 예제에서는 Networking : 값이 있는 조직 속성이 있는 경우 Networking
조직에 사용자를 추가합니다.

- 페이지의 조직 제목은 조직에 대한 설정 권한을 구성 중임을 나타냅니다.
-
네트워크 조직은
이 필드에 입력되며 이 맵 구성에 대한 고유한 설명 이름입니다. -
소스 시스템의 속성을 기반으로 인증을 구성하기 위해 Trigger 목록에서 특성을 선택합니다. 이 예제에서는
조직
입니다. -
이 작업은 인증이 성공하려면 하나 이상의 조건이 true여야 함을 의미합니다.
- 소스 시스템에서 제공하는 속성은 조직입니다.
-
비교 값은
일치
로 설정되므로 사용자에게 Networking 속성 값이 있을 때Networking
조직에 추가됩니다. -
소스 시스템에서 제공하는 속성은
네트워킹
입니다. -
멤버를 추가하는 조직의 이름은
Networking
입니다. -
사용자는 조직
Member
역할을 사용하여 Networking 조직에 추가됩니다.
users 그룹을 기반으로 팀에 사용자 추가
이 예제에서는 다음 그룹 중 하나가 있는 경우 Apple
팀에 사용자를 추가합니다.
cn=Administrators,ou=AAP,ou=example,o=com
cn=Administrators,ou=AAP,ou=example,o=com
또는
cn=Operators,ou=AAP,ou=example,co=com
cn=Operators,ou=AAP,ou=example,co=com

권한을 에스컬레이션하지 마십시오.
이 예제에서는 사용자를 슈퍼유저로 에스컬레이션하지 않습니다. 그러나 취소 옵션이 설정되어 있지 않기 때문에 이 규칙은 사용자의 슈퍼유저 권한을 취소하지 않습니다.

그룹이 있는 사용자를 기반으로 권한 에스컬레이션
이 예제에서는 다음 그룹에 속하는 경우 사용자 권한을 슈퍼유저로 에스컬레이션합니다.
cn=Administrators,ou=AAP
cn=Administrators,ou=AAP

매핑 순서를 사용하여 예외 생성
맵은 순서대로 실행되므로 예외를 생성할 수 있습니다. 이전 예에서 권한을 에스컬레이션하지 않으려면 Escalate 권한과 같은 더 높은 순서를 가진 다른 규칙을 추가할 수 있습니다.
첫 번째 규칙(권한을 에스컬레이션하지 않음)은 모든 사용자가 슈퍼유저로 에스컬레이션되는 것을 방지하지만 두 번째 규칙(Escalate 권한)은 Administrators
그룹에 있는 경우 사용자에게 슈퍼유저 권한을 부여하도록 해당 결정을 변경합니다.

3.6.5. 매핑 허용
allow mapping을 사용하면 충족해야 하는 조건을 정의하여 시스템에 액세스할 수 있는 사용자를 제어할 수 있습니다.
프로세스
- 인증 방법에 대한 인증 세부 정보를 구성한 후 매핑 탭을 선택합니다.
- 인증 매핑 추가 목록에서 허용 을 선택합니다.
- 규칙을 식별하려면 고유한 규칙 이름을 입력합니다.
- 목록에서 트리거 를 선택합니다. 맵 트리거에 대한 자세한 내용은 Authenticator map triggers 를 참조하십시오.
- 트리거 조건이 일치하지 않을 때 시스템에 대한 사용자 액세스를 거부하려면 Revoke 를 선택합니다.
- 를 클릭합니다.
다음 단계
- 매핑 관리를 클릭하여 인증 매핑 순서를 관리할 수 있습니다.
매핑을 목록의 위 또는 아래로 끌어서 놓습니다.
참고매핑 우선순위는 매핑이 나열된 순서에 따라 결정됩니다.
- 클릭합니다.
3.6.6. 조직 매핑
사용자 이름 및 이메일 주소와 같은 속성을 기반으로 어떤 Ansible Automation Platform 조직에 배치된 사용자를 제어하거나 인증자에서 제공하는 그룹을 기반으로 제어할 수 있습니다.
조직 매핑이 긍정으로 평가되면 맵에 연결된 인증자가 오브젝트를 생성할 수 있는 경우 지정된 조직이 생성됩니다.
프로세스
- 인증 방법에 대한 인증 세부 정보를 구성한 후 매핑 탭을 선택합니다.
- 인증 매핑 추가 목록에서 조직을 선택합니다.
- 규칙을 식별하려면 고유한 규칙 이름을 입력합니다.
- 목록에서 트리거 를 선택합니다. 맵 트리거에 대한 자세한 내용은 Authenticator map triggers 를 참조하십시오.
- 트리거 조건이 일치하지 않을 때 선택한 조직 역할에 대한 사용자의 액세스를 제거하려면 Revoke 를 선택합니다.
- 일치하는 사용자를 추가하거나 차단하는 조직을 선택합니다.
- 일치하는 사용자에게 적용하거나 제거할 역할 (예: 조직 관리자 또는 조직멤버 )을 선택합니다.
- 를 클릭합니다.
다음 단계
- 매핑 관리를 클릭하여 인증 매핑 순서를 관리할 수 있습니다.
매핑을 목록의 위 또는 아래로 끌어서 놓습니다.
참고매핑 우선순위는 매핑이 나열된 순서에 따라 결정됩니다.
- 클릭합니다.
3.6.7. 팀 매핑
팀 매핑은 인증자로부터 팀 멤버(사용자) 매핑입니다.
각 팀의 멤버십에 대한 옵션을 정의할 수 있습니다. 각 팀에 대해 팀 멤버로 자동으로 추가되는 사용자와 팀을 관리할 수 있는 사용자를 지정할 수 있습니다.
팀 매핑은 계정 인증마다 별도로 지정할 수 있습니다.
팀 매핑이 긍정으로 평가되면 관련 인증자가 오브젝트를 생성할 수 있는 경우 지정된 팀과 해당 조직이 존재하지 않습니다.
프로세스
- 인증 방법에 대한 인증 세부 정보를 구성한 후 매핑 탭을 선택합니다.
- 인증 매핑 추가 목록에서 팀을 선택합니다.
- 규칙을 식별하려면 고유한 규칙 이름을 입력합니다.
- 목록에서 트리거 를 선택합니다. 맵 트리거에 대한 자세한 내용은 Authenticator map triggers 를 참조하십시오.
- Revoke 를 선택하여 선택한 조직 역할에 대한 사용자의 액세스를 제거하고 트리거 조건이 일치하지 않으면 시스템에 대한 사용자 액세스를 거부합니다.
- 사용자 추가 또는 차단된 일치하는 팀 및 조직을 선택합니다.
- 일치하는 사용자에게 적용하거나 제거할 역할 (예: 팀 관리자 또는 팀멤버 )을 선택합니다.
- 를 클릭합니다.
다음 단계
- 매핑 관리를 클릭하여 인증 매핑 순서를 관리할 수 있습니다.
매핑을 목록의 위 또는 아래로 끌어서 놓습니다.
참고매핑 우선순위는 매핑이 나열된 순서에 따라 결정됩니다.
- 클릭합니다.
3.6.8. 역할 매핑
역할 매핑은 사용자 매핑은 플랫폼 감사자 또는 팀 또는 조직 역할과 같은 글로벌 역할에 대한 매핑입니다.
팀 및/또는 조직이 적절한 역할과 함께 지정되면 해당 동작이 조직 매핑 또는 팀 매핑과 동일합니다.
각 계정 인증에 대해 역할 매핑을 별도로 지정할 수 있습니다.
프로세스
- 인증 방법에 대한 인증 세부 정보를 구성한 후 매핑 탭을 선택합니다.
- 인증 매핑 추가 목록에서 Role 을 선택합니다.
- 규칙을 식별하려면 고유한 규칙 이름을 입력합니다.
- 목록에서 트리거 를 선택합니다. 맵 트리거에 대한 자세한 내용은 Authenticator map triggers 를 참조하십시오.
- Revoke 를 선택하여 트리거 조건이 일치하지 않는 경우 사용자의 역할을 제거합니다.
- 일치하는 사용자에 대해 적용 또는 제거할 역할을 선택합니다.
- 를 클릭합니다.
다음 단계
- 매핑 관리를 클릭하여 인증 매핑 순서를 관리할 수 있습니다.
매핑을 목록의 위 또는 아래로 끌어서 놓습니다.
참고매핑 우선순위는 매핑이 나열된 순서에 따라 결정됩니다.
- 클릭합니다.
3.6.9. 슈퍼유저 매핑
슈퍼유저 매핑은 사용자 매핑은 시스템 관리자와 같은 슈퍼유저 역할에 대한 매핑입니다.
프로세스
- 인증 방법에 대한 인증 세부 정보를 구성한 후 매핑 탭을 선택합니다.
- 인증 매핑 추가 목록에서 Superuser 를 선택합니다.
- 규칙을 식별하려면 고유한 규칙 이름을 입력합니다.
- 목록에서 트리거 를 선택합니다. 맵 트리거에 대한 자세한 내용은 Authenticator map triggers 를 참조하십시오.
- Revoke 를 선택하여 트리거 조건이 일치하지 않는 경우 사용자에서 슈퍼유저 역할을 제거합니다.
- 를 클릭합니다.
다음 단계
- 매핑 관리를 클릭하여 인증 매핑 순서를 관리할 수 있습니다.
매핑을 목록의 위 또는 아래로 끌어서 놓습니다.
참고매핑 우선순위는 매핑이 나열된 순서에 따라 결정됩니다.
- 클릭합니다.
3.6.10. 인증자 맵 결과 검토
플랫폼 관리자는 API의 사용자 페이지를 통해 인증자 맵 결과를 검토하여 사용자가
플랫폼에 로그인했을 때 맵을 평가하는 방법을 확인할 수 있습니다.