共有 config ファイルおよび credentials ファイル - AWS SDKs とツール

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

共有 config ファイルおよび credentials ファイル

共有 AWS configファイルとcredentialsファイルには、一連のプロファイルが含まれています。プロファイルは、 ( AWS Command Line Interface AWS CLI)、、およびその他のツールで使用されるキー AWS SDKsと値のペアで設定されたセットです。設定値は、そのプロファイルが使用されるときに SDK/tool の一部を構成するためにプロファイルにアタッチされます。これらのファイルは「共有」であり、値がアプリケーション、プロセス、またはユーザーのSDKsローカル環境に影響するという点で使用されます。

共有ファイルconfigcredentials ファイルの両方がプレーンテキストファイルで、ASCII文字のみが含まれます (UTF-8 エンコード)。これらは、一般的にINIファイル と呼ばれる形式をとります。

プロファイル

共有 config ファイルと credentials ファイル内の設定は特定のプロファイルに関連付けられます。ファイル内で複数のプロファイルを定義して、異なる開発環境に適用する異なる設定設定を作成できます。

[default] プロファイルには、特定の名前付きプロファイルが指定されていない場合に、 SDK または ツールオペレーションで使用される値が含まれます。名前で明示的に参照できる個別のプロファイルを作成することもできます。各プロファイルは、アプリケーションやシナリオに応じて異なる設定や値を使用できます。

注記

[default] は単に名前のないプロファイルです。このプロファイルの名前は、ユーザーがプロファイルを指定しない場合SDKに が使用するデフォルトのプロファイルdefaultであるためです。継承されたデフォルト値を他のプロファイルに使用することはありません。[default] プロファイルに何かを設定し、名前付きプロファイルに設定しない場合、名前付きプロファイルを使用する場合、値は設定されません。

名前付きプロファイルを設定する

[default] プロファイルと複数の名前付きプロファイルは、同じファイルに存在する可能性があります。次の設定を使用して、コードの実行時に SDKまたは ツールが使用するプロファイルの設定を選択します。プロファイルは、コード内で選択することも、 を操作するときにコマンドごとに選択することもできます AWS CLI。

次のいずれかを設定して、この機能を設定します。

AWS_PROFILE - 環境変数

この環境変数が名前付きプロファイルまたは「default」に設定されている場合、すべてのSDKコードと AWS CLI コマンドは、そのプロファイルの設定を使用します。

Linux/macOS のコマンドラインによる環境変数の設定の例を以下に示します。

export AWS_PROFILE="my_default_profile_name";

Windows のコマンドラインによる環境変数の設定の例を以下に示します。

setx AWS_PROFILE "my_default_profile_name"
aws.profile - JVMシステムプロパティ

の SDK では Kotlin JVMを、 では Java 2.x SDK用の ではaws.profileシステムプロパティ を設定できます。がサービスクライアントSDKを作成すると、コードで設定が上書きされない限り、名前付きプロファイルの設定が使用されます。SDK for Java 1.x は、このシステムプロパティをサポートしていません。

注記

アプリケーションが複数のアプリケーションを実行しているサーバー上にある場合は、デフォルトのプロファイルではなく、常に名前付きプロファイルを使用することをお勧めします。デフォルトのプロファイルは、環境内の任意の AWS アプリケーションによって自動的に取得され、それら間で共有されます。したがって、他のユーザーがアプリケーションのデフォルトプロファイルを更新すると、他のユーザーに意図しない影響を与える可能性があります。これを防ぐには、共有configファイルに名前付きプロファイルを定義し、コードに名前付きプロファイルを設定して、アプリケーションでその名前付きプロファイルを使用します。環境変数またはJVMシステムプロパティを使用して、名前付きプロファイルがアプリケーションにのみ影響することがわかっている場合は、その名前付きプロファイルを設定できます。

設定ファイルの形式

config ファイルは、セクションにまとめられています。セクションは、設定の名前付きコレクションであり、別のセクション定義の行が検出されるまで続きます。

