Obtention de l'accès aux agents Generative AI

Vous pouvez obtenir l'accès aux ressources des agents d'IA générative à l'aide de stratégies OCI Identity and Access Management (IAM).

Par défaut, seuls les utilisateurs du groupe Administrators ont accès à toutes les ressources OCI, y compris les ressources des agents d'IA générative. Si vous êtes membre d'un autre groupe, demandez à l'administrateur de vous affecter les privilèges les moins élevés requis pour exécuter vos responsabilités en consultant les sections suivantes.

Ajout de stratégies avant d'utiliser le service

Avant d'utiliser les agents d'IA générative, demandez à l'administrateur d'ajouter les stratégies suivantes :

Accès utilisateur à toutes les ressources des agents d'IA générative

Donner aux utilisateurs l'accès aux ressources des agents d'IA générative, telles que les agents, les bases de connaissances, les sources de données, les travaux d'ingestion de données, les sessions d'agent, les demandes de travail d'agent et les adresses

  • Pour obtenir l'accès à toutes les ressources des agents Generative AI dans l'ensemble de la location, utilisez la stratégie suivante :
    allow group <genai-agent-administrators> to manage genai-agent-family in tenancy
  • Pour obtenir l'accès à toutes les ressources des agents Generative AI de votre compartiment, utilisez la stratégie suivante :
    allow group <genai-agent-administrators> to manage genai-agent-family in compartment <your-compartment-name>
Important

Pour sélectionner uniquement des ressources spécifiques auxquelles les utilisateurs peuvent accéder, reportez-vous à A propos des types de ressource des agents Generative AI et à Octroi de droits d'accès granulaires aux utilisateurs pour chaque type de ressource.

Accès utilisateur aux fichiers Object Storage pour les sources de données

Si les fichiers de données de votre agent se trouvent dans des buckets OCI Object Storage, vous devez disposer des droits d'accès permettant de répertorier et de sélectionner ces fichiers dans le service Agents Generative AI.

  • Pour autoriser les utilisateurs à ajouter des fichiers Object Storage à leur base de connaissances, procédez comme suit :
    allow group <your-group-name> to manage object-family in compartment <compartment-with-bucket>
Remarque

Si les fichiers et agents Object Storage se trouvent dans des compartiments différents, assurez-vous que les utilisateurs qui créent les agents sont autorisés à effectuer des opérations manage object-family dans le compartiment avec le bucket.

Demandez à un administrateur de consulter les exemples de sécurisation d'Object Storage et d'ajouter des stratégies qui s'appliquent à vous, telles que des stratégies, afin d'éviter la suppression accidentelle de buckets contenant des données d'entraînement.

Accès des travaux d'ingestion de données aux fichiers Object Storage pour les travaux de longue durée

Pour assimiler de grandes quantités de contenu à partir d'OCI Object Storage, suivez ces étapes afin de créer des principaux de ressource pour les travaux d'assimilation de données qui peuvent s'exécuter pendant plus de 24 heures.

  1. Suivez les étapes de la section Création d'un groupe dynamique avec les spécificités suivantes pour la règle de mise en correspondance :
    1. Dans la section Règles de mise en correspondance, sélectionnez Mettre en correspondance toutes les règles définies ci-dessous.
    2. Entrez la règle de mise en correspondance suivante.
      ALL {resource.type='genaiagentdataingestionjob'}

      Le type de ressource genaiagentdataingestionjob est le principal de ressource pour les travaux d'ingestion de données. La règle de mise en correspondance précédente signifie que ce groupe dynamique représente la ressource de travail d'ingestion de données des agents d'IA générative.

      Pour limiter l'appartenance du groupe dynamique aux travaux d'ingestion de données créés dans un compartiment spécifique, au lieu de la règle de mise en correspondance précédente, utilisez la règle suivante :

      ALL {resource.type = 'genaiagentdataingestionjob', 
      resource.compartment.id = '<compartment-ocid-for-ingestion-jobs>'}
      
    3. Autorisez ce groupe dynamique à accéder aux objets Object Storage dans un compartiment indiqué.
      allow dynamic-group <dynamic-group-name> 
      to read objects in compartment <compartment-name-for-objects>
      
      Vous pouvez restreindre davantage les stratégies avec davantage de conditions. Exemples :
      allow dynamic-group <dynamic-group-name> 
      to read objects in tenancy where all {target.compartment.id='<compartment_ocid>', 
      target.bucket.name=<bucket-name>, 
      target.bucket.tag.MyTagNamespace.TagKey='<MyTagValue>'}
      

      Pour obtenir des exemples supplémentaires sur l'écriture de stratégies, reportez-vous à Sécurisation d'Object Storage.

      Remarque

      Vous pouvez restreindre l'accès à Object Storage à l'aide de conditions qui incluent les noms de bucket, les compartiments et les balises. La restriction de l'accès en indiquant un nom d'objet ou un préfixe dans une stratégie, telle que target.object.name, n'est pas prise en charge et le travail d'ingestion de données peut échouer.
