Infograb logo
AWS OIDC 통합

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

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

이것은 보다 수동적인 방법을 선호하거나 Infrastructure as Code 도구로 통합을 관리하고자 하는 사용자들을 대상으로 합니다.

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

작동 방식

Teleport는 OpenID Connect 신원 공급자로 추가되어 AWS 계정과의 신뢰 관계를 구축하고 AWS 리소스에 접근하기 위해 설정된 IAM 역할을 가정합니다.

이것이 작동하기 위해서는, openid-configuration와 공개 키가 자동으로 여러분의 클러스터에서 노출됩니다:

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

통합을 실행하기 위해 추가적인 구성이나 서비스가 필요하지 않습니다.

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

전제 조건

  • 실행 중인 Teleport 클러스터.
  • IAM 신원 공급자 및 역할을 생성할 수 있는 권한이 있는 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에서 신원 공급자 구성

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

  • 공급자 유형: 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 역할을 생성하여 통합 iam-role에 필요한 정책을 할당해야 합니다.

이 IAM 역할은 아무런 정책 없이 생성되며, 사용하고자 하는 기능에 따라 정책이 추가됩니다, 예를 들어 Access Graph AWS 동기화를 설정할 때입니다.
하지만, 신원 공급자가 이를 가정할 수 있도록 구성되어야 합니다.
이를 달성하기 위해, 다음 신뢰 관계를 추가합니다:

{
	"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' has been created

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

다음 단계

이제 통합이 완료되었으므로 다음 기능을 사용할 수 있습니다:

Teleport 원문 보기