【SAA】セキュリティ・コンプライアンス・アイデンティティ

________________________________________________________________

◆AWS Identity and Access Management(IAM)

AWS IAMとは、AWSのサービスやリソースへのアクセスを管理するサービスです。
IAMの機能は
①IAMユーザー
②IAMユーザーグループ
③IAMロール
④IAMポリシー

の4つありますがそれぞれの説明は割愛します。
SAAの試験ではIAMについても多く問われます。次にご紹介するIAMポリシーの記述方法や、各ポリシーについてもSAA試験では登場するので覚えておきましょう。

■IAMポリシーの記述※New
IAMポリシーはAWSリソースへのアクセス権限を制限する機能のことで、IAMポリシーで許可や拒否の設定を行ったものをIAMーザーやIAMユーザーグループへ割り当てることでアクセス制御を設けることができます。
IAMポリシーは基本的にホワイトリスト/ブラックリスト方式を用いています。ホワイトリスト/ブラックリスト方式とはホワイトリスト形式は許可ルール(Allow)を付与するのに対して、ブラックリスト形式は拒否ルール(Deny)を付与する仕組みのことで、それぞれ使う場面が異なります。

また、IAMポリシーには以下の種類があります。
①AWS管理ポリシー
②カスタマー管理ポリシー
③インラインポリシー
また、IAMポリシーを付与する対象別に以下の種類に分類することができます。
①アイデンティティベースのポリシー
②リソースベースのポリシー

・AWS管理ポリシー
AWS管理ポリシーは、AWSが事前に用意して提供するポリシーで、AWSが提供するサービスや管理者権限などが用意されており、複数の対象に付与することが可能です。

・カスタマー管理ポリシー
カスタマー管理ポリシーは、AWSアカウント内のユーザーやグループが独自に作成および管理するポリシーです。カスタマー管理ポリシーを使用すると、AWS管理ポリシーでは提供されていない特定の要件やカスタムシナリオに対応できます。また、ポリシーをバージョン管理することができるため、不都合があった場合にはすぐに設定を戻すことができます。

・インラインポリシー
インラインポリシーは、IAMユーザー、グループ、ロールと直接関連付けられ、それらと同じJSONドキュメント内に存在するポリシーです。ポリシーは個別のIAMエンティティに直接埋め込まれるため、そのエンティティとともに削除されることから、ポリシー単体では存在しません。
基本的にAWSマネジメントコンソールまたはAWS CLIを使用して作成および編集され、エンティティに直接アタッチされます。
ただし、管理が難しいことからカスタマー管理ポリシーを利用することが推奨されています。

・アイデンティティベースのポリシー
アイデンティティベースのポリシーとは、IAMユーザー、IAMユーザーグループ、IAMロールに付与するIAMポリシーのことです。

IAMポリシーはSid、Effect、Action、Resource、Conditionの5つの要素(ステートメント)で記述されます。

Sid…IAMポリシーの説明
Effect…許可・拒否の指定
Action…サービス名
Resource…操作を適用するリソース
Condition…条件の絞り込み

・リソースベースのポリシー
リソースベースのポリシーとはAWSリソースに付与するポリシーのことです。リソースベースのポリシーでは、インラインポリシーのみ設定できます。つまり、AWS側で用意されるポリシーの雛形はなく、用途に合わせて記述する必要があります。

リソースベースのポリシーでは、追加でPrincipalステートメントを指定する必要があります。PrincipalステートメントとはAWSアカウントおよびルートユーザー、IAMロール、IAMユーザーなどのアクションを実行する主体を指します。

■その他機能※New
・クロスアカウントアクセス
クロスアカウントアクセスは、1つのAWSアカウント内のリソースに対して、他のAWSアカウントからアクセス権を付与する仕組みです。これにより、異なるAWSアカウント間でセキュアかつ制御可能なリソースの共有が可能となります。
アクセスしたいリソースにIAMロールまたはリソースベースのポリシーを割り当てることで、アカウント間のアクセスを可能にします。

