翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Secrets Manager によるストレージロケーションの認証情報の保護
注記
Secrets Manager の統合は、オブジェクトストレージと Microsoft Azure Blob Storage で使用できます。
DataSync は、ロケーションを使用して、オンプレミス、他のクラウド、または AWSにあるストレージリソースにアクセスします。一部のロケーションタイプでは、ストレージシステムで認証する際に、アクセスキーやシークレットキー、またはユーザー名とパスワードなどの認証情報を指定する必要があります。認証に認証情報を必要とする DataSync の場所を作成するときは、 AWS Secrets Manager (Secrets Manager) を使用して認証情報のシークレットを保存できます。次のオプションを使用できます。
-
デフォルトキーで暗号化されたサービスマネージドシークレットを使用して、シークレットを Secrets Manager に保存します。
-
管理する AWS KMS キーで暗号化されたサービスマネージドシークレットを使用して、シークレットを Secrets Manager に保存します。
-
作成および管理するシークレットとキーを使用して、シークレットを Secrets Manager に保存します。DataSync は、指定された IAM ロールを使用してこのシークレットにアクセスします。
いずれの場合も、Secrets Manager シークレットはアカウントに保存されるため、DataSync サービスに関係なく、必要に応じてシークレットを更新できます。DataSync によって作成および管理されるシークレットには、aws-datasync プレフィックスがあります。
DataSync の外部でシークレットを作成するか、DataSync 以外のサービスからサービスマネージドシークレットに API コールを行う場合にのみ、シークレットの使用に対して課金されます。
デフォルトキーで暗号化されたサービスマネージドシークレットの使用
DataSync のロケーションを作成するときは、シークレット文字列のみを指定します。DataSync は、指定されたシークレットを保存するためのシークレットリソースを Secrets Manager に作成し、アカウントのデフォルトの Secrets Manager KMS キーを使用してシークレットを暗号化します。Secrets Manager でシークレット値を直接変更するか、DataSync コンソール AWS CLI、または SDK を使用して場所を更新できます。ロケーションリソースを削除するか、カスタムシークレットを使用するようにロケーションリソースを更新すると、DataSync によりシークレットリソースが自動的に削除されます。
注記
Secrets Manager でシークレットリソースを作成、変更、削除するには、DataSync に適切なアクセス許可が必要です。詳細については、「AWS managed policies for DataSync」を参照してください。
カスタム AWS KMS キーで暗号化されたサービスマネージドシークレットの使用
DataSync のロケーションを作成するときは、 AWS KMS キーのシークレットと ARN を指定します。DataSync は、指定したシークレットを保存するためのシークレットリソースを Secrets Manager に自動的に作成し、 AWS KMS キーを使用して暗号化します。Secrets Manager でシークレット値を直接変更するか、DataSync コンソール AWS CLI、または SDK を使用して場所を更新できます。ロケーションリソースを削除するか、カスタムシークレットを使用するようにロケーションリソースを更新すると、DataSync によりシークレットリソースが自動的に削除されます。
注記
AWS KMS キーは、 ENCRYPT_DECRYPTキータイプで対称暗号化を使用する必要があります。詳細については、「AWS Secrets Manager ユーザーガイド」の「Create an AWS Secrets Manager secret」を参照してください。
Secrets Manager でシークレットリソースを作成、変更、削除するには、DataSync に適切なアクセス許可が必要です。詳細については、「AWS マネージドポリシーAWSDataSyncFullAccess」を参照してください。
正しい DataSync 管理ポリシーの使用に加えて、次のアクセス許可も必要です。
{ "Sid": "DataSyncKmsPermissions", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "your-kms-key-arn", "Condition": { "StringLike": { "kms:ViaService": "secretsmanager.*.amazonaws.com" } } }
your-kms-key-arn を KMS キーの ARN に置き換えます。
シークレット値を取得および復号するために、DataSync はサービスリンクロール (SLR) を使用して AWS KMS キーにアクセスします。DataSync が KMS キーを使用できるようにするには、キーのポリシーステートメントに以下を追加します。
{ "Sid": "Allow DataSync to use the key for decryption", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-service-role/datasync.amazonaws.com/AWSServiceRoleForDataSync" }, "Action": "kms:Decrypt", "Resource": "*" }
111122223333 を AWS アカウント ID に置き換えます。
管理対象のシークレットの使用
DataSync のロケーションを作成する前に、Secrets Manager でシークレットを作成します。シークレットの値には、シークレット文字列自体のみをプレーンテキストで含める必要があります。DataSync の場所を作成するときは、シークレットの ARN とDataSync がシークレットとシークレットの暗号化に使用される AWS KMS キーの両方にアクセスするために使用する IAM ロールを指定します。適切なアクセス許可を持つ IAM ロールを作成するには、次の手順を実行します。
-
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
左側のナビゲーションペインの [アクセス管理] で、[ロール] を選択し、[ロールの作成] を選択します。
-
[信頼されたエンティティを選択] ページの [信頼されたエンティティタイプ] では、[AWS サービス] を選択します。
-
[ユースケース] では、ドロップダウンリストから、[DataSync] を選択します。[次へ] を選択します。
-
[アクセス許可を追加] ページで [次へ] を選択してください。ロール名を入力し、[ロールの作成] を選択します。
-
[ロール] ページで、作成したロールを検索し、その名前を選択します。
-
ロールの [詳細] ページで、[アクセス許可] タブを選択します。[アクセス許可を追加] を選択し、続いて [インラインポリシーを作成] を選択します。
-
[JSON] タブを選択して、次のアクセス許可をポリシーエディタに貼り付けます。
your-secret-nameを Secrets Manager シークレットの名前に置き換えます。 -
[次へ] を選択します。ポリシーの名前を入力してから、[ポリシーを作成] を選択します。
-
(推奨) サービス間の混乱による代理問題の発生を防ぐには、次の操作を行います。
-
そのロールの [詳細] ページで、[信頼関係] タブを選択します。[信頼ポリシーを編集] を選択します。
-
aws:SourceArnとaws:SourceAccountグローバル条件コンテキストキーを含む次の例で信頼ポリシーを更新します。 -
[ポリシーの更新] を選択してください。
-
ロケーションを作成するときにこのロールを指定できます。シークレットが暗号化にカスタマーマネージド AWS KMS キーを使用している場合は、前の手順で作成したロールからのアクセスを許可するようにキーのポリシーも更新する必要があります。ポリシーを更新するには、 AWS KMS キーのポリシーステートメントに以下を追加します。
{ "Sid": "Allow DataSync use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:111122223333:role/your-role-name” }, "Action": "kms:Decrypt", "Resource": "*" }
111122223333 を AWS アカウント ID に置き換え、your-role-name を前の手順で作成した IAM ロールの名前に置き換えます。
注記
Secrets Manager にシークレットを保存すると、 AWS アカウント に料金が発生します。料金については、「AWS Secrets Manager
料金表