You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Не у всех есть возможность использовать персональный oauth токен и приходится работать с Яндекс облаком через корпоративную (федеративную) учётную запись. В связи с этим прошу расширить пример авторизации в YandexCloud через SDK разными способами, чтобы другие люди могли сэкономить время.
Мой пример:
oauthToken := flag.String("oauth-token", "", "")
pathToServiceAccountKey := flag.String("path-to-service-account-key", "", "path/to/service-account-key.json")
iamToken := flag.String("iam-token", "", "")
flag.Parse()
var creds ycsdk.Credentials
if *oauthToken != "" {
creds = ycsdk.OAuthToken(*oauthToken)
} else if *iamToken != "" {
creds = ycsdk.NewIAMTokenCredentials(*iamToken)
} else if *pathToServiceAccountKey != "" {
bytes, err := ioutil.ReadFile(*pathToServiceAccountKey)
if err != nil {
return fmt.Errorf("cant find service account json file: %w", err)
}
var SAKey iamkey.Key
err = yaml.Unmarshal(bytes, &SAKey)
if err != nil {
return err
}
creds, err = ycsdk.ServiceAccountKey(&SAKey)
if err != nil {
return err
}
} else {
return fmt.Errorf("error: oauth or iam token is not provided")
}
sdk, err := ycsdk.Build(ctx, ycsdk.Config{
Credentials: creds,
})
if err != nil {
log.Fatal("build creds error:", err)
}
The text was updated successfully, but these errors were encountered:
С доками все так плохо, что пост @konstesting гугглится наряду с описаниями YC API. Так что добавлю свой примерчик для случая с serviceAccountJson file:
Не у всех есть возможность использовать персональный oauth токен и приходится работать с Яндекс облаком через корпоративную (федеративную) учётную запись. В связи с этим прошу расширить пример авторизации в YandexCloud через SDK разными способами, чтобы другие люди могли сэкономить время.
Мой пример:
The text was updated successfully, but these errors were encountered: