Detalles de IAM con dominios de identidad

En este tema se tratan los detalles de la escritura de políticas para controlar el acceso a IAM (para arrendamientos que tienen dominios de identidad).

Tipos de recursos

authentication-policies

compartments

credentials

domains

dynamic-groups

groups

iamworkrequest

identity-providers

network-sources

policies

tag-defaults

tag-namespaces

tenancies

users

workrequest

Variables soportadas

IAM soporta todas las variables generales (consulte Variables generales para todas las solicitudes ), además de las adicionales que se muestran aquí:

Operaciones para este tipo de recurso... Puede utilizar estas variables... Tipo de variable Comentarios
users target.user.id Entidad (OCID) No disponible para su uso con CreateUser o ListUsers.
target.user.name Cadena No disponible para su uso con ListUsers.
target.resource.domain.id Entidad (OCID)
target.resource.domain.name Cadena
groups target.group.id Entidad (OCID) No disponible para su uso con CreateGroup o ListGroups.
target.group.name Cadena No disponible para su uso con ListGroups.
target.group.member Booleana

True si request.user es miembro de target.group.

False si el servicio está creando target.group.

No disponible para su uso con ListGroups.

target.resource.domain.id Entidad (OCID)
target.resource.domain.name Cadena
dynamic-groups target.dynamicgroup.id Entidad (OCID) No disponible para su uso con CreateDynamicGroup o ListDynamicGroups.
target.dynamicgroup.name Cadena No disponible para su uso con CreateDynamicGroup o ListDynamicGroups.
target.resource.domain.id Entidad (OCID)
target.resource.domain.name Cadena
policies target.policy.id Entidad (OCID) No disponible para su uso con CreatePolicy o ListPolicies.
target.policy.name Cadena No disponible para su uso con ListPolicies.
target.policy.autoupdate Booleana No disponible para su uso con ListPolicies.
compartments target.compartment.id Entidad (OCID)

Se trata de una variable universal disponible para su uso con cualquier solicitud en todos los servicios (consulte Variables generales para todas las solicitudes), con la excepción de que no está disponible para su uso con ListCompartments.

Para CreateCompartment, será el valor del compartimento principal (por ejemplo, el compartimento raíz).

target.compartment.name Cadena

Se trata de una variable universal disponible para su uso con cualquier solicitud en todos los servicios (consulte Variables generales para todas las solicitudes), con la excepción de que no está disponible para su uso con ListCompartments.

 
credentials target.credential.type Cadena
target.user.id Entidad (OCID)
target.user.name Cadena
target.resource.domain.id Entidad (OCID)
target.resource.domain.name Cadena
domain target.domain.id Entidad (OCID) No disponible para su uso con CreateDomain o ListDomains.
target.domain.name Cadena  No disponible para su uso con ListDomains.
tag-namespace target.tag-namespace.id Entidad (OCID)

Esta variable solo se admite en sentencias que otorgan permisos para el tipo de recurso tag-namespaces. Para ver un ejemplo, consulte Permisos necesarios para trabajar con etiquetas definidas. No disponible para su uso con CreateTagNamespace o ListTagNamespaces.

target.tag-namespace.name Cadena  No disponible para su uso con ListTagNamespaces.

Detalles de combinaciones de verbo + tipo de recurso

En las siguientes tablas, se muestran los permisos y las operaciones de API que abarca cada verbo. El nivel de acceso es acumulativo al recorrer la progresión inspect > read > use > manage. Un signo más (+) en una celda de la tabla indica un acceso incremental en comparación con la celda directamente por encima, mientras que "no extra" indica que no hay acceso incremental.

Por ejemplo, el verbo read para los compartimentos no abarca permisos ni operaciones de API adicionales en comparación con el verbo inspect. El verbo use incluye los mismos que el verbo read, además del permiso COMPARTMENT_UPDATE y la operación de API UpdateCompartment. El verbo manage incluye los mismos permisos y operaciones de API que el verbo use, además del permiso COMPARTMENT_CREATE y dos operaciones de API: CreateCompartment y DeleteCompartment

authentication-policies
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

AUTHENTICATION_POLICY_INSPECT

GetAuthenticationPolicy

 

ninguna

read

no extra

no extra

ninguna

use

no extra

no extra

ninguna

manage

USE +

AUTHENTICATION_POLICY_UPDATE

USE +

UpdateAuthenticationPolicy

ninguna

compartments

