Creazione di profili attendibili
Puoi utilizzare i profili attendibili per concedere alle diverse identità IBM Cloud® l'accesso alle risorse nel tuo account. Concedere automaticamente agli utenti federati l'accesso al proprio account con condizioni basate sugli attributi SAML dalla directory aziendale. Oppure, utilizzare i profili di fiducia per impostare un'autorizzazione a grana fine per le applicazioni in esecuzione nelle risorse di calcolo. In questo modo, non è necessario creare ID servizio o chiavi API per le risorse di calcolo. Puoi anche stabilire l'affidabilità con i servizi o gli ID servizio IBM Cloud in un altro account per concedere l'accesso tra account.
Un utente non deve necessariamente essere un membro dell'account per assumere un profilo attendibile. Un utente può utilizzare il profilo se il provider di identità dell'utente (IdP) corrisponde a un IdP utilizzato nelle condizioni di attendibilità.
Quando crei inizialmente un profilo attendibile, puoi creare condizioni di attendibilità con i seguenti tipi di entità: utenti federati, risorse di calcolo, ID servizio o servizi IBM Cloud. Dopo aver creato il profilo attendibile, è possibile aggiungere più condizioni per combinare più tipi di entità nello stesso profilo.
Puoi usare Activity Tracker per monitorare quali utenti federati calcolano risorse, ID servizio e i servizi IBM Cloud applicano un profilo attendibile. Per ulteriori informazioni, consultare Monitoraggio delle sessioni di accesso per i profili attendibili.
Prima di iniziare
Se si dispone del seguente accesso, è possibile creare profili attendibili:
- Proprietario account
- Ruolo di amministratore su tutti i servizi di gestione degli account
- Ruolo di amministratore sul servizio IAM Identity Service. Per ulteriori informazioni, vedi Servizio IAM Identity.
Stabilire l'attendibilità con gli utenti federati nella console
Completare la seguente procedura per definire quali utenti federati possono accedere a risorse specifiche:
-
Abilita l'autenticazione da un provider di identità esterno.
-
Nella console IBM Cloud , fare clic su Gestisci > Accesso (IAM) e selezionare Profili di fiducia.
-
Fare clic su Crea profilo.
-
Descrivere il profilo fornendo un nome e una descrizione, quindi fare clic su Continua.
Nella descrizione, fornire un elenco di azioni disponibili per questo profilo attendibile.
-
È possibile creare il profilo attendibile prima di aggiungere dettagli selezionando Decidi in seguito. In alternativa, stabilire l'attendibilità completando la seguente procedura:
-
Selezionare Utenti federati come tipo di entità attendibile dall'elenco.
-
Seleziona Users federated by IBMid o Users federated by IBM Cloud App ID come metodo di autenticazione e immetti il provider di identità predefinito (IdP) che hai abilitato nel passo 1.
Se gli utenti che stai creando creano un profilo attendibile per utilizzare IBM Cloud App ID, crea il profilo attendibile come un utente App ID e allo stesso modo per IBMid. In questo modo, gli attributi SAML possono fornire un'idea di come strutturare le condizioni del profilo attendibile. Altri utenti con lo stesso IdP possono avere attributi SAML diversi. Utilizzare i propri attributi solo come suggerimento. Per utilizzare attributi in una richiesta che siano diversi dai propri, immetterli manualmente.
-
Aggiungere condizioni basate sui dati IdP per definire come e quando gli utenti federati possono applicare il profilo.
- Facendo clic su Aggiungi una condizione, è possibile definire più condizioni. Gli utenti federati devono soddisfare tutte le condizioni da includere nel profilo attendibile. Per ulteriori informazioni sui campi utilizzati per creare condizioni, vedi Proprietà delle condizioni IAM.
- Fai clic su Visualizza i dati del provider di identità (IdP) per ricercare i valori e i nomi attributo nei tuoi dati personali dal tuo IdP. Per ulteriori informazioni, vedi Utilizzo dei dati IdP per creare profili attendibili.
-
Definire la durata della sessione per quanto tempo un utente può applicare il profilo prima di eseguire nuovamente l'autenticazione.
-
-
Fai clic su Continue.
-
(Facoltativo) Assegnare l'accesso al profilo attendibile.
-
In alternativa, fare clic su Crea senza assegnare alcun accesso.
Per ulteriori informazioni sui campi utilizzati per creare condizioni per profili attendibili, vedi Proprietà delle condizioni IAM.
Come stabilire l'attendibilità con le risorse di calcolo nella console
Completa la seguente procedura per configurare un migliore controllo sulla concessione dell'accesso alle risorse di calcolo.
IBM Cloud Kubernetes Service supporta solo profili attendibili per le versioni 1.21 e successive. I cluster IBM Cloud Kubernetes Service gratuiti creano solo versioni precedenti. Hai la scelta di creare i cluster con una versione precedente con il piano standard, quindi assicurati di selezionare la versione 1.21 o più recente.
-
Nella console IBM Cloud , fare clic su Gestisci > Accesso (IAM) e selezionare Profili di fiducia.
-
Fare clic su Crea profilo.
-
Descrivere il proprio profilo fornendo un nome e una descrizione e fare clic su Continua.
-
È possibile creare il profilo attendibile prima di aggiungere dettagli selezionando Decidi in seguito. In alternativa, stabilire l'attendibilità completando la seguente procedura:
- Selezionare Calcola risorse e selezionare un tipo di servizio di calcolo dall'elenco.
- Se si seleziona l'opzione per Tutte le risorse del servizio, è possibile definire più condizioni per filtrare le risorse per il tipo di servizio di calcolo selezionato facendo clic su Aggiungi una condizione. Queste condizioni si basano su attributi, come gruppi di risorse o ubicazione, e si applicano a tutte le risorse esistenti e future. Le risorse devono soddisfare tutte le condizioni da includere nel profilo attendibile.
Lo spazio dei nomi Kubernetes e i nomi degli account di servizio che immetti non devono esistere già. Eventuali futuri spazi dei nomi o account di servizio con questi nomi possono stabilire l'attendibilità. Per elencare gli spazi dei nomi esistenti, accedi al tuo cluster ed esegui
kubectl get ns
. Per elencare gli account di servizio esistenti, accedi al tuo cluster ed eseguirekubectl get sa -n <namespace>
. È inoltre possibile immetteredefault
per entrambi. Per ulteriori informazioni, vedi Utilizzo dei profili attendibili nei tuoi cluster Kubernetes e Red Hat OpenShift.- Se si seleziona Risorse specifiche, è possibile stabilire l'attendibilità con una o più istanze di risorse di calcolo esistenti direttamente senza condizioni. Ad esempio, un cluster Kubernetes.
-
Fai clic su Continue.
-
(Facoltativo) Assegnare l'accesso al profilo attendibile.
-
In alternativa, fare clic su Crea senza assegnare alcun accesso.
Per ulteriori informazioni sui campi utilizzati per creare condizioni per profili attendibili, vedi Proprietà delle condizioni IAM.
Stabilire il trust con i servizi IBM Cloud nella console
Un servizio IBM Cloud nel tuo account o un altro account potrebbe aver bisogno di un token per eseguire un'operazione nel tuo account.
- Esempio 1
- Un'istanza del servizio Project in un altro account può assumere un profilo attendibile per distribuire in modo sicuro un'architettura nel tuo account senza la necessità di rotazione della chiave. Per ulteriori informazioni, vedi Utilizzo di profili attendibili per autorizzare un progetto a distribuire un'architettura.
- Esempio 2
- Un catalogo privato è un'istanza del servizio Gestione catalogo identificato da un CRN. Potresti voler convalidare i prodotti dal catalogo privato in un account separato da quello che contiene il catalogo. È possibile fornire a un catalogo privato l'accesso per creare le risorse per la convalida in un account di destinazione creando un profilo attendibile nell'account di destinazione. Stabilisci quindi l'attendibilità con il catalogo utilizzando il CRN del catalogo per collegare l'istanza del servizio al profilo attendibile. Per ulteriori informazioni, vedi Impostazione di un account di destinazione per la convalida.
La condivisione delle risorse tra account utilizzando i profili attendibili funziona per una serie limitata di servizi e non è un metodo generale per l'accesso tra account per i servizi.
Completa la seguente procedura per definire come un servizio IBM Cloud può accedere a risorse specifiche nel tuo account:
-
Chiedi all'amministratore del servizio il CRN (Cloud Resource Name) che identifica in modo univoco l'istanza del servizio. Il CRN viene usato per autorizzare le operazioni.
L'amministratore del servizio può individuare il CRN andando all'icona Menu di navigazione
> Elenco risorse e facendo clic sul nome del servizio di destinazione. Nella sezione Dettagli, copiare il CRN. Per un CRN di catalogo privato, vai a Manage > Catalogs > Private catalogs e seleziona il catalogo privato. Fare clic su Azioni ... > Modifica dettagli del catalogo per trovare il CRN del catalogo.
-
Nella console IBM Cloud , fare clic su Gestisci > Accesso (IAM) e selezionare Profili di fiducia.
-
Fare clic su Crea profilo.
-
Definire il profilo fornendo un nome e una descrizione e fare clic su Continua.
Nella descrizione, fornire un elenco di azioni disponibili per il profilo attendibile.
-
È possibile creare il profilo attendibile prima di aggiungere dettagli selezionando Decidi in seguito. In alternativa, stabilire l'attendibilità completando la seguente procedura:
- Seleziona ServiziIBM Cloud®.
- Immettere il CRN fornito dall'amministratore del servizio.
I servizi IBM Cloud sono identità statiche che non utilizzano condizioni per stabilire l'attendibilità. Invece, si stabilisce l'attendibilità utilizzando il CRN per creare un link diretto con l'entità attendibile.
-
Fai clic su Continue.
-
(Facoltativo) Assegnare l'accesso al profilo attendibile.
-
In alternativa, fare clic su Crea senza assegnare alcun accesso.
Stabilire l'attendibilità con gli ID servizio nella console
Puoi utilizzare i profili attendibili per fornire a un ID servizio l'accesso tra account e l'accesso per richiamare i servizi dell'infrastruttura classica. Per fornire un ID servizio in un account di accesso a un account di destinazione, creare il profilo attendibile nell'account di destinazione. Completa la seguente procedura per definire in che modo un ID servizio può accedere a risorse specifiche nel tuo account:
-
Chiedere a un amministratore nell'altro account il valore ID servizio che identifica l'ID servizio.
Un amministratore può trovare il valore dell'ID servizio andando a Gestisci > Access (IAM) > Service IDs e selezionando l'ID servizio che vuoi utilizzare come destinazione. Fare clic su Dettagli e copiare l'ID che inizia con
ServiceId
. -
Nella console IBM Cloud , fare clic su Gestisci > Accesso (IAM) e selezionare Profili di fiducia.
-
Fare clic su Crea profilo.
-
Definire il profilo fornendo un nome e una descrizione e fare clic su Continua.
Nella descrizione, fornire un elenco di azioni disponibili per questo profilo attendibile.
-
È possibile creare il profilo attendibile prima di aggiungere dettagli selezionando Decidi in seguito. In alternativa, stabilire l'attendibilità completando la seguente procedura:
- Selezionare gli ID dei servizi
- Immettere il valore ID servizio fornito dall'amministratore.
-
Fai clic su Continue.
-
(Facoltativo) Assegnare l'accesso al profilo attendibile.
-
In alternativa, fare clic su Crea senza assegnare alcun accesso.
Gli ID servizio sono identità statiche che non utilizzano condizioni per stabilire l'attendibilità. Invece, stabilisci l'attendibilità utilizzando il valore ID dai metadati dell'ID servizio per creare un link diretto con l'entità attendibile.
Assegnazione dell'accesso al profilo di fiducia
Dopo aver stabilito l'affidabilità con gli utenti federati, le risorse di calcolo, un servizio IBM Cloud o un ID servizio, puoi assegnare l'accesso.
Puoi assegnare l'accesso all'infrastruttura classica solo se il tuo account è collegato a un account Softlayer.
- Assegna accesso.
- Assegnare l'accesso al profilo attendibile aggiungendolo a uno o più gruppi di accesso. In questo modo, puoi utilizzare le politiche che esistono nei gruppi di accesso che hai creato.
- Selezionare Gruppi di accesso e selezionare tutti i gruppi a cui si desidera aggiungere il profilo attendibile. È possibile assegnare gli utenti solo ai gruppi di accesso che si ha la possibilità di gestire.
- Fai clic su Aggiungi.
- Assegnare l'accesso al profilo attendibile con una politica di accesso.
- Selezionare Politica di accesso. In base al livello di accesso, è possibile assegnare criteri IAM e autorizzazioni classiche per l'infrastruttura.
- Seleziona un singolo servizio o un gruppo di servizi, come Tutti i servizi abilitati per l'accesso e l'identità, Tutti i servizi di gestione account o Tutti i servizi di gestione account IAM. Poi, fai clic su Avanti.
- Definire l'ambito dell'accesso a Tutte le risorse o Risorse specifiche in base agli attributi selezionati. Poi, fai clic su Avanti.
- Selezionare una qualsiasi combinazione di ruoli e autorizzazioni per definire l'ambito di accesso e fare clic su Rivedi.
- Fare clic su Aggiungi per aggiungere la configurazione della politica al riepilogo.
- È possibile assegnare l'accesso all 'infrastruttura Classic selezionando un utente, un dispositivo o un servizio, quindi una qualsiasi combinazione di autorizzazioni granulari.
- Assegnare l'accesso al profilo attendibile aggiungendolo a uno o più gruppi di accesso. In questo modo, puoi utilizzare le politiche che esistono nei gruppi di accesso che hai creato.
- Fai clic su Crea.
Stabilire l'attendibilità con gli utenti federati utilizzando la CLI
Completare la seguente procedura per definire quali utenti federati possono accedere a risorse specifiche:
-
Abilita l'autenticazione da un provider di identità esterno.
-
Creare un profilo di fiducia eseguendo il seguente comando:
ibmcloud iam trusted-profile-create my-profile -d "sample trusted profile"
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
-
Per creare condizioni per il tuo profilo attendibile, esegui il comando
ibmcloud iam trusted-profile-rule-create
:ibmcloud iam trusted-profile-rule-create my-profile --name my-rule --type Profile-SAML --conditions claim:cn,operator:EQUALS,value:my_user --realm-name https://w3id.sso.ibm.com/auth/sps/samlidp2/saml20 --expiration 1200
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
-
Crea una politica di accesso con il ruolo
Viewer
per tutte le risorse nell'account immettendo il seguente comando:ibmcloud iam trusted-profile-policy-create --roles Viewer
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
Stabilire l'attendibilità con le risorse di calcolo utilizzando la CLI
Completa la seguente procedura per configurare un migliore controllo sulla concessione dell'accesso alle risorse di calcolo.
IBM Cloud Kubernetes Service supporta solo profili attendibili per le versioni 1.21 e successive. I cluster IBM Cloud Kubernetes Service gratuiti creano solo versioni precedenti. Hai la scelta di creare i cluster con una versione precedente con il piano standard, quindi assicurati di selezionare la versione 1.21 o più recente.
-
Creare un profilo di fiducia eseguendo il seguente comando:
ibmcloud iam trusted-profile-create sample-compute-profile -d "sample trusted profile for compute resources"
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
-
Creare le condizioni per il profilo attendibile utilizzando il comando
ibmcloud iam trusted-profile-rule-create
:ibmcloud iam trusted-profile-rule-create sample-compute-profile --name cr-rule --type Profile-CR --conditions claim:namespace,operator:EQUALS,value:default --conditions claim:crn,operator:EQUALS,value:crn:test:bluemix:public:containers-kubernetes:us-south:a/test:: --cr-type IKS_SA
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
È anche possibile creare un collegamento diretto:
ibmcloud iam trusted-profile-link-create sample-compute-profile --name my_link --cr-type IKS_SA --link-name default --link-namespace default --link-crn my_compute_resource_crn
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
-
Creare un criterio di accesso eseguendo il seguente comando:
ibmcloud iam trusted-profile-policy-create --roles Viewer
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
Come stabilire l'attendibilità con i servizi IBM Cloud utilizzando la CLI
Un servizio IBM Cloud in un altro account potrebbe richiedere un token per eseguire un'operazione nel tuo account. Completa la seguente procedura per definire come un servizio IBM Cloud può accedere a risorse specifiche nel tuo account:
-
Chiedere all'amministratore sul servizio in un altro conto per il CRN che identifica in modo univoco l'istanza del servizio. Il CRN viene usato per autorizzare le operazioni.
L'amministratore del servizio può individuare il CRN andando all'icona Menu di navigazione
> Elenco risorse e facendo clic sul servizio di destinazione. Nella sezione Dettagli, copiare il CRN.
-
Creare la relazione di attendibilità con un collegamento diretto:
ibmcloud iam trusted-profile-link-create sample-cloudservice-profile --name my_cloudservice_link --link-crn `crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resource`
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
-
Creare un criterio di accesso eseguendo il seguente comando:
ibmcloud iam trusted-profile-policy-create --roles Viewer
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
Stabilire l'attendibilità con gli ID servizio utilizzando la CLI
Completa la seguente procedura per definire in che modo un ID servizio può accedere a risorse specifiche nel tuo account:
Puoi utilizzare i profili attendibili per fornire a un ID servizio l'accesso tra account e l'accesso per richiamare i servizi dell'infrastruttura classica.
-
Chiedere a un amministratore nell'altro account il valore ID servizio che identifica l'ID servizio.
Un amministratore può trovare il valore ID servizio andando a Gestisci > Accesso (IAM) > ID servizio e selezionando l'ID servizio che vuoi utilizzare come destinazione. Fare clic su Dettagli e copiare l'ID che inizia con
ServiceId
. -
Creare la relazione di attendibilità con un collegamento diretto:
ibmcloud iam trusted-profile-link-create sample-serviceid-profile --name my_serviceid_link --link-crn `crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resource`
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
-
Creare un criterio di accesso eseguendo il seguente comando:
ibmcloud iam trusted-profile-policy-create --roles Viewer
Per ulteriori informazioni, vedi la Guida di riferimento CLI.
Assegnazione dell'accesso al profilo attendibile utilizzando la CLI
Dopo aver stabilito l'affidabilità con gli utenti federati, le risorse di calcolo, un servizio IBM Cloud o un ID servizio, puoi assegnare l'accesso.
Puoi assegnare l'accesso all'infrastruttura classica solo se il tuo account è collegato a un account Softlayer.
Utilizzare il comando trusted-profile-policy-create
per assegnare una normativa di accesso al profilo attendibile. Il seguente
esempio assegna una politica con il ruolo di amministratore su Tutti i servizi di gestione account:
ibmcloud iam trusted-profile-policy-create Profile-36f5c562-1t36-4442-b7f0-2663c85386f1 --roles Administrator --attributes serviceType=service
Stabilire l'attendibilità con gli utenti federati utilizzando l'API
Completare la seguente procedura per definire quali utenti federati possono accedere a risorse specifiche:
-
Abilita l'autenticazione da un provider di identità esterno.
-
Crea un profilo attendibile specificando il tuo ID account.
curl -X POST 'https://iam.cloud.ibm.com/v1/profiles' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{ "name": "My Nice Profile", "description": "My Nice Profile - desc", "account_id": "ACCOUNT_ID" }'
Nella descrizione, fornire un elenco di azioni disponibili per questo profilo attendibile.
-
Creare le condizioni per il profilo attendibile. Per gli utenti federati, impostare l'attributo
type
suProfile-SAML
. Ilrealm-name
è il IdP URL. Per ulteriori informazioni, vedi IAM Identity Services API.curl -X POST 'https://iam.cloud.ibm.com/v1/profiles/PROFILE_ID/rules' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{ "type": "Profile-SAML", "realm_name": "https://www.example.org/my-nice-idp", "expiration": 43200, "conditions": [ { "claim": "groups", "operator": "EQUALS", "value": "\"cloud-docs-dev\"" } ] }'
Esiste un limite di 20 regole di richiesta per profilo attendibile.
-
(Facoltativo) Assegnare l'accesso al profilo attendibile.
Stabilire l'affidabilità con le risorse di calcolo con l'API
Completa la seguente procedura per configurare un migliore controllo sulla concessione dell'accesso alle risorse di calcolo.
IBM Cloud Kubernetes Service supporta solo profili attendibili per le versioni 1.21 e successive. I cluster IBM Cloud Kubernetes Service gratuiti creano solo versioni precedenti. Hai la scelta di creare i cluster con una versione precedente con il piano standard, quindi assicurati di selezionare la versione 1.21 o più recente.
-
Crea un profilo attendibile specificando il tuo ID account.
curl -X POST 'https://iam.cloud.ibm.com/v1/profiles' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{ "name": "My Nice Profile", "description": "My Nice Profile - desc", "account_id": "ACCOUNT_ID" }'
Nella descrizione, fornire un elenco di azioni disponibili per questo profilo attendibile.
-
Creare una regola di richiesta per il proprio profilo attendibile che segue il principio del minimo privilegio specificando le condizioni che si rivolgano solo alle risorse che necessitano di accesso. Le condizioni si applicano a tutte le risorse future esistenti. È anche possibile creare un collegamento diretto con risorse specifiche esistenti.
- Crea condizioni
- Per le risorse di elaborazione, impostare l'attributo
type
suProfile-CR
. Per ulteriori informazioni, vedi IAM Identity Services API.
curl -X POST 'https://iam.cloud.ibm.com/v1/profiles/PROFILE_ID/rules' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{ "type": "Profile-CR", "conditions": [ { "claim": "namespace", "operator": "EQUALS", "value": "\"default123\"" } ] }'
Esiste un limite di 20 regole di richiesta per profilo attendibile.
- Creare un direct link (collegamento diretto)
- È possibile stabilire un collegamento diretto con specifiche risorse esistenti.
curl -X POST 'https://iam.cloud.ibm.com/v1/profiles/PROFILE_ID/links' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -H 'Accept: application/json' -d '{ "name": "my link", "cr_type": "VSI", "link": { "crn": "crn:v1:staging:public:iam-identity::a/18e3020749ce4744b0b472466d61fdb4::computeresource:Fake-Compute-Resource", "namespace": "default", "name": "my compute resource name" } }'
-
(Facoltativo) Assegnare l'accesso al profilo attendibile.
Assegnazione dell'accesso al profilo attendibile utilizzando l'API
Dopo aver stabilito l'affidabilità con gli utenti federati, le risorse di calcolo, un servizio IBM Cloud o un ID servizio, puoi assegnare l'accesso.
Puoi assegnare l'accesso all'infrastruttura classica solo se il tuo account è collegato a un account Softlayer.
Il seguente esempio assegna una politica con il ruolo di amministratore su Tutti i servizi di gestione account:
curl -X POST \
'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: $TOKEN'\
-H 'Content-Type: application/json'\
-d '{
"type": "access",
"subjects": [
{
"attributes": [
{
"name": "iam_id",
"value": "Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9"
}
]
}'
],
"roles":[
{
"role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
}
],
"resources":[
{
"attributes": [
{
"name": "accountId",
"value": "$ACCOUNT_ID"
},
{
"name": "serviceType",
"value": "platform-service"
}
]
}
]
}'
SubjectAttribute subjectAttribute = new SubjectAttribute.Builder()
.name("iam_id")
.value("Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9")
.build();
PolicySubject policySubjects = new PolicySubject.Builder()
.addAttributes(subjectAttribute)
.build();
PolicyRole policyRoles = new PolicyRole.Builder()
.roleId("crn:v1:bluemix:public:iam::::role:Administrator")
.build();
ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
.name("accountId")
.value("exampleAccountId")
.operator("stringEquals")
.build();
ResourceAttribute serviceTypeResourceAttribute = new ResourceAttribute.Builder()
.name("serviceType")
.value("platform-service")
.operator("stringEquals")
.build();
PolicyResource policyResources = new PolicyResource.Builder()
.addAttributes(accountIdResourceAttribute)
.addAttributes(serviceTypeResourceAttribute)
.build();
CreatePolicyOptions options = new CreatePolicyOptions.Builder()
.type("access")
.subjects(Arrays.asList(policySubjects))
.roles(Arrays.asList(policyRoles))
.resources(Arrays.asList(policyResources))
.build();
Response<Policy> response = service.createPolicy(options).execute();
Policy policy = response.getResult();
System.out.println(policy);
const policySubjects = [
{
attributes: [
{
name: 'iam_id',
value: "Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9",
},
],
},
];
const policyRoles = [
{
role_id: 'crn:v1:bluemix:public:iam::::role:Administrator',
},
];
const accountIdResourceAttribute = {
name: 'accountId',
value: 'exampleAccountId',
operator: 'stringEquals',
};
const serviceTypeResourceAttribute = {
name: 'serviceType',
value: 'platform-service',
operator: 'stringEquals',
};
const policyResources = [
{
attributes: [accountIdResourceAttribute, serviceTypeResourceAttribute]
},
];
const params = {
type: 'access',
subjects: policySubjects,
roles: policyRoles,
resources: policyResources,
};
iamPolicyManagementService.createPolicy(params)
.then(res => {
examplePolicyId = res.result.id;
console.log(JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
policy_subjects = PolicySubject(
attributes=[SubjectAttribute(name='iam_id', value='Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9')])
policy_roles = PolicyRole(
role_id='crn:v1:bluemix:public:iam::::role:Administrator')
account_id_resource_attribute = ResourceAttribute(
name='accountId', value=example_account_id)
service_name_resource_attribute = ResourceAttribute(
name='serviceType', value='platform-service')
policy_resources = PolicyResource(
attributes=[account_id_resource_attribute,
service_type_resource_attribute])
policy = iam_policy_management_service.create_policy(
type='access',
subjects=[policy_subjects],
roles=[policy_roles],
resources=[policy_resources]
).get_result()
print(json.dumps(policy, indent=2))
subjectAttribute := &iampolicymanagementv1.SubjectAttribute{
Name: core.StringPtr("iam_id"),
Value: core.StringPtr("Iam-Profile-35f55552-1e36-4442-z7f0-2673c85386f9"),
}
policySubjects := &iampolicymanagementv1.PolicySubject{
Attributes: []iampolicymanagementv1.SubjectAttribute{*subjectAttribute},
}
policyRoles := &iampolicymanagementv1.PolicyRole{
RoleID: core.StringPtr("crn:v1:bluemix:public:iam::::role:Administrator"),
}
accountIDResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
Name: core.StringPtr("accountId"),
Value: core.StringPtr("ACCOUNT_ID"),
Operator: core.StringPtr("stringEquals"),
}
serviceTypeResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
Name: core.StringPtr("serviceType"),
Value: core.StringPtr("platform-service"),
Operator: core.StringPtr("stringEquals"),
}
policyResources := &iampolicymanagementv1.PolicyResource{
Attributes: []iampolicymanagementv1.ResourceAttribute{
*accountIDResourceAttribute, *serviceTypeResourceAttribute},
}
options := iamPolicyManagementService.NewCreatePolicyOptions(
"access",
[]iampolicymanagementv1.PolicySubject{*policySubjects},
[]iampolicymanagementv1.PolicyRole{*policyRoles},
[]iampolicymanagementv1.PolicyResource{*policyResources},
)
policy, response, err := iamPolicyManagementService.CreatePolicy(options)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(policy, "", " ")
fmt.Println(string(b))
Limitazioni del profilo di fiducia
Gli utenti non possono utilizzare il Centro assistenza quando accedono a IBM Cloud applicando un profilo attendibile.