config ファイルは、次の形式を使用するプレーンテキストファイルです。

  • セクション内のすべてのエントリは、setting-name=value の一般的な形式になります。

  • 行の先頭にハッシュタグ (#) を付けると、行をコメントアウトできます。

セクションタイプ

セクション定義は、設定のコレクションに名前を付ける行です。セクション定義行の先頭と末尾は角括弧 ([ ]) です。括弧内には、セクションタイプ識別子とセクションのカスタム名があります。英文字、数字、ハイフン (-)、アンダースコア (_) は使用できますが、スペースは使用できません。

セクションタイプ: default

セクション定義行の例:[default]

[default] は、profileセクション識別子を必要としない唯一のプロファイルです。

[default] プロファイルのある基本 config ファイルの例を以下に示します。region を設定します。別のセクション定義が発生するまで、この行に続くすべての設定は、このプロファイルの一部です。

[default] #Full line comment, this text is ignored. region = us-east-2

セクションタイプ: profile

セクション定義行の例:[profile dev]

profile セクション定義行は、さまざまな開発シナリオに適用できる名前付き設定グループです。名前付きプロファイルについての理解を深めるには、前のセクションの「プロファイル」を参照してください。

次の例は、profileセクション定義行と という名前のプロファイルを持つconfigファイルを示していますfoo。別のセクション定義が発生するまで、この行に続くすべての設定は、この名前付きプロファイルの一部です。

[profile foo] ...settings...

次の例の s3 設定やサブ設定など、一部の設定には独自のサブ設定グループがネストされています。サブ設定を 1 つまたは複数のスペースでインデントしてグループに関連付けます。

[profile test] region = us-west-2 s3 = max_concurrent_requests=10 max_queue_size=1000

セクションタイプ: sso-session

セクション定義行の例:[sso-session my-sso]

sso-session セクション定義行には、 を使用して AWS 認証情報を解決するようにプロファイルを設定するために使用される設定のグループの名前が付けられます AWS IAM Identity Center。シングルサインオン認証の設定の詳細については、「IAM SDKまたは ツールの Identity Center 認証」を参照してください。プロファイルは、キーと値のペアによって sso-session セクションにリンクされます。ここで、sso-session はキー、sso-session セクションの名前は値です(sso-session = <name-of-sso-session-section> など)。

次の例では、「my-ssoSampleRole」からトークンを使用して、111122223333」アカウントのIAM「ロールの短期 AWS 認証情報を取得するプロファイルを設定します。「my-sso」sso-session セクションは、profile セクションの中で sso-session キーを使用して名前で参照されます。

[profile dev] sso_session = my-sso sso_account_id = 111122223333 sso_role_name = SampleRole [sso-session my-sso] sso_region = us-east-1 sso_start_url = https://my-sso-portal.awsapps.com/start

セクションタイプ: services

セクション定義行の例:[services dev]

注記

このセクションでは、サービス固有のエンドポイントのカスタマイズservicesがサポートされており、この機能を含む SDKs および ツールでのみ使用できます。この機能が で使用できるかどうかを確認するにはSDK、サービス固有のエンドポイントとの互換性 AWS SDKsについては、「」を参照してください。

services セクション定義行には、 AWS のサービス リクエストのカスタムエンドポイントを設定する設定のグループの名前が付けられます。プロファイルは、キーと値のペアによって services セクションにリンクされます。ここで、services はキー、services セクションの名前は値です(services = <name-of-services-section> など)。

services セクションはさらに<SERVICE> = 、行ごとにサブセクションに分割されます。ここで、 <SERVICE>は AWS のサービス 識別子キーです。 AWS のサービス 識別子は、すべてのスペースをアンダースコアに置き換え、すべての文字を小文字serviceIdに置き換えることで、APIモデルの に基づいています。services セクションで使用するすべてのサービス識別子キーのリストについては、「サービス固有のエンドポイントの識別子」を参照してください。サービス識別子キーの後には、ネストされた設定 (それぞれが 1 行にあり、2 つのスペースでインデントされている) が続きます。

次の例では、services 定義を使用して、 Amazon DynamoDB サービスに対して行われたリクエストにのみ使用するようにエンドポイントを設定しています。"local-dynamodb" services セクションは、profile セクションの中で services キーを使用して名前で参照されます。 AWS のサービス 識別子キーは ですdynamodb。 Amazon DynamoDB サービスサブセクションは 行で始まりますdynamodb = 。直後のインデントされた行はすべてそのサブセクションに含まれ、そのサービスに適用されます。

[profile dev] services = local-dynamodb [services local-dynamodb] dynamodb = endpoint_url = http://localhost:8000

カスタムエンドポイントの設定の詳細については、「サービス固有のエンドポイント」を参照してください。

認証情報ファイルの形式

プロファイルセクションが単語 profile で始まらないことを除けば、credentials ファイルのルールは一般的に config ファイルのルールと同じです。角括弧の間には、プロファイル名自体のみを使用してください。次の例は、 という名前のプロファイルセクションを持つcredentialsファイルを示していますfoo

[foo] ...credential settings...

credentials ファイルに保存できるのは、「シークレット」または機密と見なされる設定のみです。aws_access_key_idaws_secret_access_keyaws_session_tokenおよび。これらの設定は共有configファイルに配置することもできますが、これらの機密性の高い値は別のcredentialsファイルに保持することをお勧めします。これにより、必要に応じてファイルごとに個別のアクセス許可を与えることができます。

[default] プロファイルのある基本 credentials ファイルの例を以下に示します。aws_access_key_id、aws_secret_access_key、および aws_session_token グローバル設定を設定します。

[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLE aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE

ファイルで名前付きプロファイルを使用するかdefault「」を使用するかにかかわらずcredentials、ここでの設定は、同じプロファイル名を使用するconfigファイルの設定と組み合わされます。同じ名前を共有するプロファイルの両方のファイルに認証情報がある場合、認証情報ファイルのキーが優先されます。