Para mover un compartimento (es decir, utilizar la operación MoveCompartment) debe pertenecer a un grupo que tenga permisos manage all-resources en el compartimento principal compartido más bajo del compartimento actual y el compartimento de destino.

Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

COMPARTMENT_INSPECT

ListCompartments

GetCompartment

ListAvailabilityDomains

ListFaultDomains

ninguna

read

no extra

no extra

ninguna

use

READ +

COMPARTMENT_UPDATE

READ +

UpdateCompartment

GetWorkRequest

ninguna

manage

USE +

COMPARTMENT_CREATE

COMPARTMENT_DELETE

COMPARTMENT_RECOVER

USE +

CreateCompartment

DeleteCompartment

RecoverCompartment

ninguna

credentials

El tipo de recurso credentials hace referencia solo a las credenciales SMTP. Los permisos para trabajar con otras credenciales que se pueden agregar a un usuario (como tokens de autenticación, claves de API y claves secretas de cliente) se incluyen con permisos del recurso users.

Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

CREDENTIAL_INSPECT

ListSmtpCredentials

ninguna

read

no extra

no extra

ninguna

use

no extra

no extra

 

ninguna

manage

USE +

CREDENTIAL_ADD

CREDENTIAL_UPDATE

CREDENTIAL_REMOVE

USE +

CreateSmtpCredential

UpdateSmtpCredential

DeleteSmtpCredential

ninguna

dominios
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

DOMAIN_INSPECT

ListDomains

ninguna

read

INSPECT +

DOMAIN_READ

DOMAIN_LICENSETYPE_READ

GetDomain

GetDomainLicenseTypes

ninguna

use

READ +

DOMAIN_UPDATE

IAM_WORKREQUEST_READ

READ +

UpdateDomain

GetIamWorkRequest

ninguna

manage

USE +

DOMAIN_CREATE

DOMAIN_DELETE

DOMAIN_MOVE

DOMAIN_REPLICATE

DOMAIN_ACTIVATE

DOMAIN_DEACTIVATE

USE +

CreateDomain

DeleteDomain

ChangeDomainCompartment

ChangeSku

ReplicateDomainRegion

ActivateDomain

DeactivateDomain

ninguna

dynamic-groups
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

DYNAMIC_GROUP_INSPECT

ListDynamicGroups

GetDynamicGroup

No extra
read

no extra

no extra

no extra

use

READ +

DYNAMIC_GROUP_UPDATE

READ +

UpdateDynamicGroup

No extra

manage

USE +

DYNAMIC_GROUP_CREATE

DYNAMIC_GROUP_DELETE

USE +

CreateDynamicGroup

DeleteDynamicGroup

no extra

groups
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

GROUP_INSPECT

ListGroups

GetGroup

GetUserGroupMembership (también necesita inspect users)

ListIdpGroupMappings, GetIdpGroupMapping (también necesitan inspect identity-providers)

read

no extra

no extra

no extra

use

READ +

GROUP_UPDATE

READ +

UpdateGroup

READ +

AddUserToGroup (también necesita use users)

RemoveUserFromGroup (también necesita use users)

AddIdpGroupMapping, DeleteIdpGroupMapping (también necesitan manage identity-providers)

manage

USE +

GROUP_CREATE

GROUP_DELETE

USE +

CreateGroup

DeleteGroup

no extra

identity-providers
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

IDENTITY_PROVIDER_INSPECT

ListIdentityProviders

GetIdentityProvider

ListIdpGroupMappings, GetIdpGroupMapping (también necesitan inspect groups)
read

no extra

no extra

no extra

use

no extra

no extra

no extra

manage

USE +

IDENTITY_PROVIDER_UPDATE

IDENTITY_PROVIDER_CREATE

IDENTITY_PROVIDER_DELETE

USE +

UpdateIdentityProvider

CreateIdentityProvider

DeleteIdentityProvider

USE +

AddIdpGroupMapping, DeleteIdpGroupMapping (también necesitan use groups)

network-sources
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

NETWORK_SOURCE_INSPECT

ListNetworkSources

GetNetworkSource

No extra
read

no extra

no extra

no extra

use

READ +

NETWORK_SOURCE_UPDATE

READ +

UpdateNetworkSource

No extra

manage

USE +

NETWORK_SOURCE_CREATE

NETWORK_SOURCE_DELETE

USE +

CreateNetworkSource

DeleteNetworkSource

no extra

políticas
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

POLICY_READ

ListPolicies

GetPolicy

ninguna

read

no extra

no extra

ninguna

use

no extra

no extra

Nota: La capacidad de actualizar políticas solo está disponible con manage policies.

ninguna

manage

USE +

POLICY_UPDATE

POLICY_CREATE

POLICY_DELETE

USE +

UpdatePolicy

CreatePolicy

DeletePolicy

ninguna

tag-namespaces
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

TAG_NAMESPACE_INSPECT

BulkEditTags

ListTagNamespaces

GetTagNamespace

ListTags

ListCostTrackingTags

GetTag

GetTaggingWorkRequest

ListTaggingWorkRequest

ListTaggingWorkRequestErrors

ListTaggingWorkRequestLogs

ninguna

read

no extra

no extra

ninguna

use

READ +

TAG_NAMESPACE_USE

Nota: Para aplicar, actualizar o eliminar etiquetas definidas para un recurso, se debe otorgar a un usuario permisos sobre el recurso y permisos para utilizar el espacio de nombres de etiqueta.

READ +

CreateTag

UpdateTag

ninguna

manage

USE +

TAG_NAMESPACE_UPDATE

TAG_NAMESPACE_CREATE

TAG_NAMESPACE_MOVE

TAG_NAMESPACE_DELETE

USE +

UpdateTagNamespace

CreateTagNamespace

ChangeTagNamespaceCompartment

CascadeDeleteTagNamespace

DeleteTagNamespace

DeleteTag

BulkDeleteTags

ninguna

tag-defaults
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

TAG_DEFAULT_INSPECT

ListTagDefaults

GetTagDefault

 

ninguna

read

no extra

no extra

ninguna

use

no extra

no extra

ninguna

manage

INSPECT +

TAG_DEFAULT_CREATE

TAG_DEFAULT_UPDATE

TAG_DEFAULT_DELETE

USE +

CreateTagDefault

UpdateTagDefault

DeleteTagDefault

 

ninguna

tenancies
Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

TENANCY_INSPECT

ListRegionSubscriptions

GetTenancy

ListRegions

 

ninguna

read

no extra

no extra

ninguna

use

READ +

TENANCY_UPDATE

no extra

ninguna

manage

USE +

TENANCY_UPDATE

USE +

CreateRegionSubscription

ninguna

users

Tenga en cuenta que para trabajar con las credenciales SMTP para un usuario, debe tener permisos para el tipo de recurso credentials.

Verbos Permisos API totalmente cubiertas API parcialmente cubiertas
inspect

USER_INSPECT

ListUsers

GetUser

GetUserGroupMembership (también necesita inspect groups)
read

INSPECT +

USER_READ

INSPECT +

ListApiKeys

ListSwiftPasswords

ListAuthTokens

ListCustomerSecretKeys

ListOAuthClientCredentials

ListMfaTotpDevices

no extra

use

READ +

USER_UPDATE

READ +

UpdateUser

READ +

AddUserToGroup (también necesita use groups)

RemoveUserFromGroup (también necesita use groups)

manage

USE +

USER_CREATE

USER_DELETE

USER_UNBLOCK

USER_APIKEY_ADD

USER_APIKEY_REMOVE

USER_UIPASS_SET

USER_UIPASS_RESET

USER_SWIFTPASS_SET

USER_SWIFTPASS_RESET

USER_SWIFTPASS_REMOVE

USER_AUTHTOKEN_SET

USER_AUTHTOKEN_RESET

USER_AUTHTOKEN_REMOVE

USER_OAUTH2_CLIENT_CRED_CREATE

USER_OAUTH2_CLIENT_CRED_UPDATE

USER_OAUTH2_CLIENT_CRED_REMOVE

USER_SECRETKEY_ADD

USER_SECRETKEY_UPDATE

USER_SECRETKEY_REMOVE

USER_SUPPORT_ACCOUNT_LINK

USER_SUPPORT_ACCOUNT_UNLINK

USER_TOTPDEVICE_ADD

USER_TOTPDEVICE_REMOVE

USER_TOTPDEVICE_UPDATE

USE +

CreateUser

DeleteUser

UpdateUserState

UploadApiKey

DeleteApiKey

CreateOrResetUIPassword

UpdateSwiftPassword

CreateSwiftPassword

DeleteSwiftPassword

 

UpdateAuthToken

CreateAuthToken

DeleteAuthToken

CreateOAuthClientCredential

UpdateOAuthClientCredential

DeleteOAuthClientCredential

CreateSecretKey

UpdateCustomerSecretKey

DeleteCustomerSecretKey

CreateOAuthClientCredential

UpdateAuthClientCredential

DeleteOAuthClientCredential

LinkSupportAccount

UnlinkSupportAccount

CreateMfaTotpDevice

ActivateMfaTotpDevice

DeleteMfaTotpDevice

no extra

Permisos requeridos para cada operación de API

En la siguiente tabla, se muestran las operaciones de API en un orden lógico, agrupadas por tipo de recurso.

Para obtener más información sobre los permisos, consulte Permisos.

Operación de API Permisos necesarios para utilizar la operación
ListRegions TENANCY_INSPECT
ListRegionSubscriptions TENANCY_INSPECT
CreateRegionSubscription TENANCY_UPDATE
GetTenancy TENANCY_INSPECT
ListDomains DOMAIN_INSPECT
GetDomain DOMAIN_READ
CreateDomain DOMAIN_CREATE
ActivateDomain DOMAIN_ACTIVATE
UpdateDomain DOMAIN_UPDATE
ReplicateDomainRegion DOMAIN_REPLICATE
ChangeDomainCompartment DOMAIN_MOVE
GetDomainLicenseTypes DOMAIN_LICENSETYPE_READ
ChangeSku DOMAIN_MOVE
DeactivateDomain DOMAIN_DEACTIVATE
DeleteDomain DOMAIN_DELETE
GetAuthenticationPolicy AUTHENTICATION_POLICY_INSPECT
UpdateAuthenticationPolicy AUTHENTICATION_POLICY_UPDATE
ListAvailabilityDomains COMPARTMENT_INSPECT
ListFaultDomains COMPARTMENT_INSPECT
ListCompartments COMPARTMENT_INSPECT
GetCompartment COMPARTMENT_INSPECT
UpdateCompartment COMPARTMENT_UPDATE
CreateCompartment COMPARTMENT_CREATE
RecoverCompartment COMPARTMENT_RECOVER
DeleteCompartment COMPARTMENT_DELETE
MoveCompartment No hay un permiso único asociado a la operación MoveCompartment. Esta operación requiere permisos manage all-resources en el compartimento principal compartido más bajo del compartimento actual y el compartimento de destino.
GetWorkRequest COMPARTMENT_READ
ListUsers USER_INSPECT
GetUser USER_INSPECT
UpdateUser USER_UPDATE
UpdateUserState USER_UPDATE y USER_UNBLOCK
CreateUser

USER_CREATE

DeleteUser USER_DELETE
CreateOrResetUIPassword USER_UPDATE y USER_UIPASS_RESET
ListApiKeys USER_READ
UploadApiKey

USER_UPDATE y USER_APIKEY_ADD

