Azure kubernetes: ¿múltiples identidades administradas?
Estamos planeando implementar múltiples aplicaciones en nuestro único clúster de Azure kubernetes, cada aplicación tendrá su propio conjunto de recursos de Azure, por ejemplo: Key vault, Storage.
Estoy planeando aprovisionar identidades administradas individuales por aplicación y brindar acceso a los recursos relevantes.
Sé que la identificación AZURE AAD POD es la forma de configurar el pod para hacer uso de la identidad administrada para acceder a los recursos de Azure.
Sin embargo, ¿cómo agrego varias identidades administradas en el clúster de Azure Kubernetes? y ¿es este el derecho de implementación?
Respuestas
Como mencioné antes, no creo que pueda agregar varios MSI al clúster, solo puede usar un MSI asignado por el sistema o un MSI asignado por el usuario para ello.
Referencia: uso de identidades administradas en Azure Kubernetes Service
En su caso, si desea utilizar diferentes entidades de servicio para autenticarse (básicamente, MSI también es una entidad de servicio administrada por Azure), puede crear varias aplicaciones de AD junto con las entidades de servicio.
Referencia: cómo: usar el portal para crear una aplicación de Azure AD y una entidad de servicio que pueda acceder a los recursos
Luego, en el código de cada aplicación, use ClientSecretCredentialpara autenticarse.
ClientSecretCredential credential1 = new ClientSecretCredentialBuilder()
.tenantId(tenantId)
.clientId(clientId)
.clientSecret(clientSecret)
.build();
Luego use la credencial para crear un cliente, por ejemplo, SecretClient.
SecretClient secretClient = new SecretClientBuilder()
.vaultUrl("<your-key-vault-url>")
.credential(credential1)
.buildClient();