Yandex Cloud
Search
Contact UsTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
All solutions
    • All solutions for Cloud Functions
    • Resolving the `CORS` error when accessing the SpeechKit, Vision OCR, or Translate API from a web application frontend
    • Resolving HTTP 499 errors when working with a cloud function or Serverless Containers container
    • Troubleshooting the connection to YDB from Cloud Functions function code
    • Resolving the `No node can serve the request (Too many reschedules)` error
    • Resolving the `No node can serve the request (concurrent requests exceeded)` error
    • How to get the number of function calls for a certain period
    • How to access a function from MDB
    • How to set up a static IP address
    • How to call cloud functions asynchronously
    • How to set up `boto3` authentication

In this article:

  • Case description
  • Solution
  1. Cloud Functions
  2. How to set up `boto3` authentication

How to set up boto3 authentication

Written by
Yandex Cloud
Updated at December 17, 2025
  • Case description
  • Solution

Case descriptionCase description

  • You need to create a cloud function that saves its results to an AWS-compatible data storage.
  • You need to find out how to authenticate and authorize in the relevant service from the cloud function code using boto3.

SolutionSolution

To access AWS-compatible services, you need static access keys.

Note

AWS-compatible services include:

  • Yandex Data Streams
  • Yandex Object Storage
  • Yandex Message Queue
  • Yandex Managed Service for YDB

Metadata only stores the IAM token, not AWS keys. Therefore, you need to use either environment variables to explicitly specify the key and secret, or set up integration with Lockbox.

Example of setting up boto3 for S3 access using environment variables
import os, boto3


s3 = boto3.client('s3',
    endpoint_url            = 'https://storage.yandexcloud.net',
    aws_access_key_id       = os.environ['AWS_ACCESS_KEY_ID'],
    aws_secret_access_key   = os.environ['AWS_SECRET_ACCESS_KEY'],
    region_name             = os.environ['AWS_DEFAULT_REGION']
)

def handler(event, context):
    return s3.list_buckets()['Buckets']

Was the article helpful?

Previous
How to call cloud functions asynchronously
Next
All solutions for IAM
© 2025 Direct Cursus Technology L.L.C.