InfoGrab Docs

AWS IAM Identity Center 통합 시작하기

요약

Teleport의 AWS IAM Identity Center 통합을 통해 사용자의 AWS 계정 및 권한에 대한 단기 및 장기 접근을 체계적으로 관리할 수 있습니다. Teleport 웹 UI는 Identity Center 통합을 위한 가이드 설정 플로우를 제공합니다.

Teleport의 AWS IAM Identity Center 통합을 통해 사용자의 AWS 계정 및 권한에 대한 단기 및 장기 접근을 체계적으로 관리할 수 있습니다.

작동 방식#

Teleport 웹 UI는 Identity Center 통합을 위한 가이드 설정 플로우를 제공합니다. AWS IAM Identity Center 통합은 Identity Center 계정, 사용자, 그룹, 권한 세트 할당 및 기타 데이터를 가져옵니다. 통합을 활성화하려면 AWS 계정의 OIDC ID 공급자로 Teleport를 설정하고 통합이 작동하는 데 필요한 권한이 있는 AWS 역할을 생성합니다. 그런 다음 AWS Identity Center에서 SCIM 엔드포인트를 활성화하여 Teleport가 사용자 및 그룹 변경 사항을 푸시할 수 있도록 합니다.

사전 요구사항#

  • Teleport Enterprise 또는 Teleport Enterprise Cloud 클러스터 버전 17.0 이상.
  • AWS IAM Identity Center에 대한 관리자 접근 권한.
  • 플러그인 리소스, 통합 리소스 및 SAML IdP 서비스 프로바이더 리소스를 설정하기 위한 Teleport 사전 설정 editor 역할 또는 동등한 역할. 역할 버전 8을 사용하여 접근을 관리하는 경우(Teleport 버전 18.0부터 기본 역할 버전), 역할이 AWS IAM Identity Center 리소스의 app_labels를 허용하는지 확인하십시오: 'teleport.dev/origin': 'aws-identity-center'.

Identity Center 통합을 사용하려면 Teleport를 외부 ID 소스로 사용해야 합니다.

따라서, 접근 중단을 방지하기 위해 통합을 켜기 전에 모든 Identity Center 사용자가 Teleport 클러스터에 접근할 수 있는지 확인하는 것이 좋습니다. Identity Center가 이미 외부 ID 소스를 사용하는 경우, Teleport에서 해당 SSO 커넥터를 설정하거나, Okta를 사용하는 경우 Okta 통합을 활성화할 수 있습니다.

1/7단계. AWS 통합 설정#

시작하려면 Teleport 클러스터 제어판의 "Add new integration" 페이지로 이동하고 "AWS Identity Center"를 선택합니다.

Identity Center 통합 선택

다음으로, 통합을 위한 AWS IAM 역할을 생성하는 스크립트를 생성합니다.

Identity Center 통합에 필요한 전체 IAM 권한 목록 ``` // ListAccounts organizations:ListAccounts organizations:ListAccountsForParent

// ListGroupsAndMembers identitystore:ListUsers identitystore:ListGroups identitystore:ListGroupMemberships

// ListPermissionSetsAndAssignments sso:DescribeInstance sso:DescribePermissionSet sso:ListPermissionSets sso:ListAccountAssignmentsForPrincipal sso:ListPermissionSetsProvisionedToAccount

// CreateAndDeleteAccountAssignment sso:CreateAccountAssignment sso:DescribeAccountAssignmentCreationStatus sso:DeleteAccountAssignment sso:DescribeAccountAssignmentDeletionStatus iam:AttachRolePolicy iam:CreateRole iam:GetRole iam:ListAttachedRolePolicies iam:ListRolePolicies

// AllowAccountAssignmentOnOwner iam:GetSAMLProvider iam:CreateSAMLProvider

// ListProvisionedRoles iam:ListRoles

</details>

![AWS 통합 설정](../../../../img/identity-center/ic-step1.1.png)

Identity Center 리전, ARN 및 통합 이름 등 필요한 정보를 입력하고 Cloud Shell에서 생성된 명령을 실행합니다.

스크립트가 실행된 후, 스크립트에서 생성된 역할의 ARN을 입력합니다.

![AWS 통합을 위한 스크립트 실행](../../../../img/identity-center/ic-step1.2.png)

## 2/7단계. AWS 리소스 미리보기

다음 단계에서는 Teleport가 Identity Center에서 찾을 수 있는 AWS 계정, 그룹 및 권한 세트 목록이 표시됩니다.

![AWS 리소스 미리보기](../../../../img/identity-center/ic-step2.png)

Teleport의 접근 목록에 할당될 기본 소유자를 선택합니다. 이러한 리소스는 플러그인이 설치되면 Teleport로 가져와집니다.

## 3/7단계. ID 소스 설정

<div class="admonition warning"><div class="admonition-title">Warning</div>

이 단계 이후, Teleport가 Identity Center의 ID 공급자가 됩니다.

접근 중단을 방지하기 위해, 예를 들어 현재 Identity Center 외부 ID 소스와 동일한 [IdP](../../../zero-trust-access/sso/sso.mdx)를 사용하는 등 기존 모든 Identity Center 사용자가 Teleport 클러스터에 접근할 수 있는지 확인하는 것이 좋습니다.

</div>

이 단계에서는 AWS IAM Identity Center의 SAML IdP로 Teleport를 설정합니다.

또한 Teleport에서 AWS IAM Identity Center를 SAML 서비스 프로바이더로 설정합니다.

Identity Center의 ID 소스를 Teleport로 변경하는 지침을 따릅니다.

![ID 소스 설정](../../../../img/identity-center/ic-step3.png)

## 4/7단계. SCIM 활성화

마지막 단계는 Teleport가 사용자 및 그룹 변경 사항을 푸시할 수 있도록 Identity Center의 SCIM 엔드포인트를 활성화하는 것입니다.

![SCIM 활성화](../../../../img/identity-center/ic-step4.png)

활성화 후 SCIM 연결을 테스트해야 합니다.

## 5/7단계. 통합 확인

클러스터의 접근 목록 보기 페이지로 이동하여 모든 Identity Center 그룹이 가져와졌는지 확인합니다.

<div class="admonition note"><div class="admonition-title">Note</div>

초기 동기화가 완료되는 데 몇 분이 걸릴 수 있습니다.

</div>

![접근 목록 보기](../../../../img/identity-center/ic-lists.png)

가져온 접근 목록은 해당 Identity Center 그룹과 동일한 구성원을 보여야 합니다.

## 6/7단계. 접근 설정

AWS 계정에 접근하려면 두 가지 종류의 Teleport 역할 권한이 필요합니다:
- AWS 콘솔에 로그인하는 SAML 서비스 프로바이더 접근 허용 권한. 3단계에서 AWS IAM Identity Center를 위한 이 SAML 서비스 프로바이더를 설정했습니다.
- AWS 계정 및 권한 세트 접근 허용 권한.

### SAML 서비스 프로바이더 접근 설정

먼저, AWS 콘솔에 로그인하는 SAML 서비스 프로바이더 접근을 설정합니다.

Teleport 웹 UI의 사이드 탐색 메뉴에서 "Zero Trust Access > Roles"를 선택합니다. "Roles" UI에서 "Create New Role" 버튼을 클릭합니다. YAML 편집기로 전환합니다.
![Teleport 역할 편집기 YAML 모드](../../../../img/igs/entraid/entra-teleport-role-yaml-editor.png)

아래 역할 스펙을 복사하여 역할 편집기에 붙여넣어 새 역할을 생성합니다.
```yaml
kind: role
version: v8
metadata:
  name: identity-center-access
