Questa pagina spiega come visualizzare, comprendere e applicare i suggerimenti per i ruoli IAM per i set di dati BigQuery. I suggerimenti sui ruoli ti aiutano ad applicare il principio del privilegio minimo assicurando che le entità dispongano solo delle autorizzazioni di cui hanno effettivamente bisogno.
Prima di iniziare
Enable the IAM and Recommender APIs.
Assicurati di aver attivato il livello Premium o Enterprise di Security Command Center a livello di organizzazione o progetto. Per ulteriori informazioni, consulta la pagina Domande sulla fatturazione.
Informazioni sui suggerimenti sui ruoli.
Configurare l'autenticazione.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Role Viewer (
roles/iam.roleViewer
) sul tuo progetto -
Amministratore motore per suggerimenti IAM (
roles/recommender.iamAdmin
) sul tuo progetto -
BigQuery Data Owner (
roles/bigquery.dataOwner
) sul tuo set di dati -
Per visualizzare i consigli:
-
iam.roles.get
sul tuo progetto -
iam.roles.list
sul tuo progetto -
recommender.iamPolicyRecommendations.get
sul tuo progetto -
recommender.iamPolicyRecommendations.list
sul tuo progetto -
recommender.iamPolicyInsights.get
sul tuo progetto -
recommender.iamPolicyInsights.list
sul tuo progetto -
bigquery.datasets.getIamPolicy
sul tuo set di dati
-
-
Per applicare e ignorare i consigli:
-
recommender.iamPolicyRecommendations.update
sul tuo progetto -
bigquery.datasets.setIamPolicy
sul tuo set di dati
-
LOCATION
: la regione in cui si trovano i set di dati Cloud Storage, ad esempious
ous-central1
.PROJECT_ID
: l'ID del progetto Google Cloud che contiene i tuoi set di dati BigQuery. Gli ID progetto sono stringhe alfanumeriche, comemy-project
.Utilizza il comando
gcloud recommender recommendations mark-claimed
per impostare lo stato del consiglio suCLAIMED,
, in modo che non venga modificato mentre lo applichi:gcloud recommender recommendations mark-claimed \ RECOMMENDATION_ID \ --location=LOCATION \ --recommender=google.iam.policy.Recommender \ --project=PROJECT_ID \ --format=FORMAT \ --etag=ETAG \ --state-metadata=STATE_METADATA
Sostituisci i seguenti valori:
-
RECOMMENDATION_ID
: l'identificatore univoco del suggerimento. Questo valore viene visualizzato alla fine del camponame
nel consiglio. Ad esempio, se il camponame
èprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, l'ID consiglio èfb927dc1-9695-4436-0000-f0f285007c0f
. -
LOCATION
: la regione in cui si trova il set di dati BigQuery, ad esempious
ous-central1
. -
PROJECT_ID
: l'ID del progetto Google Cloud che contiene i tuoi set di dati BigQuery. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. -
FORMAT
: il formato della risposta. Utilizzajson
oyaml
. -
ETAG
: il valore del campoetag
nel consiglio, ad esempio"dd0686e7136a4cbb"
. Tieni presente che questo valore può includere virgolette. -
STATE_METADATA
: (Facoltativo). Coppie chiave-valore separate da virgole che contengono i metadati che hai scelto per il consiglio. Ad esempio,--state-metadata=reviewedBy=alice,priority=high
. I metadati sostituiscono il campostateInfo.stateMetadata
nel suggerimento.
Se il comando ha esito positivo, la risposta mostra il consiglio nello stato
CLAIMED
, come mostrato nell'esempio seguente. Per chiarezza, l'esempio omette la maggior parte dei campi:... "priority": "P1", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "stateInfo": { "state": "CLAIMED" } ...
-
Recupera il criterio di autorizzazione per il set di dati, quindi modifica e imposta il criterio di autorizzazione in modo che rifletta il consiglio.
Aggiorna lo stato del consiglio a
SUCCEEDED
, se sei riuscito ad applicarlo, o aFAILED
, se non sei riuscito ad applicarlo:gcloud recommender recommendations COMMAND \ RECOMMENDATION_ID \ --location=LOCATION \ --recommender=google.iam.policy.Recommender \ --project=PROJECT_ID \ --format=FORMAT \ --etag=ETAG \ --state-metadata=STATE_METADATA
Sostituisci i seguenti valori:
-
COMMAND
: utilizzamark-succeeded
se hai potuto applicare il suggerimento oppuremark-failed
se non hai potuto applicarlo. -
RECOMMENDATION_ID
: l'identificatore univoco del suggerimento. Questo valore viene visualizzato alla fine del camponame
nel consiglio. Ad esempio, se il camponame
èprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, l'ID consiglio èfb927dc1-9695-4436-0000-f0f285007c0f
. -
LOCATION
: la regione in cui si trova il set di dati BigQuery, ad esempious
ous-central1
. -
PROJECT_ID
: l'ID del progetto Google Cloud che contiene i tuoi set di dati BigQuery. Gli ID progetto sono stringhe alfanumeriche, comemy-project
. -
FORMAT
: il formato della risposta. Utilizzajson
oyaml
. -
ETAG
: il valore del campoetag
nel consiglio, ad esempio"dd0686e7136a4cbb"
. Tieni presente che questo valore può includere virgolette. -
STATE_METADATA
: (Facoltativo). Coppie chiave-valore separate da virgole che contengono i metadati che hai scelto per il consiglio. Ad esempio,--state-metadata=reviewedBy=alice,priority=high
. I metadati sostituiscono il campostateInfo.stateMetadata
nel suggerimento.
Ad esempio, se hai contrassegnato il consiglio come riuscito, la risposta mostra il consiglio nello stato
SUCCEEDED
. Per chiarezza, questo esempio omette la maggior parte dei campi:... "priority": "P1", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "stateInfo": { "state": "SUCCEEDED" } ...
-
PROJECT_ID
: l'ID del progettoGoogle Cloud che contiene i tuoi set di dati BigQuery. Gli ID progetto sono stringhe alfanumeriche, comemy-project
.LOCATION
: la regione in cui si trovano i tuoi set di dati BigQuery, ad esempious
ous-central1
.-
PAGE_SIZE
: (Facoltativo). Il numero massimo di risultati da restituire da questa richiesta. Se non specificato, il server determinerà il numero di risultati da restituire. Se il numero di consigli è maggiore della dimensione della pagina, la risposta contiene un token di paginazione che puoi utilizzare per recuperare la pagina successiva dei risultati. -
PAGE_TOKEN
: (Facoltativo). Il token di paginazione restituito in una risposta precedente <0A> da questo metodo. Se specificato, l'elenco dei consigli inizierà dal punto in cui terminava la richiesta precedente. PROJECT_ID
: il tuo ID progetto Google Cloud . Gli ID progetto sono stringhe alfanumeriche, comemy-project
.Contrassegna il suggerimento come
CLAIMED
:Per contrassegnare un consiglio come
CLAIMED
, in modo che non venga modificato durante l'applicazione, utilizza il metodorecommendations.markClaimed
dell'API Recommender.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l'ID del progettoGoogle Cloud che contiene i tuoi set di dati BigQuery. Gli ID progetto sono stringhe alfanumeriche, comemy-project
.LOCATION
: la regione in cui si trova il set di dati BigQuery, ad esempious
ous-central1
.RECOMMENDATION_ID
: l'identificatore univoco per il suggerimento. Questo valore viene visualizzato alla fine del camponame
nel consiglio. Ad esempio, se il camponame
èprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, l'ID consiglio èfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: il valore del campoetag
nel consiglio, ad esempio"dd0686e7136a4cbb"
. Utilizza le barre rovesciate per eseguire l'escape delle virgolette, ad esempio"\"df7308cca9719dcc\""
.STATE_METADATA
: (Facoltativo). Un oggetto che contiene coppie chiave-valore con i metadati che preferisci sul consiglio. Ad esempio,{"reviewedBy": "alice", "priority": "high"}
. I metadati sostituiscono il campostateInfo.stateMetadata
nel suggerimento.
Metodo HTTP e URL:
POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markClaimed
Corpo JSON della richiesta:
{ "etag": "ETAG", "stateMetadata": { "STATE_METADATA" } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta mostra il suggerimento nello stato
CLAIMED
, come mostrato nel seguente esempio. Per chiarezza, questo esempio omette la maggior parte dei campi:... "stateInfo": { "state": "CLAIMED" }, "etag": "\"7caf4103d7669e12\"", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", ...
Ottieni la policy di autorizzazione per il progetto, quindi modifica la policy di autorizzazione in modo che rifletta il consiglio.
Aggiorna lo stato del consiglio a
SUCCEEDED
, se sei riuscito ad applicarlo, o aFAILED
, se non sei riuscito ad applicarlo:SUCCEEDED
Per contrassegnare un consiglio come
SUCCEEDED
, indicando che sei riuscito ad applicarlo, utilizza il metodorecommendations.markSucceeded
dell'API Recommender.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l'ID del progettoGoogle Cloud che contiene i tuoi set di dati BigQuery. Gli ID progetto sono stringhe alfanumeriche, comemy-project
.LOCATION
: la regione in cui si trova il set di dati BigQuery, ad esempious
ous-central1
.RECOMMENDATION_ID
: l'identificatore univoco per il suggerimento. Questo valore viene visualizzato alla fine del camponame
nel consiglio. Ad esempio, se il camponame
èprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, l'ID consiglio èfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: il valore del campoetag
nel consiglio, ad esempio"dd0686e7136a4cbb"
. Utilizza le barre rovesciate per eseguire l'escape delle virgolette, ad esempio"\"df7308cca9719dcc\""
.STATE_METADATA
: (Facoltativo). Un oggetto che contiene coppie chiave-valore con i metadati che preferisci sul consiglio. Ad esempio,{"reviewedBy": "alice", "priority": "high"}
. I metadati sostituiscono il campostateInfo.stateMetadata
nel suggerimento.
Metodo HTTP e URL:
POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markSucceeded
Corpo JSON della richiesta:
{ "etag": "ETAG", "stateMetadata": { "STATE_METADATA" } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta mostra il suggerimento nello stato
SUCCEEDED
, come mostrato nel seguente esempio. Per chiarezza, questo esempio omette la maggior parte dei campi:... "stateInfo": { "state": "SUCCEEDED" }, "etag": "\"7caf4103d7669e12\"", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", ...
FAILED
Per contrassegnare un consiglio come
FAILED
, indicando che non è stato possibile applicarlo, utilizza il metodorecommendations.markFailed
dell'API Recommender.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l'ID del progettoGoogle Cloud che contiene i tuoi set di dati BigQuery. Gli ID progetto sono stringhe alfanumeriche, comemy-project
.LOCATION
: la regione in cui si trova il set di dati BigQuery, ad esempious
ous-central1
.RECOMMENDATION_ID
: l'identificatore univoco per il suggerimento. Questo valore viene visualizzato alla fine del camponame
nel consiglio. Ad esempio, se il camponame
èprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
, l'ID consiglio èfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: il valore del campoetag
nel consiglio, ad esempio"dd0686e7136a4cbb"
. Utilizza le barre rovesciate per eseguire l'escape delle virgolette, ad esempio"\"df7308cca9719dcc\""
.STATE_METADATA
: (Facoltativo). Un oggetto che contiene coppie chiave-valore con i metadati che preferisci sul consiglio. Ad esempio,{"reviewedBy": "alice", "priority": "high"}
. I metadati sostituiscono il campostateInfo.stateMetadata
nel suggerimento.
Metodo HTTP e URL:
POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID:markFailed
Corpo JSON della richiesta:
{ "etag": "ETAG", "stateMetadata": { "STATE_METADATA" } }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta mostra il suggerimento nello stato
FAILED
, come mostrato nel seguente esempio. Per chiarezza, questo esempio omette la maggior parte dei campi:... "stateInfo": { "state": "FAILED" }, "etag": "\"7caf4103d7669e12\"", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", ...
- Copia l'ID dell'approfondimento associato. L'ID è tutto ciò che segue
insights/
nel campoinsight
. Ad esempio, se il campoinsight
indicaprojects/123456789012/locations/us/insightTypes/google.iam.policy.Insight/insights/7849add9-73c0-419e-b169-42b3671173fb
, l'ID approfondimento è7849add9-73c0-419e-b169-42b3671173fb
. - Segui le istruzioni per ottenere un approfondimento sulle norme utilizzando l'ID approfondimento che hai copiato.
- Scopri di più su Recommender.
- Scopri come utilizzare consenti approfondimenti sulle norme per i set di dati BigQuery.
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Ruoli IAM richiesti
Per ottenere le autorizzazioni necessarie per gestire i suggerimenti sui ruoli a livello di set di dati, chiedi all'amministratore di concederti i seguenti ruoli IAM:
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per gestire i suggerimenti sui ruoli a livello di set di dati. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per gestire i suggerimenti sui ruoli a livello di set di dati sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Revisione e applicazione dei suggerimenti
Puoi esaminare e applicare i consigli sui ruoli a livello di set di dati con Google Cloud CLI e l'API Recommender.
gcloud
Esamina i consigli:
Per elencare i suggerimenti a livello di set di dati, esegui il comando
gcloud recommender recommendations list
, filtrando solo i suggerimenti per i set di dati BigQuery:gcloud recommender recommendations list \ --location=LOCATION \ --recommender=google.iam.policy.Recommender \ --project=PROJECT_ID \ --format=json \ --filter="recommenderSubtype:REMOVE_ROLE_BIGQUERY_DATASET OR recommenderSubtype:REPLACE_ROLE_BIGQUERY_DATASET"
Sostituisci i seguenti valori:
La risposta è simile al seguente esempio. In questo esempio, tutti gli utenti con il ruolo Editor nel progetto
my-project
(projectEditor:my-project
) hanno il ruolo Editor dati BigQuery (roles/bigquery.dataEditor
) nel set di datidataset-1
. Tuttavia, questo ruolo non è stato utilizzato negli ultimi 90 giorni. Di conseguenza, il suggerimento per il ruolo consiglia di revocare il ruolo:[ { "associatedInsights": [ { "insight": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/984eccca-0241-472f-baab-2557dd0d7282" } ], "content": { "operationGroups": [ { "operations": [ { "action": "remove", "path": "/iamPolicy/bindings/*/members/*", "pathFilters": { "/iamPolicy/bindings/*/condition/expression": "", "/iamPolicy/bindings/*/members/*": "projectEditor:my-project", "/iamPolicy/bindings/*/role": "roles/bigquery.dataEditor" }, "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1", "resourceType": "bigquery.googleapis.com/Dataset" } ] } ], "overview": { "addedRoles": [], "member": "projectEditor:my-project", "minimumObservationPeriodInDays": "0", "removedRole": "roles/bigquery.dataEditor", "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" } }, "description": "This role has not been used during the observation window.", "etag": "\"3b123bc08d028128\"", "lastRefreshTime": "2024-02-04T08:00:00Z", "name": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/0e9831fe-6810-476b-b14d-2b64bda17288", "primaryImpact": { "category": "SECURITY", "securityProjection": { "details": { "revokedIamPermissionsCount": 37 } } }, "priority": "P4", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "stateInfo": { "state": "ACTIVE" }, "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" ] }, { "associatedInsights": [ { "insight": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/9d11057e-9c71-410f-ad55-fc82d87761d0" } ], "content": { "operationGroups": [ { "operations": [ { "action": "remove", "path": "/iamPolicy/bindings/*/members/*", "pathFilters": { "/iamPolicy/bindings/*/condition/expression": "", "/iamPolicy/bindings/*/members/*": "user:alicexz@google.com", "/iamPolicy/bindings/*/role": "roles/bigquery.dataOwner" }, "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1", "resourceType": "bigquery.googleapis.com/Dataset" } ] } ], "overview": { "addedRoles": [], "member": "user:alicexz@google.com", "minimumObservationPeriodInDays": "0", "removedRole": "roles/bigquery.dataOwner", "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" } }, "description": "This role has not been used during the observation window.", "etag": "\"1da285f7aa6438f1\"", "lastRefreshTime": "2024-02-04T08:00:00Z", "name": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/56013294-cf81-402a-8cde-25489545777c", "primaryImpact": { "category": "SECURITY", "securityProjection": { "details": { "revokedIamPermissionsCount": 64 } } }, "priority": "P4", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "stateInfo": { "state": "ACTIVE" }, "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" ] } ]
Esamina attentamente ogni consiglio e valuta in che modo cambierà l'accesso dell'entità alle risorse Google Cloud . Per scoprire come esaminare i suggerimenti da gcloud CLI, consulta la sezione Esaminare i suggerimenti in questa pagina.
Per applicare un consiglio:
REST
Esamina i consigli:
Per elencare tutti i suggerimenti disponibili per i tuoi set di dati BigQuery, utilizza il metodo
recommendations.list
dell'API Recommender.Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
Metodo HTTP e URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/google.iam.policy.Recommender/recommendations?filter=recommenderSubtype%20%3D%20REMOVE_ROLE_BIGQUERY_DATASET%20OR%20recommenderSubtype%20%3D%20REPLACE_ROLE_BIGQUERY_DATASET&pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN
Per inviare la richiesta, espandi una di queste opzioni:
La risposta è simile al seguente esempio. In questo esempio, tutti gli utenti con il ruolo Editor nel progetto `my-project` (
projectEditor:my-project
) hanno il ruolo Editor dati BigQuery (roles/bigquery.dataEditor
) nel set di datidataset-1
. Tuttavia, questo ruolo non è stato utilizzato negli ultimi 90 giorni. Di conseguenza, il suggerimento per il ruolo consiglia di revocare il ruolo:{ "recommendations": [ { "name": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/0e9831fe-6810-476b-b14d-2b64bda17288", "description": "This role has not been used during the observation window.", "lastRefreshTime": "2024-02-02T08:00:00Z", "primaryImpact": { "category": "SECURITY", "securityProjection": { "details": { "revokedIamPermissionsCount": 37 } } }, "content": { "operationGroups": [ { "operations": [ { "action": "remove", "resourceType": "bigquery.googleapis.com/Dataset", "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1", "path": "/iamPolicy/bindings/*/members/*", "pathFilters": { "/iamPolicy/bindings/*/condition/expression": "", "/iamPolicy/bindings/*/members/*": "projectEditor:my-project", "/iamPolicy/bindings/*/role": "roles/bigquery.dataEditor" } } ] } ], "overview": { "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1", "member": "projectEditor:my-project", "removedRole": "roles/bigquery.dataEditor", "addedRoles": [], "minimumObservationPeriodInDays": "0" } }, "stateInfo": { "state": "ACTIVE" }, "etag": "\"d008ad3780bad5e0\"", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "associatedInsights": [ { "insight": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/984eccca-0241-472f-baab-2557dd0d7282" } ], "priority": "P4", "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" ] } ] }
Esamina attentamente ogni consiglio e valuta in che modo cambierà l'accesso dell'entità alle risorse Google Cloud . Per scoprire come esaminare i suggerimenti dall'API REST, consulta la sezione Esaminare i suggerimenti in questa pagina.
Per applicare un consiglio:
Informazioni sui consigli
Ogni consiglio include informazioni per aiutarti a capire perché è stato formulato.
Per dettagli sui campi di un suggerimento, consulta la documentazione di riferimento di
Recommendation
.Per visualizzare l'utilizzo delle autorizzazioni su cui si basa questo suggerimento, visualizza gli insight sui criteri associati al suggerimento. Questi approfondimenti sono elencati nel campo
associatedInsights
. Per visualizzare un approfondimento sulle norme associato al consiglio, segui questi passaggi:Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-15 UTC.
-
Role Viewer (