IAM データベース認証を使用してデータベースにログインする

このページでは、ユーザーとサービス アカウントが Cloud SQL IAM データベース認証を使用して Cloud SQL データベースにログインする方法について説明します。詳細については、Cloud SQL IAM データベースの認証の概要をご覧ください。

始める前に

IAM データベースの手動認証によるログイン

ユーザーまたはアプリケーションは、Google Cloud から手動でアクセス トークンをリクエストしてデータベースに提示することで、IAM データベースの認証を行うことができます。Cloud SDK を使用すると、データベースにログインするために使用される Cloud SQL API スコープで OAuth 2.0 トークンを明示的にリクエストできます。IAM データベースの手動認証でデータベース ユーザーとしてログインする場合は、メールアドレスをユーザー名として使用し、アクセス トークンをパスワードとして使用します。この方法は、データベースへの直接接続または Cloud SQL コネクタで使用できます。

この手順では、Google Cloud に対して認証を行い、アクセス トークンをリクエストします。このトークンを IAM データベース ユーザーのパスワードとして渡してデータベースに接続します。Cloud SQL Auth Proxy を使用せずに接続する手順は次のとおりです。

以下のことを行う必要があります。

このトークンを Cloud SDK で生成してログインするには:

gcloud

  1. Google Cloud に対して認証を行います。

    ユーザー

    IAM 認証に gcloud auth login を使用します。詳細については、ユーザー アカウントを使用して承認するをご覧ください。

    サービス アカウント

    IAM 認証に gcloud auth activate-service-account を使用します。詳細については、サービス アカウントを使用して承認するをご覧ください。

  2. アクセス トークンをリクエストして、クライアントでログインします。

    次のように置き換えます。

    • HOSTNAME: インスタンスの IP アドレス。
    • USERNAME: IAM ユーザー アカウントの場合、これは @ か、ドメイン名を含まないユーザーのメールアドレスになります。たとえば、test-user@gmail.com の場合は「test-user」と入力します。サービス アカウントの場合は、@project-id.iam.gserviceaccount.com サフィックスのないサービス アカウントのメールアドレスになります。

    MYSQL_PWD=`gcloud auth print-access-token` mysql --enable-cleartext-plugin 
    --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem
    --ssl-key=client-key.pem --host=HOSTNAME
    --user=USERNAME

次のステップ