spec:
  allow:
    app_labels:
      'teleport.dev/origin': 'aws-identity-center'

위 역할 스펙에서 app_labels'teleport.dev/origin': 'aws-identity-center' 레이블을 정의한다는 것을 주목하십시오. 이는 Teleport가 AWS IAM Identity Center를 위해 생성된 SAML 서비스 프로바이더 리소스에 할당하는 기본 리소스 레이블입니다.

사용자가 AWS 콘솔에 로그인할 수 있도록 이 역할을 부여합니다. 사용자에게는 여전히 AWS 계정 및 권한 세트에 대한 접근 권한이 필요합니다. 이에 대해서는 아래에서 설명합니다.

AWS 계정 및 권한 세트 접근 설정#

AWS IAM Identity Center를 위해 생성된 SAML 서비스 프로바이더에 대한 사용자 접근을 확인했으면, 다음 단계는 AWS 계정 및 권한 세트에 대한 권한을 부여하는 것입니다.

Teleport AWS IAM Identity Center 통합 서비스가 처음으로 실행될 때, Teleport는 AWS IAM Identity Center 인스턴스에 존재하는 그룹 기반 계정 및 권한 세트 할당의 현재 상태를 유지합니다. 사용자가 그룹 구성원을 기반으로 AWS 계정에 접근 권한을 가진 경우, 해당 접근 권한이 계속 유지됩니다.

사용자에게 새로운 AWS 계정 접근 세트를 설정하려면, 계정 할당 역할을 부여해야 합니다. 계정 할당 역할은 AWS 계정과 AWS 권한 세트를 바인딩하는 account_assignment 규칙을 정의합니다.

Teleport는 AWS IAM Identity Center 인스턴스에서 사용 가능한 AWS 계정과 권한 세트의 카르테시안 곱의 각 조합에 대해 계정 할당 역할을 생성합니다. 이러한 역할은 다음 역할 이름 형식을 가집니다: <permission-set-name>-on-<account-name>-<account-id> (예: AdministratorAccess-on-MyAccount-012345678).

이러한 자동 생성된 역할을 사용하거나, account_assignment 규칙을 정의하는 완전히 새로운 역할을 생성할 수 있습니다. 아래는 두 개의 다른 AWS 계정 및 권한 세트에 대한 접근을 허용하는 역할 예제입니다.

kind: role
version: v8
metadata:
  name: identity-center-access
spec:
  allow:
    app_labels:
      'teleport.dev/origin': 'aws-identity-center'
    account_assignments:
    - account: "<account_id>" # AWS Identity Center 계정 ID
      # AdministratorAccess의 권한 세트 ARN
      permission_set: arn:aws:sso:::permissionSet/ssoins-1234/ps-5678
    - account: "<account_id>"
      # ReadOnlyAccess의 권한 세트 ARN
      permission_set: arn:aws:sso:::permissionSet/ssoins-1234/ps-8765

이 역할은 직접 할당, 접근 목록 역할 부여 또는 접근 요청 워크플로를 사용하여 사용자에게 부여할 수 있습니다.

7/7단계. AWS 연결#

통합이 가동 중이고 필요한 권한이 있으면, 리소스 중에서 aws-identity-center라는 애플리케이션이 표시됩니다:

AWS SSO 포털에 연결

이 앱의 "Log In" 버튼을 클릭하면 Identity Center SSO 시작 페이지로 이동하여 역할을 선택하고 평소와 같이 AWS 계정에 연결할 수 있습니다.

사용 시나리오#

Identity Center 통합으로 활성화된 몇 가지 일반적인 사용 시나리오를 살펴보겠습니다.

접근 목록을 사용한 계정 할당 관리#

Teleport는 Identity Center 인스턴스에서 가져온 각 그룹에 대해 접근 목록을 생성하며, 그룹 구성원은 접근 목록 구성원이 됩니다. 기본 접근 목록 소유자는 초기 통합 등록 플로우 중에 설정되며, 초기 동기화가 완료된 후 필요에 따라 조정할 수 있습니다.

가져온 각 접근 목록에는 통합 설정 중에 해당 AWS Identity Center 그룹에 할당된 모든 계정 할당에 대한 모든 구성원 접근 권한을 부여하는 역할(또는 역할 세트)이 자동으로 할당됩니다.

