Как передать пароль участника службы, хранящийся в хранилище, в параметр az aks create --client-secret - PullRequest
0 голосов
/ 31 декабря 2018

Я не могу передать пароль участника службы, хранящийся в хранилище, для az aks create - параметр -client-secret

Для воспроизведения 1.) Создать хранилище

az keyvault create \
    --name ${AZURE_VAULT_NAME} \
    --resource-group ${AZURE_RESOURCE_GROUP} \
    --location ${AZURE_LOCATION} \
    --enabled-for-deployment 'true'

2.) создать учетную запись субъекта службы, используя хранилище

az ad sp create-for-rbac \
    --skip-assignment \
    --name ${AZURE_SERVICE_PRINCIPAL_NAME} \
    --create-cert \
    --cert ${AZURE_VAULT_SERVICE_PRINCIPAL_KEY_NAME} \
    --keyvault ${AZURE_VAULT_NAME}

3.) вывод в az ad sp create отображается как

{
  "appId": "d216c019-cd17-4350-a467-77be6e76c135",
  "displayName": "aksServicePrincipalPOC",
  "name": "http://aksServicePrincipalPOC",
  "password": null,
  "tenant": "06dd2342-6928-44d9-bd0f-bfb06b15a097"
}

Примечание: пароль пуст.

4.)создайте кластер aks с использованием принципала службы.Похоже, нет способа передать секретное имя или имя хранилища для команды az aks create.У меня нет значения для установки --client-secret, так как он не был возвращен при создании учетной записи участника службы.

az aks create \
    --resource-group ${AZURE_RESOURCE_GROUP} \
    --name ${AKS_CLUSTER_NAME} \
    --admin-username ${AKS_NODE_ADMIN_USERNAME} \
    --node-count ${AKS_MIN_NUMBER_OF_NODES} \
    --service-principal ${AZURE_SERVICE_PRINCIPAL} \
    --client-secret ??????????? \
    --ssh-key-value ${AKS_VM_SSH_KEY_FILE_DIR}/${AKS_VM_SSH_KEY_FILE_NAME}.pub \    
    --network-plugin azure \
    --vnet-subnet-id ${AZURE_PRIVATE_SUBNET_ID} \
    --docker-bridge-address ${AZURE_AKS_DOCKER_BRIDGE_ADDRESS} \
    --dns-service-ip ${AZURE_AKS_DNS_SERVICE_IP} \
    --service-cidr ${AZURE_AKS_SERVICE_CIDR}

Ожидаемое поведение: должна быть опция с az aks create, чтобы она вытягивала участника службыпароль от хранилища, сохраняющий эту тайну.

1 Ответ

0 голосов
/ 31 декабря 2018

это не будет работать, так как при этом создается аутентификация сертификата для субъекта службы, а не аутентификации пароля (следовательно, он не возвращает никакого значения пароля).

, поскольку вы просите его создать субъект-службу с включенной проверкой подлинности сертификата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...