DeleteApiKey USER_UPDATE y USER_APIKEY_REMOVE
ListAuthTokens USER_READ
UpdateAuthToken USER_UPDATE y USER_AUTHTOKEN_RESET
CreateAuthToken USER_UPDATE y USER_AUTHTOKEN_SET
DeleteAuthToken USER_UPDATE y USER_AUTHTOKEN_REMOVE
ListSwiftPasswords USER_READ
UpdateSwiftPassword USER_UPDATE y USER_SWIFTPASS_RESET
CreateSwiftPassword USER_UPDATE y USER_SWIFTPASS_SET
DeleteSwiftPassword USER_UPDATE y USER_SWIFTPASS_REMOVE
ListCustomerSecretKeys USER_READ
CreateSecretKey USER_UPDATE y USER_SECRETKEY_ADD
UpdateCustomerSecretKey USER_UPDATE y USER_SECRETKEY_UPDATE
DeleteCustomerSecretKey USER_UPDATE y USER_SECRETKEY_REMOVE
CreateOAuthClientCredential USER_UPDATE y USER_OAUTH2_CLIENT_CRED_CREATE
UpdateOAuthClientCredential USER_UPDATE y USER_OAUTH2_CLIENT_CRED_UPDATE
ListOAuthClientCredentials USER_READ
DeleteOAuthClientCredential USER_UPDATE y USER_OAUTH2_CLIENT_CRED_REMOVE
LinkSupportAccount USER_SUPPORT_ACCOUNT_LINK
UnlinkSupportAccount USER_SUPPORT_ACCOUNT_UNLINK
CreateSmtpCredential CREDENTIAL_ADD
ListSmtpCredentials CREDENTIAL_INSPECT
UpdateSmtpCredential CREDENTIAL_UPDATE
DeleteSmtpCredential CREDENTIAL_REMOVE
ListUserGroupMemberships GROUP_INSPECT y USER_INSPECT
GetUserGroupMembership USER_INSPECT y GROUP_INSPECT
AddUserToGroup GROUP_UPDATE y USER_UPDATE
RemoveUserFromGroup GROUP_UPDATE y USER_UPDATE
ListGroups GROUP_INSPECT
GetGroup GROUP_INSPECT
UpdateGroup GROUP_UPDATE
CreateGroup GROUP_CREATE
DeleteGroup GROUP_DELETE
ListDynamicGroups DYNAMIC_GROUP_INSPECT
GetDynamicGroup DYNAMIC_GROUP_INSPECT
UpdateDynamicGroup DYNAMIC_GROUP_UPDATE
CreateDynamicGroup DYNAMIC_GROUP_CREATE
DeleteDynamicGroup DYNAMIC_GROUP_DELETE
GetNetworkSource NETWORK_SOURCE_INSPECT
ListNetworkSources NETWORK_SOURCE_INSPECT
CreateNetworkSource NETWORK_SOURCE_CREATE
UpdateNetworkSource NETWORK_SOURCE_UPDATE
DeleteNetworkSource NETWORK_SOURCE_DELETE
ListPolicies POLICY_READ
GetPolicy POLICY_READ
UpdatePolicy POLICY_UPDATE
CreatePolicy POLICY_CREATE
DeletePolicy POLICY_DELETE
ListIdentityProviders IDENTITY_PROVIDER_INSPECT
GetIdentityProvider IDENTITY_PROVIDER_INSPECT
UpdateIdentityProvider IDENTITY_PROVIDER_UPDATE
CreateIdentityProvider IDENTITY_PROVIDER_CREATE
DeleteIdentityProvider IDENTITY_PROVIDER_DELETE
ListIdpGroupMappings IDENTITY_PROVIDER_INSPECT y GROUP_INSPECT
GetIdpGroupMapping IDENTITY_PROVIDER_INSPECT y GROUP_INSPECT
AddIdpGroupMapping IDENTITY_PROVIDER_UPDATE y GROUP_UPDATE
DeleteIdpGroupMapping IDENTITY_PROVIDER_UPDATE y GROUP_UPDATE
ListIamWorkRequests IAM_WORKREQUEST_INSPECT
GetIamWorkRequest IAM_WORKREQUEST_READ
ListWorkRequestErrors IAM_WORKREQUEST_INSPECT
ListIamWorkRequestLogs IAM_WORKREQUEST_INSPECT
ListTagNamespaces TAG_NAMESPACE_INSPECT
ListTaggingWorkRequest TAG_NAMESPACE_INSPECT
ListTaggingWorkRequestErrors TAG_NAMESPACE_INSPECT
ListTaggingWorkRequestLogs TAG_NAMESPACE_INSPECT
GetTaggingWorkRequest TAG_NAMESPACE_INSPECT
GetTagNamespace TAG_NAMESPACE_INSPECT
CreateTagNamespace TAG_NAMESPACE_CREATE
UpdateTagNamespace TAG_NAMESPACE_UPDATE
ChangeTagNamespaceCompartment TAG_NAMESPACE_MOVE
CascadeDeleteTagNamespace

TAG_NAMESPACE_DELETE

DeleteTagNamespace

TAG_NAMESPACE_DELETE

ListTags TAG_NAMESPACE_INSPECT
BulkEditTags TAG_NAMESPACE_INSPECT
ListCostTrackingTags TAG_NAMESPACE_INSPECT
GetTag TAG_NAMESPACE_INSPECT
CreateTag TAG_NAMESPACE_USE
UpdateTag TAG_NAMESPACE_USE
DeleteTag TAG_NAMESPACE_DELETE
BulkDeleteTags

TAG_NAMESPACE_DELETE

ListTagDefaults TAG_DEFAULT_INSPECT
GetTagDefault TAG_DEFAULT_INSPECT
CreateTagDefault TAG_DEFAULT_MANAGE
UpdateTagDefault TAG_DEFAULT_MANAGE
DeleteTagDefault TAG_DEFAULT_MANAGE