이러한 Teleport 생성 역할은 각각 단일 계정 할당을 나타내며, <permission-set-name>-on-<account-name>-<account-id> 규칙을 사용하여 이름이 지정됩니다(예: AdministratorAccess-on-MyAccount-012345678).

Warning

이러한 역할은 시스템 역할로 간주되며, 이에 대한 모든 편집 또는 업데이트는 자동으로 되돌려집니다.

이미 존재하는 Identity Center 동기화 접근 목록에 의해 부여된 권한을 사용자에게 부여하려면, 소유자가 해당 사용자를 구성원으로 추가할 수 있으며, 이렇게 하면 Teleport가 해당 사용자를 해당 Identity Center 그룹에 추가합니다.

Warning

현재 모든 기존 Teleport 사용자가 Identity Center에 동기화됩니다. 레이블 기반 사용자 필터링은 향후 릴리즈에서 지원될 예정입니다.

Identity Center 동기화 접근 목록에서 구성원을 제거하면 해당 Identity Center 그룹에서도 제거되어 권한이 효과적으로 취소됩니다.

구성원 변경 사항 외에도, Teleport는 접근 목록 부여의 변경 사항을 Identity Center에도 전파합니다. 예를 들어, AdminAccess-on-my-accountReadOnlyAccess-on-my-account 역할이 있는 접근 목록을 상상해보십시오. 접근 목록 소유자가 접근 목록에서 AdminAccess-on-my-account 역할을 제거하면, 해당 변경 사항이 AWS에 전파되고 해당 Identity Center 그룹의 할당이 업데이트되어 AdminAccess 권한이 제거됩니다.

리소스 접근 요청을 통한 적시(JIT) 접근#

Teleport는 가져온 AWS 계정을 Teleport 리소스 보기에서 앱으로 표시하며, 각 계정에 사용 가능한 권한 세트가 앱 내에 번들로 포함됩니다. AWS 계정은 다른 Teleport 관리 리소스와 동일하게 처리되므로, 사용자는 리소스 보기에서 "Show requestable resources"를 확인하기만 하면 요청할 수 있는 AWS 권한 세트를 확인할 수 있습니다.

그런 다음 사용자는 각 AWS 계정에 사용 가능한 권한 세트에서 선택하여 접근하려는 특정 계정 할당을 선택할 수 있습니다. 사용자는 여러 AWS 계정의 권한 세트를 혼합하고, 필요한 경우 다른 Teleport 관리 리소스도 포함할 수 있습니다.

Identity Center 리소스 선택

사용자가 원하는 계정 할당을 선택하면, 접근 요청 제출 및 검토 프로세스는 다른 Teleport 관리 리소스와 동일합니다. 접근 요청이 승인되면, Teleport는 Identity Center에 적절한 AWS 계정 할당을 생성하여 요청된 접근 권한을 부여합니다. 이러한 AWS 계정 할당은 접근 요청이 만료되면 자동으로 삭제됩니다.

사용자는 접근 요청 역할을 수임하여 Teleport 내에서 임시 AWS 계정 및 역할에 접근할 수 있습니다.

Identity Center 계정 할당을 부여하는 수임 역할

Warning

AWS 계정 할당은 사용자가 관련 역할을 수임하는 시점과 관계없이 접근 요청이 유효한 기간 동안 존재합니다.

역할 접근 요청을 통한 적시 접근#

Identity Center 통합을 통해 Teleport 사용자는 단기 권한 상승을 위한 접근 요청을 제출할 수 있습니다.

Identity Center 권한을 부여하는 역할에 대한 접근 요청이 승인되면, Teleport는 해당 사용자에 대해 Identity Center에 개별 할당을 생성합니다. 접근 요청이 만료되면 할당이 삭제됩니다.

접근 요청을 통한 장기 접근#

사용자가 기존 접근 목록을 통해 부여될 수 있는 계정 할당에 대한 접근을 요청하는 경우, Teleport는 검토자에게 접근 요청을 장기 접근으로 _승격_하는 옵션을 제공합니다.

접근 요청 승격

접근 요청이 장기 접근으로 승격되면, 요청 사용자가 대상 접근 목록에 추가됩니다. 이 구성원 변경 사항이 해당 Identity Center 그룹으로 전파되고, 사용자는 그룹 구성원을 통해 요청된 계정 할당을 부여받습니다.

FAQ#

어떤 접근 목록이 Identity Center에 동기화됩니까?#

Teleport는 역할 부여 중에 AWS 계정 및 권한 세트 규칙이 있는 모든 접근 목록을 Identity Center에 동기화합니다.

중첩된 접근 목록에서 어떻게 작동합니까?#

Identity Center는 중첩된 그룹을 지원하지 않습니다. 따라서 Teleport는 모든 중첩된 접근 목록을 상위 접근 목록에서 접근 가능한 모든 구성원을 포함하는 단일 Identity Center 그룹으로 재귀적으로 병합합니다.

병합된 Identity Center 그룹은 중첩된 그룹에서 구성원이 추가되거나 제거될 때 최신 상태로 유지됩니다.

Teleport는 일시적인 네트워크 또는 부하 문제로 인한 오류를 어떻게 처리합니까?#

Teleport는 모든 Identity Center 프로비저닝 및 프로비저닝 해제 작업이 성공할 때까지 재시도합니다.

또한 Teleport Identity Center 통합은 중단 후 Teleport 클러스터가 온라인 상태로 복구되면 Teleport 사용자, 접근 목록 및 계정 할당을 AWS Identity Center와 자동으로 조정하도록 설계되었습니다.

통합을 제거하려면 어떻게 해야 합니까?#

Warning

통합을 완전히 제거하기 전에 Identity Center 인스턴스에서 ID 소스를 변경하는 것을 기억하십시오.

통합을 삭제하면 상태 관리에 사용된 모든 Teleport 리소스가 자동으로 제거됩니다. 여기에는 다음이 포함됩니다:

  • AWS Identity Center 계정 할당을 위해 생성된 Teleport 역할.
  • AWS Identity Center 그룹에서 가져온 접근 목록.

