話題の記事

AWS認定セキュリティ専門試験が発表されたのでサンプル問題を日本語訳してみた

2018.04.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。サービスグループの武田です。

AWSの技術的スキルや専門知識を証明する認定資格として、ファンデーション資格、3つのアソシエイト資格、2つのプロフェッショナル資格、2つのスペシャルティ資格がありました。そして先日、スペシャルティ(日本語だと専門知識)資格に新しく セキュリティ が追加されました!

AWS 認定セキュリティ - 専門試験の発表

それに合わせて、認定のロードマップなども更新されています。

AWS 認定 – AWS クラウドコンピューティング認定プログラム | AWS

2018年5月8日に日本語試験が提供されていることが確認されたため、内容を一部変更しました。

この記事は、試験発表と一緒にサンプル問題(英語)が提供されていたので、その問題をGoogle翻訳を利用しながら日本語訳し補足を追加したものとなります。なお執筆時点では、サイトの日本語ローカライズはされていませんでした。

AWS Certified Security - Specialty

AWS 認定セキュリティ – 専門知識とは

アソシエイト資格やプロフェッショナル資格はエンジニアの役割に応じた認定(アーキテクトやデベロッパーなど)を行いますが、専門知識はある特定分野の専門知識を有することを認定します。

専門知識認定はこれまで2つでしたが、ここに新しくセキュリティが追加されました。

  • ビッグデータ
  • 高度なネットワーク
  • セキュリティ

セキュリティ試験で求められている知識

発表内容から引用します。

このセキュリティ試験では、インシデント対応、ログ記録とモニタリング、インフラストラクチャのセキュリティ、ID およびアクセス管理、データ保護をカバーします。特殊なデータ分類、データ暗号化方法、安全なインターネットプロトコル、およびそれらを実装するための AWS メカニズムの理解を検証します。

アカウント管理やデータの暗号化など、一口にセキュリティと言っても多岐に渡りますが、この資格を取得することでそれらをAWSで実装する能力を証明できそうですね。

試験情報

セキュリティ試験の概要です。

  • 前提条件
    • クラウドプラクティショナーまたはアソシエイトレベルの認定資格を保持している
  • 試験時間
    • 170分
  • 問題数
    • 65問
  • 言語
    • 日本語/英語
  • 受験料
    • 32400円(税込)/300 USD

1問目

A Network Security Engineer is asked to implement security groups to allow for a secure public website. The development team included rules that allow the application to work correctly and be administrable. Which of the following security group configurations are the MOST secure but still functional to support these requirements?

A. Port 80 coming from 0.0.0.0/0
Port 443 coming from 0.0.0.0/0
Port 22 coming from 0.0.0.0/0
Port 1433 coming from 0.0.0.0/0
B. Port 80 coming from 0.0.0.0/0
Port 443 coming from 0.0.0.0/0
Port 22 coming from 10.0.0.0/16
Port 1433 coming from 0.0.0.0/0
C. Port 80 coming from 10.0.0.0/16
Port 443 coming from 10.0.0.0/16
Port 22 coming from 10.0.0.0/16
Port 1433 coming from 10.0.0.0/16
D. Port 80 coming from 0.0.0.0/0
Port 443 coming from 0.0.0.0/0
Port 22 coming from 10.0.0.0/16
Port 1433 coming from 10.0.0.0/16

ネットワークセキュリティエンジニアは、セキュアな公開Webサイトを可能にするセキュリティグループを実装するよう求められます。開発チームは、アプリケーションが正しく機能し、管理可能なルールを含めています。次のうち、もっともセキュアでかつこれらの要件をサポートしているセキュリティグループの構成はどれですか?

  • A. Port 80 coming from 0.0.0.0/0
    Port 443 coming from 0.0.0.0/0
    Port 22 coming from 0.0.0.0/0
    Port 1433 coming from 0.0.0.0/0
  • B. Port 80 coming from 0.0.0.0/0
    Port 443 coming from 0.0.0.0/0
    Port 22 coming from 10.0.0.0/16
    Port 1433 coming from 0.0.0.0/0
  • C. Port 80 coming from 10.0.0.0/16
    Port 443 coming from 10.0.0.0/16
    Port 22 coming from 10.0.0.0/16
    Port 1433 coming from 10.0.0.0/16
  • D. Port 80 coming from 0.0.0.0/0
    Port 443 coming from 0.0.0.0/0
    Port 22 coming from 10.0.0.0/16
    Port 1433 coming from 10.0.0.0/16