Accès du service à la clé secrète Vault pour Oracle Database et OpenSearch

Si vos données se trouvent dans la banque de vecteurs Oracle Database ou dans OCI Search avec OpenSearch, effectuez les tâches suivantes :

  1. Pour les données Oracle Database, effectuez les tâches décrites dans la section RAG Tool Oracle Database Guidelines for Generative AI Agents.
  2. Pour OCI Search avec des données OpenSearch, effectuez les tâches dans RAG Tool OCI Search avec OpenSearch Guidelines for Generative AI Agents.
  3. Suivez les étapes de la section Création d'un groupe dynamique avec les spécificités suivantes pour la règle de mise en correspondance :
    1. Dans la section Règles de mise en correspondance, sélectionnez Mettre en correspondance toutes les règles définies ci-dessous.
    2. Entrez la règle de mise en correspondance suivante.
      ALL {resource.type='genaiagent'}

      Le type de ressource genaiagent est le principal de ressource pour les agents. La règle de mise en correspondance précédente signifie que ce groupe dynamique représente la ressource d'agent des agents d'IA générative.

    3. Autorisez ce groupe dynamique à accéder aux clés secrètes OCI Vault dans le compartiment avec votre banque de vecteurs Oracle Database ou OCI Search avec la clé secrète OpenSearch.

      Ecrivez la stratégie suivante, qui peut être utilisée avec le domaine d'identité par défaut :

      allow dynamic-group <dynamic-group-name> 
      to read secret-bundle in compartment <compartment-name>
      

      Utilisez la stratégie suivante avec un domaine d'identité qui n'est pas par défaut, en fournissant le nom de domaine Oracle Identity Cloud Service (IDCS) et le nom de groupe dynamique :

      allow dynamic-group '<idcs-domain-name>/<dynamic-group-name>' 
      to read secret-bundle in compartment <compartment-name>
      
Accès aux services d'Oracle Database Tools

Si vos données se trouvent dans Oracle Database 23ai, autorisez le groupe dynamique, que vous avez créé pour l'accès au service à OCI Vault, à accéder également à OCI Database Tools.

Ecrivez la stratégie suivante, qui peut être utilisée avec le domaine d'identité par défaut :

allow dynamic-group <dynamic-group-name> 
to read database-tools-family in compartment <compartment-name>

Utilisez la stratégie suivante avec un domaine d'identité qui n'est pas par défaut, en fournissant le nom de domaine Oracle Identity Cloud Service (IDCS) et le nom de groupe dynamique :

allow dynamic-group '<idcs-domain-name>/<dynamic-group-name>' 
to read database-tools-family in compartment <compartment-name>

A propos des types de ressource des agents d'IA générative

Les agents Generative AI ont les types individuels de ressource suivants à utiliser dans les stratégies Identity and Access Management. Vous pouvez affecter différents droits d'accès à différents groupes d'utilisateurs en fonction de la manière dont ils peuvent utiliser les types de ressource suivants :

  • genai-agent : agent
  • genai-agent-knowledge-base : base de connaissances associée à un agent.
  • genai-agent-data-source : source de données associée à une base de connaissances
  • genai-agent-data-ingestion-job : travail qui ingère des données à partir d'une source de données.
  • genai-agent-endpoint : adresse permettant d'accéder à l'agent
  • genai-agent-work-request : demande de travail pour les opérations des agents d'IA générative
  • genai-agent-session : session de discussion d'un agent
  • genai-agent-tool : outil configuré dans un agent
En plus des types individuels de ressource répertoriés ci-dessus, vous pouvez utiliser le type agrégé de ressource genai-agent-family pour inclure les sept types de ressource Agents Generative AI dans une stratégie, par exemple :
allow group <genai-agent-administrators> to manage genai-agent-family in tenancy
Type agrégé de ressource Types individuels de ressource inclus
genai-agent-family
  • genai-agent
  • genai-agent-knowledge-base
  • genai-agent-data-source
  • genai-agent-data-ingestion-job
  • genai-agent-endpoint
  • genai-agent-work-request
  • genai-agent-session
  • genai-agent-tool

Octroi d'autorisations granulaires aux utilisateurs pour chaque type de ressource

Cette section répertorie les droits d'accès pour les opérations des agents Generative AI. Le niveau d'accès est cumulatif à mesure que vous passez d'un verbe à l'autre, dans l'ordre suivant : inspect, read, use, manage. Par exemple, si vous disposez du droit d'accès manage pour le type de ressource genai-agent-endpoint, vous pouvez répertorier les adresses et en obtenir les détails, ainsi que leur création et leur suppression. Vous n'avez pas besoin du droit d'accès inspect pour les adresses. Développez chaque type de ressource pour ses droits d'accès.