단, 다음을 포함한 사용자 생성 리소스는 그대로 유지됩니다:

  • 생성한 접근 목록.
  • 계정 할당을 위해 수동으로 설정한 역할.

접근 목록이 삭제된 통합 역할에 권한을 부여하거나 사용자에게 삭제된 역할이 직접 할당된 경우, 해당 참조를 수동으로 제거해야 합니다.

Teleport로 전환하지 않기로 결정한 경우, 두 가지 방법으로 Identity Center 통합을 삭제할 수 있습니다.

클러스터의 통합 목록으로 이동하여 AWS IAM Identity Center라는 통합을 삭제하여 통합을 제거할 수 있습니다. 첫 번째 등록 단계에서 생성된 AWS OIDC 통합도 플러그인이 제거되면 자동으로 제거됩니다.

통합을 위해 생성된 AWS 리소스를 정리하려면, AWS IAM 콘솔에서 ID 공급자와 해당 역할도 제거하십시오.

문제 해결#

AWS SSO 로그인 중 "It's not you, it's us" 오류#

역할 수가 많은 Teleport 사용자가 Teleport SAML IdP를 통해 AWS IAM Identity Center에 로그인할 때 AWS가 다음 오류를 표시할 수 있습니다:

It's not you, it's us

We couldn't complete your request right now. Please try again later.

이 오류는 AWS IAM Identity Center가 SAML 어설션에 대해 50,000자 제한을 적용하기 때문에 발생합니다. 기본적으로 Teleport는 SAML 어설션의 eduPersonAffiliation 속성에 사용자의 모든 역할을 포함합니다. 역할 수가 많은 사용자(예: 1,000개 이상)의 경우 어설션이 이 제한을 초과할 수 있습니다.

Note

속성 매핑을 통한 기본 SAML IdP 속성 덮어쓰기는 Teleport 버전 18.7.4부터 사용 가능합니다. 이전 버전에서는 유일한 해결 방법이 사용자에게 할당된 역할 수를 줄이는 것입니다.

이 문제를 해결하려면 SAML IdP 속성 매핑을 사용하여 기본 eduPersonAffiliation 속성(urn:oid:1.3.6.1.4.1.5923.1.1.1.1)을 덮어쓰고 어설션 크기를 줄이십시오.

다음 단계에 따라 SAML IdP 서비스 프로바이더 리소스를 업데이트합니다:

  1. 현재 서비스 프로바이더 리소스를 조회합니다:

    $ tctl get saml_idp_service_provider/aws-identity-center-sso > aws-ic-sp.yaml
    
  2. 텍스트 편집기에서 aws-ic-sp.yaml을 열고 spec 섹션에 attribute_mapping 항목을 추가합니다. set()을 사용하여 어설션에서 모든 역할을 제외합니다:

    spec:
      attribute_mapping:
      - name: urn:oid:1.3.6.1.4.1.5923.1.1.1.1
        value: set()
        name_format: urn:oasis:names:tc:SAML:2.0:attrname-format:uri
    
  3. 업데이트된 리소스를 적용합니다:

    $ tctl create -f aws-ic-sp.yaml
    

적용 전에 다음을 실행하여 속성 매핑을 검증할 수 있습니다:

$ tctl idp saml test-attribute-mapping --users <username> --sp aws-ic-sp.yaml
Note

test-attribute-mapping 명령은 정적 사용자 객체에 대해 속성을 평가하며, 접근 목록을 통해 동적으로 부여된 역할은 포함되지 않습니다. 접근 목록을 통해 부여된 역할은 로그인 시 해결되어 실제 SAML 어설션에 나타나지만, 테스트 출력에는 표시되지 않습니다.

AWS 계정 로그인 중 접근 금지 오류#

이 문제는 사용자가 AWS IAM Identity Center를 위해 생성된 SAML IdP 서비스 프로바이더 리소스에 대한 접근 권한이 없는 경우 발생할 수 있습니다.

먼저, Teleport 감사 로그 UI에서 찾을 수 있는 SAML IdP 감사 이벤트를 확인하십시오.

Identity Center 계정 할당을 부여하는 수임 역할

오류 메시지에 대한 자세한 내용은 "Details" 버튼을 클릭하면 확인할 수 있습니다.

권한 누락으로 인한 로그인 실패 감사 로그 예제:

{
  "cluster_name": "example.teleport.sh",
  "code": "TSI000I",
  "ei": 0,
  "error": "access to saml_idp_service_provider denied. User does not have permissions. ",
  "event": "saml.idp.auth",
  "service_provider_entity_id": "https://ca-central-1.signin.aws.amazon.com/platform/saml/d-xxxxxx",
  "sid": "",
  "success": false,
  "time": "2025-09-03T04:36:40.123Z",
  "uid": "7523b6cc-313e-4f56-9f58-3f1b91075c4d",
  "user": "example-user"
}

RBAC 오류를 해결하려면, 먼저 사용자에게 할당된 역할을 확인하십시오.

사용자에게 버전 8의 Teleport 역할이 할당된 경우, 역할은 teleport.dev/origin: aws-identity-center 레이블과 일치하는 app_labels를 정의해야 합니다.

kind: role
version: v8
metadata:
  name: ic-access-example
spec:
  allow:
    app_labels:
      'teleport.dev/origin': 'aws-identity-center'

역할에 디바이스 신뢰가 필요한 경우, 사용자는 디바이스가 인증된 Teleport 웹 세션을 가져야 합니다.

역할에 세션 MFA가 필요한 경우, 사용자는 MFA로 로그인 플로우를 승인해야 합니다.

사용자에게 버전 7 이하의 Teleport 역할이 할당된 경우, IdP 역할 옵션이 비활성화되지 않았는지 확인하십시오:

kind: role
version: v7
metadata:
  name: ic-access-example
spec:
  options:
    idp:
      saml:
        enabled: true # idp를 활성화해야 합니다.

다음 단계#