解答と補足

D – Port 22 should not be open to the public. Port 1433, leaves an unknown security risk open as well. https://aws.amazon.com/articles/1233/

D – ポート22は公開しないでください。ポート1433では未知のセキュリティリスクも発生します。

公開Webサイトということで、80番(HTTP)と443番(HTTPS)は通信可能にする必要があります。一方で22番(SSH)の公開はセキュリティリスクとなるため、必要であれば特定のIPアドレスに絞って空けるようにします。ちなみに1433番はSQL Serverで、やはり不特定多数に空ける必要はありません。

2問目

An application team is designing a solution with two applications. The security team wants the applications' logs to be captured in two different places, because one of the applications produces logs with sensitive data. Which solution meets the requirement with the LEAST risk and effort?

A. Use Amazon CloudWatch logs to capture all logs, write an AWS Lambda function that parses the log file, and move sensitive data to a different log.
B. Use Amazon CloudWatch logs with two log groups, one for each application, and use an AWS IAM policy to control access to the log groups as required.
C. Aggregate logs into one file, then use Amazon CloudWatch Logs, and then design two CloudWatch metric filters to filter sensitive data from the logs.
D. Add logic to the application that saves sensitive data logs on the Amazon EC2 instances' local storage, and write a batch script that logs into the EC2 instances and moves sensitive logs to a secure location.

アプリケーションチームは、2つのアプリケーションを使用してソリューションを設計しています。セキュリティチームは、アプリケーションの1つが機密データを含むログを生成するため、アプリケーションのログを2つの異なる場所に取り込むことを望んでいます。どのソリューションが、最小のリスクと労力で要件を満たしていますか?

  • A. Amazon CloudWatchログを使用してすべてのログをキャプチャし、ログファイルを解析するAWS Lambda関数を作成し、機密データを別のログに移動する。
  • B. Amazon CloudWatchログには2つのロググループ(アプリケーションごとに1つずつ)を使用し、AWS IAMポリシーを使用して必要に応じてロググループへのアクセスを制御する。
  • C. 1つのファイルにログを集計し、次にAmazon CloudWatch Logsを使用して、ログから機密データをフィルタリングする2つのCloudWatchメトリックフィルタを設計する。
  • D. Amazon EC2インスタンスのローカルストレージに機密データログを保存するロジックをアプリケーションに追加し、EC2インスタンスから機密ログを安全な場所に移動するバッチスクリプトを作成する。

解答と補足

B – Each application's log can be configured to send the log to a specific CloudWatch log group http://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogsConcepts.html

B - 各アプリケーションのログは、特定のCloudWatchロググループにログを送信するように設定できます。

設問で 最小のリスクと労力 と言っているのでLambda関数やスクリプトの作成はしない方針がいいですね。またCのファイルをまとめてしまうのも不要にリスクを増やしてしまいます。

3問目

A Security Engineer must set up security group rules for a three-tier application:
・ Presentation Tier - Accessed by users over the web, protected by the security group, presentation-sg
・ Logic Tier - RESTful API accessed from the Presentation Tier via https, protected by the security group, logic-sg
・ Data Tier - SQL Server database accessed over port 1433 from the Logic Tier, protected by the security group, data-sg
Which combination of the following security group rules will allow the application to be secure and functional? (Select THREE.)

