ケーススタディ -
これはケーススタディです。ケーススタディは個別に時間が設定されるわけではありません。各ケースを完了したいだけ試験時間を費やすことができます。ただし、この試験には追加のケーススタディやセクションが存在する場合があります。この試験に含まれるすべての質問を指定された時間内に完了できるように時間を管理する必要があります。
ケーススタディに含まれる質問に答えるには、ケーススタディで提供される情報を参照する必要があります。ケース スタディには、ケース スタディで説明されているシナリオに関する詳細情報を提供する展示やその他のリソースが含まれる場合があります。このケーススタディでは、各質問は他の質問から独立しています。
このケーススタディの最後に、レビュー画面が表示されます。この画面では、試験の次のセクションに進む前に、回答を確認し、変更を加えることができます。新しいセクションを開始した後は、このセクションに戻ることはできません。
ケーススタディを開始するには -
このケーススタディの最初の質問を表示するには、「次へ」ボタンをクリックします。質問に答える前に、左側のペインのボタンを使用してケーススタディの内容を調べてください。これらのボタンをクリックすると、ビジネス要件、既存の環境、問題の説明などの情報が表示されます。ケーススタディに [すべての情報] タブがある場合、表示される情報は後続のタブに表示される情報と同じであることに注意してください。質問に答える準備ができたら、「質問」ボタンをクリックして質問に戻ります。
会社概要 -
HipLocal は、近くにいる人々の間のコミュニケーションを促進するように設計されたコミュニティ アプリケーションです。スポーツイベントの企画や開催、企業が地域社会とつながるために利用されています。 HipLocal は最近ダラスのいくつかの地域でサービスを開始し、急速に世界的な現象に成長しています。ハイパーローカルなコミュニティコミュニケーションとビジネスアウトリーチのユニークなスタイルは、世界中で需要があります。
エグゼクティブステートメント -
私たちはナンバーワンのローカルコミュニティアプリです。地域コミュニティ サービスをグローバルに展開する時が来ました。私たちのベンチャー キャピタルの投資家は、メンバーが互いに 10 マイルまたは 10,000 マイル離れていても、急速な成長と、オンラインに登場する新しいローカル コミュニティや仮想コミュニティに同様の素晴らしい体験を提供したいと考えています。
ソリューションコンセプト -
HipLocal は、世界中の顧客により良いサービスを提供するために、最新の機能を備えた既存のサービスを新しい地域で拡張したいと考えています。彼らは、これらの地域をタイムゾーンでサポートするための新しいチームを雇用してトレーニングしたいと考えています。アプリケーションがスムーズに拡張され、明確な稼働時間データが提供されることを確認し、発生した問題を分析して対応する必要があります。
既存の技術環境 -
HipLocal の環境は、オンプレミスのハードウェアと Google Cloud Platform で実行されるインフラストラクチャが混在しています。 HipLocal チームはアプリケーションをよく理解していますが、世界規模のアプリケーションの経験は限られています。現在の技術環境は次のとおりです。
• 既存の API は、GCP でホストされている Compute Engine 仮想マシン インスタンス上で実行されます。
• 状態は、GCP の単一インスタンスの MySQL データベースに保存されます。
• リリース サイクルには、QA テストを可能にする開発の凍結が含まれます。
• アプリケーションにはログがありません。
• アプリケーションは、平日の夕方のトラフィックが少ない時間帯に、インフラストラクチャ エンジニアによって手動で展開されます。
• 稼働時間の基本的な指標があります。 API が応答しない場合、アラートが頻繁に発生します。
ビジネス要件 -
HipLocal の投資家は、その拠点を拡大し、見られる需要の増加をサポートしたいと考えています。彼らの要件は次のとおりです。
• アプリケーションの利用可能性を新しい地域に拡大します。
• 10 倍の同時ユーザーをサポートします。
• ユーザーが異なる地域に旅行する場合でも、一貫したエクスペリエンスを確保します。
• ユーザーアクティビティの指標を取得して、製品を収益化する方法をより深く理解します。
• 新しい地域の規制 (GDPR など) への準拠を確保します。
• インフラストラクチャ管理の時間とコストを削減します。
• Google が推奨するクラウド コンピューティングのプラクティスを採用します。
○ アプリケーションのライフサイクル管理に関する標準化されたワークフローとプロセスを開発します。
○ サービス レベル指標 (SLI) とサービス レベル目標 (SLO) を定義します。
技術的要件 -
• オンプレミスのデータセンターとクラウドでホストされているアプリケーションおよびインフラストラクチャの間で安全な通信を提供します。
• アプリケーションは使用状況のメトリクスと監視を提供する必要があります。
• API には認証と認可が必要です。
• 新しい機能のより迅速かつ正確な検証を実装します。
• ロギングとパフォーマンスのメトリクスは、デバッグ情報とアラートを提供できるように実用的な情報を提供する必要があります。
• ユーザーの需要に合わせて拡張する必要がある。
この質問については、HipLocal のケーススタディを参照してください。
最近のセキュリティ監査により、HipLocal の Compute Engine がホストする MySQL データベースのデータベース認証情報が永続ディスクにプレーン テキストで保存されていることが判明しました。 HipLocal は、これらの資格情報が盗まれるリスクを軽減する必要があります。彼らは何をすべきでしょうか?
-
A.
サービス アカウントを作成し、そのキーをダウンロードします。キーを使用してクラウド キー管理サービス (KMS) に対して認証し、データベースの資格情報を取得します。
-
B.
サービス アカウントを作成し、そのキーをダウンロードします。このキーを使用してクラウド キー管理サービス (KMS) に対する認証を行い、データベース資格情報の復号化に使用されるキーを取得します。
-
C.
サービス アカウントを作成し、roles/iam.serviceAccountUser ロールを付与します。このアカウントになりすまして、Cloud SQL Proxy を使用して認証します。
-
D.
ロール/secretmanager.secretAccessor ロールを Compute Engine サービス アカウントに付与します。 Secret Manager API を使用してデータベース資格情報を保存し、アクセスします。
Case study -
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study -
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Company Overview -
HipLocal is a community application designed to facilitate communication between people in close proximity. It is used for event planning and organizing sporting events, and for businesses to connect with their local communities. HipLocal launched recently in a few neighborhoods in Dallas and is rapidly growing into a global phenomenon. Its unique style of hyper-local community communication and business outreach is in demand around the world.
Executive Statement -
We are the number one local community app; it's time to take our local community services global. Our venture capital investors want to see rapid growth and the same great experience for new local and virtual communities that come online, whether their members are 10 or 10000 miles away from each other.
Solution Concept -
HipLocal wants to expand their existing service, with updated functionality, in new regions to better serve their global customers. They want to hire and train a new team to support these regions in their time zones. They will need to ensure that the application scales smoothly and provides clear uptime data, and that they analyze and respond to any issues that occur.
Existing Technical Environment -
HipLocal's environment is a mix of on-premises hardware and infrastructure running in Google Cloud Platform. The HipLocal team understands their application well, but has limited experience in global scale applications. Their existing technical environment is as follows:
• Existing APIs run on Compute Engine virtual machine instances hosted in GCP.
• State is stored in a single instance MySQL database in GCP.
• Release cycles include development freezes to allow for QA testing.
• The application has no logging.
• Applications are manually deployed by infrastructure engineers during periods of slow traffic on weekday evenings.
• There are basic indicators of uptime; alerts are frequently fired when the APIs are unresponsive.
Business Requirements -
HipLocal's investors want to expand their footprint and support the increase in demand they are seeing. Their requirements are:
• Expand availability of the application to new regions.
• Support 10x as many concurrent users.
• Ensure a consistent experience for users when they travel to different regions.
• Obtain user activity metrics to better understand how to monetize their product.
• Ensure compliance with regulations in the new regions (for example, GDPR).
• Reduce infrastructure management time and cost.
• Adopt the Google-recommended practices for cloud computing.
○ Develop standardized workflows and processes around application lifecycle management.
○ Define service level indicators (SLIs) and service level objectives (SLOs).
Technical Requirements -
• Provide secure communications between the on-premises data center and cloud-hosted applications and infrastructure.
• The application must provide usage metrics and monitoring.
• APIs require authentication and authorization.
• Implement faster and more accurate validation of new features.
• Logging and performance metrics must provide actionable information to be able to provide debugging information and alerts.
• Must scale to meet user demand.
For this question, refer to the HipLocal case study.
A recent security audit discovers that HipLocal’s database credentials for their Compute Engine-hosted MySQL databases are stored in plain text on persistent disks. HipLocal needs to reduce the risk of these credentials being stolen. What should they do?
-
A.
Create a service account and download its key. Use the key to authenticate to Cloud Key Management Service (KMS) to obtain the database credentials.
-
B.
Create a service account and download its key. Use the key to authenticate to Cloud Key Management Service (KMS) to obtain a key used to decrypt the database credentials.
-
C.
Create a service account and grant it the roles/iam.serviceAccountUser role. Impersonate as this account and authenticate using the Cloud SQL Proxy.
-
D.
Grant the roles/secretmanager.secretAccessor role to the Compute Engine service account. Store and access the database credentials with the Secret Manager API.
コメント 1Comment 1
A. https://www.googleapis.com/auth/drive.file スコープを使用する OAuth クライアント ID を使用して、各ユーザーのアクセス トークンを取得します。
Web アプリケーションからユーザーの Google ドライブにファイルを書き込むには、各ユーザーから Google ドライブ アカウントにアクセスする許可を取得する必要があります。これは通常、OAuth 2.0 を使用して行われ、ユーザーは同意画面にリダイレクトされ、指定されたスコープで Google ドライブにアクセスする許可をアプリケーションに付与します。
A. Use an OAuth Client ID that uses the https://www.googleapis.com/auth/drive.file scope to obtain an access token for each user.
To write a file to a user's Google Drive from a web application, you need to obtain permission from each user to access their Google Drive account. This is typically done using OAuth 2.0, where users are redirected to a consent screen where they grant your application permission to access their Google Drive with the specified scope.
コメント 2Comment 2
正解は C です。アクセス ビューについて提案したリンクには、基になるデータセットへのアクセスを防止し、クエリの適用後にビュー内のデータへのアクセスのみを付与できることが明確に記載されています。
correct answer is C. In the link you proposed about access view is clearly stated that you can prevent access to the underlying dataset and give access only to data that is in the view after applying the query.
コメント 3Comment 3
A が正解です。
A is Correct.
コメント 4Comment 4
A すべてのユーザーを許可する必要があるため、ドメインにリンクしないようにする必要があります
A Because need to allow all users so not link to a domain
コメント 5Comment 5
I would've chosen option B if all users are in the same domain, it allows the application to authenticate to the Google Drive API with domain-wide authority, meaning that it will be able to access all users' Google Drive accounts within the domain.これが必要なのは、アプリケーションが任意のユーザーの Google ドライブにファイルを書き込むことができる必要があるためです。
I would've chosen option B if all users are in the same domain, it allows the application to authenticate to the Google Drive API with domain-wide authority, meaning that it will be able to access all users' Google Drive accounts within the domain. This is necessary because the application needs to be able to write a file to any user's Google Drive.
コメント 5.1Comment 5.1
しかし、質問では任意のユーザー (同じドメインまたは異なるドメインの可能性があります) と述べています。その場合、オプション B はドメイン全体の権限のみを許可するため、最良の選択ではありません。代わりに、オプション A が最適な選択となります。これにより、アプリケーションは、ユーザーが同じドメインにいるか別のドメインにいるかに関係なく、個々のユーザーのアクセス トークンを取得できるようになります。これにより、各ユーザーの Google ドライブにファイルを書き込むために必要な権限がアプリケーションに確実に与えられます。
But the question said any user (could be the same domain or different domains), In that case, option B would not be the best choice because it only allows for domain-wide authority. Instead, option A would be the best choice because it allows the application to obtain an access token for each individual user, regardless of whether they are in the same domain or a different domain. This ensures that the application has the necessary permissions to write a file to each user's Google Drive.
コメント 6Comment 6
Aが正しいです
A is correct
コメント 7Comment 7
私にとっては A が正解です。
https://developers.google.com/drive/api/guides/about-auth: 「そのため、アプリに必要な特定の機能へのアクセスを制限するため、可能な場合は「推奨」スコープを使用します。ほとんどの場合、狭いアクセスを提供するということは、https://www.googleapis.com/auth/drive.file ファイルごとのアクセス スコープを使用することを意味します。」さらに、各ユーザーが自分のファイルにアクセスするにはトークンが必要です。
A is correct for me.
https://developers.google.com/drive/api/guides/about-auth: "So, when possible, use "recommended" scopes as they narrow access to specific functionality needed by an app. In most cases, providing narrow access means using the https://www.googleapis.com/auth/drive.file per-file access scope" plus each user need their token to acces their own files.
コメント 8Comment 8
Aが正しいです
A is correct
コメント 9Comment 9
オプションA
Option A
コメント 10Comment 10
A は正解です。各ユーザーは、委任された広範なドメイン アクセスを許可するのではなく、独自のアクセス トークンを持つ必要があります。
A is correct because each user should have its own access token rather giving delegated wide domain access.
コメント 11Comment 11
私の考えでは、A が最も適切な答えです。認証トークンはユーザーごとに要求する必要があります (したがって、ユーザーごとにアプリケーションによってトークンが要求され、ユーザーはアプリケーションを承認する必要があります)。
A is the most suitable answer in my opinion. Auth tokens should be requested per user (So for each user, a token is requested by the application and the user needs to authorise the application).