AWS Systems Manager Parameter Store - AWS Systems Manager

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

AWS Systems Manager Parameter Store

Parameter Storeの一機能である AWS Systems Managerは、設定データ管理とシークレット管理のための安全な階層型ストレージを提供します。パスワード、データベース文字列、Amazon Machine Image (AMI) ID、ライセンスコードなどのデータをパラメータ値として保存することができます。値はプレーンテキストまたは暗号化されたデータとして保存できます。パラメータの作成時に指定した一意の名前を使用して、スクリプト、コマンド、SSM ドキュメント、設定およびオートメーションワークフローの Systems Manager パラメータを参照できます。Parameter Store の使用を開始するには、Systems Manager コンソールを開きます。ナビゲーションペインで、[Parameter Store] を選択します。

Parameter Store も、Secrets Manager と統合されています。Parameter Store パラメータへの参照を既にサポートしている他の AWS のサービス を使用する際、Secrets Manager のシークレットを取得できます。詳細については、「Parameter Store パラメータからの AWS Secrets Manager シークレットの参照」を参照してください。

注記

パスワードローテーションライフサイクルを実装するには、 を使用します AWS Secrets Manager。Secrets Manager を使用すると、データベースの認証情報、API キー、その他のシークレットをそのライフサイクルを通してローテーション、管理、取得できます。詳細については、「 AWS Secrets Manager ユーザーガイド」の「 とは AWS Secrets Manager」を参照してください。

Parameter Store はどのように組織にとってメリットになりますか?

Parameter Store は、以下の利点を提供します。

  • セキュアでスケーラブルな、ホストされたシークレット管理サービスを使用します (管理が必要なサーバーはありません)。

  • コードからデータを分離してセキュリティ体制を改善します。

  • 設定データと暗号化された文字列を階層内に保存し、バージョンを追跡します。

  • きめ細かいレベルでアクセスの制御と監査を行います。

  • Parameter Store は AWS リージョン で複数のアベイラビリティーゾーンでホストされるため、パラメータは確実に保存してください。

Parameter Store はどのようなユーザーに適していますか?

  • 設定データを一元的に管理したい AWS のお客様。

  • さまざまなログインや参照ストリームを保存したいソフトウェアデベロッパー。

  • シークレットとパスワードが変更された場合、または変更されない場合に通知を受信する管理者。

Parameter Store の特徴は何ですか?

  • 変更通知

    パラメータとパラメータポリシーの両方について、変更通知を設定し、自動化されたアクションを呼び出すことができます。詳しくは、「Parameter Store イベントに基づき、通知を設定またはアクションをトリガーする」を参照してください。

  • パラメータの整理

    パラメータに個別にタグを付けると、そのタグに基づいてパラメータを識別できます。例えば、特定の環境または部門のパラメータをタグ付けできます。詳しくは、「Systems Manager パラメータにタグをつける」を参照してください。

  • ラベルのバージョン

    ラベルを作成することで、パラメータのバージョンにエイリアスを関連付けることができます。ラベルは、バージョンが複数ある場合にパラメータバージョンの用途を覚えておくのに役立ちます。

  • [Data validation] (データ検証)

    Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを指すパラメータを作成すると、Parameter Store がこれらのパラメータを検証して、期待されるリソースタイプを参照していること、リソースが存在すること、および顧客にリソースを使用するアクセス許可があることを確認します。例えば、aws:ec2:image データ型の値として Amazon Machine Image (AMI) ID を持つパラメータを作成すると、Parameter Store で非同期検証オペレーションが実行され、パラメータ値が AMI ID の書式設定要件を満たし、指定された AMI を AWS アカウント で使用できることが確認されます。

  • シークレットの参照

    Parameter Store は と統合 AWS Secrets Manager されているため、 Parameter Store パラメータへの参照 AWS のサービス がすでにサポートされている他の を使用する際に Secrets Manager のシークレットを取得できます。

  • 他の アカウントとパラメータを共有する

    オプションで、設定データを 1 つの に一元化 AWS アカウント し、それらにアクセスする必要がある他のアカウントとパラメータを共有できます。

  • 他の からアクセス可能 AWS のサービス

    他の Systems Manager 機能および AWS のサービス で Parameter Store パラメータを使用して、中央のストアからシークレットおよび設定データを取得できます。パラメータは、、オートメーションRun Command、 などの Systems Manager State Manager機能、および の機能で動作します AWS Systems Manager。また、 AWS のサービス次のような他の多くの のパラメータを参照することもできます。

    • Amazon Elastic Compute Cloud (Amazon EC2)

    • Amazon Elastic Container Service (Amazon ECS)

    • AWS Secrets Manager

    • AWS Lambda

    • AWS CloudFormation

    • AWS CodeBuild

    • AWS CodePipeline

    • AWS CodeDeploy

  • 他の との統合 AWS のサービス

    暗号化、通知、モニタリング、監査 AWS のサービス のために、以下との統合を設定します。

パラメータとは何ですか?

