AKS에 대한 ID 및 액세스 관리 고려 사항
이 문서에서는 AKS(Azure Kubernetes Service)를 사용하는 경우 ID 및 액세스 관리에 대한 디자인 고려 사항 및 권장 사항을 제공합니다. 클러스터 ID, 워크로드 ID 및 운영자 액세스를 포함하여 ID 및 액세스 관리의 여러 측면이 있습니다.
디자인 고려 사항
- 사용할 클러스터 ID(관리 ID 또는 서비스 주체)를 결정합니다.
- 클라이언트 인증서 또는 Microsoft Entra ID를 통해 클러스터 액세스를 인증하는 방법을 결정합니다.
- 다중 테넌트 클러스터 및 Kubernetes에서 RBAC(역할 기반 액세스 제어)를 설정하는 방법을 결정합니다.
- AKS 랜딩 존에 대한 사용자 지정 Azure RBAC 역할에 대한 권한을 결정합니다.
- 해당 역할이 전체 클러스터를 관리하고 문제를 해결할 수 있도록 SRE(사이트 안정성 엔지니어링) 역할에 필요한 권한을 결정합니다.
- SecOps에 필요한 권한을 결정합니다.
- 랜딩 존 소유자에게 필요한 권한을 결정합니다.
- 애플리케이션 팀이 클러스터에 배포하는 데 필요한 권한을 결정합니다.
- 워크로드 ID(Microsoft Entra 워크로드 ID)가 필요한지 여부를 결정합니다. Azure Key Vault 통합 및 Azure Cosmos DB와 같은 서비스에 필요할 수 있습니다.
디자인 권장 사항
- 클러스터 ID.
- AKS 클러스터에 고유한 관리 ID를 사용합니다.
- AKS 랜딩 존에 대한 사용자 지정 Azure RBAC 역할을 정의하여 클러스터 관리 ID에 필요한 권한의 관리를 간소화합니다.
- 클러스터 액세스.
- Kubernetes에서 필요한 RBAC 역할 및 역할 바인딩을 정의합니다.
- SRE(사이트 안정성 엔지니어링), SecOps 및 개발자 액세스를 위해 Microsoft Entra 그룹에 Kubernetes 역할 및 역할 바인딩을 사용합니다.
- Azure 리소스, AKS 및 Kubernetes 리소스에서 통합 관리 및 액세스 제어를 가능하게 하는 Kubernetes용 Azure RBAC를 사용하는 것이 좋습니다. Kubernetes용 Azure RBAC를 사용하는 경우 Kubernetes에 대한 사용자 ID 및 자격 증명을 별도로 관리할 필요가 없습니다. Microsoft Entra 보안 주체는 Azure RBAC에서만 유효성을 검사하지만 일반 Kubernetes 사용자 및 서비스 계정은 Kubernetes RBAC에서 독점적으로 유효성을 검사합니다.
- 필요에 따라 SRE에 적시에 모든 액세스 권한을 부여합니다.
- Azure 랜딩 존에서 Microsoft Entra ID 및 ID 및 액세스 관리에서 Privileged Identity Management를 사용합니다.
- Kubernetes에 Microsoft Entra 워크로드 ID 사용합니다. 이 페더레이션을 구현할 때 개발자는 네이티브 Kubernetes 서비스 계정 및 페더레이션을 사용하여 Azure 및 Microsoft Graph와 같은 Microsoft Entra ID로 관리되는 리소스에 액세스할 수 있습니다.