AKS에 대한 ID 및 액세스 관리 고려 사항

이 문서에서는 AKS(Azure Kubernetes Service)를 사용하는 경우 ID 및 액세스 관리에 대한 디자인 고려 사항 및 권장 사항을 제공합니다. 클러스터 ID, 워크로드 ID 및 운영자 액세스를 포함하여 ID 및 액세스 관리의 여러 측면이 있습니다.

디자인 고려 사항

  • 사용할 클러스터 ID(관리 ID 또는 서비스 주체)를 결정합니다.
  • 클라이언트 인증서 또는 Microsoft Entra ID를 통해 클러스터 액세스를 인증하는 방법을 결정합니다.
  • 다중 테넌트 클러스터 및 Kubernetes에서 RBAC(역할 기반 액세스 제어)를 설정하는 방법을 결정합니다.
    • 격리 방법을 선택합니다. 메서드에는 네임스페이스, 네트워크 정책(Azure CNI에서만 허용), 컴퓨팅(노드 풀) 및 클러스터가 포함됩니다.
    • 격리를 위해 애플리케이션 팀당 Kubernetes RBAC 역할 및 컴퓨팅 할당을 결정합니다.
    • 애플리케이션 팀이 클러스터 또는 다른 클러스터에서 다른 워크로드를 읽을 수 있는지 여부를 결정합니다.
  • AKS 랜딩 존에 대한 사용자 지정 Azure RBAC 역할에 대한 권한을 결정합니다.
    • 해당 역할이 전체 클러스터를 관리하고 문제를 해결할 수 있도록 SRE(사이트 안정성 엔지니어링) 역할에 필요한 권한을 결정합니다.
    • SecOps에 필요한 권한을 결정합니다.
    • 랜딩 존 소유자에게 필요한 권한을 결정합니다.
    • 애플리케이션 팀이 클러스터에 배포하는 데 필요한 권한을 결정합니다.
  • 워크로드 ID(Microsoft Entra 워크로드 ID)가 필요한지 여부를 결정합니다. Azure Key Vault 통합 및 Azure Cosmos DB와 같은 서비스에 필요할 수 있습니다.

디자인 권장 사항

  • 클러스터 ID.
    • AKS 클러스터에 고유한 관리 ID를 사용합니다.
    • AKS 랜딩 존에 대한 사용자 지정 Azure RBAC 역할을 정의하여 클러스터 관리 ID에 필요한 권한의 관리를 간소화합니다.
  • 클러스터 액세스.
    • Microsoft Entra ID와 함께 Kubernetes RBAC를 사용하여 권한을 제한하고 관리자 권한을 최소화합니다. 이렇게 하면 구성 및 비밀 액세스를 보호하는 데 도움이 됩니다.
    • AKS 관리형 Microsoft Entra 통합을 사용하여 인증 및 운영자 및 개발자 액세스에 Microsoft Entra ID를 사용할 수 있습니다.
  • Kubernetes에서 필요한 RBAC 역할 및 역할 바인딩을 정의합니다.
  • 필요에 따라 SRE에 적시에 모든 액세스 권한을 부여합니다.
  • Kubernetes에 Microsoft Entra 워크로드 ID 사용합니다. 이 페더레이션을 구현할 때 개발자는 네이티브 Kubernetes 서비스 계정 및 페더레이션을 사용하여 Azure 및 Microsoft Graph와 같은 Microsoft Entra ID로 관리되는 리소스에 액세스할 수 있습니다.