AWS IAM Identity Center 통합 시작하기

원문 보기
요약

Teleport의 AWS IAM Identity Center 통합을 통해 사용자의 AWS 계정 및 권한에 대한 단기 및 장기 접근을 체계적으로 관리할 수 있습니다. Teleport 웹 UI는 Identity Center 통합을 위한 가이드 설정 플로우를 제공합니다.

Teleport의 AWS IAM Identity Center 통합을 통해 사용자의 AWS 계정 및 권한에 대한 단기 및 장기 접근을 체계적으로 관리할 수 있습니다.

작동 방식#

Teleport 웹 UI는 Identity Center 통합을 위한 가이드 설정 플로우를 제공합니다. AWS IAM Identity Center 통합은 Identity Center 계정, 사용자, 그룹, 권한 세트 할당 및 기타 데이터를 가져옵니다. 통합을 활성화하려면 AWS 계정의 OIDC ID 공급자로 Teleport를 설정하고 통합이 작동하는 데 필요한 권한이 있는 AWS 역할을 생성합니다. 그런 다음 AWS Identity Center에서 SCIM 엔드포인트를 활성화하여 Teleport가 사용자 및 그룹 변경 사항을 푸시할 수 있도록 합니다.

사전 요구사항#

  • Teleport Enterprise 또는 Teleport Enterprise Cloud 클러스터 버전 17.0 이상.
  • AWS IAM Identity Center에 대한 관리자 접근 권한.
  • 플러그인 리소스, 통합 리소스 및 SAML IdP 서비스 프로바이더 리소스를 설정하기 위한 Teleport 사전 설정 editor 역할 또는 동등한 역할. 역할 버전 8을 사용하여 접근을 관리하는 경우(Teleport 버전 18.0부터 기본 역할 버전), 역할이 AWS IAM Identity Center 리소스의 app_labels를 허용하는지 확인하십시오: 'teleport.dev/origin': 'aws-identity-center'.

Identity Center 통합을 사용하려면 Teleport를 외부 ID 소스로 사용해야 합니다.

따라서, 접근 중단을 방지하기 위해 통합을 켜기 전에 모든 Identity Center 사용자가 Teleport 클러스터에 접근할 수 있는지 확인하는 것이 좋습니다. Identity Center가 이미 외부 ID 소스를 사용하는 경우, Teleport에서 해당 SSO 커넥터를 설정하거나, Okta를 사용하는 경우 Okta 통합을 활성화할 수 있습니다.

1/7단계. AWS 통합 설정#

시작하려면 Teleport 클러스터 제어판의 "Add new integration" 페이지로 이동하고 "AWS Identity Center"를 선택합니다.

Identity Center 통합 선택

다음으로, 통합을 위한 AWS IAM 역할을 생성하는 스크립트를 생성합니다.

Identity Center 통합에 필요한 전체 IAM 권한 목록 ``` // ListAccounts organizations:ListAccounts organizations:ListAccountsForParent

// ListGroupsAndMembers identitystore:ListUsers identitystore:ListGroups identitystore:ListGroupMemberships

// ListPermissionSetsAndAssignments sso:DescribeInstance sso:DescribePermissionSet sso:ListPermissionSets sso:ListAccountAssignmentsForPrincipal sso:ListPermissionSetsProvisionedToAccount

// CreateAndDeleteAccountAssignment sso:CreateAccountAssignment sso:DescribeAccountAssignmentCreationStatus sso:DeleteAccountAssignment sso:DescribeAccountAssignmentDeletionStatus iam:AttachRolePolicy iam:CreateRole iam:GetRole iam:ListAttachedRolePolicies iam:ListRolePolicies

// AllowAccountAssignmentOnOwner iam:GetSAMLProvider iam:CreateSAMLProvider

// ListProvisionedRoles iam:ListRoles

</details>

![AWS 통합 설정](../../../../img/identity-center/ic-step1.1.png)

Identity Center 리전, ARN 및 통합 이름 등 필요한 정보를 입력하고 Cloud Shell에서 생성된 명령을 실행합니다.

스크립트가 실행된 후, 스크립트에서 생성된 역할의 ARN을 입력합니다.

![AWS 통합을 위한 스크립트 실행](../../../../img/identity-center/ic-step1.2.png)

## 2/7단계. AWS 리소스 미리보기

다음 단계에서는 Teleport가 Identity Center에서 찾을 수 있는 AWS 계정, 그룹 및 권한 세트 목록이 표시됩니다.

![AWS 리소스 미리보기](../../../../img/identity-center/ic-step2.png)

Teleport의 접근 목록에 할당될 기본 소유자를 선택합니다. 이러한 리소스는 플러그인이 설치되면 Teleport로 가져와집니다.

## 3/7단계. ID 소스 설정

<div class="admonition warning"><div class="admonition-title">Warning</div>

이 단계 이후, Teleport가 Identity Center의 ID 공급자가 됩니다.

접근 중단을 방지하기 위해, 예를 들어 현재 Identity Center 외부 ID 소스와 동일한 [IdP](../../../zero-trust-access/sso/sso.mdx)를 사용하는 등 기존 모든 Identity Center 사용자가 Teleport 클러스터에 접근할 수 있는지 확인하는 것이 좋습니다.

</div>

이 단계에서는 AWS IAM Identity Center의 SAML IdP로 Teleport를 설정합니다.

또한 Teleport에서 AWS IAM Identity Center를 SAML 서비스 프로바이더로 설정합니다.

Identity Center의 ID 소스를 Teleport로 변경하는 지침을 따릅니다.

![ID 소스 설정](../../../../img/identity-center/ic-step3.png)

## 4/7단계. SCIM 활성화

마지막 단계는 Teleport가 사용자 및 그룹 변경 사항을 푸시할 수 있도록 Identity Center의 SCIM 엔드포인트를 활성화하는 것입니다.

![SCIM 활성화](../../../../img/identity-center/ic-step4.png)

활성화 후 SCIM 연결을 테스트해야 합니다.

## 5/7단계. 통합 확인

클러스터의 접근 목록 보기 페이지로 이동하여 모든 Identity Center 그룹이 가져와졌는지 확인합니다.

<div class="admonition note"><div class="admonition-title">Note</div>

초기 동기화가 완료되는 데 몇 분이 걸릴 수 있습니다.

</div>

![접근 목록 보기](../../../../img/identity-center/ic-lists.png)

가져온 접근 목록은 해당 Identity Center 그룹과 동일한 구성원을 보여야 합니다.

## 6/7단계. 접근 설정

AWS 계정에 접근하려면 두 가지 종류의 Teleport 역할 권한이 필요합니다:
- AWS 콘솔에 로그인하는 SAML 서비스 프로바이더 접근 허용 권한. 3단계에서 AWS IAM Identity Center를 위한 이 SAML 서비스 프로바이더를 설정했습니다.
- AWS 계정 및 권한 세트 접근 허용 권한.

### SAML 서비스 프로바이더 접근 설정

먼저, AWS 콘솔에 로그인하는 SAML 서비스 프로바이더 접근을 설정합니다.

Teleport 웹 UI의 사이드 탐색 메뉴에서 "Zero Trust Access > Roles"를 선택합니다. "Roles" UI에서 "Create New Role" 버튼을 클릭합니다. YAML 편집기로 전환합니다.
![Teleport 역할 편집기 YAML 모드](../../../../img/igs/entraid/entra-teleport-role-yaml-editor.png)

아래 역할 스펙을 복사하여 역할 편집기에 붙여넣어 새 역할을 생성합니다.
```yaml
kind: role
version: v8
metadata:
  name: identity-center-access
