Systems Manager Parameter Store を使用して機密データを指定する - AWS Batch

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Systems Manager Parameter Store を使用して機密データを指定する

とAWS Batchを使用すると、コンテナに機密データを保存することによって、コンテナに機密データを挿入できます。AWS Systems Managerパラメータストアパラメータを作成し、コンテナの定義でそのパラメータを参照する。

Systems Manager パラメータストアを使用して機密データを指定する際の考慮事項

Systems Manager パラメータストアのパラメータを使用してコンテナの機密データを指定する場合は、次の点に注意する必要があります。

  • この機能では、コンテナインスタンスに、バージョン 1.22.0 以降のコンテナエージェントが必要です。ただし、最新のコンテナエージェントのバージョンを使用することをお勧めします。エージェントバージョンの確認と最新バージョンへの更新については、「」を参照してください。Amazon ECS コンテナエージェントの更新Amazon Elastic Container Service

  • 重要なデータは、コンテナが最初に開始されたときにジョブのコンテナに挿入されます。シークレットまたは Parameter Store パラメータが後で更新またはローテーションされたときに、コンテナは更新された値を自動的に受け取りません。更新されたシークレットを持つ新しいジョブを強制的に起動するには、新しいジョブを起動する必要があります。

必要な IAM アクセス許可AWS Batchシークレット

この機能を使用するには、ジョブ定義でそのロールを参照する必要があります。これにより、Amazon ECS コンテナエージェントは必要なAWS Systems Managerリソースの使用料金を見積もることができます。詳細については、「AWS Batch実行 IAM ロール」を参照してください。

へのアクセス権限を提供するにはAWS Systems Manager作成したパラメータストアパラメータで、以下のアクセス許可をインラインポリシーとして実行ロールに手動で追加します。詳細については、「」を参照してください。IAM ポリシーの追加と削除IAM ユーザーガイド

  • ssm:GetParameters-タスク定義で Systems Manager パラメータストアのパラメータを参照する場合は必須です。

  • secretsmanager:GetSecretValueシークレットマネージャーシークレットを直接参照するか、Systems Manager パラメータストアのパラメータがタスク定義でシークレットマネージャーシークレットを参照している場合は必須です。

  • kms:Decrypt-シークレットでカスタムの KMS キーを使用するが、デフォルトのキーは使用しない場合にのみ必須。そのカスタムキーの ARN はリソースとして追加されている必要があります。

次の例のインラインポリシーでは必須アクセス許可を追加しています。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters", "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter_name>", "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret_name>", "arn:aws:kms:<region>:<aws_account_id>:key/<key_id>" ] } ] }

環境変数としての機密データの挿入

コンテナの定義内では、secretsコンテナに設定する環境変数の名前と、コンテナに渡す機密データが含まれている Systems Manager パラメータストアのパラメータの ARN 全体を使用してを指定できます。

以下に示すのは、Systems Manager パラメータストアのパラメータを参照するときの形式を示すタスク定義のスニペットです。起動するタスクと同じリージョンに Systems Manager パラメータストアのパラメータが存在する場合は、パラメータの完全な ARN または名前のどちらも使用できます。パラメータが別のリージョンに存在する場合は、完全な ARN を指定する必要があります。

{ "containerProperties": [{ "secrets": [{ "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" }] }] }

ログ設定への機密データの挿入

コンテナの定義内では、logConfiguration指定できます。secretOptionsコンテナに設定するログドライバーオプションの名前と、コンテナに渡す機密データが含まれている Systems Manager パラメータストアのパラメータの ARN 全体を使用してを指定できます。

重要

起動するタスクと同じリージョンに Systems Manager パラメータストアのパラメータが存在する場合は、パラメータの完全な ARN または名前のどちらも使用できます。パラメータが別のリージョンに存在する場合は、完全な ARN を指定する必要があります。

以下に示すのは、Systems Manager パラメータストアのパラメータを参照するときの形式を示すタスク定義のスニペットです。

{ "containerProperties": [{ "logConfiguration": [{ "logDriver": "fluentd", "options": { "tag": "fluentd demo" }, "secretOptions": [{ "name": "fluentd-address", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter:parameter_name" }] }] }] }

AWS Systems Manager パラメータストア パラメータの作成

♪AWS Systems Managerコンソールを使用して、機密データ用の Systems Manager パラメータストアパラメータを作成します。詳細については、「」を参照してください。チュートリアルのチュートリアル: コマンドでパラメータを作成して使用する (コンソール)AWS Systems Managerユーザーガイド

パラメータストア パラメータを作成するには

  1. AWS Systems Manager コンソール (https://console.aws.amazon.com/systems-manager/) を開きます。

  2. ナビゲーションペインで [Parameter Store (パラメータストア)]、[Create parameter (パラメータの作成)] の順に選択します。

  3. [Name (名前)] に、階層とパラメータ名を入力します。たとえば、test/database_password と入力します。

  4. [Description (説明)] に説明を入力します (省略可能)。

  5. [Type] として、[String]、[StringList]、[SecureString] のいずれかを選択します。

    注記
    • [SecureString] を選択すると、[KMS Key ID] フィールドが表示されます。KMS CMK ID、KMS CMK ARN、エイリアス名、またはエイリアス ARN 指定しないと、システムではalias/aws/ssm。これは、Systems Manager 用のデフォルトの KMS CMK です。このキーを使用しない場合は、カスタムキーを選択します。詳細については、「」を参照してください。Secure String パラメータを使用するAWS Systems Managerユーザーガイド

    • コンソールで key-id パラメータにカスタム KMS CMK エイリアス名またはエイリアス ARN のいずれかを指定して Secure String パラメータを作成する場合は、そのエイリアスの前にプレフィックス alias/ を指定する必要があります。ARN の例を次に示します。

      arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

      エイリアス名の例を次に示します。

      alias/MyAliasName
  6. [Value (値)] に値を入力します。例えば、 。MyFirstParameter[] を選択した場合SecureStringの場合、入力したとおりに値はマスクされます。

  7. [Create parameter] を選択します。