// [START secretmanager_access_secret_version] /// <summary> /// Accesses a secret with provided version. /// </summary> /// <param name="projectId">ID of the project where the secret resides.</param> /// <param name="secretId">ID of the secret.</param> /// <param name="secretVersion">Version of the secret.</param> /// <example> /// With a specific version. /// <code>AccessSecretVersion("my-project", "my-secret", "5")</code> /// </example> /// <example> /// With an alias version. /// <code>AccessSecretVersion("my-project", "my-secret", "latest")</code> /// </example> public static void AccessSecretVersion(string projectId, string secretId, string secretVersion) { SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Create the request. var request = new AccessSecretVersionRequest { SecretVersionName = new SecretVersionName(projectId, secretId, secretVersion), }; // Access the secret and print the result. // // WARNING: Do not print secrets in production environments. This // snippet is for demonstration purposes only. var version = client.AccessSecretVersion(request); string payload = version.Payload.Data.ToStringUtf8(); Console.WriteLine($"Payload: {payload}"); }
public void StoreSecret([FromForm] string projectId, [FromForm] string secretId) { IDatabase db = Connection.GetDatabase(); db.StringSet("name", "redis"); Console.WriteLine(db.StringGet("name")); //call SDK SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Build the parent project name. ProjectName projectName = new ProjectName(projectId); // Build the secret to create. Secret secret = new Secret { Replication = new Replication { Automatic = new Replication.Types.Automatic(), }, }; Secret createdSecret = client.CreateSecret(projectName, secretId, secret); // Build a payload. SecretPayload payload = new SecretPayload { Data = ByteString.CopyFrom("my super secret data", Encoding.UTF8), }; // Add a secret version. SecretVersion createdVersion = client.AddSecretVersion(createdSecret.SecretName, payload); // Access the secret version. AccessSecretVersionResponse result = client.AccessSecretVersion(createdVersion.SecretVersionName); // Print the resultszxcvbnj // // WARNING: Do not print secrets in production environments. This // snippet is for demonstration purposes only. string data = result.Payload.Data.ToStringUtf8(); Console.WriteLine($"Plaintext: {data}"); }
public void TestRun() { string ts = $"{DateTime.Now.ToString("yyyyMMddHHmmssfff")}"; string secretId = $"csharp-quickstart-{ts}-1"; // Run quickstart var output = _quickStart.Run(s_projectId, secretId); // Verify output Assert.Equal(0, output.ExitCode); Assert.Contains($"Plaintext: my super secret data", output.Stdout); // Delete the secret created by quickstart SecretManagerServiceClient client = SecretManagerServiceClient.Create(); client.DeleteSecret(new DeleteSecretRequest { SecretName = new SecretName(s_projectId, secretId), }); }
public IActionResult Put(string id, [FromBody] Dictionary <string, string> labels) { var client = SecretManagerServiceClient.Create(); var secret = new Secret { SecretName = new SecretName(ProjectId, id), }; foreach (var label in labels) { secret.Labels[label.Key] = label.Value; } var fieldMask = FieldMask.FromString("labels"); var updatedSecret = client.UpdateSecret(secret, fieldMask); return(Ok(updatedSecret)); }
public string GetGoogleClientSecret() { SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Build the resource name. SecretVersionName secretVersionName = new SecretVersionName("protean-bus-312220", "ApiClientId", "3"); // Call the API. AccessSecretVersionResponse result = client.AccessSecretVersion(secretVersionName); // Convert the payload to a string. Payloads are bytes by default. String payload = result.Payload.Data.ToStringUtf8(); dynamic keys = JsonConvert.DeserializeObject(payload); JObject jObject = JObject.Parse(payload); JToken jKey = jObject["Authentication:Google:ClientSecret"].ToString(); return(jKey.ToString()); }
public string GetSecret() { string secretName = "SqlUserSecret"; //string region = Configuration.GetValue<string>("AWSRegion"); var projectId = Configuration.GetValue <string>("projectid"); SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Build the resource name. SecretVersionName secretVersionName = new SecretVersionName(projectId, secretName, "latest"); // Call the API. AccessSecretVersionResponse result = client.AccessSecretVersion(secretVersionName); // Convert the payload to a string. Payloads are bytes by default. String payload = result.Payload.Data.ToStringUtf8(); return(payload); // Your code goes here. }
public static int Main(string[] args) { if (args.Length == 0) { Console.WriteLine("Error: please specify a project ID"); return(1); } string projectId = args[0]; // Create client SecretManagerServiceClient client = SecretManagerServiceClient.Create(); var secrets = client.ListSecrets(new ProjectName(projectId)); foreach (var secret in secrets) { Console.WriteLine(secret.Name); } Console.WriteLine("Smoke test passed OK"); return(0); }
public SecretVersion AddSecretVersion( string projectId = "my-project", string secretId = "my-secret", string data = "my secret data") { // Create the client. SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Build the resource name. SecretName secretName = new SecretName(projectId, secretId); // Convert the payload to bytes. SecretPayload payload = new SecretPayload { Data = ByteString.CopyFrom(data, Encoding.UTF8), }; // Call the API. SecretVersion version = client.AddSecretVersion(secretName, payload); return(version); }
public Secret UpdateSecret(string projectId = "my-project", string secretId = "my-secret") { // Create the client. SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Build the secret with updated fields. Secret secret = new Secret { SecretName = new SecretName(projectId, secretId), }; secret.Labels["secretmanager"] = "rocks"; // Build the field mask. FieldMask fieldMask = FieldMask.FromString("labels"); // Call the API. Secret updatedSecret = client.UpdateSecret(secret, fieldMask); return(updatedSecret); }
public void Quickstart(string projectId = "my-project", string secretId = "my-secret") { // Create the client. SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Build the parent project name. ProjectName projectName = new ProjectName(projectId); // Build the secret to create. Secret secret = new Secret { Replication = new Replication { Automatic = new Replication.Types.Automatic(), }, }; Secret createdSecret = client.CreateSecret(projectName, secretId, secret); // Build a payload. SecretPayload payload = new SecretPayload { Data = ByteString.CopyFrom("my super secret data", Encoding.UTF8), }; // Add a secret version. SecretVersion createdVersion = client.AddSecretVersion(createdSecret.SecretName, payload); // Access the secret version. AccessSecretVersionResponse result = client.AccessSecretVersion(createdVersion.SecretVersionName); // Print the results // // WARNING: Do not print secrets in production environments. This // snippet is for demonstration purposes only. string data = result.Payload.Data.ToStringUtf8(); Console.WriteLine($"Plaintext: {data}"); }
// [END secretmanager_access_secret_version] // [START secretmanager_add_secret_version] /// <summary> /// Add a secret version to the given secret. The given secret must /// already exist. /// </summary> /// <param name="projectId">ID of the project where the secret resides.</param> /// <param name="secretId">ID of the secret.</param> /// <example> /// Add a secret version. /// <code>AddSecretVersion("my-project", "my-secret")</code> /// </example> public static void AddSecretVersion(string projectId, string secretId) { SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Create the secret payload. var payload = "my super secret data"; // Create the request. var request = new AddSecretVersionRequest { ParentAsSecretName = new SecretName(projectId, secretId), Payload = new SecretPayload { Data = ByteString.CopyFrom(payload, Encoding.UTF8), }, }; // Add the secret version. var version = client.AddSecretVersion(request); Console.WriteLine($"Added secret version {version.Name}"); }
public override void Load() { var client = SecretManagerServiceClient.Create(); var clientIdSecretName = new SecretVersionName(GcpProjectId, "Authentication__ClientId", "latest"); var clientId = client.AccessSecretVersion(clientIdSecretName)?.Payload?.Data?.ToStringUtf8(); if (!string.IsNullOrEmpty(clientId)) { _config["Authentication:ClientId"] = clientId; } var clientSecretSecretName = new SecretVersionName(GcpProjectId, "Authentication__ClientSecret", "latest"); var clientSecret = client.AccessSecretVersion(clientSecretSecretName)?.Payload?.Data?.ToStringUtf8(); if (!string.IsNullOrEmpty(clientSecret)) { _config["Authentication:ClientSecret"] = clientSecret; } base.Load(); }
// [END secretmanager_add_secret_version] // [START secretmanager_create_secret] /// <summary> /// Create a new secret in the given project with the given name. /// </summary> /// <param name="projectId">ID of the project in which to create the secret.</param> /// <param name="secretId">ID of the secret.</param> /// <example> /// Create a secret. /// <code>CreateSecret("my-project", "my-secret")</code> /// </example> public static void CreateSecret(string projectId, string secretId) { SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Create the request. var request = new CreateSecretRequest { ParentAsProjectName = new ProjectName(projectId), SecretId = secretId, Secret = new Secret { Replication = new Replication { Automatic = new Replication.Types.Automatic(), }, }, }; // Create the secret. var secret = client.CreateSecret(request); Console.WriteLine($"Created secret {secret.Name}"); }
/// <summary> /// Initializes a new instance of the <see cref="GcpSecretManagerConfigurationProvider"/> class. /// </summary> /// <param name="projectId">GCP project id.</param> /// <param name="secretManagerCredentialsPath">Secret Manager credentials path.</param> public GcpSecretManagerConfigurationProvider( string?projectId, string?secretManagerCredentialsPath) { if (projectId != null && secretManagerCredentialsPath != null) { SecretManagerServiceClientBuilder secretManagerServiceClientBuilder = new(); secretManagerServiceClientBuilder.CredentialsPath = secretManagerCredentialsPath; _client = secretManagerServiceClientBuilder.Build(); } else { try { _client = SecretManagerServiceClient.Create(); } catch (InvalidOperationException ex) { Console.WriteLine(ex.Message); } } _projectId = string.IsNullOrWhiteSpace(projectId) ? GetGcpProjectId() : projectId; }
public Secret CreateSecret( string projectId = "my-project", string secretId = "my-secret") { // Create the client. SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Build the parent resource name. ProjectName projectName = new ProjectName(projectId); // Build the secret. Secret secret = new Secret { Replication = new Replication { Automatic = new Replication.Types.Automatic(), }, }; // Call the API. Secret createdSecret = client.CreateSecret(projectName, secretId, secret); return(createdSecret); }
// [END secretmanager_list_secrets] // [START secretmanager_update_secret] /// <summary> /// Update an existing secret. /// </summary> /// <param name="projectId">ID of the project where the secret resides.</param> /// <param name="secretId">ID of the secret.</param> /// <example> /// Update an existing secret. /// <code>UpdateSecret("my-project", "my-secret")</code> /// </example> public static void UpdateSecret(string projectId, string secretId) { SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Create the secret to update. var secret = new Secret { SecretName = new SecretName(projectId, secretId), }; secret.Labels["secretmanager"] = "rocks"; // Create the request. var request = new UpdateSecretRequest { Secret = secret, UpdateMask = FieldMask.FromString("labels"), }; // Update the secret var updatedSecret = client.UpdateSecret(request); Console.WriteLine($"Updated secret {updatedSecret.Name}"); }
public IConfigurationProvider Build(IConfigurationBuilder builder) { var client = SecretManagerServiceClient.Create(); return(new SecretsManagerConfigurationProvider(client, ProjectName, SecretManager)); }
public SecretsMang() { client = SecretManagerServiceClient.Create(); projectId = "supernova-303818"; }
public SecretManagerConfigurationProvider(SecretManagerServiceClient client, SecretManagerConfigurationSource configurationSource) { this.client = client; projectName = new ProjectName(configurationSource.ProjectName); logger = configurationSource.LoggerFactory.CreateLogger <SecretManagerConfigurationProvider>(); }
public SecretService() { this.client = SecretManagerServiceClient.Create(); }
public GoogleSecretManagerService() { m_logger = LogManager.GetCurrentClassLogger(); m_client = SecretManagerServiceClient.Create(); m_projectId = GoogleComputeEngineHelper.GetCurrentProjectId(); }
private void DisableSecretVersion(SecretVersion version) { SecretManagerServiceClient client = SecretManagerServiceClient.Create(); client.DisableSecretVersion(version.SecretVersionName); }
public static void Main(string[] args) { // GCP project in which to store secrets in Secret Manager. string projectId = "YOUR-PROJECT-ID"; // ID of the secret to create. string secretId = "YOUR-SECRET-ID"; // [END secretmanager_quickstart] if (args.Length > 1) { projectId = args[0]; secretId = args[1]; } // [START secretmanager_quickstart] // Create a Secret Manager client. SecretManagerServiceClient client = SecretManagerServiceClient.Create(); // Create the parent secret. var createSecretRequest = new CreateSecretRequest { ParentAsProjectName = new ProjectName(projectId), SecretId = secretId, Secret = new Secret { Replication = new Replication { Automatic = new Replication.Types.Automatic(), }, }, }; var secret = client.CreateSecret(createSecretRequest); // Add a secret version. var addSecretVersionRequest = new AddSecretVersionRequest { ParentAsSecretName = secret.SecretName, Payload = new SecretPayload { Data = ByteString.CopyFrom("my super secret data", Encoding.UTF8), }, }; var version = client.AddSecretVersion(addSecretVersionRequest); // Access the secret version. var accessSecretVersionRequest = new AccessSecretVersionRequest { SecretVersionName = version.SecretVersionName, }; var result = client.AccessSecretVersion(accessSecretVersionRequest); // Print the results // // WARNING: Do not print secrets in production environments. This // snippet is for demonstration purposes only. string payload = result.Payload.Data.ToStringUtf8(); Console.WriteLine($"Plaintext: {payload}"); }
public SecretsManagerConfigurationProvider(SecretManagerServiceClient secretManagerServiceClient, string projectName, ISecretManager manager) { this.secretManagerServiceClient = secretManagerServiceClient; this.projectName = projectName; this.manager = manager; }
public IConfigurationProvider Build(IConfigurationBuilder builder) { return(new SecretManagerConfigurationProvider(SecretManagerServiceClient.Create(), this)); }
public IActionResult Get() => Ok(SecretManagerServiceClient.Create().ListSecrets(ProjectName));
public virtual SecretManagerServiceClient Create() => SecretManagerServiceClient.Create();