Amazon S3 への接続
接続の前に
AWS キーを取得
IAM ユーザーの認証情報を取得するには、以下の手順に従ってください。
- IAM コンソールにサインインします。
- ナビゲーションペインで[ユーザー]を選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから[セキュリティ認証情報]タブを選択します。
AWS ルートアカウントの認証情報を取得するには、以下の手順に従ってください。
- ルートアカウントの認証情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択し、表示されたメニューで[My Security Credentials]を選択します。
- [Continue to Security Credentials]をクリックし、[Access Keys]セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。
Amazon S3 への接続
データへの接続には、以下を設定してください。
- AWSRegion:REST データがホストされているリージョンに設定。
- StorageBaseURL(オプション):ベースとなるS3 サービスのURL が"amazonaws.com" と異なる場合のみ、そのURL を指定します。必ず完全なURL を指定してください。例:http://127.0.0.1:9000
Amazon S3 への認証
REST への接続に使用できる認証方法は、以下を含めいくつかあります。
- ルートクレデンシャル
- AWS ロール(EC2 インスタンスまたはルート認証の指定による)としてのAWS ロール
- SSO(ADFS、Okta、PingFederate)
- MFA
- 一時クレデンシャル
- クレデンシャルファイル
ルートクレデンシャル
アカウントのルートクレデンシャルで認証するには、次を設定します。
- AuthScheme:AwsRootKeys に設定。
- AWSAccessKey:AWS ルートアカウントに紐づいているアクセスキー。
- AWSSecretKey:AWS ルートアカウントに紐づいているシークレットキー。
Note: この認証スキームの使用は、簡単なテスト以外ではAmazon では推奨されていません。アカウントのルート認証情報はユーザーの完全な権限を持つため、これが最も安全性の低い認証方法になります。
EC2 インスタンス
EC2 インスタンスから本製品 を使用していて、そのインスタンスにIAM ロールが割り当てられている場合は、 認証にIAM ロールを使用できます。これを行うには、次のプロパティを設定して認証します。
- AuthScheme:AwsEC2Roles に設定。
認証にIAM ロールも使用している場合は、さらに以下を指定する必要があります。
- AWSRoleARN:認証したいロールのRole ARN を指定。これにより、本製品 は指定されたロールの認証情報を 取得しようと試みます。
- AWSExternalId(オプション):別のアカウントでロールを引き受ける場合にのみ必要です。
IMDSv2 サポート
REST 本製品 は、IMDSv2 をサポートしています。IMDSv1 とは異なり、新バージョンでは認証トークンが必須です。エンドポイントおよびレスポンスは、両バージョンで同じです。 IMDSv2 では、REST 本製品 はまずIMDSv2 メタデータトークンの取得を試み、それを使用してAWS メタデータエンドポイントを呼び出します。トークンを取得できない場合、本製品 はIMDSv1 を使用します。
AWS IAM ロール
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。
AWS ロールとして認証するには、次を設定します。
- AuthScheme:AwsIAMRoles に設定。
- AWSAccessKey:ロールを担うIAM ユーザーのアクセスキー。
- AWSSecretKey:ロールを担うIAM ユーザーのシークレットキー。
- AWSRoleARN:認証したいロールのRole ARN を指定。これにより、本製品 は指定されたロールの認証情報を 取得しようと試みます。
- AWSExternalId(オプション):別のアカウントでロールを引き受ける場合にのみ必要です。
Note: AWS ルートユーザーのAWSAccessKey およびAWSSecretKey を指定する場合、ロールは使用できません。
ADFS
AuthScheme をADFS に設定します。次の接続プロパティを設定する必要があります。
- User:ADFS ユーザーに設定。
- Password:ユーザーのADFS パスワードに設定。
- SSOLoginURL:SSO プロバイダーが使用するログインURL に設定。
ADFS への認証には、次のSSOProperties が必要です。
- RelyingParty:この属性は、REST のADFS サーバー上のRelying Party Identifier の値です。
AuthScheme=ADFS;User=username;Password=password;SSOLoginURL='https://sts.company.com';SSOProperties='RelyingParty=https://saml.salesforce.com';
Okta
AuthScheme をOkta に設定します。Okta を介した認証には、次の接続プロパティを使用します。
- User:Okta ユーザーに設定。
- Password:Okta パスワードに設定。
- SSOLoginURL:SSO プロバイダーが使用するログインURL に設定。
- Okta クライアントリクエストコンテキストをオーバーライドする信頼されたアプリケーションまたはプロキシ経由でユーザーを認証する
- MFA を構成する
Okta を使用して認証するためには、SSOProperties 入力パラメータの組み合わせを使用する必要があります。それ以外の場合、これらの値を設定する必要はありません。
SSOProperties に、必要に応じて以下の入力パラメータを設定します。
- APIToken:Okta クライアントリクエストコンテキストをオーバーライドする、信頼されたアプリケーションまたはプロキシ経由でユーザーを認証する場合、これを顧客がOkta 組織で作成したAPI Token に設定します。
- MFAType:MFA フローを設定した場合に設定。現時点では、次のタイプをサポートしています:OktaVerify、Email、およびSMS。
- MFAPassCode:MFA フローを設定した場合にのみ設定。これを空欄または無効な値に設定した場合、本製品 はユーザーのデバイスまたはE メールにワンタイムパスワードチャレンジを発行します。パスコードを受信後、取得したワンタイムパスワードをMFAPassCode 接続プロパティに設定する接続を再度開きます。
- MFARememberDevice:Okta は、MFA が必要な場合にデバイスを記憶させることをサポートします。設定された認証ポリシーに従ってデバイスの記憶が許可されている場合、本製品 はMFA 認証の有効期間を延長するデバイストークンを送信します。このプロパティはデフォルトでTrue に設定されてます。MFA を記憶させない場合のみFalse に設定してください。
接続文字列の例:
AuthScheme=Okta;SSOLoginURL='https://example.okta.com/home/appType/0bg4ivz6cJRZgCz5d6/46';User=oktaUserName;Password=oktaPassword;
PingFederate
AuthScheme をPingFederate に設定します。次の接続プロパティを設定する必要があります。
- User:PingFederate ユーザーに設定。
- Password:ユーザーのPingFederate パスワードに設定。
- SSOLoginURL:SSO プロバイダーが使用するログインURL に設定。
- AWSRoleARN (オプション):複数のロールARN がある場合、認可に使用したいものをオプションで指定できます。
- AWSPrincipalARN (オプション):複数のプリンシパルARN がある場合、認可に使用したいものをオプションで指定できます。
- SSOExchangeUrl: The Partner Service Identifier URI configured in your PingFederate server instance under: SP Connections > SP Connection > WS-Trust > Protocol Settings. This should uniquely identify a PingFederate SP Connection, so it is a good idea to set it to your AWS SSO ACS URL. You can find it under AWS SSO > Settings > View Details next to the Authentication field.
- SSOProperties (オプション):Amazon S3 へのリクエストにユーザー名とパスワードを認可ヘッダーとして含めたい場合は、オプションで"AuthScheme=Basic" に設定できます。
追加で次のSSOProperties を使って、SSOLoginURL 用の相互SSL 認証(WS-Trust STS エンドポイント)の設定が可能です。
- SSLClientCert
- SSLClientCertType
- SSLClientCertSubject
- SSLClientCertPassword
authScheme=pingfederate;SSOLoginURL=https://mycustomserver.com:9033/idp/sts.wst;SSOExchangeUrl=https://us-east-1.signin.aws.amazon.com/platform/saml/acs/764ef411-xxxxxx;user=admin;password=PassValue;AWSPrincipalARN=arn:aws:iam::215338515180:saml-provider/pingFederate;AWSRoleArn=arn:aws:iam::215338515180:role/SSOTest2;
MFA
多要素認証を必要とするユーザーおよびロールには、以下を指定して認証してください。
- AuthScheme:AwsMFA に設定。
- CredentialsLocation:MFA クレデンシャルが保存される設定ファイルの場所。詳しくは、接続文字列オプションのCredentials File Location のページを参照してください。
- MFASerialNumber:MFA デバイスが使用されている場合は、そのシリアル番号。
- MFAToken:MFA デバイスから利用できる一時トークン。
- AWSAccessKey:MFA が発行されるIAM ユーザーのアクセスキー。
- AWSSecretKey:MFA が発行されるIAM ユーザーのシークレットキー。
- AWSRoleARN:認証したいロールのRole ARN を指定。これにより、本製品 はMFA を使用して指定されたロールの認証情報を 取得しようと試みます。
- AWSExternalId(オプション):別のアカウントでロールを引き受ける場合にのみ必要です。
一時的な認証情報の有効期間(デフォルトは3600秒)は、TemporaryTokenDuration プロパティを設定することで制御できます。
一時クレデンシャル
一時クレデンシャルで認証するには、次を設定します。
- AuthScheme:AwsTempCredentials に設定。
- AWSAccessKey:ロールを担うIAM ユーザーのアクセスキー。
- AWSSecretKey:ロールを担うIAM ユーザーのシークレットキー。
- AWSSessionToken:AWS のセッショントークン。これは一時的な認証情報とともに提供されます。詳しくは、AWS Identity and Access Management User Guide を参照してください。
本製品 は、一時クレデンシャルの有効期間中、長期的な認証情報(IAM ユーザー認証情報など)によって提供されるものと同じ権限を使用してリソースをリクエストできるようになりました。
認証にIAM ロールも使用している場合は、さらに以下を指定する必要があります。
- AWSRoleARN:認証したいロールのRole ARN を指定。これにより、本製品 は指定されたロールの認証情報を 取得しようと試みます。
- AWSExternalId(オプション):別のアカウントでロールを引き受ける場合にのみ必要です。
クレデンシャルファイル
認証にはクレデンシャルファイルを使用することができます。AccessKey/SecretKey 認証、一時クレデンシャル、ロール認証、またはMFA に関連するすべての設定が使用できます。 これを行うには、次のプロパティを設定して認証します。
- AuthScheme:AwsCredentialsFile に設定。
- AWSCredentialsFile:クレデンシャルファイルの場所に設定。
- AWSCredentialsFileProfile(オプション):オプションで、指定したクレデンシャルファイルから使用するプロファイルの名前に設定。指定しない場合は、default という名前のプロファイルが使用されます。
AzureAD
AuthScheme をAzureAD に設定します。AzureAD への接続には、以下の接続プロパティを使用します。
この構成には、2つのAAD アプリケーションが必要であることに注意してください:シングルサインオンに使用される"REST" アプリケーションと、"REST" アプリケーションに対するuser_impersonation 権限を持つ別の"コネクタ" アプリケーションです。 OAuth 接続プロパティも指定する必要があります。
- OAuthClientId:アプリ登録の概要セクションにリストされている、コネクタアプリケーションのアプリケーションId。
- OAuthClientSecret:コネクタアプリケーションのクライアントシークレット値。新しいクライアントシークレットを作成すると、Azure AD にこれが表示されます。
- CallbackURL:コネクタアプリケーションのリダイレクトURI に設定。例:https://localhost:33333
- InitiateOAuth:GETANDREFRESH に設定。
AzureAD への認証には、以下のSSOProperties を使用します。
- Resource:アプリ登録の概要セクションにリストされている、REST アプリケーションのアプリケーションId URI。ほとんどの場合、これはカスタムREST ドメインのURL です。
- AzureTenant:アプリケーションが登録されているAzure AD テナントのId。
次は接続文字列の例です。
AuthScheme=AzureAD;InitiateOAuth=GETANDREFRESH;OAuthClientId=3ea1c786-d527-4399-8c3b-2e3696ae4b48;OauthClientSecret=xxx;CallbackUrl=https://localhost:33333;SSOProperties='Resource=https://signin.aws.amazon.com/saml;AzureTenant=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';