Konfigurieren Sie das AWS SDK für Ruby - AWS SDKfür Ruby

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren Sie das AWS SDK für Ruby

Erfahren Sie, wie Sie das AWS SDK für Ruby konfigurieren. Sie müssen festlegen, wie sich Ihr Code authentifiziert AWS , wenn Sie mit AWS services entwickeln. Sie müssen auch festlegen, was AWS-Region Sie verwenden möchten.

Kette der Anbieter von Anmeldeinformationen

Alle SDKs haben eine Reihe von Stellen (oder Quellen), die sie überprüfen, um gültige Anmeldeinformationen zu erhalten, mit denen eine Anfrage an AWS service einen gestellt werden kann. Nachdem gültige Anmeldeinformationen gefunden wurden, wird die Suche beendet. Diese systematische Suche wird als Standardanbieterkette für Anmeldeinformationen bezeichnet.

Für jeden Schritt in der Kette gibt es unterschiedliche Möglichkeiten, die Werte festzulegen. Das Setzen von Werten direkt im Code hat immer Vorrang, gefolgt von der Einstellung als Umgebungsvariablen und dann in der gemeinsam genutzten AWS config Datei. Weitere Informationen finden Sie unter Priorität der Einstellungen im Referenzhandbuch AWS SDKsund im Tools-Referenzhandbuch.

Das Referenzhandbuch AWS SDKs und die Tools enthalten Informationen zu den SDK Konfigurationseinstellungen, die von allen verwendet werden, AWS SDKs und zu den AWS CLI. Weitere Informationen zur Konfiguration SDK über die gemeinsam genutzte AWS config Datei finden Sie unter Gemeinsam genutzte Konfigurationsdateien und Anmeldeinformationen. Weitere Informationen zur Konfiguration SDK durch das Einstellen von Umgebungsvariablen finden Sie unter Unterstützung von Umgebungsvariablen.

Für die Authentifizierung überprüft AWS SDK for Ruby die Anbieter der Anmeldeinformationen in der in der folgenden Tabelle aufgeführten Reihenfolge. AWS

Anbieter von Anmeldeinformationen nach Priorität AWS SDKsund Referenzhandbuch für Tools AWS SDK for Ruby API--Referenz
AWS Zugangsschlüssel (temporäre und langfristige Anmeldeinformationen) AWS Zugriffstasten

Aws::Credentials

Aws::SharedCredentials

Web-Identitätstoken von AWS Security Token Service (AWS STS) Nehmen Sie die Rolle des Anbieters von Anmeldeinformationen an

Verwenden von role_arnrole_session_name, und web_identity_token_file

Aws::AssumeRoleWebIdentityCredentials
AWS IAM Identity Center. In diesem Handbuch finden Sie weitere InformationenSDK-Authentifizierung mitAWS. IAMIdentity Center-Anmeldeinformationsanbieter Aws::SSOCredentials
Vertrauenswürdiger Entitätsanbieter (z. B.AWS_ROLE_ARN). In diesem Handbuch finden Sie weitere Informationen unterEin AWS STS Zugriffstoken erstellen. Nehmen Sie die Rolle des Anbieters von Anmeldeinformationen an

Verwenden von role_arn und role_session_name

Aws::AssumeRoleCredentials
Anbieter für Prozessanmeldeinformationen Anbieter für Anmeldeinformationen verarbeiten Aws::ProcessCredentials
Anmeldeinformationen für Amazon Elastic Container Service (AmazonECS) Anbieter von Container-Anmeldeinformationen Aws::ECSCredentials
Anmeldeinformationen für das Amazon Elastic Compute Cloud (AmazonEC2) -Instanzprofil (Anbieter von IMDS Anmeldeinformationen) IMDSAnbieter von Anmeldeinformationen Aws::InstanceProfileCredentials

Wenn die Umgebungsvariable AWS SDK for Ruby gesetzt AWS_SDK_CONFIG_OPT_OUT ist, wird die gemeinsam genutzte AWS config Datei, normalerweise unter ~/.aws/config, nicht nach Anmeldeinformationen durchsucht.

Wenn Sie den empfohlenen Einstieg für neue Benutzer befolgt haben, richten Sie die AWS IAM Identity Center Authentifizierung während SDK-Authentifizierung mitAWS des Themas Erste Schritte ein. Andere Authentifizierungsmethoden sind in verschiedenen Situationen nützlich. Um Sicherheitsrisiken zu vermeiden, empfehlen wir, immer kurzfristige Anmeldeinformationen zu verwenden. Informationen zu anderen Authentifizierungsmethoden finden Sie unter Authentifizierung und Zugriff im AWS SDKsReferenzhandbuch zu Tools.

Ein AWS STS Zugriffstoken erstellen

