Infograb logo
AWS OIDC 통합

이 가이드는 Teleport AWS OIDC 통합 설정 방법을 설명합니다.

AWS OIDC 통합을 사용하면 대부분의 사용 사례에 대해 AWS에서 Teleport 에이전트를 수동으로 배포할 필요가 없습니다.
다음 기능들은 AWS와 상호 작용하기 위해 AWS OIDC 통합을 사용합니다:

이는 더 수동적인 접근 방식을 선호하거나 인프라를 코드 도구로 관리하고자 하는 사용자들을 대상으로 합니다.

이 가이드의 대안으로 Teleport 웹 UI (액세스 관리 / 새 통합 등록)를 사용할 수 있습니다.

작동 방식

Teleport는 OpenID Connect ID 공급자로 추가되어 AWS 계정과 신뢰를 설정하고 AWS 리소스에 액세스하기 위해 구성된 IAM 역할을 가정합니다.

이를 위해 openid-configuration 및 공개 키는 클러스터 내에서 자동으로 노출됩니다:

curl https://teleport.example.com/.well-known/openid-configuration

이 통합은 추가 구성이나 서비스를 필요로 하지 않습니다.

처음에는 IAM 역할에 정책이 추가되지 않지만, 사용자는 주어진 기능을 처음 사용할 때 추가하도록 요청받습니다.
예를 들어, 외부 감사 스토리지를 설정할 때, 이 IAM 역할에 필요한 정책을 추가하라는 요청을 받게 됩니다.

통합에 의해 생성된 AWS 리소스는 태깅되어, AWS 리소스 그룹 / 태그 편집기를 사용하여 검색하고 내보낼 수 있습니다.
다음 태그가 적용됩니다:

teleport.dev/cluster cluster-nameteleport.dev/origin integration_awsoidcteleport.dev/integration my-integration

필수 조건

  • 실행 중인 Teleport 클러스터.
  • IAM ID 공급자와 역할을 생성할 수 있는 권한을 가진 AWS 계정.

1/4단계. RBAC 구성

통합을 구성하려면 Teleport 역할 중 하나에 다음 허용 규칙이 필요합니다.
이는 기본적으로 editor 역할에 기본 제공됩니다:

kind: role
version: v7
metadata:
  name: example
spec:
  allow:
    rules:
      - resources:
          - integration
        verbs:
          - create
          - update
          - list
          - read
          - delete
          - use

2/4단계. AWS에서 ID 공급자 구성

AWS IAM ID 공급자로 이동하여 ID 공급자를 구성합니다:

  • 공급자 유형: OpenID Connect
  • 공급자 URL:
https://teleport.example.com
  • 청중: discover.teleport

향후 자원을 추적하기 위해 다음 태그를 추가하는 것이 좋습니다:

teleport.dev/cluster cluster-nameteleport.dev/origin integration_awsoidcteleport.dev/integration my-integration

3/4단계. IAM 역할 생성

필요한 정책을 통합 iam-role에 할당하기 위해 IAM 역할을 생성해야 합니다.

이 IAM 역할은 정책 없이 생성되며, 사용하려는 기능에 따라 정책이 추가됩니다.
예를 들어, 액세스 그래프 AWS 동기화를 설정할 때 추가됩니다.
그러나 ID 공급자가 이를 가정할 수 있도록 구성되어야 합니다.
이를 위해 다음 신뢰 관계를 추가해야 합니다:

{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Effect": "Allow",
			"Principal": {
				"Federated": "arn:aws:iam::aws-account-id:oidc-provider/teleport.example.com"
			},
			"Action": "sts:AssumeRoleWithWebIdentity",
			"Condition": {
				"StringEquals": {
					"teleport.example.com:aud": "discover.teleport"
				}
			}
		}
	]
}

또한 Teleport가 새로운 기능을 온보딩할 때 IAM 역할을 변경할 수 있도록 다음 태그를 추가해야 합니다:

teleport.dev/cluster cluster-nameteleport.dev/origin integration_awsoidcteleport.dev/integration my-integration

4/4단계. 통합 리소스 생성

awsoidc-integration.yaml 라는 파일을 생성하고 다음 내용을 추가합니다:

kind: integration
sub_kind: aws-oidc
version: v1
metadata:
  name: my-integration
spec:
  aws_oidc:
    role_arn: "arn:aws:iam::aws-account-id:role/iam-role"

리소스를 생성합니다:

tctl create -f awsoidc-integration.yaml
integration 'my-integration' 가 생성되었습니다.

설정이 완료되면, 이제 Teleport 웹 UI에서 "새 리소스 등록" 흐름이나 다른 통합 종속 기능을 사용할 수 있습니다.

다음 단계

이제 통합을 사용하므로 다음 기능을 사용할 수 있습니다:

Teleport 원문 보기