spec:
  allow:
    app_labels:
      'teleport.dev/origin': 'aws-identity-center'

위 역할 스펙에서 app_labels'teleport.dev/origin': 'aws-identity-center' 레이블을 정의한다는 것을 주목하십시오. 이는 Teleport가 AWS IAM Identity Center를 위해 생성된 SAML 서비스 프로바이더 리소스에 할당하는 기본 리소스 레이블입니다.

사용자가 AWS 콘솔에 로그인할 수 있도록 이 역할을 부여합니다. 사용자에게는 여전히 AWS 계정 및 권한 세트에 대한 접근 권한이 필요합니다. 이에 대해서는 아래에서 설명합니다.

AWS 계정 및 권한 세트 접근 설정#

AWS IAM Identity Center를 위해 생성된 SAML 서비스 프로바이더에 대한 사용자 접근을 확인했으면, 다음 단계는 AWS 계정 및 권한 세트에 대한 권한을 부여하는 것입니다.

Teleport AWS IAM Identity Center 통합 서비스가 처음으로 실행될 때, Teleport는 AWS IAM Identity Center 인스턴스에 존재하는 그룹 기반 계정 및 권한 세트 할당의 현재 상태를 유지합니다. 사용자가 그룹 구성원을 기반으로 AWS 계정에 접근 권한을 가진 경우, 해당 접근 권한이 계속 유지됩니다.

사용자에게 새로운 AWS 계정 접근 세트를 설정하려면, 계정 할당 역할을 부여해야 합니다. 계정 할당 역할은 AWS 계정과 AWS 권한 세트를 바인딩하는 account_assignment 규칙을 정의합니다.

Teleport는 AWS IAM Identity Center 인스턴스에서 사용 가능한 AWS 계정과 권한 세트의 카르테시안 곱의 각 조합에 대해 계정 할당 역할을 생성합니다. 이러한 역할은 다음 역할 이름 형식을 가집니다: <permission-set-name>-on-<account-name>-<account-id> (예: AdministratorAccess-on-MyAccount-012345678).

이러한 자동 생성된 역할을 사용하거나, account_assignment 규칙을 정의하는 완전히 새로운 역할을 생성할 수 있습니다. 아래는 두 개의 다른 AWS 계정 및 권한 세트에 대한 접근을 허용하는 역할 예제입니다.

kind: role
version: v8
metadata:
  name: identity-center-access
spec:
  allow:
    app_labels:
      'teleport.dev/origin': 'aws-identity-center'
    account_assignments:
    - account: "<account_id>" # AWS Identity Center 계정 ID
      # AdministratorAccess의 권한 세트 ARN
      permission_set: arn:aws:sso:::permissionSet/ssoins-1234/ps-5678
    - account: "<account_id>"
      # ReadOnlyAccess의 권한 세트 ARN
      permission_set: arn:aws:sso:::permissionSet/ssoins-1234/ps-8765

이 역할은 직접 할당, 접근 목록 역할 부여 또는 접근 요청 워크플로를 사용하여 사용자에게 부여할 수 있습니다.

7/7단계. AWS 연결#

통합이 가동 중이고 필요한 권한이 있으면, 리소스 중에서 aws-identity-center라는 애플리케이션이 표시됩니다:

AWS SSO 포털에 연결

이 앱의 "Log In" 버튼을 클릭하면 Identity Center SSO 시작 페이지로 이동하여 역할을 선택하고 평소와 같이 AWS 계정에 연결할 수 있습니다.

사용 시나리오#

Identity Center 통합으로 활성화된 몇 가지 일반적인 사용 시나리오를 살펴보겠습니다.

접근 목록을 사용한 계정 할당 관리#

Teleport는 Identity Center 인스턴스에서 가져온 각 그룹에 대해 접근 목록을 생성하며, 그룹 구성원은 접근 목록 구성원이 됩니다. 기본 접근 목록 소유자는 초기 통합 등록 플로우 중에 설정되며, 초기 동기화가 완료된 후 필요에 따라 조정할 수 있습니다.

가져온 각 접근 목록에는 통합 설정 중에 해당 AWS Identity Center 그룹에 할당된 모든 계정 할당에 대한 모든 구성원 접근 권한을 부여하는 역할(또는 역할 세트)이 자동으로 할당됩니다.

