もっと詳しく

にアプリケーションをデプロイするときに、パスワードをテキストファイル、構成ファイル、またはデプロイメントファイルに保存していますか? アマゾンAWSクラウド? はいの場合、あなたはあなたの秘密を危険にさらしています。 幸いなことに、 AWSCLIシークレットマネージャー 攻撃者がパスワードにさらされるのを防ぎます。

The AWSCLIシークレットマネージャー すべてのセキュリティ上の懸念を解決し、保存されているすべてのパスワードを暗号化し、それらを取得している間のみ復号化します。 このチュートリアルでは、機密情報を詮索好きな目から保護する方法を学習します。

準備? 読んで、あなたの秘密を守ってください、まあ、秘密です!

P必要条件

このチュートリアルは、段階的なデモンストレーションになります。 フォローしたい場合は、次のものが用意されていることを確認してください。

  • Windowsマシン–このチュートリアルではWindows 10を使用していますが、それ以降のバージョンでも機能します。

IAMユーザーが持っていることを確認します プログラムによるアクセス また、AmazonIAMFullAccessの既存のポリシーにユーザーを割り当てます。

  • AWS CLI Windowsマシンにインストールされています。
  • AWS RDSMicrosoftSQLサーバーデータベースインスタンス。

AWSクレデンシャルを使用したAWSCLIの設定

AWS CLIは、AWSAPIを使用してAWSサービスを管理およびプロビジョニングできるようにするコマンドラインツールです。 ただし、AWS CLIを使用してコマンドを実行する前に、まずAWSクレデンシャルを使用してAWSCLIを設定する必要があります。 そうすることで、AWSアカウントに接続してコマンドを実行できます。

AWS CLIでAWSクレデンシャルを設定するには:

1.管理者としてコマンドプロンプトを開き、次のコマンドを実行してAWSクレデンシャルを設定します(aws configure)。

cd C:Users   # Change the working directory to C:Users
aws configure # Configure AWS credentials

AWSアクセスキーID、シークレットアクセスキー、リージョンなど、AWSIAMユーザーの詳細を入力します。 デフォルト、テキスト、またはjsonとして出力形式をスキップできます。

2.次に、ファイルエクスプローラーを開き、に移動します。 C: Users %USERNAME%。aws ディレクトリを作成し、資格情報と構成ファイルが存在するかどうかを確認します。

資格情報と構成ファイルが存在することを確認する
資格情報と構成ファイルが存在することを確認する

3.資格情報と構成ファイルを開きます。 手順1で指定した資格情報が両方に正常に保存されていることがわかります。

クレデンシャルファイルの内容の表示
クレデンシャルファイルの内容の表示
構成ファイルの内容の表示
構成ファイルの内容の表示

4.最後に、次のコマンドを実行して、AWSクレデンシャルが機能しているかどうかをテストします。

このコマンドは、AWSクレデンシャルを使用してAWSアカウントへの認証を行い、すべてのインスタンスのリストを取得します。

# Change directory, one level up (C:Users%USERNAME%).
cd ..
# Retreive the lists of all instances.
aws ec2 describe-instances

コマンドを実行すると、AWSAPIを使用してAWSリソースに接続することに注意してください。

AWSクレデンシャルが機能するかどうかのテスト
AWSクレデンシャルが機能するかどうかのテスト

AWSCLIを介したシークレットの作成

AWS CLI設定とAWSクレデンシャルが正しく機能することを正常に確認しました。これで、シークレットを作成する準備が整いました。 このチュートリアルの後半では、これらのシークレットを使用してデータベースに接続します。

というファイルを作成します creds.json デスクトップに、データベースの詳細を含む以下の構成をコピーして貼り付けます。これは後でシークレットとして保存します。

{
      "username": "admin",
      "password": "password",
      "engine": "sqlserver"
      "host": "database-3.cgph34pcibdl.us-east-1.rds.amazonaws.com"
      "port": "1433"
      "dbInstanceIdentifier": "database-3"
}

次に、以下のコマンドを実行して、以下を実行します。

  • 作業ディレクトリを変更します(cd)あなたに Desktop ディレクトリ。
  • AWSシークレットを作成します(create-secret)名前付き MySecret_DB に対して creds.json ファイル。
# Change working directory to Desktop
cd Desktop
# Create an AWS secret
aws secretsmanager create-secret --name mySecret_DB --secret-string file://creds.json

以下の出力には、シークレットが含まれています ARN名前、 と VersionId

AWSアカウントでAWSシークレットを作成する
AWSアカウントでAWSシークレットを作成する

次のコマンドを実行すると、シークレットを何度でも更新できます。ここで、–secret-id シークレットのARNまたは名前を指定します。 aws secrets manager update-secret –secret-id ARN_OR_NAME –secret-string“ NewValue”

AWSマネジメントコンソールを介したAWSシークレットの確認

AWS CLIを使用してシークレットを作成したところですが、これは大きな一歩です。 しかし、AWSクラウドに秘密が存在することをどうやって知るのでしょうか? AWSマネジメントコンソールで手動でチェックインして、AWSシークレットを確認します。

1.お気に入りのWebブラウザーを開き、にログインします。 AWSマネジメントコンソール

