コントロールプレーンのアーキテクチャ
Google Cloud NetApp Volumeに対するすべての管理操作はAPIを介して実行されます。GCP Cloudコンソールに統合されたGoogle Cloud NetApp Volumeの管理には、Google Cloud NetApp Volumes APIも使用されます。
IDおよびアクセス管理
IDおよびアクセス管理("IAM")は、Google Cloudプロジェクトインスタンスに対する認証(ログイン)と許可(権限)を制御できる標準サービスです。Google IAMには、許可の承認と削除に関する完全な監査証跡が用意されています。現時点では、Google Cloud NetApp Volumeではコントロールプレーン監査は提供されていません。
承認/権限の概要
IAMは、Google Cloud NetApp Volumeに対して、組み込みのきめ細かな権限を提供します。を見つけることができます "詳細な権限の一覧をここに入力します"。
IAMには、「netappcloudvolumes」と「netappcloudvolumes」という2つの事前定義された役割も用意されています。これらのロールは、特定のユーザまたはサービスアカウントに割り当てることができます。
適切なロールと権限を割り当てて、IAMユーザがGoogle Cloud NetApp Volumeを管理できるようにします。
きめ細かい権限の使用例を次に示します。
-
ボリュームを削除できないように、権限の取得/リスト/作成/更新だけを指定してカスタムロールを作成します。
-
「snapshot.*」権限のみを持つカスタム・ロールを使用して、アプリケーションと整合性のあるSnapshot統合を構築するために使用するサービス・アカウントを作成します。
-
特定のユーザーに'volumeereplication.*'を委任するカスタムロールを作成します
サービスアカウント
スクリプトまたはを使用してGoogle Cloud NetApp Volumes API呼び出しを行うには "テラフォーム"、ロールを持つサービスアカウントを作成する必要があります roles/netappcloudvolumes.admin
。このサービスアカウントを使用して、次の2つの方法でGoogle Cloud NetApp Volumes API要求の認証に必要なJWTトークンを生成できます。
-
JSONキーを生成し、Google APIを使用してJWTトークンを取得します。これは最もシンプルなアプローチですが、手動のシークレット(JSONキー)管理が必要になります。
-
使用 "サービスアカウントのなりすまし" 「roles/iam.serviceAccountTokenCreator`」を指定します。コード(スクリプト、Terraformなど)はで実行されます "アプリケーションのデフォルトクレデンシャル" また、サービスアカウントを偽装して権限を取得します。このアプローチは、Googleのセキュリティのベストプラクティスを反映しています。
を参照してください "サービスアカウントと秘密鍵を作成しています" 詳細については、Google Cloudのドキュメントを参照してください。
Google Cloud NetApp Volumes API
Google Cloud NetApp Volumes APIでは、RESTベースのAPIを使用し、基盤となるネットワーク転送としてHTTPS(TLSv1.2)を使用します。最新のAPI定義とAPIの使用方法については、を参照して "こちらをご覧ください"ください "Google CloudドキュメントのCloud Volume API"。
APIエンドポイントは、標準のHTTPS(TLSv1.2)機能を使用してネットアップによって処理および保護されます。
JWTトークン
APIへの認証は、JWTベアラートークンを使用して実行されます ("RFC-7519")。有効なJWTトークンは、Google Cloud IAM認証を使用して取得する必要があります。そのためには、サービスアカウントのJSONキーを指定してIAMからトークンを取得する必要があります。
監査ロギング
現在、ユーザがアクセスできるコントロールプレーン監査ログはありません。