이러한 Teleport 생성 역할은 각각 단일 계정 할당을 나타내며, <permission-set-name>-on-<account-name>-<account-id> 규칙을 사용하여 이름이 지정됩니다(예: AdministratorAccess-on-MyAccount-012345678).

Warning

이러한 역할은 시스템 역할로 간주되며, 이에 대한 모든 편집 또는 업데이트는 자동으로 되돌려집니다.

이미 존재하는 Identity Center 동기화 접근 목록에 의해 부여된 권한을 사용자에게 부여하려면, 소유자가 해당 사용자를 구성원으로 추가할 수 있으며, 이렇게 하면 Teleport가 해당 사용자를 해당 Identity Center 그룹에 추가합니다.

Warning

현재 모든 기존 Teleport 사용자가 Identity Center에 동기화됩니다. 레이블 기반 사용자 필터링은 향후 릴리즈에서 지원될 예정입니다.

Identity Center 동기화 접근 목록에서 구성원을 제거하면 해당 Identity Center 그룹에서도 제거되어 권한이 효과적으로 취소됩니다.

구성원 변경 사항 외에도, Teleport는 접근 목록 부여의 변경 사항을 Identity Center에도 전파합니다. 예를 들어, AdminAccess-on-my-accountReadOnlyAccess-on-my-account 역할이 있는 접근 목록을 상상해보십시오. 접근 목록 소유자가 접근 목록에서 AdminAccess-on-my-account 역할을 제거하면, 해당 변경 사항이 AWS에 전파되고 해당 Identity Center 그룹의 할당이 업데이트되어 AdminAccess 권한이 제거됩니다.

리소스 접근 요청을 통한 적시(JIT) 접근#

Teleport는 가져온 AWS 계정을 Teleport 리소스 보기에서 앱으로 표시하며, 각 계정에 사용 가능한 권한 세트가 앱 내에 번들로 포함됩니다. AWS 계정은 다른 Teleport 관리 리소스와 동일하게 처리되므로, 사용자는 리소스 보기에서 "Show requestable resources"를 확인하기만 하면 요청할 수 있는 AWS 권한 세트를 확인할 수 있습니다.

그런 다음 사용자는 각 AWS 계정에 사용 가능한 권한 세트에서 선택하여 접근하려는 특정 계정 할당을 선택할 수 있습니다. 사용자는 여러 AWS 계정의 권한 세트를 혼합하고, 필요한 경우 다른 Teleport 관리 리소스도 포함할 수 있습니다.

Identity Center 리소스 선택

사용자가 원하는 계정 할당을 선택하면, 접근 요청 제출 및 검토 프로세스는 다른 Teleport 관리 리소스와 동일합니다. 접근 요청이 승인되면, Teleport는 Identity Center에 적절한 AWS 계정 할당을 생성하여 요청된 접근 권한을 부여합니다. 이러한 AWS 계정 할당은 접근 요청이 만료되면 자동으로 삭제됩니다.

사용자는 접근 요청 역할을 수임하여 Teleport 내에서 임시 AWS 계정 및 역할에 접근할 수 있습니다.

Identity Center 계정 할당을 부여하는 수임 역할

Warning

AWS 계정 할당은 사용자가 관련 역할을 수임하는 시점과 관계없이 접근 요청이 유효한 기간 동안 존재합니다.

역할 접근 요청을 통한 적시 접근#

Identity Center 통합을 통해 Teleport 사용자는 단기 권한 상승을 위한 접근 요청을 제출할 수 있습니다.

Identity Center 권한을 부여하는 역할에 대한 접근 요청이 승인되면, Teleport는 해당 사용자에 대해 Identity Center에 개별 할당을 생성합니다. 접근 요청이 만료되면 할당이 삭제됩니다.

접근 요청을 통한 장기 접근#

사용자가 기존 접근 목록을 통해 부여될 수 있는 계정 할당에 대한 접근을 요청하는 경우, Teleport는 검토자에게 접근 요청을 장기 접근으로 _승격_하는 옵션을 제공합니다.

접근 요청 승격

접근 요청이 장기 접근으로 승격되면, 요청 사용자가 대상 접근 목록에 추가됩니다. 이 구성원 변경 사항이 해당 Identity Center 그룹으로 전파되고, 사용자는 그룹 구성원을 통해 요청된 계정 할당을 부여받습니다.

FAQ#

어떤 접근 목록이 Identity Center에 동기화됩니까?#

Teleport는 역할 부여 중에 AWS 계정 및 권한 세트 규칙이 있는 모든 접근 목록을 Identity Center에 동기화합니다.

중첩된 접근 목록에서 어떻게 작동합니까?#

Identity Center는 중첩된 그룹을 지원하지 않습니다. 따라서 Teleport는 모든 중첩된 접근 목록을 상위 접근 목록에서 접근 가능한 모든 구성원을 포함하는 단일 Identity Center 그룹으로 재귀적으로 병합합니다.

병합된 Identity Center 그룹은 중첩된 그룹에서 구성원이 추가되거나 제거될 때 최신 상태로 유지됩니다.

Teleport는 일시적인 네트워크 또는 부하 문제로 인한 오류를 어떻게 처리합니까?#

Teleport는 모든 Identity Center 프로비저닝 및 프로비저닝 해제 작업이 성공할 때까지 재시도합니다.

또한 Teleport Identity Center 통합은 중단 후 Teleport 클러스터가 온라인 상태로 복구되면 Teleport 사용자, 접근 목록 및 계정 할당을 AWS Identity Center와 자동으로 조정하도록 설계되었습니다.

통합을 제거하려면 어떻게 해야 합니까?#

Warning

통합을 완전히 제거하기 전에 Identity Center 인스턴스에서 ID 소스를 변경하는 것을 기억하십시오.

통합을 삭제하면 상태 관리에 사용된 모든 Teleport 리소스가 자동으로 제거됩니다. 여기에는 다음이 포함됩니다:

  • AWS Identity Center 계정 할당을 위해 생성된 Teleport 역할.
  • AWS Identity Center 그룹에서 가져온 접근 목록.

