![](/img/trans.png)
[英]Getting Error 'NoCredentialProviders: no valid providers in chain. Deprecated.' while calling acmpca.GetCertificate() in golang
[英]NoCredentialProviders: no valid providers in chain. Deprecated. (DNSControl)
我正在嘗試實現 dnscontrol 以使用路由 53,但是當我運行任何命令(例如“dnscontrol get-zones gcloud GCLOUD mydomain.com”)時,它似乎看不到我放入 creds.json 文件中的內容
它返回錯誤:
NoCredentialProviders:鏈中沒有有效的提供者。 已棄用。 有關詳細消息,請參閱 aws.Config.CredentialsChainVerboseErrors
我確實將憑據放入 creds.json 中,格式如下:
{“r53_main”:{“KeyId”:“mywhateverkeyid”,“SecretKey”:“mywhateversecretkey”}}
我的 gcloud 憑據在相同的 creds.json 文件中工作正常。
謝謝
如果您嘗試針對 Google (Cloud DNS) 進行身份驗證,則需要使用 (Google) 服務帳戶 JSON 密鑰,如此處所述。
看來您可能正在嘗試使用此處所述的 Route 53 憑據。
PROJECT=[[PROJECT]]
BILLING=[[BILLING]]
DNSNAME=[[DNSNAME]]
ACCOUNT=[[ACCOUNT]]
gcloud projects create ${PROJECT}
gcloud beta billing projects link ${PROJECT} --billing-account=${BILLING}
gcloud services enable dns.googleapis.com --project=${PROJECT}
# Create a test DNS Managed Zone
gcloud dns managed-zones create test \
--description=test \
--dns-name=${DNSNAME} \
--project=${PROJECT}
# Create a Service Account (permitted to use DNS) and Key
gcloud iam service-accounts create ${ACCOUNT} --project=${PROJECT}
gcloud projects add-iam-policy-binding ${PROJECT} \
--member=serviceAccount:${ACCOUNT}@${PROJECT}.iam.gserviceaccount.com \
--role=roles/dns.admin
gcloud iam service-accounts keys create ./${ACCOUNT}.json \
--iam-account=${ACCOUNT}@${PROJECT}.iam.gserviceaccount.com \
--project=${PROJECT}
然后,您需要將密鑰組合成creds.json
:
echo "{\"gcloud\":$(cat ./${ACCOUNT}.json)}" > ./creds.json
然后:
./dnscontrol check-creds gcloud GCLOUD
${DNSNAME}
./dnscontrol get-zones gcloud GCLOUD ${DNSNAME}
$ORIGIN ${DNSNAME}.
$TTL 300
@ 21600 IN NS ns-cloud-b1.googledomains.com.
21600 IN NS ns-cloud-b2.googledomains.com.
21600 IN NS ns-cloud-b3.googledomains.com.
21600 IN NS ns-cloud-b4.googledomains.com.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.