AKS에서 Teleport Application Access로 Azure CLI 보호하기
Microsoft Entra Workload ID를 사용하여 Azure Kubernetes Service에서 Azure CLI에 대한 안전한 접근을 활성화하는 방법.
Teleport를 사용하여 Azure의 API와 상호 작용하는 CLI 도구에 대한 액세스를 관리할 수 있습니다. 이를 통해 인프라 자체를 보호하는 데 사용하는 것과 동일한 RBAC 시스템을 사용하여 인프라의 관리 API에 대한 액세스를 제어할 수 있습니다. 이 가이드에서 다음을 수행합니다: Application Service를 위한 Azure 관리 ID를 생성하고 Kubernetes 서비스 계정의 기본 Workload ID로 설정합니다. 사용자 접근을 위한 Azure 관리 ID를 생성하고 동일한 Kubernetes 서비스 계정에 연결합니다. Teleport 클러스터에서 Azure 앱을 사용하여 Teleport Application Service를 배포합니다. 관리 ID를 어썸(assume)하고 tsh 를 통해 az 명령어를 실행합니다. 작동 방식 # in an AKS pod에 설치된 Teleport Application Service는 Microsoft Entra Workload ID을 사용하여 Azure로부터 인증 토큰을 얻습니다. 사용자가 Teleport에 인증하면 해당 사용자 할당 관리 ID 중 하나를 assume하여 Azure CLI 명령을 실행할 수 있습니다. 어떤 Teleport 사용자 또는 역할이 특정 Azure ID에 액세스할 수 있는지 구성할 수 있으므로, 누가 Azure CLI에 대한 여러 수준의 액세스 자격 증명을 얻을 수 있는지 제어할 수 있습니다. Teleport Application Service는 리버스 터널을 통해 Teleport Proxy Service에 연결하므로, Application Service를 프라이빗 네트워크에서 실행하여 조직의 Azure ID에 대한 무단 액세스를 방지할 수 있습니다. 사전 요구사항 # 실행 중인 Teleport (v15.2.4 or higher) 클러스터. Teleport를 시작하려면 무료 체험판에 가입 하거나 데모 환경을 구성 하세요. tctl and tsh clients. Installing `tctl` and `tsh` clients Teleport 클러스터의 버전을 확인합니다. tctl and tsh clients는 Teleport 클러스터 버전보다 최대 한 개의 메이저 버전까지만 뒤처질 수 있습니다. Proxy Service의 /v1/webapi/find 로 GET 요청을 보내고 JSON 쿼리 도구를 사용하여 클러스터 버전을 확인합니다. teleport.example.com:443 를 Teleport Proxy Service의 웹 주소로 바꿉니다: $ TELEPORT_DOMAIN=teleport.example.com:443 $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')" 사용 중인 플랫폼에 대한 지침에 따라 tctl and tsh clients를 설치합니다: Mac `tctl` and `tsh` clients가 포함된, 서명된 Teleport