Estou seguindo o tutorial do GCP para criar uma instância de réplica a partir de um mestre externo.
A Cloud SQL API está ativada e estou usando o google shell no console para executar os comandos.
Eu também tentei de uma instância do mecanismo de computação usando gcloud auth login para obter credenciais, mas deparo com o mesmo problema exato.
Estou criando o mestre interno sem nenhum problema:
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"name": "int-clouddb5",
"region": "us-central1-a",
"databaseVersion": "MYSQL_5_5",
"onPremisesConfiguration": {"hostPort": "79.xx.xx.xx:3306"}}' \
-X POST \
https://www.googleapis.com/sql/v1beta4/projects/my-project-222/instances
Mas quando configurar a réplica dessa maneira:
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header 'Content-Type: application/json' \
--data '{"replicaConfiguration":
{"mysqlReplicaConfiguration":
{"username": "xxxx", "password": "xxxxx",
"dumpFilePath": "gs://xxxbucket-data/xxxxmpv2.sql" }},
"settings": {"tier": "D4","activationPolicy": "ALWAYS"},
"databaseVersion": "MYSQL_5_5",
"masterInstanceName": "int-clouddb5", "name": "sla-clouddb3"}' \
-X POST \
https://www.googleapis.com/sql/v1beta4/projects/xxxxxx/instances
Recebo a seguinte mensagem de erro:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "notAuthorized",
"message": "The client is not authorized to make this request."
}
],
"code": 403,
"message": "The client is not authorized to make this request."
}
}
O suporte ao GCP sugeriu o uso de us-central-1a, pois eles tinham bugs relatados em outras regiões, mas isso não muda nada e o cara não parece entender meu pedido.
Alguém tem uma ideia sobre o que há de errado lá?
EDIT: a conta usada para realizar tudo é a conta do proprietário, tem todas as permissões em todos os projetos.