簡體   English   中英

NoCredentialProviders:鏈中沒有有效的提供者。 已棄用。 (DNS 控制)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM