2021/06/4

AWS Secrets Managerとは?サービス概要や料金体系をご紹介!

 
  

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エンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】