Collegare i servizi alle app
Collegate le vostre applicazioni o strumenti di terze parti ai servizi di IBM Cloud generando un nuovo set di credenziali di servizio. Queste credenziali fungono da ponte tra la vostra applicazione, sia essa ospitata su IBM Cloud® o su una piattaforma esterna come AWS, e il servizio IBM Cloud® che volete utilizzare. Ad esempio, se si sta integrando un'applicazione ospitata da AWS con watsonx Assistant, si genera una credenziale di servizio che fornisce l'accesso necessario. Quindi, è possibile aggiungerlo alla configurazione dell'applicazione per stabilire la connessione.
Per aggiungere le credenziali alle vostre applicazioni, consultate la documentazione relativa al tipo di applicazione o all'opzione di calcolo che state utilizzando.
Creazione di una credenziale di servizio
Le credenziali che possono essere visualizzate una sola volta devono essere salvate in modo sicuro per poterle recuperare in seguito. Le credenziali esistenti non sono interessate da questa proprietà. Per ulteriori informazioni, vedere Credenziali una tantum.
I servizi gestiti da IBM Cloud Identity and Access Management (IAM) possono generare una chiave della risorsa, nota anche come credenziale. Le credenziali sono specifiche del servizio e variano in base a come ogni servizio definisce le credenziali che deve generare. Una credenziale può contenere un nome utente, una password, un hostname, una porta e un URL, tuttavia il contenuto di ogni credenziale è unico per il servizio che la genera.
Alcuni servizi possono generare ulteriori dati che richiedono la trasmissione di parametri. Ad esempio, un servizio potrebbe richiederti di immettere un parametro lingua per impostare la lingua predefinita restituita nella chiave della risorsa generata.
Le credenziali una tantum sono disattivate per impostazione predefinita per tutti i servizi che supportano le credenziali di servizio (note anche come chiavi di risorsa). Per ulteriori informazioni sui servizi che supportano le credenziali di servizio, vedere Servizi supportati di IBM Cloud.
Per aggiungere le credenziali al servizio:
Completare i seguenti passaggi per aggiungere una credenziale a un servizio:
-
Dall'elenco delle risorse, selezionare il nome del servizio per aprire la pagina dei dettagli del servizio.
-
Fai clic su Credenziali del servizio.
-
Controllare l'impostazione Visualizzazione una tantum, che determina se è possibile recuperare i valori delle chiavi delle risorse in un secondo momento.
-
Impostare su On o Off a seconda del caso d'uso. Gli utenti con ruolo di amministratore sull'istanza della risorsa possono gestire questa impostazione utilizzando l'API Resource Controller.
Impostare su On per garantire la conformità alle best practice e alle normative di sicurezza, come PCI DSS, impedendo l'accesso condiviso alle credenziali.
-
-
Fare clic su Crea credenziale.
-
Inserire un nome.
-
Assegnare un ruolo di accesso al servizio IAM. Per ulteriori informazioni sui ruoli, vedere IBM Cloud Ruoli IAM.
- Specificare
Noneper non assegnare alcun ruolo alla nuova credenziale se si desidera gestire l'accesso associando un ID di servizio nuovo o esistente alla credenziale di servizio.
- Specificare
-
(Facoltativo) Selezionare un ID servizio esistente o Creare un nuovo ID servizio da associare alla credenziale. In questo modo, è possibile gestire l'accesso direttamente all'interno di IAM, andando su Gestione > Accesso (IAM) > ID servizio. Per ulteriori informazioni, vedi Creazione e gestione degli ID servizio.
Per i servizi che hanno un accesso alle risorse a grana più fine, si potrebbe voler usare un ID servizio per concedere l'accesso solo a una sotto-risorsa, come un bucket Object Storage.
-
Fare clic su Opzioni avanzate per fornire altri parametri come un oggetto JSON valido che contiene parametri di configurazione specifici del servizio, forniti in linea o in un file.
La maggior parte dei servizi non richiede ulteriori parametri, e per i servizi che li richiedono, ognuno di essi definisce il proprio elenco di parametri univoco. Per un elenco dei parametri di configurazione supportati, consultare la documentazione del servizio specifico.
-
Fare clic su Crea per generare la nuova credenziale di servizio.
Le credenziali del servizio sono di sola lettura. L'utente può copiare o scaricare le credenziali.
-
Se la credenziale è impostata sulla visualizzazione unica, non può essere visualizzata nuovamente.
-
Espandere i dettagli della nuova credenziale di servizio. Copiare le proprietà delle credenziali di cui l'applicazione o l'utente esterno ha bisogno. Ad esempio, la chiave o la password API e URL.
Creare una credenziale di servizio utilizzando l'API
Le credenziali che possono essere visualizzate una sola volta devono essere salvate in modo sicuro per poterle recuperare in seguito. Le credenziali esistenti non sono interessate da questa proprietà. Per ulteriori informazioni, vedere Credenziali una tantum.
IBM Cloud i servizi possono generare una chiave di risorsa, nota anche come credenziale. Le credenziali sono specifiche del servizio e variano in base a come ogni servizio definisce le credenziali che deve generare. Una credenziale può contenere un nome utente, una password, un hostname, una porta e un URL, tuttavia il contenuto di ogni credenziale è unico per il servizio che la genera.
Alcuni servizi possono generare ulteriori dati che richiedono la trasmissione di parametri. Ad esempio, un servizio potrebbe richiederti di immettere un parametro lingua per impostare la lingua predefinita restituita nella chiave della risorsa generata.
È possibile assegnare un ruolo di accesso al servizio IAM alle nuove credenziali generate per un servizio IBM Cloud. Questo ruolo garantisce l'accesso all'intera istanza del servizio, non a una risorsa specifica. Per i servizi che hanno un accesso alle risorse a grana più fine, si potrebbe voler concedere l'accesso solo a una sotto-risorsa, come ad esempio un bucket Object Storage. In questo caso, non assegnare alcun ruolo alla nuova credenziale. In questo modo, è possibile gestire l'accesso a grana fine associando la credenziale a un ID di servizio e creare un criterio IAM che si applica a una risorsa specifica, come un bucket. Per farlo, andare su Gestione > Accesso (IAM) > ID servizio. Selezionare l'ID del servizio con lo stesso nome della chiave credenziale del servizio e fare clic su Assegna accesso.
Per creare una chiave di risorsa, richiama l'API del controller di risorse come mostrato nel seguente esempio:
curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_keys -H 'Authorization: Bearer <IAM_TOKEN>' -H 'Content-Type: application/json' -d '{
"name": "my-instance-key-1",
"source": "267bf377-7fa2-43f6-94ec-09103a8e89d4",
"role": "Writer"
}'
ResourceKeyPostParameters parameters = new ResourceKeyPostParameters.Builder()
.add("exampleParameter", "exampleValue")
.build();
CreateResourceKeyOptions createResourceKeyOptions = new CreateResourceKeyOptions.Builder()
.name(keyName)
.source(instanceGuid)
.parameters(parameters)
.build();
Response<ResourceKey> response = service.createResourceKey(createResourceKeyOptions).execute();
ResourceKey resourceKey = response.getResult();
System.out.printf("createResourceKey() response:\n%s\n", resourceKey.toString());
const parameters = {
'exampleParameter': 'exampleValue'
};
const params = {
name: keyName,
source: instanceGuid,
parameters: parameters,
};
resourceControllerService.createResourceKey(params)
.then(res => {
instanceKeyGuid = res.result.guid;
console.log('createResourceKey() response:\n' + JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
parameters = {
'exampleParameter': 'exampleValue'
}
resource_key = resource_controller_service.create_resource_key(
name=key_name,
source=instance_guid,
parameters=parameters
).get_result()
print('\ncreate_resource_key() response:\n',
json.dumps(resource_key, indent=2))
createResourceKeyOptions := resourceControllerService.NewCreateResourceKeyOptions(
keyName,
instanceGUID,
)
parameters := &resourcecontrollerv2.ResourceKeyPostParameters{}
parameters.SetProperty("exampleParameter", "exampleValue")
createResourceKeyOptions.SetParameters(parameters)
resourceKey, response, err := resourceControllerService.CreateResourceKey(createResourceKeyOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(resourceKey, "", " ")
fmt.Printf("\nCreateResourceKey() response:\n%s\n", string(b))
Utilizzare la chiave API o altre proprietà di credenziali per connettere l'istanza del servizio alla propria applicazione o ad altri utenti esterni.
Creare una credenziale di servizio utilizzando Terraform
Le credenziali che possono essere visualizzate una sola volta devono essere salvate in modo sicuro per poterle recuperare in seguito. Le credenziali esistenti non sono interessate da questa proprietà. Per ulteriori informazioni, vedere Credenziali una tantum.
Una credenziale può contenere un nome utente, una password, un hostname, una porta e un URL, tuttavia il contenuto di ogni credenziale è unico per il servizio che genera it.Before è possibile creare una credenziale per connettere la propria applicazione o un consumatore esterno a un servizio IBM Cloud utilizzando Terraform, assicurandosi di aver completato quanto segue:
- Installa la CLI Terraform e configurare il plug-in del provider IBM Cloud per Terraform. Per ulteriori informazioni, vedi l'esercitazione per Introduzione a Terraform su IBM Cloud®. Il plug-in astrae le API IBM Cloud utilizzate per completare questa attività.
- Creare un file di configurazione di Terraform chiamato
main.tf. In questo file, si definiscono le risorse utilizzando il linguaggio di configurazione HashiCorp. Per ulteriori informazioni, vedi la documentazione Terraform.
Utilizzare i seguenti passaggi per creare una credenziale per connettere l'applicazione o il consumatore esterno a un servizio IBM Cloud:
-
Creare un argomento nel file
main.tf. Il seguente esempio crea le credenziali per una risorsa senza un ID servizio utilizzando la risorsaibm_resource_instance, dovenameè un nome univoco per identificare la credenziale.data "ibm_resource_instance" "resource_instance" { name = "myobjectsotrage" } resource "ibm_resource_key" "resourceKey" { name = "myobjectkey" role = "Viewer" resource_instance_id = data.ibm_resource_instance.resource_instance.id //User can increase timeouts timeouts { create = "15m" delete = "15m" } }Per impostazione predefinita, la risorsa
ibm_resource_keycrea le credenziali del servizio che utilizzano l'endpoint del servizio pubblico di un servizioPuoi specificare
tagsassociato all'istanza del gruppo di risorse. Per ulteriori informazioni, consulta i dettagli di riferimento dell'argomento nella pagina Terraform Resource Management. -
Dopo aver terminato la creazione del file di configurazione, inizializza la CLI Terraform. Per ulteriori informazioni, consultare la sezione Inizializzazione delle directory di lavoro.
terraform init -
Eseguire il provisioning delle risorse dal file
main.tf. Per ulteriori informazioni, vedi Provisioning dell'infrastruttura con Terraform.-
Eseguire
terraform planper generare un piano di esecuzione Terraform per visualizzare in anteprima le azioni proposte.terraform plan -
Eseguire
terraform applyper creare le risorse definite nel piano.terraform apply
-
Utilizzare la chiave API o altre proprietà di credenziali per connettere l'istanza del servizio alla propria applicazione o ad altri utenti esterni.
Visualizzazione di una credenziale tramite Terraform
È possibile recuperare una credenziale dopo la creazione solo se onetime_credentials è false per quella credenziale. Gli utenti con il seguente accesso sull'istanza della risorsa possono visualizzare i valori delle
chiavi di servizio per le credenziali che hanno onetime_credentials configurato su false.
- Utenti con accesso all'istanza del servizio uguale o superiore all'accesso della credenziale del servizio. Per ulteriori informazioni, vedere Accesso a livello di credenziale.
- Utenti con il ruolo di amministratore sull'istanza del servizio
- Utenti con l'azione IAM
resource-controller.credential.retrieve_all. Questa azione viene fornita con il ruolo di amministratore.
Per visualizzare una credenziale esistente per un servizio, completa la seguente procedura:
-
Creare un argomento nel file
main.tf. L'esempio seguente recupera una credenziale esistente per una risorsa. Per ulteriori informazioni, vedere la documentazione di ibm_resource_key Terraform.data "ibm_resource_key" "resourceKeydata" { name = "myobjectKey" resource_instance_id = ibm_resource_instance.resource.id } -
Dopo aver terminato la creazione del file di configurazione, inizializza la CLI Terraform. Per ulteriori informazioni, consultare la sezione Inizializzazione delle directory di lavoro.
terraform init -
Eseguire il provisioning delle risorse dal file
main.tf. Per ulteriori informazioni, vedi Provisioning dell'infrastruttura con Terraform.-
Eseguire
terraform planper generare un piano di esecuzione Terraform per visualizzare in anteprima le azioni proposte.terraform plan -
Eseguire
terraform applyper creare le risorse definite nel piano.terraform apply
-
Credenziali una tantum
Un'istanza di risorsa ha una proprietà onetime_credentials che determina se le credenziali create per quell'istanza sono viste una tantum. L'impostazione dell'istanza al momento della creazione determina come viene impostata la
proprietà per ogni credenziale e non può essere modificata successivamente.
-
Se questa proprietà è impostata su
false, la credenziale può essere recuperata in qualsiasi momento dagli utenti con accesso. Per ulteriori informazioni sul recupero di una credenziale, consultare la documentazione Terraform ibm_resource_key. -
Se questa proprietà è impostata su
true, è possibile visualizzare la credenziale solo al momento della creazioneSalvate le credenziali di visualizzazione una tantum in modo sicuro utilizzando un gestore di segreti, un gestore di password o un sistema di archiviazione sicuro, come Object Storage, nella vostra applicazione per evitarne la perdita.
Abilitare la visualizzazione una tantum delle istanze di servizio per allinearsi al modello di minor privilegio ed evitare l'accesso condiviso alle credenziali. Le chiavi condivise possono rendere difficile la verifica delle modalità di accesso alle risorse da parte delle identità dell'account.
Gestione dell'impostazione della vista una tantum per un'istanza di risorsa
Gli utenti con il ruolo di amministratore o l'azione IAM resource-controller.instance.update_onetime_credential_off sull'istanza di servizio possono gestire l'impostazione di visualizzazione una tantum per un'istanza di risorsa.
{
"displayName": {
"default": "Resource Instance Update Onetime Credential Off"
},
"description": {
"default": "The ability to change onetime_credential from On to Off for existing instances."
},
"id": "resource-controller.instance.update_onetime_credential_off",
"roles": [
"crn:v1:bluemix:public:iam::::role:Administrator"
],
"apiTypes": [
"crn:v1:bluemix:public:context-based-restrictions::::platform-api-type:resource-management"
]
}
Per ulteriori informazioni, consultare la documentazione Terraform di ibm_resource_instance per aggiornare onetime_credentials proprietà.
Quando si modifica l'impostazione di un'istanza, le credenziali esistenti mantengono l'impostazione che avevano al momento della creazione.
Accesso a livello di credenziale
L'accesso dell'utente deve essere uguale o superiore all'accesso della credenziale del servizio. Ad esempio, se la credenziale ha il ruolo di servizio IAM Writer, l'utente che sta cercando di visualizzare la credenziale deve avere
assegnato il ruolo di servizio IAM Writer o Manager per quel particolare servizio. Quando un utente non ha l'accesso corretto, i dettagli, come il valore della chiave API, vengono cancellati:
"credentials": {
"REDACTED": "REDACTED"
},
Accesso a livello IAM
Quando l'accesso a livello di credenziale non può essere determinato confrontando l'accesso dell'utente e della credenziale, la credenziale viene revisionata:
"credentials": {
"REDACTED": "REDACTED_EXPLICIT"
},
Visualizzazione di una credenziale
Dopo aver creato una credenziale per un servizio che ha onetime_credentials configurato a false, è possibile visualizzarla in qualsiasi momento per gli utenti che necessitano dei valori della credenziale. Tuttavia,
tutti gli utenti devono avere il livello di accesso corretto per vedere i dettagli di una credenziale che include il valore della chiave API. È possibile recuperare una credenziale dopo la sua creazione solo se la visualizzazione una tantum
è disattivata per quella credenziale. Gli utenti con il seguente accesso all'istanza della risorsa possono visualizzare i valori delle chiavi di servizio per le credenziali con la visualizzazione una tantum disattivata.
- Utenti con accesso all'istanza del servizio uguale o superiore all'accesso della credenziale del servizio. Per ulteriori informazioni, vedere Accesso a livello di credenziale.
- Utenti con il ruolo di amministratore sull'istanza del servizio.
- Utenti con l'azione IAM
resource-controller.credential.retrieve_all. Questa azione viene fornita con il ruolo di amministratore.
Per visualizzare una credenziale esistente per un servizio, completa la seguente procedura:
- Dalla pagina dell'elenco delle risorse, selezionare il nome del servizio per aprire la pagina dei dettagli del servizio.
- Fai clic su Credenziali del servizio.
- Espandi Visualizza credenziali sulla riga di una credenziale esistente.
Credenziali una tantum
La credenziale ha una proprietà onetime_credentials che determina se è possibile recuperare e visualizzare la credenziale dopo la sua creazione iniziale. Se la proprietà è " false", gli utenti con accesso
possono visualizzare i valori delle credenziali in qualsiasi momento. Un'istanza di risorsa ha un'impostazione "Visualizzazione una tantum" che determina se le credenziali che si creano per quell'istanza sono visualizzate una sola
volta. Le credenziali a visualizzazione una-tantum possono essere visualizzate e salvate solo al momento della creazione. L'impostazione dell'istanza al momento della creazione determina come viene impostata la proprietà per ogni credenziale
e non può essere modificata successivamente.
-
Se la visualizzazione una tantum è "Off", la credenziale può essere recuperata in qualsiasi momento dagli utenti con accesso.
-
Se la visualizzazione unica è "On", è possibile visualizzare la credenziale solo al momento della creazione.
Salvate le credenziali di visualizzazione una tantum in modo sicuro utilizzando un gestore di segreti, un gestore di password o un sistema di archiviazione sicuro, come Object Storage, nella vostra applicazione per evitarne la perdita.
Abilitare la visualizzazione una tantum delle istanze di servizio per allinearsi al modello di minor privilegio ed evitare l'accesso condiviso alle credenziali. Le chiavi condivise possono rendere difficile la verifica delle modalità di accesso alle risorse da parte delle identità dell'account.
Gestione dell'impostazione della vista una tantum per un'istanza di risorsa
Gli utenti con il ruolo di amministratore o l'azione IAM resource-controller.instance.update_onetime_credential_off su un'istanza di servizio possono gestire l'impostazione della vista unica per quell'istanza.
{
"displayName": {
"default": "Resource Instance Update Onetime Credential Off"
},
"description": {
"default": "The ability to change onetime_credential from On to Off for existing instances."
},
"id": "resource-controller.instance.update_onetime_credential_off",
"roles": [
"crn:v1:bluemix:public:iam::::role:Administrator"
],
"apiTypes": [
"crn:v1:bluemix:public:context-based-restrictions::::platform-api-type:resource-management"
]
}
Per ulteriori informazioni, consultare l'API Resource Controller per aggiornare il onetime_credentials proprietà su un'istanza. Quando si
modifica l'impostazione di un'istanza, le credenziali esistenti mantengono l'impostazione che avevano al momento della creazione.
Le credenziali esistenti create prima di questa modifica della proprietà non sono interessate.
Accesso a livello di credenziale
L'accesso dell'utente deve essere uguale o superiore all'accesso della credenziale del servizio. Ad esempio, se la credenziale ha il ruolo di servizio IAM Writer, l'utente che sta tentando di visualizzare la credenziale deve avere
assegnato il ruolo del servizio IAM Writer o Manager per tale particolare servizio. Quando un utente non ha l'accesso corretto, i dettagli, come il valore della chiave API, vengono cancellati:
"credentials": {
"REDACTED": "REDACTED"
},
Accesso a livello IAM
Quando l'accesso a livello di credenziale non può essere determinato confrontando l'accesso dell'utente e della credenziale, la credenziale viene revisionata:
"credentials": {
"REDACTED": "REDACTED_EXPLICIT"
},
Per visualizzare la credenziale, è necessario che l'utente disponga dell'azione di accesso a livello IAM resource-controller.credential.retrieve_all. Questa azione viene fornita con il ruolo di amministratore e sovrascrive qualsiasi
accesso a livello di credenziale che consente all'utente di visualizzare la credenziale.
Visualizzazione di una credenziale utilizzando l'API
Dopo aver creato una credenziale per un servizio che ha onetime_credentials configurato a false, è possibile visualizzarla in qualsiasi momento per gli utenti che necessitano dei valori della credenziale. Tuttavia,
tutti gli utenti devono avere il livello di accesso corretto per vedere i dettagli di una credenziale che include il valore della chiave API. L'accesso dell'utente deve essere pari o superiore a quello della credenziale del servizio. Ad esempio,
se la credenziale ha il ruolo di servizio IAM Writer, l'utente che sta cercando di visualizzare la credenziale deve avere assegnato il ruolo di servizio IAM Writer o Manager per quel particolare servizio.
È possibile recuperare una credenziale dopo la creazione solo se onetime_credentials è false per quella credenziale. Gli utenti con il seguente accesso sull'istanza della risorsa possono visualizzare i valori delle
chiavi di servizio per le credenziali che hanno onetime_credentials configurato su false.
- Utenti con accesso all'istanza del servizio uguale o superiore all'accesso della credenziale del servizio. Per ulteriori informazioni, vedere Accesso a livello di credenziale.
- Utenti con il ruolo di amministratore sull'istanza del servizio.
- Utenti con l'azione IAM
resource-controller.credential.retrieve_all. Questa azione viene fornita con il ruolo di amministratore.
Per ottenere un elenco di tutte le chiavi della risorsa, richiama l'API del controller della risorsa come mostrato nel seguente esempio:
curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_keys -H 'Authorization: Bearer <IAM_TOKEN>'
ListResourceKeysOptions listResourceKeysOptions = new ListResourceKeysOptions.Builder()
.name(keyName)
.build();
Response<ResourceKeysList> response = service.listResourceKeys(listResourceKeysOptions).execute();
ResourceKeysList resourceKeysList = response.getResult();
System.out.printf("listResourceKeys() response:\n%s\n", resourceKeysList.toString());
const params = {
name: keyName,
};
resourceControllerService.listResourceKeys(params)
.then(res => {
console.log('listResourceKeys() response:\n' + JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
resource_keys_list = resource_controller_service.list_resource_keys(
name=key_name
).get_result()
print('\nlist_resource_keys() response:\n',
json.dumps(resource_keys_list, indent=2))
listResourceKeysOptions := resourceControllerService.NewListResourceKeysOptions()
listResourceKeysOptions = listResourceKeysOptions.SetName(keyName)
resourceKeysList, response, err := resourceControllerService.ListResourceKeys(listResourceKeysOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(resourceKeysList, "", " ")
fmt.Printf("\nListResourceKeys() response:\n%s\n", string(b))
Risposta di esempio:
{
"rows_count": 1,
"next_url": null,
"resources": [
{
"id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
"guid": "23693f48-aaa2-4079-b0c7-334846eff8d0",
"url": "/v2/resource_keys/23693f48-aaa2-4079-b0c7-334846eff8d0",
"created_at": "2018-07-02T22:03:43.837979455Z",
"updated_at": "2018-07-02T22:03:43.837979455Z",
"deleted_at": null,
"created_by": "IBMid-5500093BHN",
"updated_by": "IBMid-5500093BHN",
"deleted_by": "",
"source_crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
"role": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
"name": "my-instance-key-1",
"parameters": {
"role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer"
},
"crn": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94:resource-key:23693f48-aaa2-4079-b0c7-334846eff8d0",
"state": "active",
"account_id": "4329073d16d2f3663f74bfa955259139",
"resource_group_id": "0be5ad401ae913d8ff665d92680664ed",
"resource_id": "dff97f5c-bc5e-4455-b470-411c3edbe49c",
"onetime_credentials": false,
"credentials": {
"apikey": "XXXX-YYYY-ZZZZ\"",
"endpoints": "https://cos-service-armada-s.us-south.containers.mybluemix.net/endpoints",
"iam_apikey_description": "Auto generated apikey during resource-key operation for Instance - crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::",
"iam_apikey_name": "auto-generated-apikey-23693f48-aaa2-4079-b0c7-334846eff8d0",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Writer",
"iam_serviceid_crn": "crn:v1:bluemix:public:iam-identity::a/4329073d16d2f3663f74bfa955259139::serviceid:ServiceId-64c29e4f-422d-468c-a11b-1a8f671b5c89",
"resource_instance_id": "crn:v1:bluemix:public:cloud-object-storage:global:a/4329073d16d2f3663f74bfa955259139:8d7af921-b136-4078-9666-081bd8470d94::"
},
"iam_compatible": true,
"migrated": false,
"resource_instance_url": "/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94",
"resource_alias_url": null
}
]
}
Credenziali una tantum
Un'istanza di risorsa ha una proprietà onetime_credentials che determina se le credenziali create per quell'istanza sono viste una tantum. L'impostazione dell'istanza al momento della creazione determina come viene impostata la
proprietà per ogni credenziale e non può essere modificata successivamente.
-
Se questa proprietà è impostata su
false, la credenziale può essere recuperata in qualsiasi momento dagli utenti con accesso. Per ulteriori informazioni sul recupero di una credenziale, vedere l'operazione Ottieni chiave risorsa. -
Se questa proprietà è impostata su
true, è possibile visualizzare la credenziale solo al momento della creazione, quindi assicurarsi di salvarla in modo sicuro.Salvate le credenziali di visualizzazione una tantum in modo sicuro utilizzando un gestore di segreti, un gestore di password o un sistema di archiviazione sicuro, come Object Storage, nella vostra applicazione per evitarne la perdita.
Abilitare la visualizzazione una tantum delle istanze di servizio per allinearsi al modello di minor privilegio ed evitare l'accesso condiviso alle credenziali. Le chiavi condivise possono rendere difficile la verifica delle modalità di accesso alle risorse da parte delle identità dell'account.
Gestione dell'impostazione della vista una tantum per un'istanza di risorsa
Gli utenti con il ruolo di amministratore o l'azione IAM resource-controller.instance.update_onetime_credential_off su un'istanza di servizio possono gestire l'impostazione della vista unica per quell'istanza.
{
"displayName": {
"default": "Resource Instance Update Onetime Credential Off"
},
"description": {
"default": "The ability to change onetime_credential from On to Off for existing instances."
},
"id": "resource-controller.instance.update_onetime_credential_off",
"roles": [
"crn:v1:bluemix:public:iam::::role:Administrator"
],
"apiTypes": [
"crn:v1:bluemix:public:context-based-restrictions::::platform-api-type:resource-management"
]
}
Per ulteriori informazioni, consultare l'API Resource Controller per aggiornare il onetime_credentials proprietà su un'istanza. Quando si
modifica l'impostazione di un'istanza, le credenziali esistenti mantengono l'impostazione che avevano al momento della creazione.
Accesso a livello di credenziale
L'accesso dell'utente deve essere uguale o superiore all'accesso della credenziale del servizio. Ad esempio, se la credenziale ha il ruolo di servizio IAM Writer, l'utente che sta cercando di visualizzare la credenziale deve avere
assegnato il ruolo di servizio IAM Writer o Manager per quel particolare servizio. Quando un utente non ha l'accesso corretto, i dettagli, come il valore della chiave API, vengono cancellati:
"credentials": {
"REDACTED": "REDACTED"
},
Accesso a livello IAM
Quando l'accesso a livello di credenziale non può essere determinato confrontando l'accesso dell'utente e della credenziale, la credenziale viene revisionata:
"credentials": {
"REDACTED": "REDACTED_EXPLICIT"
},
Per visualizzare la credenziale, è necessario che l'utente disponga dell'azione di accesso a livello IAM resource-controller.credential.retrieve_all. Questa azione viene fornita con il ruolo di amministratore e sovrascrive qualsiasi
accesso a livello di credenziale che consente all'utente di visualizzare la credenziale.