Skip to content
Financial-grade Secure Stack Template for AWS CloudFormation.
Batchfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backup Initial Release Jan 22, 2020
container Add limitation for image build pipeline. Feb 4, 2020
instances Initial Release Jan 22, 2020
networks FIx incompleted changes. Feb 4, 2020
s3 Add comment KMS key prameter for S3 template. Feb 4, 2020
LICENSE Initial commit Jan 16, 2020
README.md Fix miss spell as Organizations. Feb 4, 2020

README.md

Secure Stack Template for AWS

AWS向け Secure Stack Template (AWS-SST) は、AWSでのシステム開発をよりセキュアかつ迅速に行うために役に立つことを目指したCloudForamtionテンプレートです。
このテンプレートを利用して環境を構築することによって、開発段階のAWS環境をよりセキュアな環境として維持することができようになります。

Introduction

AWS-SSTは開発環境において利用することを第一の目的としています。
開発中のAWS環境をセキュアに保ち、偶発的な侵害から環境を保護します。基本的なリソースをテンプレートを使って作成することによって、リソースへのアクセス範囲を制御された範囲内に限定するよう自動的に構成します。テンプレートは作成したリソースに対する不特定多数からのアクセスを拒否するポリシーを展開します。リソースへのアクセスは、リソースを作成したAWSアカウント内に閉じるポリシーがデフォルト設定されます。
ドリフトチェックによって作成したリソースがテンプレートで構成するデフォルト設定が維持されているかを確認し、セキュアな環境が維持できているかを確認できるように配慮されています。

Secure by Default

AWS-SSTのテンプレートは、Secure by Defaultを基本的コンセプトに据えて作成しています。

  • リソースポリシーは他AWSアカウント内からアクセスを許さない
  • エンドポイントポリシーは他AWSアカウントへの書き込みを許さない
  • リソースへのアクセス制御とデータアクセスの権限は分離する

Minimum Execution Permission

AWS-SSTのテンプレートを実行するために必要な権限は、可能な限り最小限のIAM権限で実行可能です。

  • テンプレートが作成するリソース以外のIAM権限を要求しない
  • リソース作成権限に加えてIAM権限を同時に要求しない
  • テンプレートの実行にデータアクセス権限を要求しない

Compliance as a Code Ready

ドリフトチェックに対応するリソースにおいて、テンプレートが作成したポリシーが変更されていないかをドリフトチェックを用いて確認できる。

  • リソースポリシーの変更をドリフトチェックにより確認できる
  • カスタマイズしたリソースポリシーの利用を可能にするため、テンプレートによるリソースポリシーの定義をスキップできる

Documentation

TBD.

Writing Guide

テンプレート作成時の技術ルールとして、下記を心がけています。

Name タグ

リソースの名前には可能な限り Environment 属性を追加する。

[prod].[resource-name]

Outputs

出力パラメータはコロンでセクションを区切る。

[prod]:[resource-name]:arn

Outputs - IAM Role

IAMロールを作成した場合は、原則としてロールのOutputは3点をExportする

種別 Key Value
ロール名 "[Role]RoleName" !Ref [Role]
ロールARN "[Role]RoleArn" !GetAtt [Role].Arn
ロールID "[Role]RoleId" !GetAtt [Role].RoleId

Requirements

テンプレートの実行に必要な環境は以下を想定しています。

  • AWS Organizations が有効になっている

Licencing

このプロジェクトのテンプレートは MIT License でライセンスされます。詳しくは LICENSE を参照してください。

You can’t perform that action at this time.