👋

CfnでパラメータストアからStringList形式の値を取得する

2024/01/17に公開

パラメータストアからStringList形式の値を取得する

1.パラメータストアにリスト形式でデータを格納する

  • パラメータストアにStringList形式でデータを記述する
  • 今回はIPを例に用いる
AWSTemplateFormatVersion: "2010-09-09"
Description: 

# ------------------------------------------------------------#
# Resouces
# ------------------------------------------------------------#
Resources:
  PSIPList:
    Type: AWS::SSM::Parameter
    Properties:
      Name: /IP_List
      Type: StringList
      # expression rule :
      # insert comma(,) witout space.
      Value: 1.1.1.1/32,2.2.2.2/32

2.パラメータストアから取得したリスト形式のデータを利用する

  • ParametersセクションでパラメータストアIP_Listを取得する
    • List<String>型の記述がポイント
  • !Ref IPListの箇所がIPのリストで出力される
AWSTemplateFormatVersion: 2010-09-09
Description: 
# ------------------------------------------------------------#
# Parameters
# ------------------------------------------------------------#
Parameters:
  IPList:
    Type: AWS::SSM::Parameter::Value<List<String>>
    Default: IP_List
# ------------------------------------------------------------#
# Resouces
# ------------------------------------------------------------#
Resources:
  # IAM Policy
  ConnectionIPPoicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: ConnectionIPPoicy
      Roles: 
      -  xx-role
      PolicyDocument: 
        Version: 2012-10-17
        Statement:
          -
            Effect: Deny
            Action:
              - '*' 
            Resource:
              - '*' 
            Condition: 
              NotIpAddress:
                aws:SourceIp:
                  !Ref IPList
              Bool:
                aws:ViaAWSService: false

Discussion