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 :
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>
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.
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>
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.
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.
- 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 :
- Dans la section Règles de mise en correspondance, sélectionnez Mettre en correspondance toutes les règles définies ci-dessous.
- 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>'}
- 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 quetarget.object.name
, n'est pas prise en charge et le travail d'ingestion de données peut échouer.
Si vos données se trouvent dans la banque de vecteurs Oracle Database ou dans OCI Search avec OpenSearch, effectuez les tâches suivantes :
- Pour les données Oracle Database, effectuez les tâches décrites dans la section RAG Tool Oracle Database Guidelines for Generative AI Agents.
- Pour OCI Search avec des données OpenSearch, effectuez les tâches dans RAG Tool OCI Search avec OpenSearch Guidelines for Generative AI Agents.
- 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 :
- Dans la section Règles de mise en correspondance, sélectionnez Mettre en correspondance toutes les règles définies ci-dessous.
- 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. - 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>
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
: agentgenai-agent-knowledge-base
: base de connaissances associée à un agent.genai-agent-data-source
: source de données associée à une base de connaissancesgenai-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'agentgenai-agent-work-request
: demande de travail pour les opérations des agents d'IA générativegenai-agent-session
: session de discussion d'un agentgenai-agent-tool
: outil configuré dans un agent
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 |
|
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.
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
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
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
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
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
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
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
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.
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 |