단, 다음을 포함한 사용자 생성 리소스는 그대로 유지됩니다:

  • 생성한 접근 목록.
  • 계정 할당을 위해 수동으로 설정한 역할.

접근 목록이 삭제된 통합 역할에 권한을 부여하거나 사용자에게 삭제된 역할이 직접 할당된 경우, 해당 참조를 수동으로 제거해야 합니다.

Teleport로 전환하지 않기로 결정한 경우, 두 가지 방법으로 Identity Center 통합을 삭제할 수 있습니다.

클러스터의 통합 목록으로 이동하여 AWS IAM Identity Center라는 통합을 삭제하여 통합을 제거할 수 있습니다. 첫 번째 등록 단계에서 생성된 AWS OIDC 통합도 플러그인이 제거되면 자동으로 제거됩니다.

통합을 위해 생성된 AWS 리소스를 정리하려면, AWS IAM 콘솔에서 ID 공급자와 해당 역할도 제거하십시오.

문제 해결#

AWS SSO 로그인 중 "It's not you, it's us" 오류#

역할 수가 많은 Teleport 사용자가 Teleport SAML IdP를 통해 AWS IAM Identity Center에 로그인할 때 AWS가 다음 오류를 표시할 수 있습니다:

It's not you, it's us

We couldn't complete your request right now. Please try again later.

이 오류는 AWS IAM Identity Center가 SAML 어설션에 대해 50,000자 제한을 적용하기 때문에 발생합니다. 기본적으로 Teleport는 SAML 어설션의 eduPersonAffiliation 속성에 사용자의 모든 역할을 포함합니다. 역할 수가 많은 사용자(예: 1,000개 이상)의 경우 어설션이 이 제한을 초과할 수 있습니다.

Note

속성 매핑을 통한 기본 SAML IdP 속성 덮어쓰기는 Teleport 버전 18.7.4부터 사용 가능합니다. 이전 버전에서는 유일한 해결 방법이 사용자에게 할당된 역할 수를 줄이는 것입니다.

이 문제를 해결하려면 SAML IdP 속성 매핑을 사용하여 기본 eduPersonAffiliation 속성(urn:oid:1.3.6.1.4.1.5923.1.1.1.1)을 덮어쓰고 어설션 크기를 줄이십시오.

다음 단계에 따라 SAML IdP 서비스 프로바이더 리소스를 업데이트합니다:

  1. 현재 서비스 프로바이더 리소스를 조회합니다:

    $ tctl get saml_idp_service_provider/aws-identity-center-sso > aws-ic-sp.yaml
    
  2. 텍스트 편집기에서 aws-ic-sp.yaml을 열고 spec 섹션에 attribute_mapping 항목을 추가합니다. set()을 사용하여 어설션에서 모든 역할을 제외합니다:

    spec:
      attribute_mapping:
      - name: urn:oid:1.3.6.1.4.1.5923.1.1.1.1
        value: set()
        name_format: urn:oasis:names:tc:SAML:2.0:attrname-format:uri
    
  3. 업데이트된 리소스를 적용합니다:

    $ tctl create -f aws-ic-sp.yaml
    

적용 전에 다음을 실행하여 속성 매핑을 검증할 수 있습니다:

$ tctl idp saml test-attribute-mapping --users <username> --sp aws-ic-sp.yaml
Note

test-attribute-mapping 명령은 정적 사용자 객체에 대해 속성을 평가하며, 접근 목록을 통해 동적으로 부여된 역할은 포함되지 않습니다. 접근 목록을 통해 부여된 역할은 로그인 시 해결되어 실제 SAML 어설션에 나타나지만, 테스트 출력에는 표시되지 않습니다.

AWS 계정 로그인 중 접근 금지 오류#

이 문제는 사용자가 AWS IAM Identity Center를 위해 생성된 SAML IdP 서비스 프로바이더 리소스에 대한 접근 권한이 없는 경우 발생할 수 있습니다.

먼저, Teleport 감사 로그 UI에서 찾을 수 있는 SAML IdP 감사 이벤트를 확인하십시오.

Identity Center 계정 할당을 부여하는 수임 역할

오류 메시지에 대한 자세한 내용은 "Details" 버튼을 클릭하면 확인할 수 있습니다.

권한 누락으로 인한 로그인 실패 감사 로그 예제:

{
  "cluster_name": "example.teleport.sh",
  "code": "TSI000I",
  "ei": 0,
  "error": "access to saml_idp_service_provider denied. User does not have permissions. ",
  "event": "saml.idp.auth",
  "service_provider_entity_id": "https://ca-central-1.signin.aws.amazon.com/platform/saml/d-xxxxxx",
  "sid": "",
  "success": false,
  "time": "2025-09-03T04:36:40.123Z",
  "uid": "7523b6cc-313e-4f56-9f58-3f1b91075c4d",
  "user": "example-user"
}

RBAC 오류를 해결하려면, 먼저 사용자에게 할당된 역할을 확인하십시오.

사용자에게 버전 8의 Teleport 역할이 할당된 경우, 역할은 teleport.dev/origin: aws-identity-center 레이블과 일치하는 app_labels를 정의해야 합니다.

kind: role
version: v8
metadata:
  name: ic-access-example
spec:
  allow:
    app_labels:
      'teleport.dev/origin': 'aws-identity-center'

역할에 디바이스 신뢰가 필요한 경우, 사용자는 디바이스가 인증된 Teleport 웹 세션을 가져야 합니다.

역할에 세션 MFA가 필요한 경우, 사용자는 MFA로 로그인 플로우를 승인해야 합니다.

사용자에게 버전 7 이하의 Teleport 역할이 할당된 경우, IdP 역할 옵션이 비활성화되지 않았는지 확인하십시오:

kind: role
version: v7
metadata:
  name: ic-access-example
spec:
  options:
    idp:
      saml:
        enabled: true # idp를 활성화해야 합니다.

다음 단계#