翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
共有ファイルconfigと credentials ファイルを使用して AWS SDKs とツールをグローバルに設定する
共有 AWS config ファイルと credentialsファイルは、 AWS SDK またはツールへの認証と設定を指定できる最も一般的な方法です。
共有 ファイルconfigと credentials ファイルには、一連のプロファイルが含まれています。プロファイルは、 AWS SDKs、 AWS Command Line Interface (AWS CLI)、およびその他のツールで使用されるキーと値のペアの一連の設定です。プロファイルを使用するときに SDK/ツールの一部を設定するために、設定値がプロファイルに添付されます。これらのファイルは、値がユーザーのローカル環境にあるすべてのアプリケーション、プロセス、または SDK に影響するという点で「共有」されます。
共有 config ファイルと credentials ファイルはどちらも ASCII 文字(UTF-8 でエンコードされた)のみを含むプレーンテキストファイルです。これらは一般に INI ファイル
プロファイル
共有 config ファイルと credentials ファイル内の設定は特定のプロファイルに関連付けられます。ファイル内で複数のプロファイルを定義して、異なる開発環境に適用する異なる設定構成を作成できます。
[default] プロファイルには、特定の名前付きプロファイルが指定されていない場合に SDK またはツールオペレーションで使用される値が含まれます。名前で明示的に参照できる個別のプロファイルを作成することもできます。各プロファイルは、アプリケーションやシナリオに応じて異なる設定と値を使用できます。
注記
[default] は単に名前のないプロファイルです。このプロファイルは、ユーザーがプロファイルを指定しない場合に SDK が使用するデフォルトのプロファイルであるため、default の名前が付けられています。継承されたデフォルト値を他のプロファイルに使用することはありません。[default] プロファイルに何かを設定し、名前付きプロファイルに設定しない場合、名前付きプロファイルを使用する場合、値は設定されません。
名前付きプロファイルを設定する
[default] プロファイルと複数の名前付きプロファイルは、同じファイル内に存在できます。次の設定を使用して、コードの実行時に SDK またはツールが使用するプロファイルの設定を選択します。プロファイルはコード内で選択することも、 を操作するときにコマンドごとに選択することもできます AWS CLI。
次のいずれかを設定して、この機能を設定します。
AWS_PROFILE- 環境変数-
この環境変数を名前付きプロファイルまたは「デフォルト」に設定すると、すべての SDK コードと AWS CLI コマンドはそのプロファイルの設定を使用します。
Linux/macOS のコマンドラインによる環境変数の設定の例を以下に示します。
export AWS_PROFILE="my_default_profile_name";Windows のコマンドラインによる環境変数の設定の例を以下に示します。
setx AWS_PROFILE "my_default_profile_name"
aws.profile- JVM システムプロパティ-
JVM の SDK for Kotlin と SDK for Java 2.x では、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。別のセクション定義が発生するまで、この行に続くすべての設定は、この名前付きプロファイルの一部です。
[profilefoo] ...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 Identity Center を使用して AWS SDK とツールを認証する」を参照してください。プロファイルは、キーと値のペアによって sso-session セクションにリンクされます。ここで、sso-session はキー、sso-session セクションの名前は値です(sso-session =
<name-of-sso-session-section> など)。
次の例では、「my-sso」のトークンを使用して「111122223333」アカウントの「SampleRole」IAM ロールの短期 AWS
認証情報を取得するプロファイルを設定しています。「my-sso」sso-session セクションは、profile セクションの中で sso-session キーを使用して名前で参照されます。
[profiledev] sso_session =my-ssosso_account_id =111122223333sso_role_name =SampleRole[sso-sessionmy-sso] sso_region =us-east-1sso_start_url =https://my-sso-portal.awsapps.com/start
セクションタイプ: services
セクション定義行の例:[services
dev]
注記
services セクションはサービス固有のエンドポイントのカスタマイズをサポートしており、この機能を含む SDK とツールでのみ使用できます。お使いの 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 = 。直後のインデントされた行はすべてそのサブセクションに含まれ、そのサービスに適用されます。
[profiledev] services =local-dynamodb[serviceslocal-dynamodb] dynamodb = endpoint_url =http://localhost:8000
カスタムエンドポイントの設定の詳細については、「サービス固有のエンドポイント」を参照してください。
認証情報ファイルの形式
プロファイルセクションが単語 profile で始まらないことを除けば、credentials ファイルのルールは一般的に config ファイルのルールと同じです。角括弧の間には、プロファイル名自体のみを使用してください。次の例は、 という名前のプロファイルセクションを持つcredentialsファイルを示していますfoo。
[foo] ...credential settings...
credentials ファイルに保存できるのは、「シークレット」または機密と見なされる設定、aws_access_key_idaws_secret_access_key、および のみですaws_session_token。これらの設定は共有configファイルに配置することもできますが、これらの機密性の高い値は別のcredentialsファイルに保持することをお勧めします。これにより、必要に応じてファイルごとに個別のアクセス許可を与えることができます。
[default] プロファイルのある基本 credentials ファイルの例を以下に示します。aws_access_key_id、aws_secret_access_key、および aws_session_token グローバル設定を設定します。
[default] aws_access_key_id=AKIAIOSFODNN7EXAMPLEaws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYaws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
ファイルで名前付きプロファイルを使用するかdefault「」を使用するかにかかわらずcredentials、ここでの設定は、同じプロファイル名を使用するconfigファイルの設定と組み合わせられます。同じ名前を共有するプロファイルの両方のファイルに認証情報がある場合、認証情報ファイルのキーが優先されます。