・IAMパスワードポリシー
IAMパスワードポリシーは、IAMユーザーに対するパスワードの複雑さ・長さなどのポリシーを強制する機能です。

デフォルトでは以下のポリシーが設定されています。
①パスワードの文字数が8〜128文字であること
②大文字、小文字、数字、記号のなかから最低3種類の文字を組み合わせること
③AWSアカウント名や登録メールアドレスと異なること

管理者は、オプションとしてカスタムパスワードポリシーを設定できます。カスタムパスワードポリシーとして使用できるオプションは次のようなものがあります。
①パスワードの最小文字数を変更
②パスワードの強度を変更(必須とする文字の種類を指定)
③パスワードの有効期限を設定
④パスワードリセットに管理者の許可が必要かどうか
⑤ユーザー自身がパスワード変更することを許可するか
⑥以前使用したパスワードの再利用を禁止

なおIAMパスワードポリシーはIAMユーザーのパスワードに対して適用されるため、ルートユーザーのパスワードや、IAMのアクセスキーには適用されません。

・IAMアクセスアナライザー
誰が利用できるかなどのアクセス権限設定が適切かどうかを確認するツールです。意図していない外部への公開設定の存在を確認し、セキュリティ上のリスクを検出する際に有効です。ここでの外部とはAD認証ユーザーや別のAWSアカウントなどを表しています。
サポートされているリソースは以下の通りです。
①S3バケット
②IAMロール
③KMSキー
④Lambda関数とレイヤー
⑤Amazon SQSキュー
⑥Secrets Managerシークレット

◆AWS Single Sign-On

AWS Single Sign-Onは、ユーザーがAWSアカウントに対して単一の認証を使用して複数のAWSアカウントおよびビジネスアプリケーションにアクセスできるようにする統合認証サービスです。

■Single Sign-Onとは
そもそもSingle Sign-Onとは、ユーザーが複数のアプリケーションやサービスに対して一度だけ認証情報を提供し、その後は別のアプリケーションへのアクセス時に再認証を行わずに利用できる仕組みです。

AWS Single Sign-OnはこのSingle Sign-OnをAWSアカウントを用いて利用することができるサービスとなっています。

■AWS SSOの特徴※New
AWS SSOの特徴は次の通りです。
・AWS Organizationsとの連携
AWS Organizationsと連携させることにより、組織内のSingle Sign-Onアクセスやユーザー権限を管理することができます。

・クラウドアプリケーション連携の設定
AWS SSOでは、以下のクラウドアプリケーションと連携が可能です。
①AWS SSO統合アプリケーション
②Salesforce、Slack、Office365などのビジネスアプリケーション
③カスタムSecurity Assertion Markup Language (SAML 2.0)アプリケーション

①のAWS SSO統合アプリケーションとは、Amazon Management Consoleなど、AWSアプリケーションのことです。主要なビジネスアプリケーション(Salesforce、Slack、Office365など)との Single Sign-On連携はアプリケーションカタログの標準機能として組み込まれています。
アプリケーションカタログに存在しないアプリケーションであっても、SAML 2.0対応のアプリケーションであればSingle Sign-Onの設定は可能です。
設定方法はテンプレート化されており、コントロール画面から簡単に設定ができます。

・既存の認証機能を使ったAWS SSO
AWS SSOを設定するとAWS SSOアイデンティティストアが自動的に設定されますが、すでにActive Directoryや外部IDプロバイダを利用した既存の認証機能がある場合はそれらを利用することができます。サポートされている外部IDプロバイダーは以下公式ドキュメントを参照してください。
https://docs.aws.amazon.com/ja_jp/singlesignon/latest/userguide/manage-your-identity-source-idp.html

さらに、上記とは別にMFA(多要素認証)デバイスを設定することも可能です。