Parameter Store パラメータとは、テキストのブロック、名前のリスト、パスワード、AMI ID、ライセンスキーなど、Parameter Store に保存されるデータのことです。スクリプト、コマンド、SSM ドキュメントで、このデータを一元的かつ安全に参照できます。

パラメータを参照するときは、以下の規則を使用してパラメータ名を指定します。

{{ssm:parameter-name}}

注記

パラメータは、他のパラメータの値で参照またはネストすることはできません。パラメータ値に {{}} または {{ssm:parameter-name}} を含めることはできません。

Parameter Store では、StringStringListSecureString という 3 タイプのパラメータがサポートされています。

1 つの例外を除いて、パラメータを作成または更新するときは、パラメータ値をプレーンテキストとして入力します。入力したテキストは Parameter Store によって検証されません。ただし、String パラメータの場合、データ型を aws:ec2:image として指定できます。Parameter Store によって、入力した値が Amazon EC2 AMI の適切な形式 (ami-12345abcdeEXAMPLE など) であることが検証されます。

パラメータタイプ: 文字列

デフォルトでは、String パラメータは、入力したテキストのブロックで構成されます。例:

  • abc123

  • Example Corp

  • <img src="images/bannerImage1.png"/>

パラメータタイプ: StringList

StringList パラメータには、以下の例に示すように、値のカンマ区切りリストを含めます。

Monday,Wednesday,Friday

CSV,TSV,CLF,ELF,JSON

パラメータタイプ: SecureString

SecureString パラメータは、セキュアな方法で保存および参照する必要がある機密データです。パスワードやライセンスキーなど、ユーザーがプレーンテキストで変更または参照しないデータがある場合は、SecureString データ型を使用してこれらのパラメータを作成します。

重要

String パラメータまたは StringList パラメータに機密データを保存しないでください。機密データを暗号化したままにする場合は、SecureString パラメータタイプのみを使用します。

詳細については、「」を参照してくださいSecureString パラメータを作成する (AWS CLI)

次のシナリオでは SecureString パラメータを使用することをお勧めします。

  • コマンド、関数、エージェントログ、または CloudTrail ログに値をプレーンテキストとして公開 AWS のサービス せずに、 全体でデータ/パラメータを使用する。

  • 機密データへのユーザーのアクセスを制御する。

  • 機密データへのアクセスを監査する (CloudTrail)。

  • 機密データの暗号化と独自の暗号化キーがアクセスの管理に必要である。

重要

SecureString パラメータののみが暗号化されます。パラメータ名、説明などのプロパティは暗号化されません。

SecureString パラメータタイプは、パスワード、アプリケーションシークレット、機密設定データ、保護するその他のタイプのデータなど、暗号化するテキストデータに使用できます。 SecureStringデータは、 AWS KMS キーを使用して暗号化および復号化されます。が提供するデフォルトの KMS キーを使用するか AWS 、独自の を作成して使用できます AWS KMS key。(SecureString パラメータへのユーザーアクセスを制限する場合は自分の AWS KMS key を使用してください。 詳細については、「AWS のデフォルトキーとカスタマーマネージドキーを使用するための IAM アクセス権限」を参照してください。)

他の でSecureStringパラメータを使用することもできます AWS のサービス。次の例では、Lambda 関数は GetParameters API を使用してSecureStringパラメータを取得します。

from __future__ import print_function import json import boto3 ssm = boto3.client('ssm', 'us-east-2') def get_parameters(): response = ssm.get_parameters( Names=['LambdaSecureString'],WithDecryption=True ) for parameter in response['Parameters']: return parameter['Value'] def lambda_handler(event, context): value = get_parameters() print("value1 = " + value) return value # Echo back the first key value
AWS KMS 暗号化と料金

SecureString パラメータの作成時に パラメータタイプを選択した場合、Systems Manager は AWS KMS を使用してパラメータ値を暗号化します。

重要

Parameter Store では、対称暗号化 KMS キーのみをサポートしています。非対称暗号化 KMS キーを使用してパラメータを暗号化することはできません。KMS キーが対称か非対称かを判断する方法については、「AWS Key Management Service デベロッパーガイド」の「対称キーと非対称 KMS キーの識別」を参照してください。

SecureString パラメータの作成Parameter Storeには から料金はかかりませんが、 AWS KMS 暗号化の使用には料金がかかります。詳細については、「AWS Key Management Service の料金表」を参照してください。

AWS マネージドキー およびカスタマーマネージドキーの詳細については、「 AWS Key Management Service デベロッパーガイド」のAWS Key Management Service 「 の概念」を参照してください。Parameter Store および暗号化の詳細については AWS KMS 、「 AWS Systems ManagerParameter Storeが を使用する方法 AWS KMS」を参照してください。

注記

を表示するには AWS マネージドキー、 オペレーションを使用します AWS KMS DescribeKey。この AWS Command Line Interface (AWS CLI) の例ではDescribeKey、 を使用して と を表示します AWS マネージドキー。

aws kms describe-key --key-id alias/aws/ssm