Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Imposta una politica chiave gestita dal cliente
Per utilizzare una chiave gestita dal cliente con AWS Agent Registry, è necessario configurare sia una policy IAM per il committente chiamante sia una policy KMS che consenta al servizio di eseguire operazioni di crittografia e decrittografia.
Prerequisiti
Prima di creare un registro con una chiave gestita dal cliente, assicurati di quanto segue:
-
Hai una chiave KMS di crittografia simmetrica nella stessa AWS regione del registro. Per informazioni sulla creazione di una chiave KMS, consulta Creazione di chiavi nella AWS Key Management Service Developer Guide.
-
La chiamata principale IAM
CreateRegistrydispone delle autorizzazioni KMS richieste. Consulta Autorizzazioni IAM richieste.
Autorizzazioni IAM richieste
Per interagire con un registro crittografato, è necessario disporre delle seguenti autorizzazioni sulla chiave KMS:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistryCMKAccess", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com" } } } ] }
Sostituisci i valori seguenti:
-
Resource— L'ARN della tua chiave KMS. -
kms:ViaService— Sostituiscilous-east-1con la AWS regione del tuo registro.
La kms:ViaService condizione limita le autorizzazioni alle richieste effettuate tramite il servizio AWS Agent Registry, impedendo che tali autorizzazioni vengano utilizzate al di fuori di AWS Agent Registry.
Nota
Devi essere autorizzato a eseguire queste azioni KMS, tramite la tua policy IAM o tramite la policy chiave (vedi). Policy della chiave per una chiave gestita dal cliente Se la tua policy chiave include la dichiarazione politica chiave predefinita che abilita le policy IAM, la policy IAM è sufficiente.
Policy della chiave per una chiave gestita dal cliente
Le sezioni seguenti elencano le dichiarazioni politiche chiave del KMS richieste da AWS Agent Registry. Aggiungete queste dichiarazioni alla vostra policy chiave KMS in modo che il servizio e i principali chiamanti possano utilizzare la chiave. L'aggiunta di dichiarazioni è necessaria quando la policy chiave non include la dichiarazione politica chiave predefinita che abilita le politiche IAM o quando la chiave si trova in un account diverso.
Importante
I blocchi JSON nelle sezioni seguenti sono esempi di singole dichiarazioni politiche, non politiche chiave complete. Non utilizzarli per sostituire la policy chiave KMS esistente. Copia invece le dichiarazioni di cui hai bisogno, in base ai personaggi della tua organizzazione e al ruolo collegato al servizio, e aggiungile alla Statement serie della tua politica chiave esistente. Aggiorna i valori di ogni estratto conto (ID account, regione, ARN del ruolo e ARN del registro) in modo che corrispondano al tuo ambiente prima di salvare la policy.
La politica chiave dovrebbe concedere le autorizzazioni in base ai personaggi del registro dell'organizzazione:
-
Amministratore: crea registri e gestisce la configurazione della crittografia. Esigenze
kms:DescribeKeyekms:CreateGrantautorizzazioni. encrypt/decrypt -
Editore o approvatore: crea e aggiorna i record del registro (scrive e legge i descrittori dei record). Richiede le autorizzazioni di crittografia e decrittografia.
-
Consumer: legge i record di registro e i risultati di ricerca (legge i descrittori dei record). Necessita delle autorizzazioni di decrittografia.
Oltre alle dichiarazioni personali, aggiungete le informazioni in Dichiarazione politica per il ruolo collegato ai servizi modo che AWS Agent Registry possa utilizzare la chiave per vostro conto in fase di esecuzione. Se condividi il registro con altri account della tua AWS organizzazione utilizzando AWS Resource Access Manager (AWS RAM), aggiungi anche ilDichiarazione politica per l'accesso dell'organizzazione tramite AWS RAM.
Nota
Se il tuo ruolo scrive e legge i descrittori dei record (ad esempio, un editore che recupera anche i record), concedi le autorizzazioni di crittografia e decrittografia come mostrato in. Dichiarazione politica per l'editore
Dichiarazione politica per l'amministratore
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistryAdminKeyValidation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryAdminRole" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com" } } }, { "Sid": "AllowRegistryAdminGrantCreation", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryAdminRole" }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "AllowRegistryAdminCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryAdminRole" }, "Action": [ "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:agent-registry:registry-arn": "arn:aws:agent-registry:us-east-1:111122223333:registry/my-registry-id" } } } ] }
-
AllowRegistryAdminKeyValidation— Consente all'amministratore di convalidare la chiave prima di utilizzarla con un registro.
-
AllowRegistryAdminGrantCreation— Consente all'amministratore di creare concessioni durante la creazione di un registro. La
kms:GrantIsForAWSResourcecondizione garantisce chekms:CreateGrantpossa essere utilizzata solo quando un AWS servizio avvia la creazione della concessione per conto del chiamante. -
AllowRegistryAdminCryptoOps— Consente all'amministratore di crittografare e decrittografare i descrittori dei record, assegnati a un registro specifico tramite un contesto di crittografia.
Dichiarazione politica per l'editore
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistryPublisherCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryPublisherRole" }, "Action": [ "kms:GenerateDataKeyWithoutPlaintext", "kms:GenerateDataKey", "kms:Encrypt", "kms:ReEncrypt*", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:agent-registry:registry-arn": "arn:aws:agent-registry:us-east-1:111122223333:registry/my-registry-id" } } } ] }
-
AllowRegistryPublisherCryptoOps— Consente agli editori e agli approvatori di crittografare e decrittografare i descrittori dei record.
CreateRegistryRecordUpdateRegistryRecordObbligatorio per e.
Dichiarazione politica per i consumatori
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistryConsumerDecrypt", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RegistryConsumerRole" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "agent-registry.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:agent-registry:registry-arn": "arn:aws:agent-registry:us-east-1:111122223333:registry/my-registry-id" } } } ] }
-
AllowRegistryConsumerDecrypt— Consente ai consumatori di decrittografare i descrittori dei record. Obbligatorio per e.
GetRegistryRecordSearchDiscoverableRegistryRecords
Dichiarazione politica per il ruolo collegato ai servizi
Concedi al ruolo collegato al servizio di AWS Agent Registry l'autorizzazione a utilizzare la chiave in fase di esecuzione. Il servizio utilizza questo ruolo per crittografare e decrittografare i descrittori dei record per conto dell'utente.
L'aggiunta di questa dichiarazione richiede due passaggi ordinati:
-
Crea prima il ruolo collegato al servizio nel tuo account. AWS Agent Registry non crea il ruolo per te: devi crearlo tu stesso prima di aggiungere la dichiarazione politica chiave del KMS. Usa la AWS CLI:
aws iam create-service-linked-role --aws-service-name agent-registry.amazonaws.com.rproxy.goskope.comQuesto crea il
AWSServiceRoleForAgentRegistryruolo in.arn:aws:iam::<account-id>:role/aws-service-role/agent-registry.amazonaws.com/AWSServiceRoleForAgentRegistryÈ necessario eseguire questa operazione solo una volta per ogni account. -
Quindi aggiungi la seguente dichiarazione alla tua politica chiave KMS. IAM rifiuta qualsiasi policy chiave che faccia riferimento a un principal che non esiste ancora, quindi il ruolo deve essere presente prima di incollare una dichiarazione che lo nomina.
Indirizza l'istruzione ai registri del tuo account utilizzando una wildcard del contesto di crittografia.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRegistrySlrCryptoOps", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/aws-service-role/agent-registry.amazonaws.com/AWSServiceRoleForAgentRegistry" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:Encrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo" ], "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:agent-registry:registry-arn": "arn:aws:agent-registry:us-east-1:111122223333:registry/*" } } } ] }
-
AllowRegistrySlrCryptoOps— Consente al ruolo collegato ai servizi di AWS Agent Registry (
AWSServiceRoleForAgentRegistry) di crittografare e decrittografare i descrittori dei record per conto dell'utente, trasferiti ai registri del tuo account tramite la condizione.kms:EncryptionContext:aws:agent-registry:registry-arn
Dichiarazione politica per l'accesso dell'organizzazione tramite AWS RAM
Aggiungi questa dichiarazione se condividi un registro crittografato con chiave gestita dal cliente con altri account della tua AWS organizzazione utilizzando AWS Resource Access Manager (RAM).AWS Consente a qualsiasi responsabile dell'organizzazione di decrittografare i descrittori dei record da un registro condiviso con loro. Se non si condivide il registro tramite AWS RAM, questa dichiarazione non è richiesta.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowOrganizationDecrypt", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-EXAMPLE1234" } } } ] }
-
AllowOrganizationDecrypt— Consente a qualsiasi responsabile della tua AWS organizzazione di decrittografare i descrittori dei record dai registri che condividi tramite RAM. AWS La
aws:PrincipalOrgIDcondizione limita questa autorizzazione agli account dei membri dell'organizzazione indicata; senza un ID organizzativo corrispondente, non viene concessa nulla."Principal": "*"I chiamanti necessitano comunque della corrispondente autorizzazione IAM a livello di servizio sul registro condiviso stesso.
Sostituisci i valori nelle dichiarazioni politiche chiave
Sostituisci i seguenti valori in ogni dichiarazione politica chiave:
-
Principal— L'ARN dell'utente o del ruolo IAM per ogni persona. Sostituisci111122223333con l'ID del tuo account e i nomi dei ruoli con i tuoi ruoli IAM effettivi. Per la dichiarazione del ruolo collegato al servizio, sostituiscila111122223333con l'ID del tuo account; mantieni il percorso del ruolo e il nome (aws-service-role/agent-registry.amazonaws.com/AWSServiceRoleForAgentRegistry) come mostrato: si tratta di un valore fisso e gestito dal servizio. -
kms:ViaService— Sostituiscius-east-1con la AWS regione del tuo registro. -
kms:EncryptionContext:aws:agent-registry:registry-arn— Sostituisci con l'ARN del tuo registro. Per consentire l'accesso a tutti i registri del tuo account, utilizzaStringLikecon una jolly:.arn:aws:agent-registry:us-east-1:111122223333:registry/* -
aws:PrincipalOrgID— Nella dichiarazione sulla condivisione della AWS RAM, sostituiscio-EXAMPLE1234con il tuo AWS ID organizzativo. Puoi trovarlo nella console AWS Organizations oppure eseguirloaws organizations describe-organization --query 'Organization.Id' --output text.