サーバーレスフレームワーク-AWSSSMパラメータストアを使用するにはどのような権限が必要ですか?

sudo soul

資料がないようですので、試行錯誤の末に回答させていただきます。

背景として、サーバーレスフレームワーク[AWSSSMパラメーターストアからプレーンテキストとSecureStringの両方の値をロードできます]。1

サーバーレスデプロイを実行するときに、これらのSSMパラメーターストア値にアクセスしてロードするには、どのようなアクセス許可が必要ですか?

sudo soul

一般に、AWS SSMパラメータストアの値にアクセスして復号化するには、次の3つの権限が必要です。

  1. ssm:DescribeParameters
  2. ssm:GetParameters
  3. kms:Decrypt

-

これは、ラムダ関数に関連するSSMパラメーターへのアクセスのみを許可する実際の例です(一般的な命名規則/パターンに従うことで区別されます)-次の状況で機能します:

  1. SecureString値は、デフォルトのAWSSSM暗号化キーで暗号化されます。
  2. すべてのパラメーターは、次の命名規則を使用します

    a。 /${app-name-or-app-namespace}/serverless/${lambda-function-name/then/whatever/else/you/want

    b。${lambda-function-name}で始まる必要がありますsls-

たとえばmyCoolApp、と呼ばれるアプリと、と呼ばれるLambda関数があるとしsls-myCoolLambdaFunctionます。おそらく、ユーザー名やパスワードなどのデータベース構成値を保存したいと思います。

2つのSSMパラメーターを作成します。

  1. /myCoolApp/serverless/sls-myCoolLambdaFunction/dev/database/username (平文)

  2. /myCoolApp/serverless/sls-myCoolLambdaFunction/dev/database/password (SecureString)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeParameters"
            ],
            "Resource": [
                "arn:aws:ssm:${region-or-wildcard}:${aws-account-id-or-wildcard}:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameter"
            ],
            "Resource": [
                "arn:aws:ssm:${region-or-wildcard}:${aws-account-id-or-wildcard}:parameter/myCoolApp/serverless/sls-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:*:${aws-account-id}:key/alias/aws/ssm"
            ]
        }
    ]
}

次に、serverless.ymlファイルで、これら2つのSSM値を次のような関数レベルの環境変数として参照する場合があります。

environment:
      DATABASE_USERNAME: ${ssm:/myCoolApp/serverless/sls-myCoolLambdaFunction/dev/database/username}
      DATABASE_PASSWORD: ${ssm:/myCoolApp/serverless/sls-myCoolLambdaFunction/dev/database/password~true}

または、さらに良いことに、ステージに応じて構成値が異なる状況で超動的になりたい場合は、次のように環境変数を設定できます。

environment:
      DATABASE_USERNAME: ${ssm:/myCoolApp/serverless/sls-myCoolLambdaFunction/${self:provider.stage}/database/username}
      DATABASE_PASSWORD: ${ssm:/myCoolApp/serverless/sls-myCoolLambdaFunction/${self:provider.stage}/database/password~true}

上記の例では、2つのステージがあった場合- devprod、おそらく次のSSMパラメーターを作成します。

  1. /myCoolApp/serverless/sls-myCoolLambdaFunction/dev/database/username (平文)

  2. /myCoolApp/serverless/sls-myCoolLambdaFunction/dev/database/password (SecureString)

  3. /myCoolApp/serverless/sls-myCoolLambdaFunction/prod/database/username (平文)

  4. /myCoolApp/serverless/sls-myCoolLambdaFunction/prod/database/password (SecureString)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Cloudformationテンプレートの条件文でAWSSSMパラメーターストア値を使用するにはどうすればよいですか?

分類Dev

サーバーレスフレームワークでパスパラメータを使用する

分類Dev

サーバーレスフレームワークLambdaAppSyncエラー

分類Dev

ボットフレームワークでカスタム認証サーバーを使用するにはどうすればよいですか?

分類Dev

サーバーレスフレームワーク「dev」と「prod」の分離

分類Dev

サーバーレスフレームワークを備えたAWScognito

分類Dev

AWSAthenaデプロイサーバーレスフレームワーク

分類Dev

サーバーレスフレームワークで関数レベルのIamRoleStatementsを割り当てるにはどうすればよいですか?

分類Dev

env.ymlをバックアップする安全な方法-サーバーレスフレームワーク

分類Dev

カスタムパッケージを使用したサーバーレスフレームワーク

分類Dev

AWSのサーバーレスフレームワークで既存のAPIキーを使用する