A. presentation-sg: Allow ports 80 and 443 from 0.0.0.0/0
B. data-sg: Allow port 1433 from presentation-sg
C. data-sg: Allow port 1433 from logic-sg
D. presentation-sg: Allow port 1433 from data-sg
E. logic-sg: Allow port 443 from presentation-sg
F. logic-sg: Allow port 443 from 0.0.0.0/0

セキュリティエンジニアは、3層アプリケーションのセキュリティグループルールを設定する必要があります。

  • プレゼンテーション層 - ユーザーがWeb上でアクセスし、presentation-sgセキュリティグループによって保護される
  • ロジック層 - プレゼンテーション層からhttps経由でアクセスされるRESTful API、logic-sgセキュリティグループによって保護される
  • データ層 - ロジック層からポート1433を介してアクセスされるSQL Serverデータベース、data-sgセキュリティグループによって保護される

次のセキュリティグループルールのうち、アプリケーションを安全かつ機能的にするための組み合わせはどれですか? (3つ選択してください)

  • A. presentation-sg: 0.0.0.0/0からポート80と443を許可する
  • B. data-sg: presentation-sgからポート1433を許可する
  • C. data-sg: logic-sgからポート1433を許可する
  • D. presentation-sg: data-sgからポート1433を許可する
  • E. logic-sg: presentation-sgからポート443を許可する
  • F. logic-sg: 0.0.0.0/0からポート443を許可する

解答と補足

ACE – Each of these are required and do not allow outside connection when not needed. Limited access for needs. https://d0.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practices.pdf

ACE - これらはそれぞれ必要であり、必要がない場合は外部接続を許可しません。ニーズには限りがあります。

プレゼンテーション層は不特定多数からのアクセスを許容する必要があります。一方でロジック層はプレゼンテーション層からのみ、データ層はロジック層からのみ許可すれば十分です。セキュリティグループはIPアドレスだけでなく、接続元としてセキュリティグループを指定することもできます。

4問目

A company has set up a new AWS account and must provide its large IT staff with permissions to access various AWS resources. The company already maintains user identities outside of AWS in its corporate user directory that supports SAML. How can access be provided to the IT team members MOST efficiently?

A. Create a custom sign-in code with the secret access key to allow the corporate identity management system access to the new AWS account.
B. Use the corporate user directory as an IAM identity provider that will manage the user identities outside of AWS. Create a federation and give the external user identities permissions to use AWS resources.
C. Create new IAM users that the IT team will use for AWS account access. Map the new accounts to the existing corporate user directory, establishing an Active Directory relationship, and give the external user identities permissions to use AWS resources.
D. Create new IAM administrative accounts that the IT department members will share for accessing AWS resources, minimizing the number of user accounts to manage.

企業は新しいAWSアカウントを設定しており、大規模なITスタッフにさまざまなAWSリソースへのアクセス権を提供する必要があります。同社はすでにSAMLをサポートしている社内ユーザーディレクトリにAWS以外のユーザーIDを保持しています。どのようにして効率的にITチームメンバーにアクセスを提供できますか?

  • A. シークレットアクセスキーを使用してカスタムサインインコードを作成し、新しいAWSアカウントへコーポレートアイデンティティ管理システムがアクセスできるようにする。
  • B. 企業ユーザーディレクトリをAWS以外のユーザーIDを管理するIAMアイデンティティプロバイダとして使用する。フェデレーションを作成し、外部ユーザーにAWSリソースを使用するためのID権限を与える。
  • C. ITチームがAWSアカウントへのアクセスに使用する新しいIAMユーザーを作成する。新しいアカウントを既存の社内ユーザーディレクトリにマップし、Active Directoryの関係を確立し、外部ユーザーIDにAWSリソースを使用するためのアクセス許可を与える。
  • D. IT部門のメンバーが共有する、AWSリソースにアクセスするための新しいIAM管理アカウントを作成し、管理するユーザーアカウントの数を最小限に抑える。

解答と補足

