このページでは、プロジェクトのサービス アカウントに関連付けられたハッシュベースのメッセージ認証コード(HMAC)キーを作成、無効化、削除する方法を説明します。
始める前に
この機能を Cloud Storage で使用する前に、次の要件を満たす必要があります。
選択したプロジェクト内の HMAC キーを操作するための十分な権限が付与されている必要があります。
該当するプロジェクトを所有している場合は、必要な権限が付与されているはずです。
プロジェクトの
storage.hmacKeys
でプレフィックスが付けられた IAM 権限を付与されている必要があります。これらの権限を持つロール(Storage HMAC キー管理者など)を取得する手順については、IAM 権限の使用をご覧ください。
プロジェクトに、HMAC キーを作成する対象のサービス アカウントが作成されている必要があります。まだ作成されていない場合は、サービス アカウントの作成をご覧ください。
HMAC キー認証で
restrictAuthTypes
制約が無効になっている必要があります。制約を確認して無効にする方法については、組織のポリシーの作成と管理をご覧ください。
HMAC キーを作成する
サービス アカウントの HMAC キーを作成するには:
- Google Cloud コンソールで、Cloud Storage の [設定] ページに移動します。
[相互運用性] タブを選択します。
[add_box サービス アカウント用にキーを作成] をクリックします。
HMAC キーを関連付けるサービス アカウントを選択します。
[鍵を作成] をクリックします。
失敗した Cloud Storage オペレーションの詳細なエラー情報を Google Cloud コンソールで確認する方法については、トラブルシューティングをご覧ください。
hmac create
コマンドを使用します。
gcloud storage hmac createSERVICE_ACCOUNT_EMAIL
ここで、SERVICE_ACCOUNT_EMAIL
はサービス アカウントに関連付けられたメールアドレスです。例: service-7550275089395@my-pet-project.iam.gserviceaccount.com
成功した場合、レスポンスには accessId
と secret
の値を含む HMAC キーリソースが含まれます。
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
Terraform リソースを使用して HMAC キーを作成できます。このサンプルには、サービス アカウントを作成するためのリソースも含まれています。
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、POST
hmacKeys リクエストで JSON API を呼び出します。curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/
PROJECT_IDENTIFIER /hmacKeys?serviceAccountEmail=SERVICE_ACCOUNT_EMAIL "ここで
PROJECT_IDENTIFIER
は、作成するキーに関連付けられたプロジェクトの ID または番号です。例:my-pet-project
SERVICE_ACCOUNT_EMAIL
は、サービス アカウントに関連付けられたメールアドレスです。例:service-7550275089395@my-pet-project.iam.gserviceaccount.com
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、POST
HMAC キーリクエストで XML API を呼び出します。curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=CreateAccessKey&UserName=
SERVICE_ACCOUNT_EMAIL "ここで、
SERVICE_ACCOUNT_EMAIL
はサービス アカウントに関連付けられたメールアドレスです。例:service-7550275089395@my-pet-project.iam.gserviceaccount.com
HMAC キーの情報を取得する
プロジェクトの HMAC キーを一覧表示し、キーに関する情報を取得するには:
- Google Cloud コンソールで、Cloud Storage の [設定] ページに移動します。
[相互運用性] タブを選択します。
HMAC キーが関連付けられているサービス アカウントは、[サービス アカウントの HMAC] セクションの [サービス アカウントのアクセスキー] サブセクションに表示されます。
特定のサービス アカウントの名前をクリックすると、そのサービス アカウントに関連付けられた HMAC キーと、それらのキーのステータスが表示されます。
hmac list
コマンドを使用して、プロジェクトの HMAC キーを一覧表示します。gcloud storage hmac list
成功した場合、コマンドは HMAC キーのアクセス ID のリストと各キーの状態、各キーに関連付けられているサービス アカウントを返します。
hmac describe
コマンドを使用して、特定のキーのメタデータを取得します。gcloud storage hmac describe
KEY_ACCESS_ID KEY_ACCESS_ID
は、目的のキーのアクセス ID です。
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、プロジェクトに関連付けられている HMAC キーのリストを取得します。
次のサンプルは、特定の HMAC キーの情報を取得します。
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、プロジェクトに関連付けられている HMAC キーのリストを取得します。
次のサンプルは、特定の HMAC キーの情報を取得します。
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、プロジェクトに関連付けられている HMAC キーのリストを取得します。
次のサンプルは、特定の HMAC キーの情報を取得します。
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、プロジェクトに関連付けられている HMAC キーのリストを取得します。
次のサンプルは、特定の HMAC キーの情報を取得します。
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、プロジェクトに関連付けられている HMAC キーのリストを取得します。
次のサンプルは、特定の HMAC キーの情報を取得します。
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、プロジェクトに関連付けられている HMAC キーのリストを取得します。
次のサンプルは、特定の HMAC キーの情報を取得します。
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、プロジェクトに関連付けられている HMAC キーのリストを取得します。
次のサンプルは、特定の HMAC キーの情報を取得します。
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、プロジェクトに関連付けられている HMAC キーのリストを取得します。
次のサンプルは、特定の HMAC キーの情報を取得します。
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、LIST
hmacKeys リクエストで JSON API を呼び出します。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/
PROJECT_IDENTIFIER /hmacKeys"ここで、
PROJECT_IDENTIFIER
は一覧を取得するキーに関連付けられたプロジェクトの ID または番号です。例:my-pet-project
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、GET
HMAC キーリクエストで XML API を呼び出します。curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=ListAccessKeys&UserName=
SERVICE_ACCOUNT_EMAIL "ここで、
SERVICE_ACCOUNT_EMAIL
はサービス アカウントに関連付けられたメールアドレスです。例:service-7550275089395@my-pet-project.iam.gserviceaccount.com
HMAC キーの状態を更新する
HMAC キーの状態をアクティブと非アクティブの間で切り替えるには:
- Google Cloud コンソールで、Cloud Storage の [設定] ページに移動します。
[相互運用性] タブを選択します。
[サービス アカウントのアクセスキー] サブセクションで、ステータスを更新する HMAC キーに関連付けられているサービス アカウントの名前をクリックします。
更新する鍵のステータスをクリックします。
キーの状態を「無効」から「有効」に変更する場合は、表示されたウィンドウで [無効にする] をクリックします。
キーの状態を「有効」から「無効」に変更する場合、追加の手順は必要ありません。
hmac update
コマンドを使用します。
gcloud storage hmac updateACCESS_KEY_ID STATE
ここで
ACCESS_KEY_ID
は、更新する鍵に関連付けられたアクセス ID です。STATE
は--activate
か--deactivate
のどちらかです。
成功すると、更新された HMAC キーのメタデータが返されます。
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、HMAC キーを無効にします。
次のサンプルは、HMAC キーを有効にします。
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、HMAC キーを無効にします。
次のサンプルは、HMAC キーを有効にします。
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、HMAC キーを無効にします。
次のサンプルは、HMAC キーを有効にします。
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、HMAC キーを無効にします。
次のサンプルは、HMAC キーを有効にします。
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、HMAC キーを無効にします。
次のサンプルは、HMAC キーを有効にします。
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、HMAC キーを無効にします。
次のサンプルは、HMAC キーを有効にします。
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、HMAC キーを無効にします。
次のサンプルは、HMAC キーを有効にします。
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
次のサンプルは、HMAC キーを無効にします。
次のサンプルは、HMAC キーを有効にします。
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。次の情報が含まれる JSON ファイルを作成します。
{"state": "
STATE "}ここで、
STATE
は鍵の望ましい状態です。例:INACTIVE
cURL
を使用してPUT
hmacKeys リクエストで JSON API を呼び出します。curl -X PUT --data-binary @
JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/projects/PROJECT_IDENTIFIER /hmacKeys/ACCESS_KEY_ID "ここで
JSON_FILE_NAME
は、手順 2 で作成したファイルのパスです。PROJECT_IDENTIFIER
は、更新するキーに関連付けられたプロジェクトの ID または番号です。例:my-pet-project
ACCESS_KEY_ID
は、更新するキーに関連付けられたアクセス ID です。
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、POST
HMAC キーリクエストで XML API を呼び出します。curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=UpdateAccessKey&AccessKeyId=
ACCESS_KEY_ID &Status=STATUS "ここで
ACCESS_KEY_ID
は、更新するキーに関連付けられたアクセス ID です。STATUS
は、目的の鍵のステータスです。例:Inactive
HMAC キーの状態を変更すると、状態の変化が Cloud Storage システムを通じて反映されるまで最大で 3 分かかります。このため、HMAC キーを非アクティブにしてからキーを削除するまで、少なくとも 3 分待つ必要があります。
HMAC キーを削除する
HMAC キーを削除するには、キーが非アクティブ状態になっている必要があります。非アクティブな HMAC キーを削除するには:
- Google Cloud コンソールで、Cloud Storage の [設定] ページに移動します。
[相互運用性] タブを選択します。
[サービス アカウントのアクセスキー] サブセクションで、削除する HMAC キーに関連付けられているサービス アカウントの名前をクリックします。
削除するキーに対応するゴミ箱アイコンをクリックします。
表示されたダイアログで、ウィンドウに表示されているアクセスキー ID の最初の 10 文字を入力します。
[削除] をクリックします。
hmac delete
コマンドを使用します。
gcloud storage hmac deleteACCESS_KEY_ID
ここで、ACCESS_KEY_ID
は、削除する鍵に関連付けられたアクセス ID です。
成功すると、コマンドはレスポンスを返しません。
詳細については、Cloud Storage C++ API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage C# API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Go API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Java API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Node.js API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage PHP API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Python API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
詳細については、Cloud Storage Ruby API のリファレンス ドキュメントをご覧ください。
Cloud Storage に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証の設定をご覧ください。
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、DELETE
hmacKeys リクエストで JSON API を呼び出します。curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/projects/
PROJECT_IDENTIFIER /hmacKeys/ACCESS_KEY_ID "ここで
PROJECT_IDENTIFIER
は、削除するキーに関連付けられたプロジェクトの ID または番号です。例:my-pet-project
ACCESS_KEY_ID
は、削除するキーに関連付けられたアクセス ID です。
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。cURL
を使用して、POST
HMAC キーリクエストで XML API を呼び出します。curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/?Action=DeleteAccessKey&AccessKeyId=
ACCESS_KEY_ID "ここで、
ACCESS_KEY_ID
は、削除するキーに関連付けられたアクセス ID です。
次のステップ
- ユーザー アカウントの HMAC キーからサービス アカウントの HMAC キーへの移行ガイドラインに従う。
- 認証済みリクエストで HMAC キーを使用する。