Ottieni criterio IAM

Recupera il criterio IAM.

Esempio di codice

Go

Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Data Catalog utilizzando le librerie client. Per scoprire di più, consulta la documentazione di riferimento per l'API Go Data Catalog.

Per eseguire l'autenticazione su Data Catalog, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

import (
	"context"
	"fmt"
	"io"
	"strings"

	datacatalog "cloud.google.com/go/datacatalog/apiv1beta1"
	iampb "google.golang.org/genproto/googleapis/iam/v1"
)

// getIAMPolicy prints information about the IAM policy associated with a
// given taxonomy or policy tag resource.
func getIAMPolicy(w io.Writer, resourceID string) error {
	// resourceID := "projects/myproject/locations/us/taxonomies/1234"
	ctx := context.Background()
	policyClient, err := datacatalog.NewPolicyTagManagerClient(ctx)
	if err != nil {
		return fmt.Errorf("datacatalog.NewPolicyTagManagerClient: %w", err)
	}
	defer policyClient.Close()

	req := &iampb.GetIamPolicyRequest{
		Resource: resourceID,
		Options: &iampb.GetPolicyOptions{
			RequestedPolicyVersion: 3,
		},
	}
	policy, err := policyClient.GetIamPolicy(ctx, req)
	if err != nil {
		return fmt.Errorf("GetIamPolicy: %w", err)
	}
	fmt.Fprintf(w, "Policy has version %d with Etag %x and %d bindings\n", policy.Version, policy.Etag, len(policy.Bindings))
	if len(policy.Bindings) > 0 {
		for _, binding := range policy.Bindings {
			fmt.Fprintf(w, "\trole %s with %d members: (%s)\n", binding.Role, len(binding.Members), strings.Join(binding.Members, ", "))
		}
	}
	return nil
}

Passaggi successivi

Per cercare e filtrare esempi di codice per altri prodotti Google Cloud, consulta il browser di esempio Google Cloud.