

# Amazon ECS で Secrets Manager シークレットをプログラムで伝達する
<a name="secrets-app-secrets-manager"></a>

アプリケーション内でプレーンテキストの機密情報をハードコーディングする代わりに、Secrets Manager を使用して機密データを保存することができます。

機密データの取得にはこの方法が推奨されます。これにより、以後、Secrets Manager のシークレットが更新された場合には、アプリケーションが自動的に最新バージョンのシークレットを取得するようになります。

Secrets Manager でシークレットを作成します。Secrets Manager シークレットの作成後、アプリケーションコードを更新して、そのシークレットを取得します。

Secrets Manager で機密データの保護を行う前に、以下の考慮事項を確認してください。
+ [CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) API の `SecretString` パラメータで作成されたシークレットであるテキストデータを格納するシークレットのみがサポートされます。[CreateSecret](https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html) API の `SecretBinary` パラメータで作成されたシークレットであるバイナリデータを格納するシークレットはサポートされていません。
+ セキュリティ制御を強化するために、インターフェイス VPC エンドポイントを使用します。Secrets Manager 用に、インターフェイス VPC エンドポイントを作成する必要があります。VPC エンドポイントについて、詳細は「*AWS Secrets Manager ユーザーガイド*」の「[VPC エンドポイントの作成](https://docs.aws.amazon.com/secretsmanager/latest/userguide/setup-create-vpc.html)」を参照してください。
+ タスクで使用する VPC は、DNS 解決を使用している必要があります。
+ タスク定義では、Secrets Manager の追加アクセス許可を持つタスク ロールを使用する必要があります。詳細については、「[Amazon ECS タスクの IAM ロール](task-iam-roles.md)」を参照してください。

## Secrets Manager シークレットを作成する
<a name="secrets-app-secrets-manager-create-secret"></a>

Secrets Manager コンソールを使用して、機密データ用のシークレットを作成できます。シークレットの作成方法について、詳細は「*AWS Secrets Manager ユーザーガイド*」の「[AWS Secrets Manager シークレットを作成する](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html)」を参照してください。

## Secrets Manager シークレットをプログラムにより取得するようにアプリケーションを更新する
<a name="secrets-app-secrets-manager-update-app"></a>

アプリケーションから直接 Secrets Manager API を呼び出し、シークレットを取得することができます。詳細は「*AWS Secrets Manager ユーザーガイド*」の「[AWS Secrets Manager からのシークレットの取得](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html)」を参照してください。

AWS Secrets Manager に保存されている機密データを取得するには、*AWS SDK コードサンプルコードライブラリ*の「[AWS SDK を使用する AWS Secrets Manager のコードサンプル](https://docs.aws.amazon.com/code-library/latest/ug/secrets-manager_code_examples.html)」を参照してください。