2.コンソールのホームページでシークレットを検索し、結果からシークレットマネージャーを選択します。 そうすることで、ブラウザをAWS Secrets Managerを表示および管理できるページにリダイレクトします(ステップ3)。

AWSSecretsManagerサービスへのアクセス
AWSSecretsManagerサービスへのアクセス

3.最後に、以下のリストからシークレットをクリックして、シークレットの情報にアクセスします。

AWSSecretsManagerでシークレットを表示する
AWSSecretsManagerでシークレットを表示する

名前、ARN、値(キー/値)など、すべてのシークレットの詳細を説明する以下のページが表示されます。

AWSシークレットの詳細を確認する
AWSシークレットの詳細を確認する

AWS CLISecretsManagerを使用したAWSRDSDBインスタンスの認証

シークレットの検証に成功したとしても、それらはAWSSecretsManagerサービスにあるだけです。 それらを取得し、AWS RDSサービスで認証を実行する方法を学びませんか?

AWSSecretsManagerを使用してAWSRDSDBインスタンスで認証するには:

1.デスクトップまたはスタートメニューからAWSスキーマ変換ツール(AWS VPNクライアント)を開きます。

AWSスキーマ変換ツールを開く
AWSスキーマ変換ツールを開く

2.次に、[ファイル]—>[新しいプロジェクト]をクリックして、プロジェクトを作成します。

AWSスキーマ変換ツールでの新しいプロジェクトの作成
AWSスキーマ変換ツールでの新しいプロジェクトの作成

3.プロジェクト名(ATA_Project)とプロジェクトを保存する場所を入力し、[OK]をクリックしてプロジェクトを作成します。

プロジェクトを作成すると、ウィンドウの上部にプロジェクト名(ATA_Project)が表示されます(ステップ4)。

プロジェクト名と場所の提供
プロジェクト名と場所の提供

4.次に、[設定]—>[グローバル設定]をクリックして、AWSプロファイルを追加できる[グローバル設定]ウィンドウを開きます(ステップ5)。

グローバル設定の追加
グローバル設定の追加

5.[グローバル設定]ウィンドウで、[新しいAWSサービスプロファイルの追加]をクリックして、新しいAWSサービスプロファイルの追加を開始します。

AWSスキーマ変換ツールでのAWSプロファイルの追加の開始
AWSスキーマ変換ツールでのAWSプロファイルの追加の開始

6.次に、新しいAWSサービスプロファイルの詳細を入力します。

  • プロファイル名 –一意のプロファイル名を設定しますが、このチュートリアルの選択は NewProfile 1
  • AWSアクセスキー秘密鍵 –「AWSクレデンシャルを使用したAWSCLIの設定」セクションのステップ1でAWSアクセスキーとシークレットキーを入力します。
  • 領域 –認証してAWSサービスに接続するリージョンを設定します。
  • クリック わかった 新しいAWSサービスプロファイルを作成します。
新しいAWSサービスプロファイルの作成
新しいAWSサービスプロファイルの作成

7. AWSサービスプロファイルを作成した後、ツールバーから[ソースの追加]をクリックして、接続できるデータベースのリストを表示します(ステップ8)。

データベースソースの追加を開始します
データベースソースの追加を開始します

8. Microsoft SQL Serverオプションを選択し、[次へ]をクリックしてデータベースソース接続を構成します。

データベースソースとしてMicrosoftSQLServerを選択する
データベースソースとしてMicrosoftSQLServerを選択する

9. MicrosoftSQLServerに接続するための次の詳細を提供します。

  • 接続名 –好きな接続名を入力しますが、このチュートリアルでは DB_AWS_secrets_connection。」
  • AWSシークレット– AWSシークレットを選択します(mySecret_DB)、[入力]をクリックします。 AWSシークレットマネージャーで作成したAWSシークレットは、必須フィールドに自動的に入力されます。
テスト接続
テスト接続

10.次に、[接続のテスト]をクリックして、シークレットが正しく、作成されたデータベースに接続できるかどうかを確認します。 そうすることで、AWS SchemaConversationToolがAWSアカウントとサービスを認証できるかどうかをテストします。

データベース接続のテスト
データベース接続のテスト

11.最後に、をクリックします 接続 (右下)データベースに接続します。

AWSSecretsManagerを使用してAWSRDSデータベースに接続する
AWSSecretsManagerを使用してAWSRDSデータベースに接続する

接続すると、以下に示すように、エンジンバージョン、接続の詳細など、すべてのデータベースの詳細が表示されます。

データベースの詳細の概要
データベースの詳細の概要

結論

AWSシークレットの管理には、AWSコンソールやTerraformを直接使用するなど、さまざまな方法があります。 ただし、このチュートリアルでは、単一のコマンドでAWSCLIを使用してAWSシークレットを保存する方法を学習しました。 最終的には、AWS ConversionSchemaToolでAWSシークレットを使用してデータベースに接続しました。

あなたは今、あなたの秘密を詮索好きな目から安全に保つ知識を身につけています。 AWS CLIを使用して、次にAWSシークレットに何を保存する予定ですか?

The post AWS CLISecretsManagerを使用した機密情報の管理 appeared first on Gamingsym Japan.