このコンテンツでは、.NET Framework と ASP.NET 4.x に焦点を当てています。Windows と Visual Studio を対象としています。
.NET Core または ASP.NET Core をお探しですか? バージョン 3.5 以降に移動します。Windows および Visual Studio に加えて、クロスプラットフォーム開発についても説明します。
「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
AWS 認証情報の設定
AWS 認証情報を安全に管理し、意図せずに認証情報が一般に公開される可能性がある手法を避ける必要があります。このトピックでは、安全性を維持するためにアプリケーションの AWS 認証情報を設定する方法について説明します。
-
自分のアカウントのルート認証情報を使用して AWS リソースにアクセスしないでください。これらの認証情報は無制限のアカウントアクセスを提供し、取り消すのが困難です。
-
プロジェクトの
App.config
ファイルやWeb.config
ファイルを含めて、アプリケーションにリテラルアクセスキーを配置しないでください。これを行うと、パブリックリポジトリにプロジェクトをアップロードするなど、誤って認証情報が公開されるリスクが発生します。
ここでは、AWS アカウントを作成済みであり、認証情報にアクセスできることを前提としています。作成済みでない場合は、「AWS のアカウントと認証情報を作成する」を参照してください。
認証情報を安全に管理するための一般的なガイドラインを次に示します。
-
IAM ユーザーを作成し、AWS ルートユーザーを使用する代わりに IAM ユーザー認証情報を使用します。IAM ユーザーの認証情報は、漏洩した場合に簡単に取り消すことができます。特定のリソースとアクションのセットにユーザーを限定するポリシーを、各 IAM ユーザーに適用できます。
-
推奨される認証情報管理手法は、アプリケーションの開発中に、IAM ユーザー認証情報のセットに対するプロファイルを SDK ストア ストアに置くことです。プレーンテキストの認証情報ファイルを使用して、認証情報を含むプロファイルを保存することもできます。次に、プロジェクトファイルに認証情報を保存するのではなく、プログラムから特定のプロファイルを参照することができます。意図せずに認証情報を公開してしまうリスクを抑えるために、SDK ストア または認証情報ファイルはプロジェクトファイルとは別に保存しておく必要があります。
-
Amazon Elastic Container Service (Amazon ECS) タスクにタスク用の IAM ロールを使用します。
-
Amazon EC2 インスタンスで実行中のアプリケーションに対して IAM ロールを使用します。
-
組織外部のユーザーが利用できるアプリケーションでは、一時的な認証情報または環境変数を使用します。
以下のトピックでは、AWS SDK for .NET アプリケーションの認証情報を管理する方法について説明します。安全に AWS 認証情報を管理する方法の説明については、「AWS アクセスキーを管理するためのベストプラクティス」を参照してください。
SDK ストア を使用する
AWS SDK for .NET アプリケーションの開発中は、アプリケーションで使用する認証情報のセットごとのプロファイルを SDK ストア に追加します。これにより、AWS
セキュリティ認証情報が誤って公開されることを防ぎます。SDK ストア は、RegisteredAccounts.json
ファイルの C:\Users\<username>\AppData\Local\AWSToolkit
フォルダにあります。SDK ストア には次の利点があります。
-
SDK ストア には任意の数のアカウントから複数のプロファイルを含めることができます。
-
SDK ストア の認証情報は暗号化され、SDK ストア はユーザーのホームディレクトリに置かれます。これにより、認証情報が誤って公開されるリスクが制限されます。
-
アプリケーションでそのプロファイルを名前で参照すると、関連する認証情報が実行時に参照されます。ソースファイルには、リテラル認証情報は含まれません。
-
default
という名前のプロファイルを含める場合、AWS SDK for .NET ではそのプロファイルが使用されます。これは、別のインスタンスプロファイル名を指定しない場合、または指定された名前が見つからない場合も同様です。 -
SDK ストア は、AWS Tools for Windows PowerShell および AWS Toolkit for Visual Studio にも認証情報を提供します。
SDK ストア のプロファイルは、特定ホストの特定ユーザーに固有です。これらは他のホストや他のユーザーにコピーすることはできません。そのため、SDK ストア のプロファイルを本稼働アプリケーションで使用することはできません。詳細については、「認証情報とプロファイルの解決」を参照してください。
SDK ストア のプロファイルはいくつかの方法で管理できます。
-
AWS Toolkit for Visual Studio のグラフィカルユーザーインターフェイス (GUI) を使用してプロファイルを管理します。GUI を使用して SDK ストア に認証情報を追加する方法の詳細については、AWS Toolkit for Visual Studioの「AWS 認証情報の提供」を参照してください。
-
AWS Tools for Windows PowerShell で
Set-AWSCredentials
コマンドレットを使用して、コマンドラインからプロファイルを管理できます。詳細については、「AWS セキュリティ認証情報の使用」を参照してください。 -
Amazon.Runtime.CredentialManagement.CredentialProfile クラスを使用してプログラムからプロファイルを作成および管理できます。
次の例では、ベーシックプロファイルと SAML プロファイルを作成し、RegisterProfile メソッドを使用して SDK ストア に追加する方法を示します。
プロファイルの作成と、.NET 認証情報ファイルへの保存
Amazon.Runtime.CredentialManagement.CredentialProfileOptions オブジェクトを作成し、その AccessKey
および SecretKey
プロパティを設定します。Amazon.Runtime.CredentialManagement.CredentialProfile オブジェクトを作成します。プロファイルと、作成した CredentialProfileOptions
オブジェクトの名前を指定します。必要に応じて、プロファイルのリージョンプロパティを設定します。NetSDKCredentialsFile オブジェクトをインスタンス化し、RegisterProfile メソッドを呼び出してプロファイルを登録します。
var options = new CredentialProfileOptions { AccessKey = "access_key", SecretKey = "secret_key" }; var profile = new Amazon.Runtime.CredentialManagement.CredentialProfile("basic_profile", options); profile.Region = RegionEndpoint.USWest1; var netSDKFile = new NetSDKCredentialsFile(); netSDKFile.RegisterProfile(profile);
新しいプロファイルを登録するには、RegisterProfile
メソッドを使用します。アプリケーションでは通常、プロファイルごとにこのメソッドを 1 回呼び出します。
SAMLEndpoint および関連プロファイルの作成と、.NET 認証情報ファイルへの保存
Amazon.Runtime.CredentialManagement.SAMLEndpoint オブジェクトを作成します。名前とエンドポイント URI パラメーターを指定します。Amazon.Runtime.CredentialManagement.SAMLEndpointManager オブジェクトを作成します。RegisterEndpoint メソッドを呼び出して、エンドポイントを登録します。Amazon.Runtime.CredentialManagement.CredentialProfileOptions オブジェクトを作成し、その EndpointName
および RoleArn
プロパティを設定します。Amazon.Runtime.CredentialManagement.CredentialProfile オブジェクトを作成し、そのプロファイルと、作成した CredentialProfileOptions
オブジェクトの名前を指定します。必要に応じて、プロファイルのリージョンプロパティを設定します。NetSDKCredentialsFile オブジェクトをインスタンス化し、RegisterProfile メソッドを呼び出してプロファイルを登録します。
var endpoint = new SAMLEndpoint("endpoint1", new Uri("https://some_saml_endpoint"), SAMLAuthenticationType.Kerberos); var endpointManager = new SAMLEndpointManager(); endpointManager.RegisterEndpoint(endpoint); options = new CredentialProfileOptions { EndpointName = "endpoint1", RoleArn = "arn:aws:iam::999999999999:role/some-role" }; profile = new CredentialProfile("federated_profile", options); netSDKFile = new NetSDKCredentialsFile(); netSDKFile.RegisterProfile(profile);
認証情報ファイルの使用
プロファイルは、AWS 共有認証情報ファイルに保存することもできます。このファイルは、他の AWS SDK、AWS CLI、および AWS Tools for Windows PowerShell で使用できます。誤って認証情報が公開されるリスクを軽減するために、認証情報ファイルはプロジェクトファイルとは別に保存し、通常はユーザーのホームフォルダに置きます。認証情報ファイル中のプロファイルは平文で格納される点に注意してください。
デフォルトでは、このファイルは .aws
ディレクトリの名前は credentials
。 詳細については、以下を参照してください。 構成設定はどこに保存されますか? の AWS Command Line Interface ユーザーガイド.
共有認証情報ファイルのプロファイルを、以下の 2 通りの方法で管理できます。
-
テキストエディタを使用できます。このファイルは
credentials
という名前で、デフォルトの場所はユーザーのホームフォルダーです。たとえば、ユーザー名がawsuser
である場合、認証情報ファイルはC:\users\awsuser\.aws\credentials
です。認証情報ファイルのプロファイルの例は次のようになります。
[{profile_name}] aws_access_key_id = {accessKey} aws_secret_access_key = {secretKey}
詳細については、「AWS アクセスキーを管理するためのベストプラクティス」を参照してください。
注記 default
という名前のプロファイルを含める場合、AWS SDK for .NET では、指定されたプロファイルが見つからないと、デフォルトでそのプロファイルが使用されます。プロファイルを含む資格情報ファイルは、
C:\aws_service_credentials\credentials
。 次に、AWSProfilesLocation
アトリビュート、プロジェクト内のアトリビュート、プロジェクトナイノApp.config
またはWeb.config
ファイル。詳細については、「プロファイルの指定」を参照してください。 -
Amazon.Runtime.CredentialManagement 名前空間のクラスを使用して、プログラムから認証情報ファイルを管理できます。
別の認証情報プロファイルの設定
デフォルトでは、AWS SDK for .NET はデフォルトのプロファイルを使用しますが、使用するプロファイルは認証情報ファイルから AWS_Profile 環境変数を使用して変更できます。
たとえば、Linux, macOS, or Unix の場合は、次のコマンドを実行してプロファイルを myProfile に変更します。
export AWS_PROFILE="myProfile"
Windows では、次のコマンドを入力します。
set AWS_PROFILE=myProfile
AWS_PROFILE 環境変数を設定すると、正式にサポートされているすべての AWS SDK およびツール (AWS CLI や AWS CLI for PowerShell を含む) での認証情報のロードに影響を与えます。
環境変数はシステムプロパティより優先されます。
プロファイルの作成と、共有認証情報ファイルへの保存
Amazon.Runtime.CredentialManagement.CredentialProfileOptions オブジェクトを作成し、その AccessKey
および SecretKey
プロパティを設定します。Amazon.Runtime.CredentialManagement.CredentialProfile オブジェクトを作成します。プロファイルと、作成した CredentialProfileOptions
の名前を指定します。必要に応じて、プロファイルのリージョンプロパティを設定します。Amazon.Runtime.CredentialManagement.SharedCredentialsFile オブジェクトをインスタンス化し、RegisterProfile メソッドを呼び出してプロファイルを登録します。
options = new CredentialProfileOptions { AccessKey = "access_key", SecretKey = "secret_key" }; profile = new CredentialProfile("shared_profile", options); profile.Region = RegionEndpoint.USWest1; var sharedFile = new SharedCredentialsFile(); sharedFile.RegisterProfile(profile);
新しいプロファイルを登録するには、RegisterProfile
メソッドを使用します。アプリケーションでは通常、プロファイルごとにこのメソッドを 1 回呼び出します。
ソースプロファイルおよび関連するロールの継承プロファイルの作成と、認証情報ファイルへの保存
ソースプロファイルの Amazon.Runtime.CredentialManagement.CredentialProfileOptions オブジェクトを作成し、その AccessKey
および SecretKey
プロパティを設定します。Amazon.Runtime.CredentialManagement.CredentialProfile オブジェクトを作成します。プロファイルと、作成した CredentialProfileOptions
の名前を指定します。Amazon.Runtime.CredentialManagement.SharedCredentialsFile オブジェクトをインスタンス化し、RegisterProfile メソッドを呼び出してプロファイルを登録します。引き受けたロールプロファイルの別の Amazon.Runtime.CredentialManagement.CredentialProfileOptions オブジェクトを作成し、そのプロファイルの SourceProfile
および RoleArn
プロパティを設定します。引き受けたロールの Amazon.Runtime.CredentialManagement.CredentialProfile オブジェクトを作成します。プロファイルと、作成した CredentialProfileOptions
の名前を指定します。
// Create the source profile and save it to the shared credentials file var sourceProfileOptions = new CredentialProfileOptions { AccessKey = "access_key", SecretKey = "secret_key" }; var sourceProfile = new CredentialProfile("source_profile", sourceProfileOptions); sharedFile = new SharedCredentialsFile(); sharedFile.RegisterProfile(sourceProfile); // Create the assume role profile and save it to the shared credentials file var assumeRoleProfileOptions = new CredentialProfileOptions { SourceProfile = "source_profile", RoleArn = "arn:aws:iam::999999999999:role/some-role" }; var assumeRoleProfile = new CredentialProfile("assume_role_profile", assumeRoleProfileOptions); sharedFile.RegisterProfile(assumeRoleProfile);
共有認証情報ファイルの既存のプロファイルの更新
Amazon.Runtime.CredentialManagement.SharedCredentialsFile オブジェクトを作成します。プロファイルの Region
、AccessKey
、SecretKey
の各プロパティを設定します。TryGetProfile メソッドを呼び出します。プロファイルが存在する場合は、Amazon.Runtime.CredentialManagement.SharedCredentialsFile インスタンスを使用して RegisterProfile メソッドを呼び出し、更新されたプロファイルを登録します。
sharedFile = new SharedCredentialsFile(); CredentialProfile basicProfile; if (sharedFile.TryGetProfile("basicProfile", out basicProfile)) { basicProfile.Region = RegionEndpoint.USEast1; basicProfile.Options.AccessKey = "different_access_key"; basicProfile.Options.SecretKey = "different_secret_key"; sharedFile.RegisterProfile(basicProfile); }
アプリケーションでの認証情報とプロファイルへのアクセス
Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain クラスを使用して、.NET 認証情報ファイルまたは共有認証情報ファイルで認証情報およびプロファイルを簡単に見つけることができます。これは、.NET SDK が認証情報とプロファイルを検索する方法です。CredentialProfileStoreChain
クラスは自動的に両方の認証情報ファイルを確認します。
TryGetAWSCredentials または TryGetProfile メソッドを使用して、認証情報またはプロファイルを取得できます。ProfilesLocation
プロパティにより、次のように CredentialsProfileChain
の動作が決まります。
-
ProfilesLocation が null 以外または空でない場合は、
ProfilesLocation
プロパティのディスクパスで共有認証情報ファイルを検索します。 -
ProfilesLocation
が null または空で、プラットフォームが .NET 認証情報ファイルをサポートしている場合は、.NET 認証情報ファイルを検索します。プロファイルが見つからない場合は、デフォルトの場所で共有認証情報ファイルを検索します。 -
ProfilesLocation
が null または空で、プラットフォームが .NET 認証情報ファイルをサポートしていない場合は、デフォルトの場所で共有認証情報ファイルを検索します。
デフォルトの場所での SDK 認証情報ファイルまたは共有認証情報ファイルからの認証情報の取得
CredentialProfileStoreChain
オブジェクトおよび Amazon.Runtime.AWSCredentials オブジェクトを作成します。TryGetAWSCredentials
メソッドを呼び出します。プロファイル名および認証情報を返す AWSCredentials
オブジェクトを指定します。
var chain = new CredentialProfileStoreChain(); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("basic_profile", out awsCredentials)) { // use awsCredentials }
デフォルトの場所での SDK 認証情報ファイルまたは共有認証情報ファイルからのプロファイルの取得
CredentialProfileStoreChain
オブジェクトおよび Amazon.Runtime.CredentialManagement.CredentialProfile オブジェクトを作成します。TryGetProfile
メソッドを呼び出し、プロファイル名および認証情報を返す CredentialProfile
オブジェクトを指定します。
var chain = new CredentialProfileStoreChain(); CredentialProfile basicProfile; if (chain.TryGetProfile("basic_profile", out basicProfile)) { // Use basicProfile }
ファイルの場所での共有認証情報ファイル形式のファイルからの AWSCredentials の取得
CredentialProfileStoreChain
オブジェクト作成し、認証情報ファイルのパスを指定します。AWSCredentials
オブジェクトを作成します。TryGetAWSCredentials
メソッドを呼び出します。プロファイル名および認証情報を返す AWSCredentials
オブジェクトを指定します。
var chain = new CredentialProfileStoreChain("c:\\Users\\sdkuser\\customCredentialsFile.ini"); AWSCredentials awsCredentials; if (chain.TryGetAWSCredentials("basic_profile", out awsCredentials)) { // Use awsCredentials }
SharedCredentialsFile クラスを使用して AmazonS3Client を作成する方法
_を作成できます。 AmazonS3クライアント ]オブジェクト( Amazon.Runtime.CredentialManagement.SharedCredentialsFile クラス。AWS SDK for .NET では、プロファイルに含まれている認証情報が自動的にロードされます。これは、profile
で指定している App.Config
とは異なる特有のプロファイルを、指定したクライアントに対して使用する場合に行うことができます。
CredentialProfile basicProfile; AWSCredentials awsCredentials; var sharedFile = new SharedCredentialsFile(); if (sharedFile.TryGetProfile("basic_profile", out basicProfile) && AWSCredentialsFactory.TryGetAWSCredentials(basicProfile, sharedFile, out awsCredentials)) { using (var client = new AmazonS3Client(awsCredentials, basicProfile.Region)) { var response = client.ListBuckets(); } }
デフォルトのプロファイルを使用し、AWS SDK for .NET によってデフォルトの認証情報を自動的に使用し、クライアントオブジェクトを作成するには、以下のコードを使用します。
using (var client = new AmazonS3Client(RegionEndpoint.US-West2)) { var response = client.ListBuckets(); }
認証情報とプロファイルの解決
AWS SDK for .NET は次の順序で認証情報を検索し、最初に利用できるセットを現在のアプリケーションで使用します。
-
クライアント設定、または AWS サービスクライアントに明示的に設定される内容。
-
AWSAccessKey
およびAWSSecretKey
のAppConfig
値が使用可能な場合に作成されるBasicAWSCredentials
。 -
AWSConfigs.AWSProfileName
の値で指定された名前を持つ認証情報プロファイル (明示的に設定、またはAppConfig
で設定)。 -
default
認証情報プロファイル。 -
AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
およびAWS_SESSION_TOKEN
環境変数がすべて空でない場合に作成されるSessionAWSCredentials
。 -
AWS_ACCESS_KEY_ID
、AWS_SECRET_ACCESS_KEY
環境変数が両方とも空でない場合に作成されるBasicAWSCredentials
。 -
Amazon ECS タスク用のタスク用 IAM ロール。
-
EC2 インスタンスメタデータ。
SDK ストア のプロファイルは、特定ホストの特定ユーザーに固有です。これらは他のホストや他のユーザーにコピーすることはできません。そのため、開発用マシンの SDK ストア にあるプロファイルは、他のホストや他の開発者のマシンで再利用することはできません。アプリケーションを Amazon EC2 インスタンス (本番環境など) で実行している場合は、「AWS SDK for .NET による EC2 インスタンスでの IAM ロールの使用」での説明に従って IAM ロールを使用します。それ以外の場合 (プレリリーステストなど) は、ウェブアプリケーションがサーバー上でアクセス可能な認証情報ファイルに認証情報を保存します。
プロファイルの解決
2 つの異なる認証情報ファイルタイプがあるため、それらを使用するように AWS SDK for .NET および AWS Tools for Windows PowerShell
を設定する方法を理解することが重要です。AWSConfigs.AWSProfilesLocation
(明示的に設定または AppConfig
で設定) は、AWS SDK for .NET が認証情報プロファイルを見つける方法を制御します。-ProfileLocation
コマンドラインの引数は、AWS Tools for Windows PowerShell がプロファイルを見つける方法を制御します。両方のケースでの設定の効果を以下に示します。
プロファイルの場所の値 | プロファイルの解決動作 |
---|---|
null (未設定) または空 |
最初に、.NET 認証情報ファイル内で指定された名前のプロファイルを検索します。プロフィールがない場合は、 |
共有認証情報ファイル形式のファイルへのパス |
指定されたファイルのみを対象に、指定された名前のプロファイルを検索します。 |
プロファイルの指定
プロファイルは、AWS SDK for .NET アプリケーションで認証情報を使用するための推奨の方法です。プロファイルの保存場所を指定する必要はありません。名前でプロファイルを参照するだけです。AWS SDK for .NET は、前のセクションで説明したように、対応する認証情報を取得します。
プロファイルを指定するための推奨の方法は、アプリケーションの AWSProfileName
ファイルまたは appSettings
ファイルの App.config
セクションで Web.config
の値を定義することです。関連する認証情報は、構築プロセス中にアプリケーションに組み込まれます。
次の例では、development
という名前のプロファイルを指定します。
<configuration> <appSettings> <add key="AWSProfileName" value="development"/> </appSettings> </configuration>
この例では、SDK ストア にプロファイルが存在している、またはデフォルトの場所に認証情報が存在すると仮定します。
プロファイルが別の場所の認証情報ファイルに保存されている場合は、AWSProfilesLocation
要素で <appSettings>
属性値を追加してその場所を指定します。次の例では、認証情報ファイルとして C:\aws_service_credentials\credentials
を指定しています。
<configuration> <appSettings> <add key="AWSProfileName" value="development"/> <add key="AWSProfilesLocation" value="C:\aws_service_credentials\credentials"/> </appSettings> </configuration>
プロファイルを指定するための廃止された代替方法を次に示しています。これは、すべての方法を説明するために示していますが、推奨されません。
<configuration> <configSections> <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/> </configSections> <aws profileName="development" profilesLocation="C:\aws_service_credentials\credentials"/> </configuration> <configuration> <configSections> <section name="aws" type="Amazon.AWSSection,AWSSDK.Core"/> </configSections> <aws profileName="development" profilesLocation="C:\aws_service_credentials\credentials"/> </configuration>
フェデレーションユーザーアカウントの認証情報の使用
AWS SDK for .NET (AWSSDK.Core
3.1.6.0 以降) を使用するアプリケーションでは、Active Directory フェデレーションサービス (AD FS) を通じてフェデレーティッドユーザーアカウントを使用し、Security
Assertion Markup Language (SAML) を使用することによって AWS ウェブサービスにアクセスできます。
フェデレーティッドアクセスサポートでは、ユーザーは Active Directory を使用して認証できます。一時的な認証情報は、自動的にユーザーに許可されます。これらの一時的な認証情報は 1 時間有効であり、アプリケーションで AWS ウェブサービスを呼び出す際に使用されます。一時的な認証情報の管理は SDK によって処理します。ドメイン結合されたユーザーアカウントでは、アプリケーションが呼び出しを行ったときに資格情報の有効期限が切れている場合に、そのユーザーは自動的に再認証され、新しい認証情報が付与されます (ドメイン結合されていないアカウントでは、ユーザーは再認証の前に認証情報の入力を求められます)。
このサポートを .NET アプリケーションで使用するには、まず PowerShell コマンドレットを使用してロールプロファイルをセットアップする必要があります。方法については、AWS Tools for Windows PowerShell のドキュメントを参照してください。
ロールプロファイルをセットアップした後、他の認証情報のプロファイルと同様に、アプリケーションの App.config/Web.config ファイル内で、AWSProfileName
キーを使用してそのプロファイルを参照します。
実行時にロードされる SDK Security Token Service アセンブリ (AWSSDK.SecurityToken.dll
) は、AWS 認証情報を取得するための SAML サポートを提供します。このアセンブリが実行時にアプリケーションで使用できることを確認してください。
ロールまたは一時認証情報の指定
Amazon EC2 インスタンスで実行されるアプリケーションの場合、認証情報を管理する最も安全な方法は、「AWS SDK for .NET による EC2 インスタンスでの IAM ロールの使用」での説明に従って、IAM ロールを使用することです。
組織外部のユーザーに対してソフトウェア実行可能ファイルが利用可能になるアプリケーションシナリオでは、一時的なセキュリティ認証情報を使用するようにソフトウェアを設計することをお勧めします。これらの認証情報は、AWS リソースへの制限されたアクセスの提供に加えて、指定された期間後に失効するという利点があります。一時的なセキュリティ認証情報の使用方法の詳細については、以下を参照してください。
2 番目の記事のタイトルはモバイルアプリケーションに関するものですが、記事には、組織外でデプロイされる AWS アプリケーションにとって有用な情報が含まれています。
プロキシ認証情報の使用
ソフトウェアがプロキシを介して AWS と通信する場合、サービスの AmazonS3Config クラスで ProxyCredentials
プロパティを使用して、プロキシの認証情報を指定できます。たとえば、Amazon S3 の場合、次のようなコードを使用できます。ここで、{my-username} と {my-password} は、NetworkCredential
AmazonS3Config config = new AmazonS3Config(); config.ProxyCredentials = new NetworkCredential("my-username", "my-password");
SDK の前のバージョンでは ProxyUsername
および ProxyPassword
が使用されていましたが、これらのプロパティは廃止されました。