翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
共有 ファイル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
。別のセクション定義が見つかるまで、この行に続くすべての設定は、この名前付きプロファイルの一部です。
[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 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
キーを使用して名前で参照されます。
[profile
dev
] sso_session =my-sso
sso_account_id =111122223333
sso_role_name =SampleRole
[sso-sessionmy-sso
] sso_region =us-east-1
sso_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 =
。直後のインデントされた行はすべてそのサブセクションに含まれ、そのサービスに適用されます。
[profile
dev
] services =local-dynamodb
[serviceslocal-dynamodb
] dynamodb = endpoint_url =http://localhost:8000
カスタムエンドポイントの設定の詳細については、「サービス固有のエンドポイント」を参照してください。
認証情報ファイルの形式
プロファイルセクションが単語 profile
で始まらないことを除けば、credentials
ファイルのルールは一般的に config
ファイルのルールと同じです。角括弧の間には、プロファイル名自体のみを使用してください。次の例は、 という名前のプロファイルセクションを持つ credentials
ファイルを示していますfoo
。
[
foo
] ...credential settings...
credentials
ファイルに保存できるのは、「シークレット」または機密と見なされる設定、aws_access_key_id
、aws_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=
AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
aws_session_token=IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZ2luX2IQoJb3JpZVERYLONGSTRINGEXAMPLE
credentials
ファイルで名前付きプロファイルを使用するかdefault
「」を使用するかにかかわらず、ここでの設定は、同じプロファイル名を使用するconfig
ファイルの設定と結合されます。同じ名前を共有するプロファイルの両方のファイルに認証情報がある場合、認証情報ファイルのキーが優先されます。