管理・監視・セキュリティ - SunHigh105/AWS_SAA GitHub Wiki
アカウント管理
IAM
- 全てのリージョンでSSL証明書のデプロイをサポート
- AWSで使用するには外部プロバイダからSSL証明書を取得する必要あり
ユーザ
- ルートユーザ
- IAMユーザ
グループ
ポリシー
- ユーザなどへのアクセス権限を付与(JSON形式の文書)
- 管理ポリシー
- AWS管理ポリシー
- カスタム管理ポリシー: AWSアカウントで作成・管理
- インラインポリシー
- 自身で作成及び管理
- プリンシパルエンティティ(ユーザ、グループ、ロール)にアタッチ可
- ポリシー適用
- ユーザペース
- リソースベース
- AWSリソース間のアクセスを可能に
ロール
- AWSリソースに対するアクセス権限
IAMデータベース認証
- DBインスタンス接続時に認証トークンを使用
- RDSがリクエストに応じて生成する一意の文字列
- 有効期間15分
- トークンはIAMを使用して外部的に管理
IAM Access Analyzer
- AWS環境のリソースベースのポリシーを分析
- 組織とアカウントのリソースを識別
- →セキュリティ上のリスクであるリソースや、データへの意図しないアクセスを特定
- アクセス権限の最小化構成をモニタリングするための機能
IDフェデレーション
- AWS以外のIDを用いてAWSリソースにアクセスするために、IAMロールを使用してフェデレーションされたユーザのアクセスを許可
Cognitoを使用したモバイルまたはウェブベースのフェデレーション
- モバイルアプリの認証向け
パブリックIDサービスプロバイダーまたはOpenID Connectを使用したユーザのフェデレーション
- OpenID Connectと互換性のあるAmazon、Facebook、Googleなどサードパーティのサービスを直接利用
SAML2.0を使用したユーザのフェデレーション
- SAML2.0をサポートするIDプロバイダソフトウェアパッケージを使用している場合
- Single Sign-OnまたはAWS APIオペレーションを呼び出すフェデレーションアクセスを許可
カスタムIDブローカーアプリケーションを作成するユーザのフェデレーション
- SAML2.0との互換性がない場合、カスタムIDブローカーアプリケーションを作成して同じような機能を実行できる
IAMでのセキュリティのベストプラクティス
- ユーザグループの使用
- ロールを使用してアクセス許可を委任 *
AWS Single Sign-On
- クラウドベースのシングルサインオン(SSO)サービス
- AWSアカウントとクラウドアプリケーションへのSSOアクセスとユーザ権限を一元管理
- SAML2.0に対応
- SAML(Security Assetion Markup Language)...インターネット上でIDやパスワードなどの認証情報を連携するためのXMLベースの仕様
ARN (Amazon Resource Name)
- AWSリソースを一意に識別
- 形式: arn:partition:service:region:account-id:resource-id
AWS Organizations
- 複数のAWSアカウントを管理
- S3のコスト削減が期待
SCP (Service Control Policy)
- 組織に含まれる複数のAWSアカウントに対して権限制御
- OUにSCPを設定することで、OU内のアカウントにSCP範囲内で権限設定ができる
- SCP設定だけでOU内アカウントに権限付与はされない (別途IAMポリシーが必要)
OU(組織単位)
- AWSアカウントをグループ化するための概念
- OUにポリシーを割り当てると、OUに属するアカウントにポリシーが適用される
参考: [AWS Organizations] SCP(サービスコントロールポリシー)の継承の仕組みを学ぼう
アクティビティ記録
Access Adviser
- IAMエンティティが最後にAWSサービスにアクセスした日時と時刻を表示
Credential Report
- IAM認証に関わる利用日時などのレポート管理
AWS Config
- AWSリソースの設定を評価、監査、審査できる構成管理のサービス
- リソース に対するモニタリング
- IAMのユーザ、グループ、ロール、ポリシーの変更履歴
AWS CloudTrail
- AWS全体のユーザアクティビティとAPI使用状況を追跡
- ユーザの操作 に対するモニタリング
- ユーザログを取得
- アカウント管理
- AWSアクセスキーを管理するためのベストプラクティス
- 長期的に有効なアクセスキーより、一時的な認証方法であるIAMロール割り当ての方がよりセキュアとされる
セキュリティ
Key Management Servide(KMS)
- 暗号化キーの作成と管理
- CloudTrailと統合されており、全てのキーの使用ログを表示できる
- 利点
- フルマネージド型
- 一元キー管理
- AWSサービスの暗号化管理
- アプリケーションデータの暗号化
- データのデジタル署名
- 低コスト
カスタムキーストアの使用
- CloudHSMクラスターでKMSキーの抽出不可能なキーマテリアルを生成して保存
- 暗号化はクラスター内のHSMで実行
CMK(Customer Master Key)
CloudHSM (Hardware Security Module)
- AWSで暗号化キーを簡単に生成
- EUなどの厳しい基準にも対応
- 暗号化モジュール向けの FIPS 140-2 レベル 3 標準に準拠
AWS KMSとAWS CloudHSMの違い
Q: AWS KMS と AWS CloudHSM にはどのような違いがありますか? https://aws.amazon.com/jp/kms/faqs/
- KMS
- AWS管理のサーバを共有で利用し、そこで暗号化キーを管理
- Cloud HSM
- 専用のハードウェアで暗号化キーを管理
AWS暗号化(Encyption)SDK
- 業界標準とベストプラクティスに従って簡単にデータの暗号化と復号化ができる
- Apache2.0ライセンスに基づき無償提供
AWS Secrets Manager
- DBの認証情報、APIキーなどをプログラムに直接書き込まず、API呼び出しに置換してシークレット情報を保護
- シークレット情報を安全にローテーションできる
Amazon Macie Classic
- 機械学習を使用してAWS内の機密データを自動的に検出、分類、保護するセキュリティサービス
- 個人情報(PII)または知的財産などの機密データを認識
- 以下のリージョンでサポート
- us-east-1
- us-west-2
Cognito
- モバイルアプリ ユーザ認証
- MFAによる多要素認証と保存データ及び転送データの暗号化が実施可
- ソーシャルIDプロバイダ(Google, Facebook, Amazonなど)、エンタープライズIDプロパイダ(Microsoft Active Directoryなど)を通じてサインイン
GuardDuty
- ネットワーク上の脅威を自動検知
Inspector
- 自動脆弱性管理サービス
AWS Directory Service
- Microsoft Active Directory(AD)をAWSの他のサービスと併用
- ディレクトリはユーザ、グループ、デバイスに関する情報を保存し、管理者はこのディレクトリを通じて情報やリソースへアクセスできる
AD Connector
- 既存のオンプレミスのMicrosoft Active DirectoryをAWSアプリケーション(Amazon WorkSpace, QuickSight, EC2)に追加
- サービスアカウントをADに一つ追加するだけでよく、ディレクトリを同期する必要がなくなる
- MFA認証のAWSアプリケーションユーザを既存のMFAインストラクチャに接続可能
Simple AD
- Samba 4 Active Directory Compatible Server を使用するスタンドアロンのマネージド型ディレクトリ
- AWS側にフルマネージド型のディレクトリを新規作成
AWS Managed Microsoft AD
- AWS側にMicrosoft Active Directoryと互換性のあるフルマネージド型のADを作成
- 既存のMicrosoft Active Directoryと連携し、SSO(Single sign-on)でリソースにアクセスできるようになる
- ホスト監視、データレプリケーション、スナップショット、ソフトウェアアップデートなどを自動で定義・管理してくれる
AWS Sield
- DDoS攻撃に対するマネージド型サービス
- DDoS攻撃...複数の機器を踏み台にして特定の機器に一斉攻撃を仕掛ける。踏み台の機器に関連性がなく犯人を特定しにくい
AWS WAF
- 一般的なウェブエクスプロイトからWebアプリを保護するファイアーウォール
- CloudFront、API Gateway REST API、ALBに転送されるHTTP/HTTPSリクエストをモニタリング、コンテンツへのアクセス制御も可能
- WEB ACL...HTTP(S)リクエストを詳細に設定
- ルールグループ...Web ACLに追加できる再利用可能なルールのセット
- ルール
- レートベース: 5分間あたりの定めたリクエスト数を超えるIPに対してアクセス制限
- Referer制限
- referer(前にアクセスしたURL)を元にルールを定めてアクセス制御
AWS Firewall Manager
- ユーザの複数のアカウントとアプリケーションにわたり、一元的にWAFのルール設定・管理を容易にするサービス
- WAF,Shield Advanced, VPCセキュリティグループ, ネットワークのファイアーウォール, Route53のDNSファイアーウォールをサポート
Artifact
AWS STS (Security Token Service)
- AWSのアクセスに使用できる一時的な限定権限認証情報を利用
- アクセスキー、シークレットアクセスキー、セッショントークンから成り立つ
- SAMLなどのオープンスタンダードをサポート
- SAML(Security Assertion Markup Language): 異なるインターネットドメイン間でユーザ認証を行うためのXMLをベースにした標準規格
- ウェブIDフェデレーション: Googleなど外部プロバイダのIDを使用してサインイン
ACM(AWS Certification Manager)
- SSL/TLS証明書の作成・登録・管理
- ELB、CloudFrontディストリビューション、API GatewayなどACMに統合されたAWSリソースをデプロイできる