access

package
v0.0.0-...-d2a7055 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 4, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BigQuery

type BigQuery interface {
	DeleteJoinableDataset(ctx context.Context, datasetID string) error
	DeleteJoinableView(ctx context.Context, joinableViewName, refProjectID, refDatasetID, refTableID string) error
	DeletePseudoView(ctx context.Context, pseudoProjectID, pseudoDatasetID, pseudoTableID string) error
}

type Bigquery

type Bigquery struct{}

func NewBigquery

func NewBigquery() *Bigquery

func (Bigquery) AddToAuthorizedViews

func (b Bigquery) AddToAuthorizedViews(ctx context.Context, srcProjectID, srcDataset, sinkProjectID, sinkDataset, sinkTable string) error

func (Bigquery) Grant

func (b Bigquery) Grant(ctx context.Context, projectID, datasetID, tableID, member string) error

func (Bigquery) HasAccess

func (b Bigquery) HasAccess(ctx context.Context, projectID, datasetID, tableID, member string) (bool, error)

func (Bigquery) Revoke

func (b Bigquery) Revoke(ctx context.Context, projectID, datasetID, tableID, member string) error

type Ensurer

type Ensurer struct {
	// contains filtered or unexported fields
}

func NewEnsurer

func NewEnsurer(repo Repo, r Revoker, bq BigQuery, googleGroups *auth.GoogleGroupClient, centralDataProject string, errs *prometheus.CounterVec, log *logrus.Entry) *Ensurer

func (*Ensurer) Run

func (e *Ensurer) Run(ctx context.Context, frequency time.Duration)

type Noop

type Noop struct{}

func NewNoop

func NewNoop() *Noop

func (Noop) AddToAuthorizedViews

func (a Noop) AddToAuthorizedViews(ctx context.Context, srcProjectID, srcDataset, sinkProjectID, sinkDataset, sinkTable string) error

func (Noop) Grant

func (a Noop) Grant(ctx context.Context, projectID, datasetID, tableID, member string) error

func (Noop) HasAccess

func (a Noop) HasAccess(ctx context.Context, projectID, datasetID, tableID, member string) (bool, error)

func (Noop) Revoke

func (a Noop) Revoke(ctx context.Context, projectID, datasetID, tableID, member string) error

type Repo

type Repo interface {
	RevokeAccessToDataset(ctx context.Context, id uuid.UUID) error
	GetBigqueryDatasource(ctx context.Context, dataproductID uuid.UUID, isReference bool) (models.BigQuery, error)
	GetUnrevokedExpiredAccess(ctx context.Context) ([]*models.Access, error)
	GetJoinableViewsWithReference(ctx context.Context) ([]gensql.GetJoinableViewsWithReferenceRow, error)
	ListActiveAccessToDataset(ctx context.Context, datasetID uuid.UUID) ([]*models.Access, error)
	GetOwnerGroupOfDataset(ctx context.Context, datasetID uuid.UUID) (string, error)
	SetJoinableViewDeleted(ctx context.Context, id uuid.UUID) error
	GetJoinableViewsToBeDeletedWithRefDatasource(ctx context.Context) ([]gensql.GetJoinableViewsToBeDeletedWithRefDatasourceRow, error)
	GetPseudoDatasourcesToDelete(ctx context.Context) ([]*models.BigQuery, error)
	SetDatasourceDeleted(ctx context.Context, id uuid.UUID) error
}

type Revoker

type Revoker interface {
	Grant(ctx context.Context, projectID, dataset, table, member string) error
	Revoke(ctx context.Context, projectID, dataset, table, member string) error
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL