创建密钥环。
深入探索
如需查看包含此代码示例的详细文档,请参阅以下内容:
代码示例
C#
如需了解如何安装和使用 Cloud KMS 客户端库,请参阅 Cloud KMS 客户端库。
using Google.Api.Gax.ResourceNames;
using Google.Cloud.Kms.V1;
public class CreateKeyRingSample
{
public KeyRing CreateKeyRing(
string projectId = "my-project", string locationId = "us-east1",
string id = "my-key-ring")
{
// Create the client.
KeyManagementServiceClient client = KeyManagementServiceClient.Create();
// Build the parent location name.
LocationName locationName = new LocationName(projectId, locationId);
// Build the key ring.
KeyRing keyRing = new KeyRing { };
// Call the API.
KeyRing result = client.CreateKeyRing(locationName, id, keyRing);
// Return the result.
return result;
}
}
Go
如需了解如何安装和使用 Cloud KMS 客户端库,请参阅 Cloud KMS 客户端库。
import (
"context"
"fmt"
"io"
kms "cloud.google.com/go/kms/apiv1"
"cloud.google.com/go/kms/apiv1/kmspb"
)
// createKeyRing creates a new ring to store keys on KMS.
func createKeyRing(w io.Writer, parent, id string) error {
// parent := "projects/PROJECT_ID/locations/global"
// id := "my-key-ring"
// Create the client.
ctx := context.Background()
client, err := kms.NewKeyManagementClient(ctx)
if err != nil {
return fmt.Errorf("failed to create kms client: %v", err)
}
defer client.Close()
// Build the request.
req := &kmspb.CreateKeyRingRequest{
Parent: parent,
KeyRingId: id,
}
// Call the API.
result, err := client.CreateKeyRing(ctx, req)
if err != nil {
return fmt.Errorf("failed to create key ring: %v", err)
}
fmt.Fprintf(w, "Created key ring: %s\n", result.Name)
return nil
}
Java
如需了解如何安装和使用 Cloud KMS 客户端库,请参阅 Cloud KMS 客户端库。
import com.google.cloud.kms.v1.KeyManagementServiceClient;
import com.google.cloud.kms.v1.KeyRing;
import com.google.cloud.kms.v1.LocationName;
import java.io.IOException;
public class CreateKeyRing {
public void createKeyRing() throws IOException {
// TODO(developer): Replace these variables before running the sample.
String projectId = "your-project-id";
String locationId = "us-east1";
String id = "my-asymmetric-signing-key";
createKeyRing(projectId, locationId, id);
}
// Create a new key ring.
public void createKeyRing(String projectId, String locationId, String id) throws IOException {
// Initialize client that will be used to send requests. This client only
// needs to be created once, and can be reused for multiple requests. After
// completing all of your requests, call the "close" method on the client to
// safely clean up any remaining background resources.
try (KeyManagementServiceClient client = KeyManagementServiceClient.create()) {
// Build the parent name from the project and location.
LocationName locationName = LocationName.of(projectId, locationId);
// Build the key ring to create.
KeyRing keyRing = KeyRing.newBuilder().build();
// Create the key ring.
KeyRing createdKeyRing = client.createKeyRing(locationName, id, keyRing);
System.out.printf("Created key ring %s%n", createdKeyRing.getName());
}
}
}
Node.js
如需了解如何安装和使用 Cloud KMS 客户端库,请参阅 Cloud KMS 客户端库。
//
// TODO(developer): Uncomment these variables before running the sample.
//
// const projectId = 'my-project';
// const locationId = 'us-east1';
// const id = 'my-key-ring';
// Imports the Cloud KMS library
const {KeyManagementServiceClient} = require('@google-cloud/kms');
// Instantiates a client
const client = new KeyManagementServiceClient();
// Build the parent location name
const locationName = client.locationPath(projectId, locationId);
async function createKeyRing() {
const [keyRing] = await client.createKeyRing({
parent: locationName,
keyRingId: id,
});
console.log(`Created key ring: ${keyRing.name}`);
return keyRing;
}
return createKeyRing();
PHP
如需了解如何安装和使用 Cloud KMS 客户端库,请参阅 Cloud KMS 客户端库。
use Google\Cloud\Kms\V1\KeyManagementServiceClient;
use Google\Cloud\Kms\V1\KeyRing;
function create_key_ring(
string $projectId = 'my-project',
string $locationId = 'us-east1',
string $id = 'my-key-ring'
) {
// Create the Cloud KMS client.
$client = new KeyManagementServiceClient();
// Build the parent location name.
$locationName = $client->locationName($projectId, $locationId);
// Build the key ring.
$keyRing = new KeyRing();
// Call the API.
$createdKeyRing = $client->createKeyRing($locationName, $id, $keyRing);
printf('Created key ring: %s' . PHP_EOL, $createdKeyRing->getName());
return $createdKeyRing;
}
Python
如需了解如何安装和使用 Cloud KMS 客户端库,请参阅 Cloud KMS 客户端库。
def create_key_ring(project_id, location_id, key_ring_id):
"""
Creates a new key ring in Cloud KMS
Args:
project_id (string): Google Cloud project ID (e.g. 'my-project').
location_id (string): Cloud KMS location (e.g. 'us-east1').
key_ring_id (string): ID of the key ring to create (e.g. 'my-key-ring').
Returns:
KeyRing: Cloud KMS key ring.
"""
# Import the client library.
from google.cloud import kms
# Create the client.
client = kms.KeyManagementServiceClient()
# Build the parent location name.
location_name = f'projects/{project_id}/locations/{location_id}'
# Build the key ring.
key_ring = {}
# Call the API.
created_key_ring = client.create_key_ring(
request={'parent': location_name, 'key_ring_id': key_ring_id, 'key_ring': key_ring})
print('Created key ring: {}'.format(created_key_ring.name))
return created_key_ring
Ruby
如需了解如何安装和使用 Cloud KMS 客户端库,请参阅 Cloud KMS 客户端库。
# TODO(developer): uncomment these values before running the sample.
# project_id = "my-project"
# location_id = "us-east1"
# id = "my-key-ring"
# Require the library.
require "google/cloud/kms"
# Create the client.
client = Google::Cloud::Kms.key_management_service
# Build the parent location name.
location_name = client.location_path project: project_id, location: location_id
# Build the key ring.
key_ring = {}
# Call the API.
created_key_ring = client.create_key_ring parent: location_name, key_ring_id: id, key_ring: key_ring
puts "Created key ring: #{created_key_ring.name}"
后续步骤
如需搜索和过滤其他 Google Cloud 产品的代码示例,请参阅 Google Cloud 示例浏览器。