B – With an identity provider, user identities can be managed outside of AWS and gives external user identities permissions to use AWS resources in an account. This is useful if an organization already has its own identity system, such as a corporate user directory. https://aws.amazon.com/blogs/security/enabling-federation-to-aws-using-windows-active-directory-adfsand-saml-2-0/, http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_saml.html, and http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html

B - アイデンティティプロバイダを使用すると、AWSの外部でユーザーIDを管理し、外部ユーザーIDにアカウントのAWSリソースを使用する権限を与えることができます。組織に企業のユーザーディレクトリなどの独自のIDシステムがすでにある場合に便利です。

設問で 効率的に と言っているので管理するものが増えない、Bがよさそうです。逆にDのアカウントの共有はバッドプラクティスですね。ダメ。絶対。

5問目

An organization is hosting a web application on AWS and is using an S3 bucket to store images. Users should have the ability to read objects in the bucket. A Security Engineer has written an IAM policy to grant public read access using the following bucket policy:
{ "ID": "Policy1502987489630",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1502987487640",
"Action": [
"s3:GetObject",
"s3:GetObjectVersion"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::appbucket",
"Principal": "*"
}
]
}
Attempts to read an object, however, receive the error: "Action does not apply to any resource(s) in statement.” What should the Engineer do to fix the error?

A. Change the IAM permissions by applying PutBucketPolicy permissions.
B. Verify that the policy has the same name as the bucket name. If not, make it the same.
C. Change the Resource section to "arn:aws:s3:::appbucket/*".
D. Create the bucket "appbucket" and then apply the policy.

ある組織がAWS上でWebアプリケーションをホスティングしており、S3バケットを使用して画像を保存しています。ユーザーは、バケット内のオブジェクトを読み取れる必要があります。セキュリティエンジニアは、次のバケットポリシーを使用してパブリック読み取りアクセスを許可するIAMポリシーを作成しました。

{ "ID": "Policy1502987489630",  
  "Version": "2012-10-17",  
  "Statement": [  
    {  
      "Sid": "Stmt1502987487640",  
      "Action": [  
        "s3:GetObject",  
        "s3:GetObjectVersion"  
      ],  
      "Effect": "Allow",  
      "Resource": "arn:aws:s3:::appbucket",  
      "Principal": "*"  
    }  
  ]  
}

ただし、オブジェクトを読み取ろうとすると "Action does not apply to any resource(s) in statement." というエラーが発生します。エンジニアはエラーを修正するために何を行う必要がありますか?

  • A. PutBucketPolicyアクセス許可を適用してIAMアクセス許可を変更する。
  • B. ポリシーの名前がバケット名と同じであることを確認する。そうでない場合は、同じにする。
  • C. リソースセクションを "arn:aws:s3:::appbucket/*" に変更する。
  • D. "appbucket" バケットを作成し、ポリシーを適用する。

解答と補足

