GCP コネクタの認証と権限を設定する
DigiCert® Trust Lifecycle Manager で GCP コネクタを追加する前に、認証に使用するのに必要な Google Cloud Platform(GCP)クレデンシャルを準備します。
このコネクタは、以下の 2 つの認証タイプをサポートしています。
サービスアカウントクレデンシャル: Trust Lifecycle Manager のコネクタ内で設定された GCP サービスアカウントクレデンシャルを使用して認証します。
申請のデフォルトクレデンシャル: Google Cloud との統合を管理するネットワーク上のローカルセンサーホストでセットアップされた、GCP アプリケーションのデフォルトクレデンシャルを使用して認証します。
各認証タイプをセットアップする方法は、コネクタのスコープに応じて異なります。
組織スコープ: Google Cloud の組織およびフォルダとその子プロジェクトすべてに接続します。
プロジェクトスコープ: Google Cloud 組織内の特定のプロジェクトに接続します。
最初に、使用する認証タイプとスコープを選択します。以下のとおり、認証用の GCP クレデンシャルを準備します。
オプション 1: サービスアカウントクレデンシャル
このオプションは、Trust Lifecycle Manager の GCP 統合コネクタ内で設定する GCP サービスアカウントクレデンシャルを認証に使用する場合に選択します。詳細な設定手順については、以下のいずれかのコネクタスコープを選択してください。
コネクタは、組織スコープで設定すると、Google Cloud の組織またはフォルダとその子プロジェクトすべてへのアクセスが提供されます。
組織スコープの場合、コネクタと追加のサービスアカウントを認証してすべての子プロジェクトを管理するために、メインのサービスアカウントを 1 つ作成する必要があります。
Google Cloud で、必要なアカウントと権限を次のように準備します。
コネクタは、プロジェクトスコープで設定すると、Google Cloud 組織の特定のプロジェクトへのアクセスが提供されます。
プロジェクトスコープでは、コネクタの認証に使用されるメインのサービスアカウントを 1 つ作成するだけで十分です。
Google Cloud で、必要なアカウントと権限を次のように準備します。
オプション 2: 申請のデフォルトクレデンシャル
このオプションは、Google Cloud との統合を管理するネットワーク上のローカルセンサーホストでセットアップされた、GCP アプリケーションのデフォルトクレデンシャルを使用して認証する場合に選択します。以下のいずれかの方法を使用して、センサーホストでアプリケーションのデフォルトクレデンシャルへのアクセスを設定できます。
クレデンシャルへのアクセス方法 | 説明 | 注 |
|---|---|---|
環境変数 | GCP でサービスアカウントをセットアップし、アカウント用の JSON 鍵ファイルをセンサーホストにダウンロードします。この JSON 鍵ファイルへのファイルパスを | クレデンシャルは永続的です。 |
クレデンシャルファイル |
| クレデンシャルは 1 時間後にタイムアウトします。デジサートは、クレデンシャルをローテーションし、想定された場所に保管するために、スクリプトなど自動化された方法を使用することを推奨します。 |
重要
DigiCert センサーはまず、GOOGLE_APPLICATION_CREDENTIALS 環境変数をチェックし、この環境変数が定義されていない場合は、上記の既知の場所でローカルクレデンシャルファイルを探します。
詳細な設定手順については、以下のいずれかのコネクタスコープとクレデンシャルへのアクセス方法の組み合わせを選択してください。
コネクタは、組織スコープで設定すると、Google Cloud の組織またはフォルダとその子プロジェクトすべてへのアクセスが提供されます。
環境変数によるアクセス方法では、コネクタと追加のサービスアカウントを認証してすべての子プロジェクトを管理するために、メインのサービスアカウントを 1 つ作成する必要があります。メインのサービスアカウントを、センサーホストでアプリケーションのデフォルトクレデンシャルとして使用します。
Google Cloud で、必要なアカウントと権限を次のように準備します。
コネクタは、組織スコープで設定すると、Google Cloud の組織またはフォルダとその子プロジェクトすべてへのアクセスが提供されます。
クレデンシャルファイルアクセス方法では、Google Cloud でプリンシパルユーザー ID を準備し、すべての子プロジェクトを管理するためにサービスアカウントを作成する必要があります。gloud CLI を使用してセンサーホストにローカルクレデンシャルファイルを作成します。
Google Cloud で、必要なアカウントと権限を次のように準備します。
組織の電子メールアドレスに紐付けられていて Google Cloud へのログインに使用される、プリンシパルユーザー ID のクレデンシャルを収集します。
プリンシパルユーザー ID が親組織またはフォルダで Folder Viewer ロールを持っていることを確認します。
親組織またはフォルダで、以下の「Minimum permissions」のセクションに記載された権限を含むカスタムロールを作成します。
ステップ 3 で作成したカスタムロールをプリンシパルユーザー ID に割り当てます。
管理対象の個々の Google Cloud プロジェクトすべてに、同じアカウント名を持つサービスアカウントを作成します。これらのサービスアカウントは、親組織またはフォルダ内の個々のプロジェクトにアクセスして管理するために使用されます。
重要
このステップで作成するすべてのサービスアカウントに、同じ名前を付ける必要があります。この名前は、Trust Lifecycle Manager でコネクタを構成する際に[なりすましサービスアカウント名]フィールドに指定します。
ステップ 6 で作成した各サービスアカウントに対し、以下の手順を実行します。
ステップ 3 で作成したカスタムロールを割り当てます。
Service Account Token Creatorロールを割り当て、プリンシパルユーザー ID にマッピングします。
コネクタを介して管理する個々の Google Cloud プロジェクトで、以下の API サービスが有効になっていることを確認します。
Certificate Manager API
Compute Engine API
Cloud Resource Manager API
コネクタは、プロジェクトスコープで設定すると、Google Cloud 組織の特定のプロジェクトへのアクセスが提供されます。
環境変数アクセス方法では、コネクタを認証するために、メインのサービスアカウントを 1 つ作成する必要があります。このサービスアカウントを、センサーホストでアプリケーションのデフォルトクレデンシャルとして使用します。
Google Cloud で、必要なアカウントと権限を次のように準備します。
コネクタは、プロジェクトスコープで設定すると、Google Cloud 組織の特定のプロジェクトへのアクセスが提供されます。
クレデンシャルファイルアクセス方法では、Google Cloud でプリンシパルユーザー ID を準備する必要があります。gloud CLI を使用してセンサーホストにローカルクレデンシャルファイルを作成します。
Google Cloud で、必要なアカウントと権限を次のように準備します。
組織の電子メールアドレスに紐付けられていて Google Cloud へのログインに使用される、プリンシパルユーザー ID のクレデンシャルを収集します。
Trust Lifecycle Manager コネクタを介して管理する特定の Google Cloud プロジェクトを選択します。
選択したプロジェクトで、以下の「Minimum permissions」のセクションに記載された権限を含むカスタムロールを作成します。
ステップ 3 で作成したカスタムロールをプリンシパルユーザー ID に割り当てます。
選択した Google Cloud プロジェクトで以下の API サービスが有効になっていることを確認します。
Certificate Manager API
Compute Engine API
Cloud Resource Manager API
サービスアカウント用 JSON 鍵ファイルの例
Google Cloud で作成してダウンロードするサービスアカウント用 JSON 鍵ファイルは、以下の例のようになっているはずです。
{
"type": "my-service-account",
"project_id": "my-gcp-project-1",
"private_key_id": "0888c80dd415874d2247ab55555b7ac0ee99963b",
"private_key": "-----BEGIN PRIVATE KEY-----\n{private key value}\n-----END PRIVATE KEY-----\n",
"client_email": "my-service-account@my-org.iam.gserviceaccount.com",
"client_id": "111446787751705551234",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my-service-account.iam.gserviceaccount.com",
"universe_domain": "googleapis.com"
} 最小権限
必要な権限
Trust Lifecycle Manager の GCP 統合コネクタには、以下に示す Google Cloud の最小権限が必要です。
certificatemanager.certmapentries.create certificatemanager.certmapentries.get certificatemanager.certmapentries.list certificatemanager.certmapentries.update certificatemanager.certmaps.create certificatemanager.certmaps.get certificatemanager.certmaps.list certificatemanager.certmaps.update certificatemanager.certmaps.use certificatemanager.certs.create certificatemanager.certs.delete certificatemanager.certs.get certificatemanager.certs.list certificatemanager.certs.update certificatemanager.certs.use certificatemanager.locations.get certificatemanager.locations.list certificatemanager.operations.cancel certificatemanager.operations.delete certificatemanager.operations.get certificatemanager.operations.list cloudasset.assets.listComputeSslCertificates compute.addresses.get compute.addresses.list compute.addresses.use compute.forwardingRules.create compute.forwardingRules.createTagBinding compute.forwardingRules.get compute.forwardingRules.list compute.forwardingRules.setTarget compute.forwardingRules.update compute.forwardingRules.use compute.globalAddresses.get compute.globalAddresses.list compute.globalAddresses.use compute.globalForwardingRules.create compute.globalForwardingRules.delete compute.globalForwardingRules.get compute.globalForwardingRules.list compute.globalForwardingRules.setTarget compute.globalForwardingRules.update compute.globalOperations.get compute.regionOperations.get compute.regionSslCertificates.create compute.regionSslCertificates.get compute.regionSslCertificates.list compute.regionTargetHttpProxies.create compute.regionTargetHttpProxies.get compute.regionTargetHttpProxies.list compute.regionTargetHttpProxies.setUrlMap compute.regionTargetHttpProxies.use compute.regionTargetHttpsProxies.create compute.regionTargetHttpsProxies.get compute.regionTargetHttpsProxies.list compute.regionTargetHttpsProxies.setSslCertificates compute.regionTargetHttpsProxies.setUrlMap compute.regionTargetHttpsProxies.update compute.regionTargetHttpsProxies.use compute.regionTargetTcpProxies.get compute.regionTargetTcpProxies.list compute.regionUrlMaps.create compute.regionUrlMaps.get compute.regionUrlMaps.use compute.regions.list compute.sslCertificates.create compute.sslCertificates.delete compute.sslCertificates.get compute.sslCertificates.list compute.targetHttpProxies.create compute.targetHttpProxies.get compute.targetHttpProxies.list compute.targetHttpProxies.setUrlMap compute.targetHttpProxies.update compute.targetHttpProxies.use compute.targetHttpsProxies.create compute.targetHttpsProxies.get compute.targetHttpsProxies.list compute.targetHttpsProxies.setCertificateMap compute.targetHttpsProxies.setSslCertificates compute.targetHttpsProxies.update compute.targetHttpsProxies.use compute.targetSslProxies.create compute.targetSslProxies.get compute.targetSslProxies.list compute.targetSslProxies.setCertificateMap compute.targetSslProxies.setSslCertificates compute.targetSslProxies.update compute.targetSslProxies.use compute.urlMaps.create compute.urlMaps.get compute.urlMaps.list compute.urlMaps.use
(任意)Secret Manager の権限
GCP Secret Manager を秘密鍵の一時的な保管場所として使用するには、以下の権限を追加します。以下の点に注意してください。
これらの権限は任意です。省略した場合、GCP Secret Manager の代わりにDigiCert 管理センサーが一時的な鍵保管に使用されます。
証明書が発行され、秘密鍵と一緒に Google Cloud に配信されたら、一時鍵は自動的に削除されます。
secretmanager.locations.get secretmanager.locations.list secretmanager.secrets.create secretmanager.secrets.delete secretmanager.secrets.get secretmanager.secrets.list secretmanager.secrets.update secretmanager.versions.access secretmanager.versions.add secretmanager.versions.destroy secretmanager.versions.get
重要
以下のコネクタスコープに応じて、Secret Manager サービスを GCP 組織内の適切なプロジェクトで有効にしてください。
組織スコープ: メインのサービスアカウントまたは認証用のプリンシパルユーザー ID を持つプロジェクトで Secret Manager を有効にします。
プロジェクトスコープ: コネクタで管理する特定のプロジェクトで Secret Manager を有効にします。
次の手順
Google Cloud Platform(GCP)で必要なクレデンシャルを設定したら、Trust Lifecycle Manager でGCP 統合コネクタを追加する準備が整います。