また、AWS SSOは現在IAM Identity Centerに統合されました。大きな変更はありませんが、詳しくは下記リンクを参照してください。
https://aws.amazon.com/jp/about-aws/whats-new/2022/07/aws-single-sign-on-aws-sso-now-aws-iam-identity-center/

◆AWS Directory Service※New

AWS Directory Serviceは、Microsoft Active Directoryの機能をAWSがマネージドに提供するサービスです。
まずはMicrosoft Active Directoryについて見ていきましょう。

■Microsoft Active Directoryとは
Active Directory(アクティブディレクトリ)とは、Microsoftが提供しているWindows Server OSに備わっている機能の1つです。Active Directoryは会社や組織が保有している人材や情報などの各種リソースを管理するためのディレクトリを提供しており、会社のリソースをファイルに置き換え、階層型のフォルダに入れて、どこに何があるのか分かりやすくするためのツールとして利用されています。

それらの機能をAWSで利用出来るようにしたサービスがAWS Directory Serviceとなっています。

AWS上でActive Directoryを利用するケースは次のようなものがあります。
①Windows環境のユーザー認証や、サーバー、クライアントの管理
②AWSサービス利用時の認証と、ユーザー管理

■3種類のディレクトリタイプ
AWS Directory Serviceのディレクトリタイプは、以下の3種類があります。
・AWS Managed Microsoft AD
・Simple Active Directory
・Active Directory Connector
それぞれ見ていきましょう。

①AWS Managed Microsoft AD
AWS Managed Microsoft ADはそのままの通りで、Microsoft ADをマネージドサービスとして提供します。更に、スタンダードとエンタープライズの2つのエディションに分けられ、エンタープライズは大きなストレージの取り扱いが可能となっています。

②Simple Active Directory(Simple AD)
Simple ADはADの一部の機能を利用することができます。利用できる機能は、
ユーザーやグループメンバーの管理
EC2インスタンスの接続
Kerberosベースのシングルサインオン(SSO)
等が挙げられます。機能が限られるため、その分利用コストが低く設定されていることから、基本的な機能で充分な場合はSimple ADを利用するケースもあります。

③Active Directory Connector(AD Connector)
AD Connectorは、AWSのリソースをオンプレミスのMicrosoft ADに接続するディレクトリゲートウェイです。
AD Connectorを利用すれば、クラウド情報をキャッシュせずにディレクトリのやり取りを行ったり、ADユーザーが既存のAD認証情報でAWSのワークスペースにログインしたりできます。

◆AWS Key Management Service (AWS KMS)※New

AWS Key Management Serviceは、データを暗号化するための鍵(暗号化キー:暗号鍵)を作成・管理するためのサービスです。暗号化キーはAWSの責任で管理され、可用性・セキュリティが保障されています。KMSはEBS・RDS・S3等と統合されているため、それぞれのサービスでデータを暗号化する際には利用される機会が多いサービスです。

またKMSは複数のキータイプをサポートしています。
①対称暗号化KMSキー
②非対称KMSキー
③HMAC KMSキー
作成できるキーは、暗号化の際に使用するデータの違いによりキータイプが異なります。

■カスタマーキーとAWSキー
AWS KMSには異なる種類のキー管理オプションが存在します。まずはこの違いをしっかりと抑えておきましょう。

・カスタマーマネージドキー(CMK)
CMKは、AWS KMS内でアカウント所有者または利用者が作成・管理するキーです。
CMKを使用すると、利用者はキーのローテーション、ポリシーの設定、アクセス制御などを自由にカスタマイズできます。

・AWSマネージドキー
AWSマネージドキーは、AWSが自動的に生成、管理、ローテーションするキーのことです。主に特定のサービス(S3やDynamoDBなど)で暗号化に使用される鍵となっています。
手動でキーを作成する必要がなく、AWSが適切なセキュリティベストプラクティスに基づいて管理します。