C – The resource section should match with the type of operation. Change the ARN to include /* at the end as it is an object operation. https://aws.amazon.com/blogs/security/writing-iam-policies-how-to-grantaccess-to-an-amazon-s3-bucket/.

C - リソースセクションは、操作のタイプと一致する必要があります。オブジェクト操作であるため、最後に /* を含めるようにARNを変更します。

ポリシーの書き方の設問です。ARNによるリソースの指定は非常に重要で、書き方を間違えると意図せず広範囲に公開してしまうことになりかねません。気をつけましょう。

6問目

The decision was made to place database hosts in their own VPC, and to set up VPC peering to application and web servers that are hosted in different VPCs. The application servers are unable to connect to the database. Which network troubleshooting steps should be taken to resolve the issue? (Select TWO.)

A. Check to see if the application servers are in a private subnet or public subnet.
B. Check the route tables for the application server subnets for routes to the VPC peering point.
C. Check the network access control lists for the database subnets for rules that allow traffic from the Internet.
D. Check the database security groups for rules that allow traffic from the application servers.
E. Check to see if the database VPC has an Internet gateway

データベースホストを独自のVPCに配置し、異なるVPCでホストされているアプリケーションサーバーとWebサーバーにVPCピアリングを設定するという決定がされました。アプリケーションサーバーはデータベースに接続できません。どのネットワークトラブルシューティング手順を実行して問題を解決する必要がありますか? (2つ選択してください)

  • A. アプリケーションサーバーがプライベートサブネットまたはパブリックサブネットにあるかどうかを確認する。
  • B. アプリケーションサーバーサブネットからVPCピアリングポイントへのルートテーブルを確認する。
  • C. インターネットからのトラフィックを許可するルールについて、データベースサブネットのネットワークアクセス制御リストを確認する。
  • D. アプリケーションサーバーからのトラフィックを許可するルールについて、データベースセキュリティグループを確認する。
  • E. データベースVPCにインターネットゲートウェイがあるかどうかを確認する。

解答と補足

BD – http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/peering-configurations-partialaccess.html https://aws.amazon.com/about-aws/whats-new/2016/03/announcing-support-for-security-groupreferences-in-a-peered-vpc/ http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/vpc-peering-security-groups.html

BD

DBに接続できないトラブルシューティングの設問です。VPCピアリングを主題としていますが、ルーティングとセキュリティの基本的な問題で、トラフィックの流れがイメージできれば難しい問題ではありません。

7問目

When testing a new AWS Lambda function that retrieves items from an Amazon DynamoDB table, the Security Engineer noticed that the function was not logging any data to Amazon CloudWatch logs. Below is the policy that was assigned to the role assumed by the Lambda function:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Dynamo-1234567",
"Action": [
"dynamodb:GetItem"
],
"Effect": "Allow",
"Resource": "*"
}
}
Which of the following would be the least-privileged policy addition that would allow this function to log properly?

A. {
"Sid": "Logging-12345",
"Resource": "*",
"Action": [
"logs:*"
],
"Effect": "Allow"
}
B. {
"Sid": "Logging-12345",
"Resource": "*",
"Action": [
"logs:CreateLogStream"
],
"Effect": "Allow"
}
C. {
"Sid": "Logging-12345",
"Resource": "*",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Effect": "Allow"
}
D. { "Sid": "Logging-12345",
"Resource": "*",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DeleteLogGroup",
"logs:DeleteLogStream",
"logs:getLogEvents",
"logs:PutLogEvents"
],
"Effect": "Allow"
}

Amazon DynamoDBテーブルからアイテムを取得する新しいAWS Lambda関数をテストするとき、セキュリティエンジニアはその関数がAmazon CloudWatchログにデータを記録していないことに気付きました。以下は、Lambda関数が引き受けたロールに割り当てられたポリシーです。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Dynamo-1234567",
      "Action": [
        "dynamodb:GetItem"
      ],
      "Effect": "Allow",
      "Resource": "*"
    }
}

(※訳注:上記のポリシーはシンタックスエラーですがおそらく誤植かと思われます)

次のうち、この関数が正しくログに記録するための最小権限ポリシーを追加しているのはどれですか?

  • A.
    {
      "Sid": "Logging-12345",
      "Resource": "*",
      "Action": [
        "logs:*"
      ],
      "Effect": "Allow"
    }
  • B.
    {
      "Sid": "Logging-12345",
      "Resource": "*",
      "Action": [
        "logs:CreateLogStream"
      ],
      "Effect": "Allow"
    }
  • C.
    {
      "Sid": "Logging-12345",
      "Resource": "*",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Effect": "Allow"
    }
  • D.
    { "Sid": "Logging-12345",
      "Resource": "*",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:DeleteLogGroup",
        "logs:DeleteLogStream",
        "logs:getLogEvents",
        "logs:PutLogEvents"
      ],
      "Effect": "Allow"
    }

解答と補足

C – http://docs.aws.amazon.com/lambda/latest/dg/policy-templates.html

C

設問で 最小権限のポリシー を追加とありますので、むやみに権限を与えてはいけません。そうするとAとDは与えすぎです。一方でBはPutLogEventsの権限がないためログに記録できません。

8問目

A company requires that data stored in AWS be encrypted at rest. Which of the following approaches achieve this requirement? (Select TWO.)

A. When storing data in Amazon EBS, use only EBS–optimized Amazon EC2 instances.
B. When storing data in EBS, encrypt the volume by using AWS KMS.
C. When storing data in Amazon S3, use object versioning and MFA Delete.
D. When storing data in Amazon EC2 Instance Store, encrypt the volume by using KMS.
E. When storing data in S3, enable server-side encryption.

企業は、AWSに格納されたデータの暗号化を義務付けています。次のどのアプローチがこの要件を達成していますか? (2つ選択してください)

  • A. Amazon EBSにデータを格納するときは、EBS最適化されたAmazon EC2インスタンスのみを使用する。
  • B. EBSにデータを格納するときは、AWS KMSを使用してボリュームを暗号化する。
  • C. Amazon S3にデータを格納するときは、オブジェクトのバージョニングとMFA Deleteを使用する。
  • D. Amazon EC2インスタンスストアにデータを格納するときは、KMSを使用してボリュームを暗号化する。
  • E. S3にデータを格納するときは、サーバー側の暗号化を有効にする。

解答と補足

BE – EBS volume encryption with KMS provides encryption at rest. Amazon EBS encryption uses AWS Key Management Service (AWS KMS) customer master keys (CMK) when creating encrypted volumes and any snapshots created from them. The first time and encrypted volume is created in a region, a default CMK is created automatically. Using S3 with client-side encryption provides encryption both in transit and at rest. http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html and http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingClientSideEncryption.html Client-side encryption refers to encrypting data before sending it to Amazon S3. The following two options exist for using data encryption keys: Use an AWS KMS-managed customer master key or use a client-side master key. http://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html

BE - KMSはEBSボリューム暗号化を提供します。Amazon EBS暗号化では、暗号化されたボリュームとそれから作成されたスナップショットを作成する際にAWS Key Management Service(AWS KMS)のカスタマーマスタキー(CMK)を使用します。はじめてリージョン内に暗号化されたボリュームが作成されると、デフォルトのCMKが自動的に作成されます。S3のクライアント側の暗号化を使用すると、送信時と受信時の両方で暗号化が提供されます。

EBSおよびS3の暗号化の設問です。ソリューションアーキテクト試験でも出題範囲だった気がするので、似たような問題を見たことのある方もいるのではないでしょうか。AWSでは適切に暗号化の機能を利用することで煩雑になることなく、安全にデータを保存できます。

9問目

A Security Engineer must ensure that all API calls are collected across all company accounts, and that they are preserved online and are instantly available for analysis for 90 days. For compliance reasons, this data must be restorable for 7 years. Which steps must be taken to meet the retention needs in a scalable, cost-effective way?

A. Enable AWS CloudTrail logging across all accounts to a centralized Amazon S3 bucket with versioning enabled. Set a lifecycle policy to move the data to Amazon Glacier daily, and expire the data after 90 days.
B. Enable CloudTrail logging in all accounts into S3 buckets, and set a lifecycle policy to expire the data in each bucket after 7 years.
C. Enable CloudTrail logging to Glacier, and set a lifecycle policy to expire the data after 7 years.
D. Enable CloudTrail logging to a centralized S3 bucket, set a lifecycle policy to move the data to Glacier after 90 days, and expire the data after 7 years.

セキュリティエンジニアは、すべてのAPIコールがすべての企業アカウントで収集され、オンラインで保存され、90日間の分析に即座に利用可能であることを保証する必要があります。コンプライアンス上の理由から、このデータは7年間復元可能でなければなりません。スケーラブルで費用対効果の高い方法で保持ニーズを満たすためにはどの手順を取る必要がありますか?

  • A. バージョン管理が有効になっている、集中化されたAmazon S3バケットにすべてのアカウントにわたるAWS CloudTrailのログを有効にする。データをAmazon Glacierに毎日移すライフサイクルポリシーを設定し、90日後にデータを期限切れにする。
  • B. すべてのアカウントのCloudTrailログをS3バケットで有効にし、ライフサイクルポリシーを設定して、7年後に各バケット内のデータを期限切れにする。
  • C. GlacierへのCloudTrailロギングを有効にし、ライフサイクルポリシーを設定して7年後にデータを期限切れにする。
  • D. 集中化されたS3バケットへのCloudTrailロギングを有効にし、ライフサイクルポリシーを設定して90日後にGlacierへデータを移動し、7年後にデータを期限切れにする。

解答と補足

D – Meets all requirements and is cost effective by using glacier. http://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html

D - Glacierを使用することですべての要件を満たし、かつ費用効果も高いです。

設問の要求は、90日間はS3に保存し、その後は7年間Glacierに保存すれば満たすことができます。もちろん7年間S3に保存することは可能ですが cost-effective を求められているためGlacierの利用がベストです。

10問目

A Security Engineer has been informed that a user’s access key has been found on GitHub. The Engineer must ensure that this access key cannot continue to be used, and must assess whether the access key was used to perform any unauthorized activities. What steps must be taken to perform these tasks?

A. Review the user's IAM permissions and delete any unrecognized or unauthorized resources.
B. Delete the user, review the Amazon CloudWatch logs in all regions, and report the abuse.
C. Delete or rotate the user’s key, review the CloudTrail logs in all regions, and delete any unrecognized or unauthorized resources.
D. Instruct the user to remove the key from the GitHub submission, rotate keys, and re-deploy any instances that were launched.

セキュリティエンジニアは、ユーザーのアクセスキーがGitHubで検出されたことを知らされました。エンジニアは、このアクセスキーを引き続き使用できないようにし、アクセスキーが不正な活動を実行するために使用されたかどうかを評価する必要があります。これらのタスクを実行するために、何を行う必要がありますか?

  • A. ユーザーのIAM権限を確認し、認識されていないリソースまたは許可されていないリソースを削除する。
  • B. ユーザーを削除し、すべてのリージョンのAmazon CloudWatchログを確認し、不正行為を報告する。
  • C. ユーザーのキーを削除またはローテーションし、すべてのリージョンのCloudTrailログを確認し、認識されていないリソースまたは許可されていないリソースを削除する。
  • D. GitHubサブミッションからキーを削除し、キーをローテーションし、起動されたすべてのインスタンスを再デプロイするようにユーザーに指示する。

解答と補足

C – Removes keys and audits the environment for malicious activities. https://aws.amazon.com/premiumsupport/knowledge-center/potential-account-compromise/

C – キーを削除し、悪意のある行為がないか環境を監査します。

まず大事なのは漏洩してしまったキーを使えなくすることです。そのためにはそのキーを削除するかローテーションして無効にします。また不正利用があったかどうかはCloudTrailを確認します。たいてい高額なEC2インスタンスが勝手に起動されていたりしますので、それらを削除して財布へのダメージも軽減しましょう。アクセスキーをGitHubなどのリポジトリに入れてしまうセキュリティ事故は昔からよく耳にします。そういったことを防ぐツールもありますので、うまく利用できるといいですね。

最後に

提供されていたサンプル問題の10問を見てきました。この10問に限っていえば、ソリューションアーキテクトの学習をした後であればそこまで難しくないのかなと思いました。ただ本番の難易度がどの程度なのかは受けてみないと何とも言えないため油断はできません。

またセキュリティ以外のスペシャルティ試験にも共通していますが、言語は 英語のみ となっているため、そこにやや低くはない壁を感じます(読めなくはないんですが時間が心配)。

セキュリティ試験のみ日本語が提供されています!

最後に、セキュリティ試験も他の試験と同様模擬試験が提供されています。お値段は4320円(+消費税)ですので、難易度の確認や英語の問題を読む練習として活用してみてください(模擬試験も日本語が提供されました)。