この記事の目次
AWS Secrets Manager とは?
AWS のサービスの一つ、AWS Secrets Manager をご存知でしょうか。 AWS Secrets Manager は、アプリケーションや、サービスなどに必要となる、秘匿情報、すなわちシークレットについての保護を支援するAWSのサービスです。 AWS Secrets Manager は、例えばデータベースのパスワードであったり、APIキーや、重要な秘匿情報などを、簡単にローテーションしたり、管理したり、取得したりすることが可能です。 AWS Secrets Manager は、Secrets Manager API を通してデータのやりとりを安全に行うことが可能なので、もうアプリケーション内部に秘匿情報を保持する必要がありません。 また、AWS Secrets Manager は、RDSやRedshift、DocumentDBと連携可能なので、パスワードのローテーションなどをマネージドで行うことができます。 AWS Secrets Manager を利用することで、IAMベースの細かいアクセスコントールを行うことができるので、セキュリティポリシーに容易に準拠することができます。AWS Secrets Manager の仕組み
AWS Secrets Manager は、まずSecret という概念が存在します。 Secretは、テキスト形式のkey-value形式のことを指します。例えば、暗号化されたシークレットテキストは、以下のような形になります。{ "host" : "test.com", "port" : "3333", "username" : "admin", "password" : "testPass@ssw0rd!F0r+Th3_Acc0unt", "dbname" : "testdatabase", "engine" : "mysql" }AWS Secrets Manager は、設定したスケジュールでSecretを自動的にローテーションします。 また、Secrets Manager は、Secretのローテーションにおいて以下のデータベースをサポートします。 Secretには、暗号化されたシークレットテキストだけではなく、メタデータ要素も含まれています。 メタデータは、Secretの名前、説明、ARNを含む基本情報、AWS Secrets Manager がSecretの保護テキストを暗号化および復号するために必要な、AWS KMS キーのARN (この情報を指定しない場合は、AWSのアカウントデフォルトAWS KMSキーを使用します) を持ちます。 さらに、キーをローテーションする頻度およびローテーションを実行するために必要なLambda関数に必要な情報も含みます。
- Amazon Aurora
- MySQL
- PostgreSQL
- Oracle
- MariaDB
- Microsoft SQL Server
AWS Secrets Manager の使い方
それでは、AWS Secrets Manager の使い方を見ていきましょう。 まず、コマンドプロンプトを開き、AWS CLIを実行します。 Secretを作成するには、以下のコマンドを実行します。aws secretsmanager create-secret --name mysecret --description "secret description" --secret-string 1qaz2wsx@!すると、以下のような実行結果になります。
[cloudshell-user@ip-10-1-0-24 ~]$ aws secretsmanager create-secret --name mysecret --description "secret description" --secret-string 1qaz2wsx@! { "ARN": "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret-TucTqA", "Name": "mysecret", "VersionId": "eee3169d-12e6-4c75-90c1-65a094aa5e51" }暗号化されたテキスト以外のSecretを取得するには、以下のコマンドを実行します。
aws secretsmanager describe-secret --secret-id mysecretすると、以下のような実行結果になります。
[cloudshell-user@ip-10-0-143-220 ~]$ aws secretsmanager describe-secret --secret-id mysecret { "ARN": "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret-TucTqA", "Name": "mysecret", "Description": "secret description", "LastChangedDate": "2020-12-25T12:13:36.218000+00:00", "LastAccessedDate": "2020-12-25T00:00:00+00:00", "VersionIdsToStages": { "eee3169d-12e6-4c75-90c1-65a094aa5e51": [ "AWSCURRENT" ] }, "CreatedDate": "2020-12-25T10:39:27.441000+00:00" }暗号化されたテキストのSecretを取得するには、以下のコマンドを実行します。
aws secretsmanager get-secret-value --secret-id mysecret --version-stage AWSCURRENTすると、以下のような実行結果になります。
[cloudshell-user@ip-10-0-143-220 ~]$ aws secretsmanager get-secret-value --secret-id mysecret --version-stage AWSCURRENT { "ARN": "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret-TucTqA", "Name": "mysecret", "VersionId": "eee3169d-12e6-4c75-90c1-65a094aa5e51", "SecretString": "1qaz2wsx@!", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "2020-12-25T10:39:27.479000+00:00" }
AWS Secrets Manager の料金体系
AWS Secrets Manager の料金は、保存するSecretの数と、使用するAPIコール数に基づきます。 まず、最初のシークレットを保存すると無料トライアルが開始されます。無料トライアルは、30日間に渡って、無料でSecretの更新や管理、取得を行うことができます。 基本料金は、Secretあたり$0.4/月かかります。保存期間が1ヶ月未満のSecretについては、時間数に基づいて計算されます。 また、10,000回のAPIコールあたり、$0.05かかります。AWS Secrets Manager ユースケースについて
AWS Secrets Manager のユースケースは、主にアプリケーション内に機密情報を設置したくない場合や、機密情報へのアクセスに制限を設けたい場合、また、キーのローテーションを自動で行いたい場合などがあります。 また、監査の機能や、様々なコンプライアンスに準拠しているので、セキュリティポリシーに合わせて柔軟に利用することが可能です。AWS Secrets Manager まとめ
いかがでしたでしょうか。 AWS Secrets Manager を利用することで、よりセキュアに機密情報を管理したり、取得することが容易に行うことができます。 また、フルマネージドなサービスなので、インフラストラクチャの管理を行う必要もありません。 是非この機会に、AWS Secrets Managerの利用を検討してみてください。]]>この記事の監修者・著者
-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に向いている人の性格・特徴ランキング【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職保安職(自衛官・警察・消防官など)に必要なスキルランキング&スキルアップの方法とは?【現役保安職(自衛官・警察・消防官など)36人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に向いている人の性格・特徴ランキング【現役クリエイター職(ライター・デザイナー・編集)64人が回答】
- 2024年3月26日キャリア・転職クリエイター職(ライター・デザイナー・編集)に必要なスキルランキング&スキルアップの方法とは?【現役クリエイター職(ライター・デザイナー・編集)64人が回答】