分類Dev

サーバーレスフレームワークで複数のステージを作成する方法

分類Dev

サーバーレスフレームワーク内でjqueryを使用するにはどうすればよいですか?

分類Dev

APIGatewayとサーバーレスフレームワークを使用したAWSLambdaでレート超過

分類Dev

サーバーレスフレームワークを使用してawsauroraサーバーレスでテーブルを自動的に作成する方法

分類Dev

サーバーレスフレームワーク関数のAWSLambdaファイルシステムパス?

分類Dev

サーバーレスフレームワークを使用してserverless.ymlファイルからAlexa「オーディオプレーヤー」インターフェイスをオンにするにはどうすればよいですか?

分類Dev

Fn :: JoinをサーバーレスフレームワークYAMLに使用する方法は?

分類Dev

リモートデバッグAOSPフレームワークサービス

分類Dev

サーバーレスフレームワーク:外部NPMパッケージを追加する方法

分類Dev

Java RPCサーバーのフレームワーク

分類Dev

キャンバスイメージをIISサーバー(MVCフレームワーク)に保存する

分類Dev

サーバーレスフレームワーク-AWSLambdaの依存関係の制限を超えています

分類Dev

サーバーレスフレームワークを使用した検証のリクエスト

分類Dev

サーバーレスフレームワークを使用したモック応答データ

分類Dev

サーバーレスフレームワークはAzureFunctionsに何を提供しますか?

分類Dev

AWSのサーバーレスフレームワーク:Dynamodbテーブルへの初期データの追加

分類Dev

サーバーレスフレームワークラムダ実行ロールの不一致?

分類Dev

既存のApacheWebサーバーでスリムなフレームワークを実行する

Related 関連記事

  1. 1

    Cloudformationテンプレートの条件文でAWSSSMパラメーターストア値を使用するにはどうすればよいですか?

  2. 2

    サーバーレスフレームワークでパスパラメータを使用する

  3. 3

    サーバーレスフレームワークLambdaAppSyncエラー

  4. 4

    ボットフレームワークでカスタム認証サーバーを使用するにはどうすればよいですか?

  5. 5

    サーバーレスフレームワーク「dev」と「prod」の分離

  6. 6

    サーバーレスフレームワークを備えたAWScognito

  7. 7

    AWSAthenaデプロイサーバーレスフレームワーク

  8. 8

    サーバーレスフレームワークで関数レベルのIamRoleStatementsを割り当てるにはどうすればよいですか?

  9. 9

    env.ymlをバックアップする安全な方法-サーバーレスフレームワーク

  10. 10

    カスタムパッケージを使用したサーバーレスフレームワーク

  11. 11

    AWSのサーバーレスフレームワークで既存のAPIキーを使用する

  12. 12

    サーバーレスフレームワークで複数のステージを作成する方法

  13. 13

    サーバーレスフレームワーク内でjqueryを使用するにはどうすればよいですか?

  14. 14

    APIGatewayとサーバーレスフレームワークを使用したAWSLambdaでレート超過

  15. 15

    サーバーレスフレームワークを使用してawsauroraサーバーレスでテーブルを自動的に作成する方法

  16. 16

    サーバーレスフレームワーク関数のAWSLambdaファイルシステムパス?

  17. 17

    サーバーレスフレームワークを使用してserverless.ymlファイルからAlexa「オーディオプレーヤー」インターフェイスをオンにするにはどうすればよいですか?

  18. 18

    Fn :: JoinをサーバーレスフレームワークYAMLに使用する方法は?

  19. 19

    リモートデバッグAOSPフレームワークサービス

  20. 20

    サーバーレスフレームワーク:外部NPMパッケージを追加する方法

  21. 21

    Java RPCサーバーのフレームワーク

  22. 22

    キャンバスイメージをIISサーバー(MVCフレームワーク)に保存する

  23. 23

    サーバーレスフレームワーク-AWSLambdaの依存関係の制限を超えています

  24. 24

    サーバーレスフレームワークを使用した検証のリクエスト

  25. 25

    サーバーレスフレームワークを使用したモック応答データ

  26. 26

    サーバーレスフレームワークはAzureFunctionsに何を提供しますか?

  27. 27

    AWSのサーバーレスフレームワーク:Dynamodbテーブルへの初期データの追加

  28. 28

    サーバーレスフレームワークラムダ実行ロールの不一致?

  29. 29

    既存のApacheWebサーバーでスリムなフレームワークを実行する

ホットタグ

アーカイブ