Die Übernahme einer Rolle beinhaltet die Verwendung einer Reihe temporärer Sicherheitsanmeldedaten, mit denen Sie auf AWS Ressourcen zugreifen können, auf die Sie normalerweise keinen Zugriff haben. Diese temporären Anmeldeinformationen bestehen aus einer Zugriffsschlüssel-ID, einem geheimen Zugriffsschlüssel und einem Sicherheits-Token. Sie können die Aws::AssumeRoleCredentialsMethode verwenden, um ein Zugriffstoken AWS Security Token Service (AWS STS) zu erstellen.

Im folgenden Beispiel linked::account::arn wird ein Zugriffstoken verwendet, um ein Amazon S3 S3-Client-Objekt zu erstellen, wobei der Amazon-Ressourcenname (ARN) der Rolle, die übernommen werden soll, und ein Bezeichner für die angenommene Rollensitzung session-name ist.

role_credentials = Aws::AssumeRoleCredentials.new( client: Aws::STS::Client.new, role_arn: "linked::account::arn", role_session_name: "session-name" ) s3 = Aws::S3::Client.new(credentials: role_credentials)

Weitere Informationen zur Einstellung role_arn oder oder role_session_name zur Einstellung dieser Optionen stattdessen mithilfe der gemeinsam genutzten AWS config Datei finden Sie unter Assume role Credential Provider im Referenzhandbuch AWS SDKsund im Tools-Referenzhandbuch.

Festlegen einer Region

Sie müssen eine Region angeben, wenn Sie die meisten AWS services verwenden. The AWS SDK for Ruby sucht in der folgenden Reihenfolge nach einer Region:

Weitere Informationen zu dieser region Einstellung finden Sie AWS-Regionim Referenzhandbuch AWS SDKsund im Tools-Referenzhandbuch. Im Rest dieses Abschnitts wird beschrieben, wie Sie eine Region festlegen, wobei mit der gängigsten Methode begonnen wird.

Einstellen der Region mithilfe der gemeinsam genutzten config Datei

Legen Sie die Region fest, indem Sie die region Variable in der gemeinsam genutzten AWS config Datei festlegen. Weitere Informationen zur gemeinsam genutzten config Datei finden Sie unter Dateien mit gemeinsam genutzten Konfigurationen und Anmeldeinformationen im AWS SDKsReferenzhandbuch zu Tools.

Beispiel für die Einstellung dieses Werts in der config Datei:

[default] region = us-west-2

Die gemeinsam genutzte config Datei wird nicht überprüft, wenn die Umgebungsvariable gesetzt AWS_SDK_CONFIG_OPT_OUT ist.

Einstellung der Region mithilfe von Umgebungsvariablen

Legen Sie die Region fest, indem Sie die AWS_REGION Umgebungsvariable festlegen.

Verwenden Sie den export Befehl, um diese Variable auf UNIX-basierten Systemen wie Linux oder macOS festzulegen. Im folgenden Beispiel wird die Region auf festgelegt. us-west-2

export AWS_REGION=us-west-2

Verwenden Sie den set-Befehl, um diese Variable unter Windows zu definieren. Im folgenden Beispiel wird die Region auf festgelegtus-west-2.

set AWS_REGION=us-west-2

Einstellung der Region mit Aws.config

Legen Sie die Region fest, indem Sie dem Aws.config Hash einen region Wert hinzufügen. Im folgenden Beispiel wird der Aws.config Hash aktualisiert, sodass er die us-west-1 Region verwendet.

Aws.config.update({region: 'us-west-1'})

Alle Clients oder Ressourcen, die Sie später erstellen, sind an diese Region gebunden.

Einstellung der Region in einem Client- oder Ressourcenobjekt

Legen Sie die Region fest, wenn Sie einen AWS Client oder eine Ressource erstellen. Im folgenden Beispiel wird ein Amazon S3 S3-Ressourcenobjekt in der us-west-1 Region erstellt. Wählen Sie die richtige Region für Ihre AWS Ressourcen. Ein Service-Client-Objekt ist unveränderlich. Sie müssen also für jeden Service, an den Sie Anfragen stellen, und für Anfragen an denselben Service mit einer anderen Konfiguration einen neuen Client erstellen.

s3 = Aws::S3::Resource.new(region: 'us-west-1')

Einen nicht standardmäßigen Endpunkt einrichten

Die Region wird verwendet, um einen SSL Endpunkt für AWS Anfragen zu erstellen. Wenn Sie in der ausgewählten Region einen nicht standardmäßigen Endpunkt verwenden müssen, fügen Sie einen endpoint Eintrag hinzuAws.config. Sie können den auch festlegen, endpoint: wenn Sie einen Service-Client oder ein Ressourcenobjekt erstellen. Das folgende Beispiel erstellt ein Amazon S3 S3-Ressourcenobjekt auf dem other_endpoint Endpunkt.

s3 = Aws::S3::Resource.new(endpoint: other_endpoint)

Informationen zur Verwendung eines Endpunkts Ihrer Wahl für API Anfragen und zur Beibehaltung dieser Auswahl finden Sie unter der Konfigurationsoption für dienstspezifische Endgeräte im Referenzhandbuch AWS SDKsund im Tools-Referenzhandbuch.