agent génai
Droit Opération d'API Type d'opération Verbe
GENAI_AGENT_INSPECT ListAgents GET inspect
GENAI_AGENT_READ GetAgent GET read
GENAI_AGENT_UPDATE UpdateAgent PUT use
GENAI_AGENT_MOVE ChangeAgentCompartment POST manage
GENAI_AGENT_CREATE CreateAgent POST manage
GENAI_AGENT_DELETE DeleteAgent DELETE manage

Exemple :

allow group GenAI-agents-users to use genai-agent in compartment GenAI-agents-compartment
genai-agent-base de connaissances
Droit Opération d'API Type d'opération Verbe
GENAI_AGENT_KNOWLEDGE_BASE_INSPECT ListKnowledgeBases GET inspect
GENAI_AGENT_KNOWLEDGE_BASE_READ GetKnowledgeBase GET read
GENAI_AGENT_KNOWLEDGE_BASE_UPDATE UpdateKnowledgeBase PUT use
GENAI_AGENT_KNOWLEDGE_BASE_MOVE ChangeKnowledgeBaseCompartment POST manage
GENAI_AGENT_KNOWLEDGE_BASE_CREATE CreateKnowledgeBase POST manage
GENAI_AGENT_KNOWLEDGE_BASE_DELETE DeleteKnowledgeBase DELETE manage

Exemple :

allow group GenAI-agents-users to manage genai-agent-knowledge-base in compartment GenAI-agents-compartment
genai-agent-data-source
Droit Opération d'API Type d'opération Verbe
GENAI_AGENT_DATA_SOURCE_INSPECT ListDataSources GET inspect
GENAI_AGENT_DATA_SOURCE_READ GetDataSource GET read
GENAI_AGENT_DATA_SOURCE_UPDATE UpdateDataSource PUT use
GENAI_AGENT_DATA_SOURCE_MOVE ChangeDataSourceCompartment POST manage
GENAI_AGENT_DATA_SOURCE_CREATE CreateDataSource POST manage
GENAI_AGENT_DATA_SOURCE_DELETE DeleteDataSource DELETE manage

Exemple :

allow group GenAI-agents-users to inspect genai-agent-data-source in compartment GenAI-agents-compartment
genai-agent-données-ingestion-job
Droit Opération d'API Type d'opération Verbe
GENAI_AGENT_DATA_INGESTION_JOB_INSPECT ListDataIngestionJobs GET inspect
GENAI_AGENT_DATA_INGESTION_JOB_READ GetDataIngestionJob GET read
GENAI_AGENT_DATA_INGESTION_JOB_CREATE CreateDataIngestionJob POST manage
GENAI_AGENT_DATA_INGESTION_JOB_DELETE DeleteDataIngestionJob DELETE manage

Exemple :

allow group GenAI-agents-users to inspect genai-agent-data-ingestion-job in compartment GenAI-agents-compartment
genai-agent-endpoint
Droit Opération d'API Type d'opération Verbe
GENAI_AGENT_ENDPOINT_INSPECT ListAgentEndpoints GET inspect
GENAI_AGENT_ENDPOINT_READ GetAgentEndpoint GET read
GENAI_AGENT_ENDPOINT_UPDATE UpdateAgentEndpoint PUT use
GENAI_AGENT_ENDPOINT_MOVE ChangeAgentEndpointCompartment POST use
GENAI_AGENT_ENDPOINT_CREATE CreateAgentEndpoint POST manage
GENAI_AGENT_ENDPOINT_CHAT Chat POST use
GENAI_AGENT_ENDPOINT_DELETE DeleteAgentEndpoint DELETE manage

Exemple :

allow group GenAI-agents-users to manage genai-agent-endpoint in compartment GenAI-agents-compartment
genai-agent-travail-demande
Droit Opération d'API Type d'opération Verbe
GENAI_AGENT_WORK_REQUEST_INSPECT ListWorkRequests GET inspect
GENAI_AGENT_WORK_REQUEST_READ GetWorkRequest GET read
GENAI_AGENT_WORK_REQUEST_ERRORS_READ GetWorkRequestErrors GET read
GENAI_AGENT_WORK_REQUEST_LOGS_READ GetWorkRequestLogs GET read

Exemple :

allow group GenAI-agents-users to read genai-agent-work-request in compartment GenAI-agents-compartment
génai-agent-session
Droit Opération d'API Type d'opération Verbe
GENAI_AGENT_SESSION_INSPECT ListSessions GET inspect
GENAI_AGENT_SESSION_READ GetSession GET read
GENAI_AGENT_SESSION_UPDATE UpdateSession PUT use
GENAI_AGENT_SESSION_CREATE CreateSession POST manage
GENAI_AGENT_SESSION_END EndSession POST manage
GENAI_AGENT_SESSION_DELETE DeleteSession DELETE manage

Exemple :

allow group GenAI-agents-users to manage genai-agent-session in compartment GenAI-agents-compartment
genai-agent-outil
Autorisation Opération d'API Type d'opération Verbe
GENAI_AGENT_TOOL_INSPECT ListTools GET inspect
GENAI_AGENT_TOOL_READ GetTool GET read
GENAI_AGENT_TOOL_UPDATE UpdateTool PUT use
GENAI_AGENT_TOOL_CREATE CreateTool POST manage
GENAI_AGENT_TOOL_DELETE DeleteTool DELETE manage

Exemple :

allow group GenAI-agents-users to use genai-agent-tool in compartment GenAI-agents-compartment

Correspondance entre les droits d'accès et les opérations d'API

Le tableau suivant répertorie les droits d'accès requis pour les opérations d'API des agents Generative AI.

Développer cette table des autorisations
Opération d'API Droits d'accès requis pour utiliser l'opération
ListAgents GENAI_AGENT_INSPECT
GetAgent GENAI_AGENT_READ
UpdateAgent GENAI_AGENT_UPDATE
ChangeAgentCompartment GENAI_AGENT_MOVE
CreateAgent GENAI_AGENT_CREATE
DeleteAgent GENAI_AGENT_DELETE
ListKnowledgeBases GENAI_AGENT_KNOWLEDGE_BASE_INSPECT
GetKnowledgeBase GENAI_AGENT_KNOWLEDGE_BASE_READ
UpdateKnowledgeBase GENAI_AGENT_KNOWLEDGE_BASE_UPDATE
ChangeKnowledgeBaseCompartment GENAI_AGENT_KNOWLEDGE_BASE_MOVE
CreateKnowledgeBase GENAI_AGENT_KNOWLEDGE_BASE_CREATE
DeleteKnowledgeBase GENAI_AGENT_KNOWLEDGE_BASE_DELETE
ListDataSources GENAI_AGENT_DATA_SOURCE_INSPECT
GetDataSource GENAI_AGENT_DATA_SOURCE_READ
UpdateDataSource GENAI_AGENT_DATA_SOURCE_UPDATE
ChangeDataSourceCompartment GENAI_AGENT_DATA_SOURCE_MOVE
CreateDataSource GENAI_AGENT_DATA_SOURCE_CREATE
DeleteDataSource GENAI_AGENT_DATA_SOURCE_DELETE
ListDataIngestionJobs GENAI_AGENT_DATA_INGESTION_JOB_INSPECT
GetDataIngestionJob GENAI_AGENT_DATA_INGESTION_JOB_READ
CreateDataIngestionJob GENAI_AGENT_DATA_INGESTION_JOB_CREATE
DeleteDataIngestionJob GENAI_AGENT_DATA_INGESTION_JOB_DELETE
ListAgentEndpoints GENAI_AGENT_ENDPOINT_INSPECT
GetAgentEndpoint GENAI_AGENT_ENDPOINT_READ
UpdateAgentEndpoint GENAI_AGENT_ENDPOINT_UPDATE
ChangeAgentEndpointCompartment GENAI_AGENT_ENDPOINT_MOVE
CreateAgentEndpoint AGENAI_AGENT_ENDPOINT_CREATE
DeleteAgentEndpoint GENAI_AGENT_ENDPOINT_DELETE
Chat GENAI_AGENT_ENDPOINT_CHAT
ListTools GENAI_AGENT_TOOL_INSPECT
CreateTool GENAI_AGENT_TOOL_CREATE
GetTool GENAI_AGENT_TOOL_READ
UpdateTool GENAI_AGENT_TOOL_UPDATE
DeleteTool GENAI_AGENT_TOOL_DELETE
ListSessions GENAI_AGENT_SESSION_INSPECT
GetSession GENAI_AGENT_SESSION_READ
UpdateSession GENAI_AGENT_SESSION_UPDATE
CreateSession GENAI_AGENT_SESSION_CREATE
EndSession GENAI_AGENT_SESSION_END
DeleteSession GENAI_AGENT_SESSION_DELETE
ListWorkRequests GENAI_AGENT_WORK_REQUEST_INSPECT
GetWorkRequest GENAI_AGENT_WORK_REQUEST_READ
GetWorkRequestErrors GENAI_AGENT_WORK_REQUEST_ERRORS_READ
GetWorkRequestLogs GENAI_AGENT_WORK_REQUEST_LOGS_READ