・AWS所有のキー
AWSのサービスを使用するためにAWSによって所有および管理されているキーです。
これを作成または管理する必要はなく、表示、使用、追跡、監査をすることはできません。

AWS KMSはCloudTrailと統合されており、キーの使用状況を監査するには、AWSアカウントでCloudTrailのログを有効にする必要があります。これにより、KMS APIコールが自動的にファイルに記録され、指定したS3バケットに送信されます。
CloudTrailによって収集された情報を使用すると、リクエスト・リクエストが行われたソースIPアドレス・実行者・実行日時などを確認できます。これらの監査記録はセキュリティ事故が起きた際の分析などリスク管理や、コンプライアンス検証に役立てることができます。

◆Amazon Detective※New

Amazon Detectiveは、セキュリティインシデントの検出と調査をサポートするサービスです。検知を提供するサービスであるAmazon GuardDutyと統合することができ、その検出結果を取り込むことができます。
次に主な機能と特徴をご紹介します。

・グラフベースの視覚化
Amazon Detectiveは、セキュリティインシデントやアクティビティを視覚化するためのグラフベースのユーザーインターフェースを提供します。これにより、異常なパターンや依存関係を容易に把握できます。

・セキュリティデータの集約
Amazon Detectiveは、AWS CloudTrailやAmazon GuardDutyなどの異なるセキュリティサービスからのデータを集約し、統一されたビューを提供します。これにより、セキュリティインシデントの検出と調査が容易になります。

・自動的なリソースのリレーションシップのマッピング
セキュリティインシデントが発生した場合、Amazon Detectiveは関連するAWSリソースのリレーションシップを自動的にマッピングします。これにより、セキュリティプロフェッショナルは瞬時に関連するリソースを特定できます。

Detectiveを導入することで、情報収集の自動化・可視化が実現でき、問題の原因特定までの時間が短縮されるため、セキュリティ調査の迅速さ・効率化を推進することができます。

◆AWS Security Hub※New

AWS Security Hubは、AWSのセキュリティとコンプライアンスの視点からの情報を一元管理できるサービスです。
次に主な機能と特徴をご紹介します。

・セキュリティスコアの集約
AWS Security Hubは、複数のAWSセキュリティサービスからのセキュリティデータを収集し、それを基にセキュリティスコアを集約します。これにより、AWSリソース全体でのセキュリティの状態を一元的に可視化できます。

・自動的なセキュリティチェック
AWS Security Hubは、AWS ConfigルールやAmazon GuardDutyなどのセキュリティ関連のサービスと統合し、自動的にセキュリティのベストプラクティスに準拠した設定や検知された異常なアクティビティを評価します。

・カスタムアクションの設定
AWS Security Hubは、カスタムアクションを設定できるため、特定のセキュリティイベントに対して独自の対応や通知を行うことができます。

AWS Security Hubは、クラウド環境におけるセキュリティポストチャーとしての機能を果たし、セキュリティおよびコンプライアンスの観点からクラウドリソースの状態を継続的に監視します。

◆AWS Certificate Manager(ACM)※New

AWS Certificate Managerは、HTTPS通信をするために必要なSSLサーバー証明書をAWSが認証局となって発行するサービスです。
SSLサーバー証明書が発行されると、SSL/TLS通信が行われるようになるため、通信の安全性が確保されます。

また、ACMを利用すると、次のようなメリットがあります。
①証明書を無料で発行できる
②有効期限を過ぎた証明書の自動更新
③証明書を一元管理

ACMを利用する際は、自己所有しているドメインの確認が必要となります。

これ以外にもCLFでご紹介した
Amazon Cognito
Amazon GuardDuty
Amazon Inspector
AWS WAF
AWS Shield
等も試験に登場するので合わせて覚えておきましょう。

最後に小テストをご用意しましたので、チャレンジしてみましょう。
セキュリティ・コンプライアンス・アイデンティティ

タイトルとURLをコピーしました