"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تمرير بيانات الاعتماد من المتغيرات إلى AWS SDK الإصدار 2 للوصول إلى خدمة IAM؟

كيفية تمرير بيانات الاعتماد من المتغيرات إلى AWS SDK الإصدار 2 للوصول إلى خدمة IAM؟

تم النشر بتاريخ 2024-11-15
تصفح:574

How to Pass Credentials from Variables to AWS SDK Version 2 for IAM Service Access?

تمرير بيانات الاعتماد من المتغيرات إلى AWS SDK الإصدار 2

يردد هذا الاستفسار سؤالًا سابقًا يتعلق باستخدام AWS SDK مع بيانات الاعتماد من المتغيرات. ومع ذلك، في هذه الحالة، يتم استخدام الإصدار 2 من SDK، مما يلغي ميزة الجلسة.

لإنشاء عميل جديد ببيانات اعتماد تم الحصول عليها من المتغيرات للوصول إلى خدمة IAM، خذ في الاعتبار الوظيفة التالية:

func getIAMClient(ctx context.Context) (*iam.Client, error) {
    cfg, err := config.LoadDefaultConfig(ctx, config.WithRegion("no-region"))
    if err != nil {
        return nil, errors.Wrap(err)
    }

    cfg.HTTPClient, err = getHTTPClient(ctx)
    if err != nil {
        return nil, err
    }

    return iam.NewFromConfig(cfg), nil
}

نظرًا لأنه قد يستخدم العديد من المستخدمين التطبيق في وقت واحد، فإن استخدام ملفات ENV غير عملي. ومع ذلك، قد لا تكون الوثائق التي تشرح كيفية تمرير بيانات الاعتماد هذه إلى العميل متاحة بسهولة.

الحل: موفر بيانات الاعتماد الثابتة

لحل هذه المشكلة، يمكن أن يكون StaticCredentialsProvider المستخدمة، كما هو موضح في قسم "بيانات الاعتماد الثابتة" في AWS SDK for Go V2 الوثائق:

cfg, err := config.LoadDefaultConfig(ctx, config.WithCredentialsProvider(credentials.NewStaticCredentialsProvider("AKID", "SECRET_KEY", "TOKEN")))

من خلال دمج هذا التعديل، قد يتم تمرير بيانات الاعتماد من المتغيرات إلى SDK، مما يتيح استرجاع واستخدام خدمات IAM.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3